MiniMax: I2V 01
I2V 01 animuje dostarczony obraz pierwszej klatki, z opcjonalnym opisem tekstowym przedstawiającym akcję. Przygotuj kompozycję otwierającą, pokieruj widocznym ruchem i sprawdź gotowy klip pod kątem ciągłości głównego obiektu i kadrowania.
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.
I2V 01 to edycja obraz–wideo MiniMax do rozwijania ruchu z dostarczonej pierwszej klatki. Obraz określa główny obiekt i kompozycję otwierającą; opcjonalny pisemny prompt opisuje dalszą akcję. Użyj jej, gdy początkowy materiał wizualny już istnieje jako fotografia, wygenerowany obraz lub przygotowana scena, a zadaniem jest zamienienie go w krótką sekwencję wideo.
Wybierz pierwszą klatkę pod kątem ruchu, który chcesz pokazać. Obraz produktu powinien odsłaniać kształt i powierzchnie, które mają pozostać rozpoznawalne. Portret powinien wyraźnie pokazywać twarz i zostawiać wystarczająco dużo miejsca na żądany gest. W otoczeniu wskaż element prowadzący ruch, taki jak liście, woda lub osoba przechodząca przez scenę. Przygotuj kompozycję przed generowaniem, aby akcja miała przydatny punkt wyjścia.
Wymagania obrazu producenta to JPG, JPEG, PNG lub WebP, poniżej 20 MB, z krótszym bokiem większym niż 300 pikseli. Przyjmowane proporcje wynoszą od 2:5 do 5:2. W procesie producenta pierwszą klatkę można dostarczyć przez dostępny URL obrazu lub zakodowane dane obrazu. Zachowaj rzeczywisty plik obrazu przy zapisie żądania, aby wizualny punkt wyjścia został utrwalony do późniejszego porównania.
Opisem tekstowym określ widoczny ruch, jego tempo i zamierzony stan końcowy. Na przykład ceramiczny kubek na stole może pozostawać w miejscu, gdy unosi się para i lekko porusza zasłona w tle. Osoba może odwrócić się ku oknu i zatrzymać. Nadaj głównemu obiektowi jedną czytelną akcję i wyjaśnij, które cechy powinny pozostać widoczne przez cały jej przebieg.
Prompt dopuszcza do 2 000 znaków. Pisz przydatne szczegóły w naturalnej kolejności: główny obiekt, akcja, otoczenie i punkt widzenia. Gdy obraz już określa scenę, wykorzystaj tekst do wyjaśnienia ruchu, zamiast ponownie opisywać każdy widoczny przedmiot. Zwięzła instrukcja kierunku i zakresu gestu może być przydatniejsza niż kilka ogólnych przymiotników o filmowej jakości.
Starsza tabela obraz–wideo producenta wymienia 720P jako wartość domyślną dla I2V 01 i nie wymienia opcji dziesięciosekundowej dla tej edycji. Zachowaj wybrane ustawienia wyjścia przy klipie i oceń rzeczywisty czas wyniku. Przygotuj ujęcie, którego główną akcję można zrozumieć jako jedną krótką sekwencję, z początkiem i końcem przydatnymi w zamierzonym montażu.
Automatyczna optymalizacja promptu jest domyślnie włączona w udokumentowanym procesie producenta. Zapisz, czy jest używana przy porównywaniu poprawki. Zachowaj obraz bez zmian przy testowaniu innego opisu akcji albo zachowaj opis bez zmian przy porównywaniu innej kompozycji otwierającej. Ułatwia to ustalenie, która zmiana twórcza wpłynęła na wynik.
Sprawdź gotowe wideo od początku do końca. Oceń, czy główny obiekt pozostaje rozpoznawalny, czy ruch respektuje widoczną strukturę źródła i czy ważny szczegół pozostaje w kadrze. W scenie produktowej sprawdź krawędzie i wygląd materiału podczas ruchu; w portrecie sprawdź ciągłość twarzy i gestu. Zapisz rzeczywisty klip wraz z obrazem źródłowym i promptem, a następnie popraw konkretny pozostały problem z ruchem lub kadrowaniem.
Ailoot Ultra · Wideo POST /v1/videos minimaxi-i2v-01
minimaxi-i2v-01Start
I2V 01 animuje dostarczony obraz pierwszej klatki, z opcjonalnym opisem tekstowym przedstawiającym akcję. Przygotuj kompozycję otwierającą, pokieruj widocznym ruchem i sprawdź gotowy klip pod kątem ciągłości głównego obiektu i kadrowania.
- 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
| Pole | Typ | Wymaganie | Wartości i limity | Domyślnie |
|---|---|---|---|---|
Polemodel | Typstring | WymaganieWymagane | Wartości i limity minimaxi-i2v-01 Warunki: Użyj dokładnego selektora modelu Ailoot. | Domyślnie— |
Poleprompt | Typstring | WymaganieWymagane | Wartości i limity Warunki: Opisz scenę i ruch. | Domyślnie— |
Poleend_image | Typstring | WymaganieOpcjonalne | Wartości i limity Warunki: Klatka końcowa ma zastosowanie wyłącznie w obsługiwanym trybie wejścia obrazowego. | Domyślnie— |
Poleimage | Typstring or array<string> | WymaganieOpcjonalne | Wartoś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— |
Parametry i cykl życia metody
| Parametr | Kontrakt |
|---|---|
Parametrcontent_type | Kontraktapplication/json |
Parametrrequired | Kontraktmodel, prompt |
Parametroptional | Kontraktend_image, image |
Parametrmaterial_types | Kontrakttext, image |
Parametrconditions | KontraktUżyj dokładnego selektora modelu Ailoot., Opisz scenę i ruch., 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. |
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.
| Konfiguracja | Tabela stawek | Przewidywana ilość | Ilość do rozliczenia | Opłata |
|---|---|---|---|---|
| KonfiguracjaBazowe stawki za tokeny | Tabela stawekStawka podstawowa | Przewidywana ilość— | Ilość do rozliczenia— | 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 |
| KonfiguracjaZa żądanie | Tabela stawek— | Przewidywana ilość— | Ilość do rozliczeniajedno żądanie | Opłata Wejście · Szacunek tylko do porównania $1 za żądanie |
| KonfiguracjaSzacowany koszt generowania | Tabela stawek— | Przewidywana ilośćszacunek dla jednego generowania | Ilość do rozliczenia— | Opłata Wyjście · Szacowany koszt generowania · Szacunek tylko do porównania $1 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
# Replace YOUR_ACCESSIBLE_IMAGE_URL with your actual reachable reference image URL.
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON'
{
"model": "minimaxi-i2v-01",
"prompt": "A cat is walking on grass.",
"image": "YOUR_ACCESSIBLE_IMAGE_URL"
}
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}/contentGET /v1/media/assetsGET /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
| Pole | Typ |
|---|---|
Poleid | Typstring |
Polepolling_url | Typstring |
Poleprovider_task_id | Typstring |
Poletask_id | Typstring |
Polestatus | Typstring |
Polevideo_url | Typstring |
Aliasy
Aliasy modelu
Ailoot Ultra minimaxi-i2v-01
Aliasy ścieżek metod
/v1/videos/generations
Powiązane ID modeli
FAQ · MiniMax: I2V 01
- Jakie dane wejściowe i wyniki są dostępne?
POST /v1/videos·minimaxi-i2v-01:text,image→video- Jakich pól używa żądanie?
POST /v1/videos·minimaxi-i2v-01:model,prompt,end_image,image