MiniMax: S2V 01
S2V 01 använder en porträttreferens för att styra en karaktär i en nygenererad video. Tillhandahåll en tydlig ansiktsbild och beskriv scenen och handlingen; tillverkarens arbetsflöde med motivreferens behandlar bilden som en karaktärsreferens.
Om modellen
Den här beskrivningen omfattar modellens förmågor. Tillgängliga indata, utdata och alternativ i Ailoot anges nedan för den valda metoden.
S2V 01 är MiniMax videomodell med motivreferens. Den tillhandahållna bilden styr karaktärens utseende, medan texten beskriver videoscenen och handlingen. Dess dokumenterade referenstyp är en persons ansikte, så förbered porträttet som en identitetsreferens för karaktären som ska placeras i den genererade sekvensen.
Välj en referens där det avsedda ansiktet är tydligt och lätt att urskilja. Undvik att dölja särskiljande drag bakom en hand, en stor accessoar eller en snäv beskärning när de är viktiga för resultatet. Behåll samma porträtt i relaterade tagningar så att källan som styr karaktären förblir känd. Referensen ger information om utseendet; använd prompten för att förklara scenen som karaktären ska medverka i.
Tillverkarens schema för motivreferenser accepterar en bild i referensbildsarrayen. Formaten som stöds är JPG, JPEG, PNG och WebP, med filstorlek under 20 MB. Kortsidan måste överstiga 300 pixlar och bildförhållandet vara mellan 2:5 och 5:2. Behåll exakt bildfil med genereringsdokumentationen i stället för att byta till ett annat porträtt vid en senare jämförelse.
Beskriv en scen med en tydlig roll för referenspersonen. Karaktären kan exempelvis gå in i en tyst verkstad, titta på ett föremål på bordet och stanna bredvid det. Ange handlingen, miljön och kameravinkeln som är viktiga för den färdiga tagningen. Om ansiktet behöver förbli läsbart bör inramning och rörelse planeras utifrån det kravet.
Textbeskrivningen stöder upp till 2 000 tecken. Använd dem för konkreta instruktioner: vad karaktären gör, vad som omger personen och vad slutvyn ska visa. Beskriv kläder eller scendetaljer när de är viktiga för berättelsen och granska sedan hur den genererade videon kombinerar dem med identitetsreferensen. Håll referensens roll åtskild från en begäran att återskapa porträttets hela bakgrund som en öppningsbild.
Automatisk promptoptimering är dokumenterad och aktiverad som standard. Den kan stängas av när närmare kontroll över den skriftliga beskrivningen behövs. Behåll valet med texten och porträttet vid jämförelser mellan scener. För att undersöka ett problem med likheten kan scenbeskrivningen hållas oförändrad medan en förbättrad referens jämförs; för att undersöka handlingen hålls referensen oförändrad medan rörelsebeskrivningen revideras.
Tillverkarens arbetsflöde returnerar en uppgiftsidentitet innan videon är färdig. Behåll den ursprungliga identiteten genom status- och resultatstegen och spara sedan den färdiga videon för granskning och redigering. Spara porträttet, prompten och videon som en gemensam post så att en senare tagning kan jämföras med det faktiska material som styrde det tidigare resultatet.
Granska karaktären genom hela sekvensen, inklusive vändningar, gester och ändrad inramning. Kontrollera ansiktets kontinuitet, den avsedda handlingens tydlighet och relationen mellan karaktären och scenens föremål. Välj den video som bäst fyller tagningens syfte och identifiera en konkret avvikelse innan indata revideras. Ett arbetsflöde med återkommande karaktärer gynnas av att flera färdiga tagningar granskas sida vid sida med samma porträttreferens och tydlig dokumentation av varje scenbeskrivning.
Ailoot Ultra · Videor POST /v1/videos minimaxi-s2v-01
minimaxi-s2v-01Start
S2V 01 använder en porträttreferens för att styra en karaktär i en nygenererad video. Tillhandahåll en tydlig ansiktsbild och beskriv scenen och handlingen; tillverkarens arbetsflöde med motivreferens behandlar bilden som en karaktärsreferens.
- Godkända indata
- Text · Bilder
- Resultat
- Video
Tillgängligt i Ailoot · indata & metoder
Ailoot Ultra · Videor POST /v1/videos
- Indatatyper
text,image- Utdatatyper
video
| Fält | Typ | Krav | Värden & gränser | Standard |
|---|---|---|---|---|
Fältmodel | Typstring | KravObligatoriskt | Värden & gränser minimaxi-s2v-01 Villkor: Använd den exakta modellväljaren för Ailoot. | Standard— |
Fältprompt | Typstring | KravObligatoriskt | Värden & gränser Villkor: Beskriv scenen och rörelsen. | Standard— |
Fältend_image | Typstring | KravValfritt | Värden & gränser Villkor: En slutbildruta gäller endast i ett bildindataläge som stöds. | Standard— |
Fältimage | Typstring or array<string> | KravValfritt | Värden & gränser Villkor: Använd en faktisk offentligt åtkomlig URL till en bild eller en bildsträng i base64; inget högsta antal bilder fastställs här. | Standard— |
Metodparametrar och livscykel
| Parameter | Avtal |
|---|---|
Parametercontent_type | Avtalapplication/json |
Parameterrequired | Avtalmodel, prompt |
Parameteroptional | Avtalend_image, image |
Parametermaterial_types | Avtaltext, image |
Parameterconditions | AvtalAnvänd den exakta modellväljaren för Ailoot., Beskriv scenen och rörelsen., En slutbildruta gäller endast i ett bildindataläge som stöds., Använd en faktisk offentligt åtkomlig URL till en bild eller en bildsträng i base64; inget högsta antal bilder fastställs här. |
Metodalias: /v1/videos/generations
Livscykel: 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}
Priser
Så beräknas slutavgiften
De visade priserna används för att uppskatta kostnaden före genereringen. Den slutliga debiteringen beräknas utifrån den kostnad som registrerats för den ursprungliga genereringen. Uppmätt längd på resultatet och uppskattade mängder utgör inte den slutliga debiterbara mängden.
Tariffuppgifter lägger inte till begäransalternativ. Parametrar som stöds anges för den valda metoden.
- Snabbt läge
- Ej angivet När snabbt läge är valt
- Flex-läge
- Ej angivet När läget flex är valt
- Högsta resonemangsnivå
- Ej angivet När den högsta resonemangsnivån använder standardjusteringen (default)
Uppskattade priser för jämförelse
Priser efter konfiguration
Matcha varje avgift mot de visade villkoren. Använd ett pris för varje uppsättning alternativa konfigurationer.
| Konfiguration | Prislista | Prognostiserad mängd | Debiteringsmängd | Avgift |
|---|---|---|---|---|
| KonfigurationGrundpriser för token | PrislistaGrundpris | Prognostiserad mängd— | Debiteringsmängd— | Avgift Indata · Indatatoken · Uppskattning endast för jämförelse — / 1K token Utdata · Utdatatoken · Uppskattning endast för jämförelse — / 1K token Indata · Cacheläsning · Uppskattning endast för jämförelse — / 1K token Indata · Skrivning till cache · Uppskattning endast för jämförelse — / 1K token Indata · Skrivning till cache, 1 tim · Uppskattning endast för jämförelse — / 1K token |
| KonfigurationPer begäran | Prislista— | Prognostiserad mängd— | Debiteringsmängden förfrågan | Avgift Indata · Uppskattning endast för jämförelse $1.4 per begäran |
| KonfigurationUppskattad genereringskostnad | Prislista— | Prognostiserad mängduppskattning för en generering | Debiteringsmängd— | Avgift Utdata · Uppskattad genereringskostnad · Uppskattning endast för jämförelse $1.4 uppskattning före generering Denna uppskattning är varken en extra avgift eller ett fast pris för den slutförda genereringen. |
Ailoot reserverar ett uppskattat belopp före en begäran. Efter resultatet slutregleras avgiften utifrån uppmätt förbrukning. Slutreglering för strömning använder den slutliga förbrukningsposten. Så fungerar reservation och slutreglering →
Exempelbegäranden
Ailoot Ultra · Videor
# 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
Ta emot och spara resultat
Ailoot Ultra · Videor
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}
Behåll alla färdiga resultat
Spara varje färdig video eller returnerad fil; hämta varje faktiskt returnerad resurs-URL.
Behåll hela svaret och svarshuvudena, ursprungliga identifierare, varje faktiskt resultat och alla förbruknings- och redovisningsfält. Spara varje unik tillgång som du äger och behåll varje roll som pekar på den.
Om det ursprungliga svaret behöver kontrolleras
Behåll det returnerade offentliga uppgifts- eller operations-id:t och samtliga svarshuvuden. Läs endast den ursprungliga uppgiften; unknown eller result_pending_check ger inte tillstånd att skapa på nytt.
Svarsfält
| Fält | Typ |
|---|---|
Fältid | Typstring |
Fältpolling_url | Typstring |
Fältprovider_task_id | Typstring |
Fälttask_id | Typstring |
Fältstatus | Typstring |
Fältvideo_url | Typstring |
Alias
Modellalias
Ailoot Ultra minimaxi-s2v-01
Alias för metodsökvägar
/v1/videos/generations
Relaterade anropar-ID:n
FAQ · MiniMax: S2V 01
- Vilka indata och resultat finns?
POST /v1/videos·minimaxi-s2v-01:text,image→video- Vilka fält använder begäran?
POST /v1/videos·minimaxi-s2v-01:model,prompt,end_image,image