MiniMax: Hailuo 02
Hailuo 02 maakt video uit tekst of een eerste-framebeeld en ondersteunt een gedocumenteerde werkstroom met een eerste en laatste frame. Cameraopdrachten, promptoptimalisatie en modusgebonden keuzes voor duur en resolutie helpen de beoogde opname vorm te geven.
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.
Hailuo 02 is MiniMax’ videomodel voor tekstgestuurde scènes, beeldanimatie en een werkstroom met eerste en laatste frame. Een schriftelijke briefing beschrijft het onderwerp, de actie en camera, terwijl aangeleverde framebeelden het visuele beginpunt of de bestemming van de overgang kunnen vastleggen. Kies de generatiemodus op basis van het materiaal dat u al hebt en het deel van de opname dat u wilt sturen.
Beschrijf voor tekst-naar-video een samenhangende actie met een begrijpelijke omgeving en een duidelijk gezichtspunt. Een scène kan een kleine zeilboot tonen die langs een pier vaart terwijl de camera vanaf de oever volgt. Specificeer wat beweegt, welke details zichtbaar moeten blijven en hoe de opname eindigt. Houd de briefing gericht op waarneembare gebeurtenissen in plaats van op een lijst met niet-verwante visuele eigenschappen.
Bereid voor beeld-naar-video een eerste frame voor waarin het gewenste onderwerp en beeldkader al vastliggen. De maker accepteert JPG-, JPEG-, PNG- en WebP-beelden kleiner dan 20 MB, met een korte zijde langer dan 300 pixels en een beeldverhouding tussen 2:5 en 5:2. Gebruik een beeld waarin de belangrijke contouren en kenmerken zichtbaar zijn en beschrijf daarna de beweging die daaruit moet ontstaan.
Hailuo 02 heeft ook een gedocumenteerde modus met eerste en laatste frame. Bereid de twee beelden voor als de beoogde openings- en slottoestand van één reeks en beschrijf hoe de scène ertussen beweegt. Het eerste frame bepaalt het beeldkader; de maker stelt dat een laatste frame met een andere grootte wordt bijgesneden om daarmee overeen te komen. Stem de compositie van de beelden vooraf op elkaar af wanneer een onderwerp tijdens de overgang zichtbaar moet blijven.
De prompt kan maximaal 2.000 tekens bevatten. Hailuo 02 ondersteunt cameraopdrachten tussen haakjes, waaronder push, pull, truck, pan, pedestal, tilt, zoom, tracking en static shot. Opdrachten die samen tussen haakjes staan, vragen om gelijktijdige beweging; opdrachten op verschillende plaatsen in de beschrijving vragen om een reeks. De maker raadt aan niet meer dan drie bewegingen te combineren, dus kies de camera-actie die het onderwerp makkelijker leesbaar maakt.
Duur en resolutie zijn aan de modus gekoppeld. Tekst-naar-video documenteert zes of tien seconden bij 768P en zes seconden bij 1080P. Beeld-naar-video documenteert ook 512P voor zes of tien seconden. De werkstroom met eerste en laatste frame documenteert 768P voor zes of tien seconden en 1080P voor zes seconden. Selecteer een ondersteunde combinatie voor de opname in plaats van de resolutiekeuzes van één modus naar elke andere modus over te nemen.
Automatische promptoptimalisatie is een gedocumenteerde instelling die standaard is ingeschakeld in de werkstroom van de maker. Behoud de instelling wanneer u versies vergelijkt, want een herschreven briefing verandert wat het model ontvangt. Bewaar de exacte tekst, referentieframes en geselecteerde uitvoerinstellingen bij de gegenereerde clip zodat een revisie zich op de actie of kadrering kan richten die verbetering nodig heeft.
Beoordeel de volledige voltooide reeks: de openingscompositie, continuïteit van het onderwerp, timing van de actie en het eindframe. Controleer voor een overgang beide eindpunten en de beweging ertussen. Bewaar de werkelijke video voor montage samen met de prompt en referenties; gebruik de volgende revisie om een concreet visueel probleem aan te pakken, zoals een verborgen detail, een abrupte camerabeweging of een einde dat te vroeg komt.
Ailoot Ultra · Videomateriaal POST /v1/videos minimaxi-hailuo-02
minimaxi-hailuo-02Aan de slag
Hailuo 02 maakt video uit tekst of een eerste-framebeeld en ondersteunt een gedocumenteerde werkstroom met een eerste en laatste frame. Cameraopdrachten, promptoptimalisatie en modusgebonden keuzes voor duur en resolutie helpen de beoogde opname vorm te geven.
- 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-hailuo-02 Voorwaarden: Gebruik de exacte Ailoot-modelidentificatie. | Standaard— |
Veldprompt | Typestring | VereisteVereist | Waarden en limieten Voorwaarden: Beschrijf de scène en beweging. | Standaard— |
Veldduration | Typeinteger | VereisteOptioneel | Waarden en limieten 6, 10 Voorwaarden: Verstuur een van de vermelde duurwaarden; er wordt geen standaardwaarde verondersteld. | 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— |
Veldresolution | Typestring | VereisteOptioneel | Waarden en limieten 512P, 768P, 1080P Voorwaarden: Verstuur een van de vermelde resolutiewaarden; er wordt geen standaardwaarde verondersteld. | Standaard— |
Methodeparameters en levenscyclus
| Parameter | Contract |
|---|---|
Parametercontent_type | Contractapplication/json |
Parameterrequired | Contractmodel, prompt |
Parameteroptional | Contractduration, end_image, image, resolution |
Parametermaterial_types | Contracttext, image |
Parameterconditions | ContractGebruik de exacte Ailoot-modelidentificatie., Beschrijf de scène en beweging., Verstuur een van de vermelde duurwaarden; er wordt geen standaardwaarde verondersteld., 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., Verstuur een van de vermelde resolutiewaarden; er wordt geen standaardwaarde 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 | Kosten |
|---|---|---|---|
| ConfiguratieBasistarieven voor tokens | TariefstaffelBasistarief | Verwachte 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 |
| ConfiguratieGeschatte generatiekosten | Tariefstaffel— | Verwachte hoeveelheidschatting voor één generatie | Kosten Uitvoer · Geschatte generatiekosten · Schatting uitsluitend ter vergelijking $0.2 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
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON'
{
"model": "minimaxi-hailuo-02",
"prompt": "A cat is walking on grass."
}
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-hailuo-02
Aliasnamen voor methodepaden
/v1/videos/generations
Gerelateerde aanroeper-ID’s
FAQ · MiniMax: Hailuo 02
- Welke invoer en resultaten zijn beschikbaar?
POST /v1/videos·minimaxi-hailuo-02:text,image→video- Welke velden gebruikt het verzoek?
POST /v1/videos·minimaxi-hailuo-02:model,prompt,duration,end_image,image,resolution