MiniMax: S2V 01
S2V 01 gebruikt een portretreferentie om een personage in een nieuw gegenereerde video te sturen. Lever één helder gezichtsbeeld aan en beschrijf de scène en actie; de referentiewerkstroom van de maker behandelt het beeld als een personagereferentie.
Over het model
Deze beschrijving gaat over de mogelijkheden van het model. De via Ailoot beschikbare invoer, uitvoer en opties staan hieronder voor de geselecteerde methode.
S2V 01 is MiniMax’ videomodel met een personagereferentie. Het aangeleverde beeld stuurt het uiterlijk van het personage, terwijl de tekst de videoscène en actie beschrijft. Het gedocumenteerde referentietype is het gezicht van een persoon, dus bereid het portret voor als identiteitsreferentie voor het personage dat u in de gegenereerde reeks wilt plaatsen.
Kies een referentie waarin het beoogde gezicht helder en makkelijk te onderscheiden is. Verberg bepalende kenmerken niet achter een hand, groot accessoire of sterke uitsnede wanneer die kenmerken voor het resultaat belangrijk zijn. Houd het portret over verwante opnamen consistent zodat de bron die het personage stuurt bekend blijft. De referentie biedt uiterlijkinformatie; gebruik de prompt om de scène uit te leggen die het personage moet uitvoeren.
Het referentieschema van de maker accepteert één beeld in de array met referentiebeelden. Ondersteunde formaten zijn JPG, JPEG, PNG en WebP, met een bestandsgrootte kleiner dan 20 MB. De korte zijde moet langer dan 300 pixels zijn en de beeldverhouding moet tussen 2:5 en 5:2 liggen. Bewaar het exacte beeldbestand bij het generatierecord in plaats van tijdens een latere vergelijking een ander portret te gebruiken.
Beschrijf een scène met een duidelijke rol voor de persoon uit de referentie. Het personage kan bijvoorbeeld een rustige werkplaats binnenlopen, naar een object op tafel kijken en ernaast stoppen. Specificeer de actie, omgeving en het gezichtspunt die voor de afgewerkte opname belangrijk zijn. Plan wanneer het gezicht leesbaar moet blijven het beeldkader en de beweging rond die eis.
De tekstbeschrijving ondersteunt maximaal 2.000 tekens. Gebruik die tekens voor concrete instructies: wat het personage doet, wat het omringt en wat het slotbeeld moet tonen. Beschrijf kleding of scènedetails wanneer die voor het verhaal belangrijk zijn en inspecteer daarna hoe de gegenereerde video die met de aangeleverde identiteitsreferentie combineert. Houd de referentierol onderscheiden van een vraag om de volledige portretachtergrond als openingsframe te reproduceren.
Automatische promptoptimalisatie is gedocumenteerd en standaard ingeschakeld. Die kan worden uitgeschakeld wanneer nauwere controle over de geschreven beschrijving nodig is. Bewaar die keuze bij de tekst en het portret wanneer u verschillende scènes vergelijkt. Houd om een gelijkenisprobleem te onderzoeken de scènebriefing constant terwijl u een verbeterde referentie vergelijkt; houd om de actie te onderzoeken de referentie constant terwijl u de bewegingsbeschrijving herziet.
De werkstroom van de maker geeft een taakidentiteit terug voordat de video voltooid is. Behoud die oorspronkelijke identiteit tijdens de status- en resultaatstappen en sla daarna de voltooide clip op voor inspectie en montage. Bewaar het portret, de prompt en resulterende video als één record zodat een latere opname kan worden vergeleken met het werkelijke materiaal dat het eerdere resultaat heeft gestuurd.
Beoordeel het personage gedurende de hele reeks, inclusief draaien, gebaren en veranderingen in beeldkader. Controleer gezichtsconsistentie, leesbaarheid van de beoogde actie en de relatie tussen het personage en scèneobjecten. Selecteer de clip die het best bij het doel van de opname past en benoem elke concrete afwijking voordat u de invoer herziet. Een werkstroom met een terugkerend personage profiteert van het naast elkaar beoordelen van meerdere afgewerkte opnamen, met dezelfde portretreferentie en een helder record van elke scènebeschrijving.
Ailoot Ultra · Videomateriaal POST /v1/videos minimaxi-s2v-01
minimaxi-s2v-01Aan de slag
S2V 01 gebruikt een portretreferentie om een personage in een nieuw gegenereerde video te sturen. Lever één helder gezichtsbeeld aan en beschrijf de scène en actie; de referentiewerkstroom van de maker behandelt het beeld als een personagereferentie.
- Toegestane invoer
- Tekst · Afbeeldingen
- Resultaten
- Video
Beschikbaar in Ailoot · invoer en methoden
Ailoot Ultra · Videomateriaal POST /v1/videos
- Invoertypen
text,image- Uitvoertypen
video
| Veld | Type | Vereiste | Waarden en limieten | Standaard |
|---|---|---|---|---|
Veldmodel | Typestring | VereisteVereist | Waarden en limieten minimaxi-s2v-01 Voorwaarden: Gebruik de exacte Ailoot-modelidentificatie. | Standaard— |
Veldprompt | Typestring | VereisteVereist | Waarden en limieten Voorwaarden: Beschrijf de scène en beweging. | Standaard— |
Veldend_image | Typestring | VereisteOptioneel | Waarden en limieten Voorwaarden: Een eindframe geldt uitsluitend in een ondersteunde modus voor afbeeldingsinvoer. | Standaard— |
Veldimage | Typestring or array<string> | VereisteOptioneel | Waarden en limieten Voorwaarden: Gebruik een daadwerkelijk openbaar bereikbare afbeeldings-URL of een base64-afbeeldingstekenreeks; hier wordt geen maximumaantal afbeeldingen verondersteld. | Standaard— |
Methodeparameters en levenscyclus
| Parameter | Contract |
|---|---|
Parametercontent_type | Contractapplication/json |
Parameterrequired | Contractmodel, prompt |
Parameteroptional | Contractend_image, image |
Parametermaterial_types | Contracttext, image |
Parameterconditions | ContractGebruik de exacte Ailoot-modelidentificatie., Beschrijf de scène en beweging., Een eindframe geldt uitsluitend in een ondersteunde modus voor afbeeldingsinvoer., Gebruik een daadwerkelijk openbaar bereikbare afbeeldings-URL of een base64-afbeeldingstekenreeks; hier wordt geen maximumaantal afbeeldingen verondersteld. |
Methodealiasnamen: /v1/videos/generations
Levenscyclus: 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}
Tarieven
Zo worden de uiteindelijke kosten berekend
De weergegeven tarieven geven een schatting van de kosten vóór de generatie. Het definitieve bedrag wordt berekend op basis van de kosten die voor de oorspronkelijke generatie zijn geregistreerd. De gemeten duur van de uitvoer en de geschatte hoeveelheden zijn niet de definitieve factureerbare hoeveelheid.
Tariefverwijzingen voegen geen verzoekopties toe. Ondersteunde parameters staan bij de geselecteerde methode.
- Snelle modus
- Niet opgegeven Wanneer de snelle modus is geselecteerd
- Flexmodus
- Niet opgegeven Wanneer de modus flex is geselecteerd
- Maximale redeneerinspanning
- Niet opgegeven Wanneer bij maximale redeneerinspanning de default-aanpassing wordt gebruikt
Geschatte tarieven ter vergelijking
Prijzen per configuratie
Koppel elke kostenpost aan de getoonde voorwaarden. Gebruik één tarief voor elke groep alternatieve configuraties.
| Configuratie | Tariefstaffel | Verwachte hoeveelheid | Gefactureerde hoeveelheid | Kosten |
|---|---|---|---|---|
| ConfiguratieBasistarieven voor tokens | TariefstaffelBasistarief | Verwachte hoeveelheid— | Gefactureerde hoeveelheid— | Kosten Invoer · Invoertokens · Schatting uitsluitend ter vergelijking — / 1K tokens Uitvoer · Uitvoertokens · Schatting uitsluitend ter vergelijking — / 1K tokens Invoer · Cache lezen · Schatting uitsluitend ter vergelijking — / 1K tokens Invoer · Cache schrijven · Schatting uitsluitend ter vergelijking — / 1K tokens Invoer · Cache schrijven, 1 uur · Schatting uitsluitend ter vergelijking — / 1K tokens |
| ConfiguratiePer verzoek | Tariefstaffel— | Verwachte hoeveelheid— | Gefactureerde hoeveelheidéén verzoek | Kosten Invoer · Schatting uitsluitend ter vergelijking $1.4 per verzoek |
| ConfiguratieGeschatte generatiekosten | Tariefstaffel— | Verwachte hoeveelheidschatting voor één generatie | Gefactureerde hoeveelheid— | Kosten Uitvoer · Geschatte generatiekosten · Schatting uitsluitend ter vergelijking $1.4 schatting vóór generatie Deze schatting is geen extra bedrag of vast tarief voor de voltooide generatie. |
Ailoot reserveert vóór een verzoek een geschat bedrag. Na het resultaat worden de uiteindelijke kosten afgerekend op basis van het gemeten verbruik. Bij streaming gebeurt de afrekening op basis van de definitieve verbruiksregistratie. Zo werken reservering en afrekening →
Voorbeeldverzoeken
Ailoot Ultra · Videomateriaal
# 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
Resultaten ophalen en opslaan
Ailoot Ultra · Videomateriaal
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}
Alle voltooide resultaten bewaren
Sla elke voltooide video of elk teruggegeven bestand op; haal elke daadwerkelijk teruggegeven bestands-URL op.
Bewaar het volledige antwoord en de headers, de oorspronkelijke identificaties, alle daadwerkelijke uitvoer en alle gebruiks-/afrekenvelden. Sla elke unieke asset op die u bezit en behoud elke rol die ernaar verwijst.
Als het oorspronkelijke antwoord moet worden gecontroleerd
Bewaar de geretourneerde openbare taak- of operatie-id en alle headers. Lees uitsluitend de oorspronkelijke taak; unknown of result_pending_check geeft geen toestemming voor een nieuwe aanmaak.
Antwoordvelden
| Veld | Type |
|---|---|
Veldid | Typestring |
Veldpolling_url | Typestring |
Veldprovider_task_id | Typestring |
Veldtask_id | Typestring |
Veldstatus | Typestring |
Veldvideo_url | Typestring |
Aliasnamen
Modelaliasnamen
Ailoot Ultra minimaxi-s2v-01
Aliasnamen voor methodepaden
/v1/videos/generations
Gerelateerde aanroeper-ID’s
FAQ · MiniMax: S2V 01
- Welke invoer en resultaten zijn beschikbaar?
POST /v1/videos·minimaxi-s2v-01:text,image→video- Welke velden gebruikt het verzoek?
POST /v1/videos·minimaxi-s2v-01:model,prompt,end_image,image