modele

MiniMax: Hailuo 02

Markdown · JSON

MiniMax: Hailuo 02

Hailuo 02 tworzy wideo z tekstu lub obrazu pierwszej klatki i obsługuje udokumentowany proces z pierwszą i ostatnią klatką. Polecenia kamery, optymalizacja promptu i właściwe danemu trybowi opcje czasu oraz rozdzielczości pomagają kształtować zamierzone ujęcie.

O modelu

Ten opis przedstawia możliwości modelu. Dane wejściowe, wyniki i opcje dostępne w Ailoot podano poniżej dla wybranej metody.

Hailuo 02 to model wideo MiniMax do scen opartych na tekście, animowania obrazów i procesu z pierwszą oraz ostatnią klatką. Pisemny opis przedstawia główny obiekt, akcję i kamerę, a dostarczone obrazy klatek mogą określać wizualny punkt startowy lub cel przejścia. Wybierz tryb generowania zgodnie z już posiadanym materiałem i częścią ujęcia wymagającą kontroli.

Przy tworzeniu tekst–wideo opisz spójną akcję z czytelnym otoczeniem i punktem widzenia. Scena może pokazywać małą żaglówkę przepływającą obok pomostu, gdy kamera śledzi ją z brzegu. Określ, co się porusza, które szczegóły mają pozostać widoczne i jak ujęcie się kończy. Skup opis na obserwowalnych zdarzeniach, a nie liście niepowiązanych cech wizualnych.

Przy tworzeniu obraz–wideo przygotuj pierwszą klatkę z już ustalonym głównym obiektem i kadrem. Producent przyjmuje obrazy JPG, JPEG, PNG i WebP mniejsze niż 20 MB, z krótszym bokiem większym niż 300 pikseli i proporcjami od 2:5 do 5:2. Użyj obrazu z widocznymi ważnymi konturami i cechami, a następnie opisz ruch, który ma się z niego rozwinąć.

Hailuo 02 ma również udokumentowany tryb pierwszej i ostatniej klatki. Przygotuj dwa obrazy jako zamierzone stany otwierający i zamykający jedną sekwencję i opisz ruch sceny między nimi. Pierwsza klatka określa kadrowanie; producent podaje, że ostatnia klatka o innych wymiarach jest przycinana, aby do niej pasowała. Wyrównaj kompozycję obrazów zawczasu, gdy główny obiekt musi pozostać widoczny podczas przejścia.

Prompt może zawierać do 2 000 znaków. Hailuo 02 obsługuje polecenia kamery w nawiasach kwadratowych, w tym push, pull, truck, pan, pedestal, tilt, zoom, tracking i ujęcie statyczne. Polecenia umieszczone razem w nawiasie żądają równoczesnego ruchu; polecenia w różnych miejscach opisu żądają sekwencji. Producent zaleca łączenie nie więcej niż trzech ruchów, dlatego wybierz akcję kamery ułatwiającą odczytanie głównego obiektu.

Czas i rozdzielczość są powiązane z trybem. Tryb tekst–wideo dokumentuje sześć lub dziesięć sekund przy 768P i sześć sekund przy 1080P. Tryb obraz–wideo dokumentuje również 512P dla sześciu lub dziesięciu sekund. Proces pierwszej i ostatniej klatki dokumentuje 768P dla sześciu lub dziesięciu sekund i 1080P dla sześciu sekund. Wybierz obsługiwaną kombinację dla ujęcia, zamiast przenosić opcje rozdzielczości jednego trybu na wszystkie pozostałe.

Automatyczna optymalizacja promptu jest udokumentowanym ustawieniem, domyślnie włączonym w procesie producenta. Zachowaj je przy porównywaniu wersji, ponieważ przepisany opis zmienia to, co model otrzymuje. Zachowaj dokładny tekst, klatki referencyjne i wybrane ustawienia wyjścia przy wygenerowanym klipie, aby poprawka mogła dotyczyć akcji lub kadrowania wymagających ulepszenia.

Sprawdź całą ukończoną sekwencję: kompozycję otwierającą, ciągłość głównego obiektu, czas akcji i ostatnią klatkę. Przy przejściu sprawdź oba końce i ruch pomiędzy nimi. Zapisz rzeczywiste wideo do montażu wraz z promptem i referencjami; kolejną poprawką rozwiąż konkretny problem wizualny, taki jak zasłonięty szczegół, gwałtowny ruch kamery lub zakończenie pojawiające się zbyt wcześnie.

Ailoot Ultra · Wideo POST /v1/videos minimaxi-hailuo-02

minimaxi-hailuo-02

MiniMax /minimaxi-hailuo-02

Start

Hailuo 02 tworzy wideo z tekstu lub obrazu pierwszej klatki i obsługuje udokumentowany proces z pierwszą i ostatnią klatką. Polecenia kamery, optymalizacja promptu i właściwe danemu trybowi opcje czasu oraz rozdzielczości pomagają kształtować zamierzone ujęcie.

Akceptowane dane wejściowe
Tekst · Obrazy
Wyniki
Wideo

Dostępne w Ailoot · dane wejściowe i metody

Ailoot Ultra · Wideo POST /v1/videos
Wejście
text, image
Wyjście
video
PoleTypWymaganieWartości i limityDomyślnie
PolemodelTypstringWymaganieWymaganeWartości i limity
minimaxi-hailuo-02
Warunki: Użyj dokładnego selektora modelu Ailoot.
Domyślnie—
PolepromptTypstringWymaganieWymaganeWartości i limity
Warunki: Opisz scenę i ruch.
Domyślnie—
PoledurationTypintegerWymaganieOpcjonalneWartości i limity
6, 10
Warunki: Wyślij jedną z wymienionych wartości czasu trwania; nie określa się wartości domyślnej.
Domyślnie—
Poleend_imageTypstringWymaganieOpcjonalneWartości i limity
Warunki: Klatka końcowa ma zastosowanie wyłącznie w obsługiwanym trybie wejścia obrazowego.
Domyślnie—
PoleimageTypstring or array<string>WymaganieOpcjonalneWartości i limity
Warunki: Użyj rzeczywistego, publicznie dostępnego adresu URL obrazu lub obrazu zakodowanego jako ciąg znaków base64; nie określa się tutaj maksymalnej liczby obrazów.
Domyślnie—
PoleresolutionTypstringWymaganieOpcjonalneWartości i limity
512P, 768P, 1080P
Warunki: Wyślij jedną z wymienionych wartości rozdzielczości; nie określa się wartości domyślnej.
Domyślnie—
Parametry i cykl życia metody
ParametrKontrakt
Parametrcontent_typeKontraktapplication/json
ParametrrequiredKontraktmodel, prompt
ParametroptionalKontraktduration, end_image, image, resolution
Parametrmaterial_typesKontrakttext, image
ParametrconditionsKontraktUżyj dokładnego selektora modelu Ailoot., Opisz scenę i ruch., Wyślij jedną z wymienionych wartości czasu trwania; nie określa się wartości domyślnej., Klatka końcowa ma zastosowanie wyłącznie w obsługiwanym trybie wejścia obrazowego., Użyj rzeczywistego, publicznie dostępnego adresu URL obrazu lub obrazu zakodowanego jako ciąg znaków base64; nie określa się tutaj maksymalnej liczby obrazów., Wyślij jedną z wymienionych wartości rozdzielczości; nie określa się wartości domyślnej.

Aliasy metody: /v1/videos/generations

Cykl życia: submit_once_poll_original

GET /v1/videos/{request_id}

GET /v1/videos/generations/{request_id}

GET /v1/videos/{request_id}/content

GET /v1/media/assets

GET /v1/media/assets/{asset_id}

Cennik

Jak obliczana jest ostateczna opłata

Wyświetlane stawki służą do oszacowania kosztu przed generowaniem. Ostateczna opłata jest obliczana na podstawie kosztu zarejestrowanego dla pierwotnego generowania. Zmierzony czas trwania wyniku i prognozowane ilości nie stanowią ostatecznej ilości podlegającej rozliczeniu.

Informacje taryfowe nie dodają opcji żądania. Obsługiwane parametry podano przy wybranej metodzie.

Tryb szybki
Nie określono Gdy wybrany jest tryb szybki
Tryb flex
Nie określono Gdy wybrany jest tryb flex
Maksymalna intensywność rozumowania
Nie określono Gdy dla maksymalnej intensywności rozumowania stosowana jest domyślna korekta (default)

Szacunkowe stawki do porównania

Ceny według konfiguracji

Dopasuj każdą opłatę do pokazanych warunków. Użyj jednej stawki dla każdego zestawu alternatywnych konfiguracji.

KonfiguracjaTabela stawekPrzewidywana ilośćOpłata
KonfiguracjaBazowe stawki za tokenyTabela stawekStawka podstawowaPrzewidywana ilość—Opłata
Wejście · Tokeny wejściowe · Szacunek tylko do porównania — / 1K tokenów
Wyjście · Tokeny wyjściowe · Szacunek tylko do porównania — / 1K tokenów
Wejście · Odczyt cache · Szacunek tylko do porównania — / 1K tokenów
Wejście · Zapis do cache · Szacunek tylko do porównania — / 1K tokenów
Wejście · Zapis do cache, 1 godz. · Szacunek tylko do porównania — / 1K tokenów
KonfiguracjaSzacowany koszt generowaniaTabela stawek—Przewidywana ilośćszacunek dla jednego generowaniaOpłata
Wyjście · Szacowany koszt generowania · Szacunek tylko do porównania $0.2 szacunek przed generowaniem

Ten szacunek nie jest dodatkową opłatą ani stałą stawką za ukończone generowanie.

Ailoot rezerwuje szacowaną kwotę przed żądaniem. Po otrzymaniu wyniku rozlicza ostateczną opłatę według zmierzonego użycia. Rozliczenie strumieniowania korzysta z końcowego rekordu użycia. Jak działają rezerwacja i rozliczenie →

Przykładowe żądania

Ailoot Ultra · Wideo

curl · utwórz raz i zachowaj potwierdzenieOdczytaj pierwotne zadanieZapisz każdy ukończony zasób należący do Ciebie
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON'
{
  "model": "minimaxi-hailuo-02",
  "prompt": "A cat is walking on grass."
}
JSON
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
# Create once; retain id, polling_url, original task identifiers and every header.
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_STATUS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path("result.json").read_text())
u=urljoin("https://api.ailoot.ai",r["polling_url"])
p=urlsplit(u)
if p.scheme!="https" or p.netloc!="api.ailoot.ai" or p.username or p.password:
    raise SystemExit("Unexpected returned polling URL; preserve the response")
subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-D","status-headers.txt","-o","status.json"],check=True)
# Read this same original polling_url again while pending.
# Preserve unknown/result_pending_check; do not repeat creation.
PY_STATUS
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_ASSETS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path("status.json").read_text())
roles={}
def visit(v,path=""):
    if isinstance(v,dict):
        for k,x in v.items(): visit(x,path+"/"+k)
    elif isinstance(v,list):
        for i,x in enumerate(v): visit(x,path+"/"+str(i))
    elif isinstance(v,str):
        u=urljoin("https://api.ailoot.ai",v); p=urlsplit(u)
        if p.scheme=="https" and p.netloc=="api.ailoot.ai" and not p.username and not p.password and p.path.startswith("/v1/media/assets/") and p.path.endswith("/content"):
            roles.setdefault(u,[]).append(path)
visit(r)
if not roles: raise SystemExit("No completed owned assets; retain the original status")
manifest=[]
for i,(u,paths) in enumerate(roles.items()):
    target=Path(f"asset-{i}.bin")
    subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-o",str(target)],check=True)
    raw=target.read_bytes()
    if not raw: raise SystemExit("Empty asset; retain original status and metadata")
    ext="glb" if raw[:4]==b"glTF" else "png" if raw[:8]==b"\x89PNG\r\n\x1a\n" else "jpg" if raw[:3]==b"\xff\xd8\xff" else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "mp4" if raw[4:8]==b"ftyp" else "bin"
    name=f"asset-{i}.{ext}"
    if target.name!=name: target.rename(name)
    manifest.append({"file":name,"response_paths":paths,"bytes":len(raw)})
Path("asset-manifest.json").write_text(json.dumps(manifest,indent=2))
print("Saved",len(manifest),"unique owned assets; every response role retained")
PY_ASSETS

Odbieranie i zapisywanie wyników

Ailoot Ultra · Wideo

  • GET /v1/videos/{request_id}
  • GET /v1/videos/generations/{request_id}
  • GET /v1/videos/{request_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
Zachowaj wszystkie ukończone wyniki

Zapisz każde ukończone wideo lub zwrócony plik; pobierz każdy faktycznie zwrócony URL zasobu.

Zachowaj kompletną odpowiedź i nagłówki, pierwotne identyfikatory, wszystkie rzeczywiste wyniki oraz wszystkie pola użycia i rozliczeń. Zapisz każdy unikalny zasób należący do użytkownika i zachowaj wszystkie role, które na niego wskazują.

Jeśli trzeba sprawdzić pierwotną odpowiedź

Zachowaj zwrócone publiczne id zadania lub operacji oraz wszystkie nagłówki. Odczytuj wyłącznie pierwotne zadanie; unknown ani result_pending_check nie uprawniają do ponownego utworzenia.

Pola odpowiedzi
PoleTyp
PoleidTypstring
Polepolling_urlTypstring
Poleprovider_task_idTypstring
Poletask_idTypstring
PolestatusTypstring
Polevideo_urlTypstring

Aliasy

Aliasy modelu

Ailoot Ultra minimaxi-hailuo-02

Aliasy ścieżek metod

/v1/videos/generations

Powiązane ID modeli

minimaxi-hailuo-02

FAQ · MiniMax: Hailuo 02
Jakie dane wejściowe i wyniki są dostępne?

POST /v1/videos · minimaxi-hailuo-02: text, image → video

Jakich pól używa żądanie?

POST /v1/videos · minimaxi-hailuo-02: model, prompt, duration, end_image, image, resolution

Więcej szczegółów

Połącz Ailoot z Claude Code, OpenCode, Hermes albo własną aplikacją.

Firma i jej portfel projektów

Firma i jej portfel projektów: miliony klientów; miesięczna sprzedaż liczona w miliardach.

Kupuj tokeny z rabatem.

Rabat subskrypcji do regularnej pracy. Kody promocyjne — do 50% na tokeny.

Subskrypcja
Wybierz plan z rabatem do regularnych żądań.
Kod promocyjny do 50%
Wpisz kod przy zakupie. Cena zostanie przeliczona według aktualnej promocji.
Koszty w historii
Model, tokeny i kwota są zapisywane dla każdego żądania.

Wybierz subskrypcję · Sprawdź ceny modeli

Połącz API z produktem, który sprzedajesz.

SaaS, aplikacje i boty na warunkach oferty i umowy licencyjnej Ailoot. Do odsprzedaży poproś o licencję resellerską.

Aplikacja komercyjna
Wbuduj generowanie tekstu, obrazów, wideo i dźwięku w płatne funkcje usługi.
Licencja resellerska
Prześlij opis projektu i schemat dostępu. Poproś o pisemne warunki używania i odsprzedaży.
Dokumenty na stronie
Oferta, umowa licencyjna i polityka przetwarzania danych są dostępne przed połączeniem.

Poproś o licencję resellerską · Oferta i umowa licencyjna