MiniMax-Hailuo-2.3
MiniMax Hailuo 2.3 tworzy filmy z tekstu lub obrazu początkowego, z możliwością sterowania ruchem i kierunkiem pracy kamery. Wybierz sześć sekund w 768P lub 1080P albo dziesięć sekund w 768P do gry postaci, stylizowanych scen i ujęć produktów, które można ocenić i zmontować.
- Ailoot · Wideo
POST /v1/videos/generationsMiniMax-Hailuo-2.3 - Ailoot Ultra · Wideo
POST /v1/videosMiniMax-Hailuo-2.3
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.
MiniMax Hailuo 2.3 to model generowania wideo z trybami tworzenia z tekstu i z obrazu. Rozwija Hailuo 02, koncentrując się na działaniach fizycznych, stylu wizualnym, mikroekspresjach postaci i reagowaniu na instrukcje ruchu. Dostarcz opis sceny, aby utworzyć ujęcie od zera, albo użyj obrazu początkowego do ustalenia pierwszego widoku i opisz dalszy ruch.
Ruch ciała jest jednym z głównych obszarów ulepszeń tej wersji. Hailuo 2.3 ma zapewniać większą płynność i kontrolę ruchów, również w scenach z poruszającą się kamerą. Zaplanuj ważną akcję przed dodaniem ozdobnych szczegółów. Postać podnosząca przedmiot, odwracająca się do drugiej osoby lub przechodząca przez pokój daje ujęciu widoczne zdarzenie do oceny. Ustal, który ruch niesie opowieść, a następnie utrzymuj pozostałe instrukcje w zgodzie z nim.
Kolejnym obszarem jest stylizacja. Model obsługuje anime i ilustrację, a także style takie jak malarstwo tuszem i grafika komputerowa z gier. Opisz oczekiwany sposób przedstawienia i zachowaj spójność wyglądu ze sceną. Jeśli obraz początkowy już ustala styl rysunku, użyj tekstu do pokierowania animacją, zamiast wprowadzać konkurencyjny opis projektu postaci. Sprawdź w całym klipie, czy styl pozostaje czytelny podczas ruchu.
Model koncentruje się również na grze mimicznej i subtelnych zmianach wyrazu twarzy. Przygotuj ujęcie postaci wokół ważnej reakcji: dostrzeżenia przedmiotu, zaciekawienia lub odpowiedzi lekkim uśmiechem. Zbliżenie może ułatwić ocenę tej zmiany, podczas gdy rozbudowana sekwencja gestów może od niej odciągać uwagę. Sprawdź twarz przed reakcją, w jej trakcie i po niej, zamiast oceniać tylko reprezentatywną nieruchomą klatkę.
Ruch przedmiotu przydaje się w scenach skupionych na produkcie. Własny opis może przedstawiać mały ceramiczny wazon obracający się w ciepłym bocznym świetle, gdy kamera stopniowo się do niego zbliża. Wskaż właściwości, które muszą pozostać rozpoznawalne, takie jak sylwetka, brzeg i wykończenie powierzchni. Oceń te szczegóły w ruchu, ponieważ sama przekonująca atmosfera nie potwierdza wiernego przedstawienia produktu.
W trybie tekstowym wymagany opis może zawierać do 2000 znaków. Podaj temat, akcję, otoczenie i styl wizualny w spójnej kolejności. Generowanie z obrazu wymaga obrazu klatki początkowej, z opcjonalnym opisem do 2000 znaków. Obraz ustala kompozycję otwarcia, dlatego przygotuj temat i kadr przed zleceniem ruchu. Pozostaw widoczną przestrzeń tam, gdzie ma poruszać się ręka, przedmiot lub postać.
Obraz początkowy może mieć format JPG, JPEG, PNG lub WebP, musi zajmować mniej niż 20 MB, mieć krótszy bok większy niż 300 pikseli oraz proporcje od 2:5 do 5:2. Można go dostarczyć jako publiczny adres URL obrazu lub adres danych Base64. Wybierz czytelny obraz początkowy, zamiast liczyć, że animacja naprawi zasłoniętą twarz lub akcję już uciętą przez kadr.
Hailuo 2.3 generuje przy 24 klatkach na sekundę. Sześciosekundowe ujęcie może korzystać z 768P lub 1080P, a dziesięciosekundowe — z 768P. Domyślne wartości to sześć sekund i 768P. Wybierz długość odpowiednią do oczekiwanej akcji: krótka reakcja może zmieścić się w krótkim ujęciu, a wolniejszy ruch potrzebuje więcej miejsca. Przy umieszczaniu klipu w montażu odczytaj rzeczywistą szerokość i wysokość gotowego wyniku, ponieważ sama etykieta rozdzielczości nie określa całego kadru.
Pracą kamery można sterować poleceniami w nawiasach kwadratowych. Dostępne elementy sterowania obejmują jazdę boczną, panoramowanie, najazd, ruch pionowy, pochylenie, zoom, drgania, śledzenie i ujęcie statyczne. Polecenie takie jak [Push in] określa zbliżenie; polecenia zgrupowane w jednym nawiasie działają jednocześnie, a ułożone po kolei opisują sekwencję. MiniMax zaleca najwyżej trzy polecenia równocześnie. Dopasuj ruch kamery do akcji obiektu lub postaci, aby główne zdarzenie pozostało łatwe do śledzenia.
Automatyczna optymalizacja promptu jest domyślnie włączona i można ją wyłączyć dla ściślejszej kontroli nad dostarczonym sformułowaniem. Opcjonalne szybkie przetwarzanie wstępne skraca czas optymalizacji, gdy jest ona włączona; to osobne ustawienie względem wyboru modelu Hailuo 2.3 Fast. Standardowy Hailuo 2.3 obsługuje oba tryby tworzenia, a Fast jest odrębną wersją do generowania wideo z obrazu. Wybierz wersję zależnie od tego, czy projekt zaczyna się od samego tekstu, czy istniejącej klatki.
Proces generowania zwraca asynchroniczny identyfikator zadania, a następnie zgłasza przygotowanie, oczekiwanie w kolejce, przetwarzanie, sukces lub błąd. Po sukcesie wynik zawiera identyfikator pliku i rzeczywiste wymiary filmu, a gotowe wideo pobiera się do zapisania. Zapisz klip, dopóki jego adres pobierania jest ważny. Obecna dokumentacja pobierania wideo producenta podaje godzinny czas ważności zwróconego adresu URL. Do montowanej sekwencji zachowaj każde ujęcie wraz z promptem i obrazem początkowym, aby wybrany kierunek twórczy można było prześledzić podczas poprawek.
Oceń w zapisanym klipie akcję, ciągłość fizyczną, szczegóły twarzy lub produktu, styl wizualny i zachowanie kamery. Obejrzyj całe ujęcie, a następnie sprawdź początek i koniec w miejscach łączenia z innymi materiałami. Jeśli żądanie zawiera zbyt wiele konkurujących ruchów, uprość główną akcję; jeśli projekt początkowy jest niejasny, popraw obraz startowy. Wybierz ujęcie przekazujące zamierzone zdarzenie, a następnie dodaj narrację, tytuły i przejścia w procesie montażu.
Ailoot · Wideo POST /v1/videos/generations MiniMax-Hailuo-2.3
MiniMax-Hailuo-2.3Start
MiniMax Hailuo 2.3 tworzy filmy z tekstu lub obrazu początkowego, z możliwością sterowania ruchem i kierunkiem pracy kamery. Wybierz sześć sekund w 768P lub 1080P albo dziesięć sekund w 768P do gry postaci, stylizowanych scen i ujęć produktów, które można ocenić i zmontować.
- Akceptowane dane wejściowe
- Tekst · Obrazy
- Wyniki
- Wideo
Dostępne w Ailoot · dane wejściowe i metody
Ailoot · Wideo POST /v1/videos/generations
- Wejście
text,image- Wyjście
video- Format wyjściowy
- mp4
| Pole | Typ | Wymaganie | Wartości i limity | Domyślnie |
|---|---|---|---|---|
Polemodel | Typstring | WymaganieWymagane | Wartości i limity MiniMax-Hailuo-2.3 | Domyślnie— |
Poleprompt | Typstring | WymaganieWymagane | Wartości i limity Minimalna długość: 1 Maksymalna długość: 2000 Jednostka: znaki Unicode | Domyślnie— |
Poleduration | Typinteger | WymaganieOpcjonalne | Wartości i limity 6, 10 Warunki: 10 sekund wymaga 768P Jednostka: sekundy | Domyślnie6 |
Poleresolution | Typstring | WymaganieOpcjonalne | Wartości i limity 768P, 1080P Warunki: 1080P wymaga 6 sekund | Domyślnie768P |
Polefirst_frame_image | Typhttps_url|data_image_url | WymaganieOpcjonalne | Wartości i limity Maksymalna liczba zdekodowanych bajtów: 20 971 520 Typy MIME: image/jpeg, image/png, image/webp Minimalny wymiar (bez wartości granicznej): 300 Zakres proporcji obrazu: 2:5, 5:2 | Domyślnie— |
Poleprompt_optimizer | Typboolean | WymaganieOpcjonalne | Wartości i limity | Domyślnie— |
Polefast_pretreatment | Typboolean | WymaganieOpcjonalne | Wartości i limity | Domyślnie— |
Kombinacje materiałów wejściowych
Obraz na wideo · Wymagane: prompt, first_frame_image
Tekst na wideo · Wymagane: prompt
Parametry i cykl życia metody
| Parametr | Kontrakt |
|---|---|
Parametrmaterial_types | Kontrakttext, image |
Parametrrequired | Kontraktnull |
Parametroptional_controls | Kontraktnull |
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/videos/generations/{request_id}/content
Struktury metod i ID są dokładne; możliwości dostawcy są odrębne od dopuszczenia żądania.
Cennik
Stawki metod Ailoot
POST /v1/videos/generations- Wyjście
- 0,28 USD za wideo o długości 6 s w 768p
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 →
Szczegóły taryfy referencyjnej
Referencyjne tabele modelu nie zmieniają wyboru metody, wyceny ani opłat. Naliczane opłaty korzystają ze stawek wybranej metody Ailoot.
MiniMax-Hailuo-2.3
Ceny według konfiguracji
| Konfiguracja | Warunki rozliczania | Opłata |
|---|---|---|
| KonfiguracjaMiniMax-Hailuo-2.3 · Domyślna konfiguracja | Warunki rozliczaniaKonfiguracja domyślna | Opłata Wejście · Wejście 0,00 USD za wywołanie Wyjście · Wyjście 0,60 USD za wywołanie |
MiniMax-Hailuo-2.3
Ceny według konfiguracji
| Konfiguracja | Warunki rozliczania | Opłata |
|---|---|---|
| KonfiguracjaMiniMax-Hailuo-2.3 · Domyślna konfiguracja | Warunki rozliczaniaKonfiguracja domyślna | Opłata Wejście · Wejście 0,00 USD za wywołanie Wyjście · Wyjście 1,20 USD za wywołanie |
MiniMax-Hailuo-2.3
Ceny według konfiguracji
| Konfiguracja | Warunki rozliczania | Opłata |
|---|---|---|
| KonfiguracjaMiniMax-Hailuo-2.3 · Konfiguracja domyślna | Warunki rozliczaniaKonfiguracja domyślna | Opłata Wejście · Wejście 0,00 USD za wywołanie Wyjście · Wyjście 1,20 USD za wywołanie |
Przykładowe żądania
Ailoot · Wideo
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl https://api.ailoot.ai/v1/videos/generations \
-H "Authorization: Bearer $AILOOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "MiniMax-Hailuo-2.3", "prompt": "A person walks slowly through a quiet garden as the camera tracks from the side.", "duration": 6, "resolution": "768P"}'Odbieranie i zapisywanie wyników
Ailoot · Wideo
mp4
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/videos/generations/{request_id}/content
Sprawdź status zadania
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_VIDEO_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_VIDEO_ID
video_id=$(python3 -c 'import os, urllib.parse; print(urllib.parse.quote(os.environ["AILOOT_VIDEO_ID"], safe=""))') || exit 1
curl "https://api.ailoot.ai/v1/videos/generations/$video_id" \
-H "Authorization: Bearer $AILOOT_API_KEY"Inne odczyty treści
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_VIDEO_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_VIDEO_ID
video_id=$(python3 -c 'import os, urllib.parse; print(urllib.parse.quote(os.environ["AILOOT_VIDEO_ID"], safe=""))') || exit 1
curl "https://api.ailoot.ai/v1/videos/generations/$video_id/content" \
-H "Authorization: Bearer $AILOOT_API_KEY" \
--output video.mp4Zachowaj wszystkie ukończone wyniki
Zapisz każde ukończone wideo lub zwrócony plik; pobierz każdy faktycznie zwrócony URL zasobu.
Zachowaj każdy zwrócony element data i indeks wyniku. content_url wskazuje tylko pierwszy; pobierz każdą rzeczywistą ścieżkę treści i zasób. GET treści bez index nie obejmuje wszystkich wyników.
Jeśli trzeba sprawdzić pierwotną odpowiedź
Odczytuj istniejące pierwotne zadanie; nigdy nie ponawiaj wysłania o nieznanym wyniku.
Pola odpowiedzi
| Pole | Typ |
|---|---|
Poleid | Typstring |
Poleobject | Typstring |
Polemodel | Typstring |
Polestatus | Typstring |
Polecontent_url | Typsigned URL |
Poledata[] | Typsigned URL |
Poleusage | Typobject |
Poleresult_pending_check | Typboolean |
Błędy i dalsze kroki
| Odpowiedź | Warunek | Następny krok |
|---|---|---|
Odpowiedź400 · invalid_request_error | WarunekNieprawidłowe wymagane pola, sposób reprezentacji materiału lub wartość parametru | Następny krokPopraw wskazane pola przed nowym żądaniem utworzenia. |
Odpowiedź409 · video_not_ready | WarunekTreść pierwotnego wyniku nie jest jeszcze dostępna | Następny krokOdpytuj pierwotny zwrócony identyfikator i przestrzegaj Retry-After. |
Odpowiedźserver_error | WarunekZwrócona odpowiedź wskazuje, że operacja lub wynik wymaga sprawdzenia | Następny krokZachowaj pierwotnie zwrócony identyfikator operacji lub zadania, nagłówki żądania i odpowiedź; kontynuuj obsługiwane odczyty tej pierwotnej operacji. Nie wysyłaj ponownie żądania utworzenia. |
Aliasy
Aliasy modelu
Ailoot MiniMax-Hailuo-2.3
Ailoot Ultra MiniMax-Hailuo-2.3
Aliasy ścieżek metod
/v1/videos/generations, /videos, /videos/generations
Powiązane ID modeli
Ailoot Ultra · Wideo POST /v1/videos MiniMax-Hailuo-2.3
MiniMax-Hailuo-2.3Start
MiniMax Hailuo 2.3 tworzy filmy z tekstu lub obrazu początkowego, z możliwością sterowania ruchem i kierunkiem pracy kamery. Wybierz sześć sekund w 768P lub 1080P albo dziesięć sekund w 768P do gry postaci, stylizowanych scen i ujęć produktów, które można ocenić i zmontować.
- Akceptowane dane wejściowe
- Tekst
- Wyniki
- Wideo
Dostępne w Ailoot · dane wejściowe i metody
Ailoot Ultra · Wideo POST /v1/videos
- Wejście
text- Wyjście
video- Format wyjściowy
- mp4
- Liczba wyników
- Do 1 wynik
| Pole | Typ | Wymaganie | Wartości i limity | Domyślnie |
|---|---|---|---|---|
Polemodel | Typstring | WymaganieWymagane | Wartości i limity MiniMax-Hailuo-2.3 | Domyślnie— |
Poleprompt | Typstring | WymaganieWymagane | Wartości i limity Minimalna długość: 1 Maksymalna długość: 2000 Warunki: Dla 768P: najwyżej 2000 punktów kodowych Unicode. Dla 1080P: mniej niż 200 punktów kodowych Unicode (maksymalnie 199). Prompt musi zawierać tekst inny niż białe znaki. Jednostka: znaki Unicode | Domyślnie— |
Poleduration | Typinteger | WymaganieWymagane | Wartości i limity 6 Jednostka: sekundy | Domyślnie— |
Poleresolution | Typstring | WymaganieWymagane | Wartości i limity 768P, 1080P | Domyślnie— |
Kombinacje materiałów wejściowych
Tekst na wideo · Wymagane: prompt
Parametry i cykl życia metody
| Parametr | Kontrakt |
|---|---|
Parametrcontent_type | Kontraktapplication/json |
Parametrrequired | Kontraktmodel, prompt, duration, resolution |
Parametrother_options | Kontraktfalse |
Parametrduration | Kontrakt6 |
Parametrresolution | Kontrakt768P, 1080P |
Parametrprompt_max_characters | Kontrakt2000 |
Parametrmaterial_types | Kontrakttext |
Parametrprompt_max_characters_by_resolution | Kontrakt{"768P":2000,"1080P":199} |
Aliasy metody: /v1/videos/generations, /videos, /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/videos/generations/{request_id}/content
Utwórz raz i zapisz zwrócony identyfikator.
Odpytuj pierwotny status; zachowaj każdy ukończony zasób i jego czas trwania.
Cennik
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)
Stawki Ailoot
Ceny według konfiguracji
Dopasuj każdą opłatę do pokazanych warunków. Użyj jednej stawki dla każdego zestawu alternatywnych konfiguracji.
| Konfiguracja | Tabela stawek | Nominalna długość klipu, sekundy | Rozdzielczość | Jednostka rozliczeniowa | Opłata |
|---|---|---|---|---|---|
| KonfiguracjaBazowe stawki za tokeny | Tabela stawekStawka podstawowa | Nominalna długość klipu, sekundy— | Rozdzielczość— | Jednostka rozliczeniowa— | Opłata Wejście · Tokeny wejściowe — / 1K tokenów Wyjście · Tokeny wyjściowe — / 1K tokenów Wejście · Odczyt cache — / 1K tokenów Wejście · Zapis do cache — / 1K tokenów Wejście · Zapis do cache, 1 godz. — / 1K tokenów |
| KonfiguracjaUltra | Tabela stawek— | Nominalna długość klipu, sekundy6 | Rozdzielczość1080P | Jednostka rozliczeniowaza klip wyjściowy o nominalnej długości 6s | Opłata Wyjście · nominalny klip wyjściowy o długości 6s $1.2 za klip wyjściowy o nominalnej długości 6s |
| KonfiguracjaUltra | Tabela stawek— | Nominalna długość klipu, sekundy6 | Rozdzielczość768P | Jednostka rozliczeniowaza klip wyjściowy o nominalnej długości 6s | Opłata Wyjście · nominalny klip wyjściowy o długości 6s $0.6 za klip wyjściowy o nominalnej długości 6s |
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 →
Szczegóły taryfy referencyjnej
Referencyjne tabele modelu nie zmieniają wyboru metody, wyceny ani opłat. Naliczane opłaty korzystają ze stawek wybranej metody Ailoot.
MiniMax-Hailuo-2.3
Ceny według konfiguracji
| Konfiguracja | Warunki rozliczania | Opłata |
|---|---|---|
| KonfiguracjaMiniMax-Hailuo-2.3 · Domyślna konfiguracja | Warunki rozliczaniaKonfiguracja domyślna | Opłata Wejście · Wejście 0,00 USD za wywołanie Wyjście · Wyjście 0,60 USD za wywołanie |
MiniMax-Hailuo-2.3
Ceny według konfiguracji
| Konfiguracja | Warunki rozliczania | Opłata |
|---|---|---|
| KonfiguracjaMiniMax-Hailuo-2.3 · Domyślna konfiguracja | Warunki rozliczaniaKonfiguracja domyślna | Opłata Wejście · Wejście 0,00 USD za wywołanie Wyjście · Wyjście 1,20 USD za wywołanie |
MiniMax-Hailuo-2.3
Ceny według konfiguracji
| Konfiguracja | Warunki rozliczania | Opłata |
|---|---|---|
| KonfiguracjaMiniMax-Hailuo-2.3 · Konfiguracja domyślna | Warunki rozliczaniaKonfiguracja domyślna | Opłata Wejście · Wejście 0,00 USD za wywołanie Wyjście · Wyjście 1,20 USD za wywołanie |
Przykładowe żądania
Ailoot Ultra · Wideo
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "MiniMax-Hailuo-2.3", "prompt": "A cat in a spacesuit walking on the Moon", "duration": 6, "resolution": "768P"}')
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
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
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "MiniMax-Hailuo-2.3", "prompt": "A cat in a spacesuit walking on the Moon", "duration": 6, "resolution": "1080P"}')
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
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
Odbieranie i zapisywanie wyników
Ailoot Ultra · Wideo
mp4
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/videos/generations/{request_id}/content
Sprawdź status zadania
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/$operation_id" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o status.json
python3 - <<'PY_STATUS'
import json
from pathlib import Path
r=json.loads(Path("status.json").read_text())
print(json.dumps(r))
if r.get("status")=="completed":
for x in r.get("data",[]):print(x)
PY_STATUS
Zapisz wszystkie ukończone zasoby
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}"
export AILOOT_STATUS_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
from urllib.parse import urlsplit,urljoin
f=Path(os.environ["AILOOT_STATUS_FILE"])
if not f.is_file():raise SystemExit("Choose the actual completed status file")
r=json.loads(f.read_text())
if r.get("status")!="completed" or not isinstance(r.get("data"),list) or not r["data"]:raise SystemExit("Wait for a completed status with asset paths")
urls=[]
for x in r["data"]:
if not isinstance(x,str) or "\n" in x or "\r" in x:raise SystemExit("Invalid asset path")
u=urljoin("https://api.ailoot.ai",x)
z=urlsplit(u)
if z.scheme!="https" or z.netloc!="api.ailoot.ai" or z.username or z.password:raise SystemExit("Use the actual Ailoot asset paths from status")
urls.append(u)
Path("asset-urls.txt").write_text("\n".join(urls)+"\n")
PY_REQUEST
index=0
while IFS= read -r asset_url; do
curl --fail-with-body --silent --show-error "$asset_url" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o "video-${index}.mp4"
index=$((index + 1))
done < asset-urls.txt
Inne odczyty treści
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/$operation_id/content" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o video.mp4
Zachowaj wszystkie ukończone wyniki
Zapisz każde ukończone wideo lub zwrócony plik; pobierz każdy faktycznie zwrócony URL zasobu.
Ukończone data[] zawiera wszystkie podpisane adresy URL treści należących do użytkownika. Pobierz każdy zwrócony URL lub użyj endpointu treści z index ustawionym na rzeczywisty indeks wyniku. Nieudane pierwotne zadanie może zwrócić charge_pending_check; sprawdź to pierwotne zadanie zamiast tworzyć je ponownie.
Jeśli trzeba sprawdzić pierwotną odpowiedź
Odczytuj istniejące pierwotne zadanie; nigdy nie ponawiaj wysłania o nieznanym wyniku.
Maksymalna liczba wyników: 1.
Pola odpowiedzi
| Pole | Typ |
|---|---|
Poleid | Typstring |
Poleobject | Typstring |
Polemodel | Typstring |
Polestatus | Typstring |
Poledata[] | Typsigned content URL |
Polecharge_pending_check | Typboolean |
Poleerror.code | Typstring |
Poleerror.message | Typstring |
Polerequested_nominal_duration_seconds | Typinteger |
Polemeasured_duration_seconds | Typnumber |
Polewidth | Typinteger |
Poleheight | Typinteger |
Błędy i dalsze kroki
| Odpowiedź | Warunek | Następny krok |
|---|---|---|
Odpowiedź400 · invalid_request_error | WarunekNieprawidłowe wymagane pola, sposób reprezentacji materiału lub wartość parametru | Następny krokPopraw wskazane pola przed nowym żądaniem utworzenia. |
Odpowiedź409 · video_not_ready | WarunekTreść pierwotnego wyniku nie jest jeszcze dostępna | Następny krokOdpytuj pierwotny zwrócony identyfikator i przestrzegaj Retry-After. |
Odpowiedźserver_error | WarunekZwrócona odpowiedź wskazuje, że operacja lub wynik wymaga sprawdzenia | Następny krokZachowaj pierwotnie zwrócony identyfikator operacji lub zadania, nagłówki żądania i odpowiedź; kontynuuj obsługiwane odczyty tej pierwotnej operacji. Nie wysyłaj ponownie żądania utworzenia. |
Aliasy
Aliasy modelu
Ailoot MiniMax-Hailuo-2.3
Ailoot Ultra MiniMax-Hailuo-2.3
Aliasy ścieżek metod
/v1/videos/generations, /videos, /videos/generations
Powiązane ID modeli
FAQ · MiniMax-Hailuo-2.3
- Jakie dane wejściowe i wyniki są dostępne?
POST /v1/videos/generations·MiniMax-Hailuo-2.3:text,image→videoPOST /v1/videos·MiniMax-Hailuo-2.3:text→video- Jakich pól używa żądanie?
POST /v1/videos/generations·MiniMax-Hailuo-2.3:model,prompt,duration,resolution,first_frame_image,prompt_optimizer,fast_pretreatmentPOST /v1/videos·MiniMax-Hailuo-2.3:model,prompt,duration,resolution- Jakie limity obowiązują?
POST /v1/videos/generations·MiniMax-Hailuo-2.3:prompt.maximum_length:2000POST /v1/videos·MiniMax-Hailuo-2.3:prompt.maximum_length:2000