MiniMax: S2V 01
S2V 01 wykorzystuje portret referencyjny do kierowania wyglądem postaci w nowo generowanym wideo. Dostarcz jeden wyraźny obraz twarzy i opisz scenę oraz akcję; proces referencji głównego obiektu producenta traktuje obraz jako referencję postaci.
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.
S2V 01 to model wideo MiniMax wykorzystujący referencję głównego obiektu. Dostarczony obraz kieruje wyglądem postaci, a tekst opisuje scenę i akcję wideo. Udokumentowanym typem referencji jest twarz człowieka, dlatego przygotuj portret jako wskazówkę tożsamości postaci, którą chcesz umieścić w generowanej sekwencji.
Wybierz referencję z wyraźną i łatwą do odróżnienia zamierzoną twarzą. Unikaj zasłaniania charakterystycznych cech dłonią, dużym akcesorium lub mocnym przycięciem, gdy te cechy mają znaczenie dla wyniku. Zachowaj spójny portret w powiązanych ujęciach, aby źródło kierujące postacią pozostawało znane. Referencja dostarcza informacji o wyglądzie; promptem wyjaśnij scenę, którą postać ma odegrać.
Schemat referencji głównego obiektu producenta przyjmuje jeden obraz w tablicy obrazów referencyjnych. Obsługiwane formaty to JPG, JPEG, PNG i WebP, z rozmiarem pliku poniżej 20 MB. Krótszy bok musi przekraczać 300 pikseli, a proporcje muszą wynosić od 2:5 do 5:2. Zachowaj dokładny plik obrazu przy zapisie generowania, zamiast podmieniać go na inny portret podczas późniejszego porównania.
Opisz scenę z jasną rolą osoby z referencji. Na przykład postać może wejść do cichego warsztatu, spojrzeć na przedmiot na stole i zatrzymać się obok niego. Określ akcję, otoczenie i punkt widzenia ważne dla gotowego ujęcia. Jeżeli twarz ma pozostać czytelna, zaplanuj kadrowanie i ruch wokół tego wymagania.
Opis tekstowy obsługuje do 2 000 znaków. Wykorzystaj je na konkretne instrukcje: co postać robi, co ją otacza i co powinien pokazywać końcowy widok. Opisz ubiór lub szczegóły sceny, gdy są ważne dla historii, a następnie sprawdź, jak wygenerowane wideo łączy je z dostarczoną referencją tożsamości. Oddziel rolę referencji od żądania odtworzenia całego tła portretu jako klatki otwierającej.
Automatyczna optymalizacja promptu jest udokumentowana i domyślnie włączona. Można ją wyłączyć, gdy potrzebna jest dokładniejsza kontrola pisemnego opisu. Zachowaj ten wybór przy tekście i portrecie podczas porównywania różnych scen. Aby zbadać problem podobieństwa, zachowaj opis sceny bez zmian, porównując poprawioną referencję; aby zbadać akcję, zachowaj referencję bez zmian, poprawiając opis ruchu.
Proces producenta zwraca identyfikator zadania przed ukończeniem wideo. Zachowaj ten pierwotny identyfikator w krokach statusu i wyniku, a następnie zapisz gotowy klip do kontroli i montażu. Przechowuj portret, prompt i wynikowe wideo jako jeden zapis, aby późniejsze ujęcie można było porównać z rzeczywistym materiałem kierującym wcześniejszym wynikiem.
Sprawdź postać przez całą sekwencję, w tym obroty, gesty i zmiany kadru. Oceń spójność twarzy, czytelność zamierzonej akcji i relację postaci z przedmiotami sceny. Wybierz klip najlepiej służący celowi ujęcia i wskaż konkretną niezgodność przed poprawianiem wejścia. Proces powracającej postaci korzysta z porównywania kilku gotowych ujęć obok siebie, z tym samym portretem referencyjnym i jasnym zapisem opisu każdej sceny.
Ailoot Ultra · Wideo POST /v1/videos minimaxi-s2v-01
minimaxi-s2v-01Start
S2V 01 wykorzystuje portret referencyjny do kierowania wyglądem postaci w nowo generowanym wideo. Dostarcz jeden wyraźny obraz twarzy i opisz scenę oraz akcję; proces referencji głównego obiektu producenta traktuje obraz jako referencję postaci.
- 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-s2v-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.4 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.4 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-s2v-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-s2v-01
Aliasy ścieżek metod
/v1/videos/generations
Powiązane ID modeli
FAQ · MiniMax: S2V 01
- Jakie dane wejściowe i wyniki są dostępne?
POST /v1/videos·minimaxi-s2v-01:text,image→video- Jakich pól używa żądanie?
POST /v1/videos·minimaxi-s2v-01:model,prompt,end_image,image