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 · Videogeneratie 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 · Videogeneratie POST /v1/videos
- Invoer
text,image- Uitvoer
video
| Veld | Type | Vereiste | Waarden en limieten | Standaard |
|---|---|---|---|---|
Veldmodel | Typestring | VereisteVereist | Waarden en limieten minimaxi-hailuo-02 Voorwaarden: Gebruik de exacte modelselectie van Ailoot. | Standaard— |
Veldprompt | Typestring | VereisteVereist | Waarden en limieten Voorwaarden: Beschrijf de scène en de beweging. | Standaard— |
Veldduration | Typeinteger | VereisteOptioneel | Waarden en limieten 6, 10 Voorwaarden: Verstuur een van de vermelde duurwaarden; er wordt geen standaardwaarde aangenomen. | Standaard— |
Veldend_image | Typestring | VereisteOptioneel | Waarden en limieten Voorwaarden: Een eindframe geldt alleen in een ondersteunde modus voor afbeeldingsinvoer. | Standaard— |
Veldimage | Typestring or array<string> | VereisteOptioneel | Waarden en limieten Voorwaarden: Gebruik een werkelijke, openbaar bereikbare afbeeldings-URL of een base64-tekenreeks voor een afbeelding; hier wordt geen maximaal aantal afbeeldingen aangenomen. | Standaard— |
Veldresolution | Typestring | VereisteOptioneel | Waarden en limieten 512P, 768P, 1080P Voorwaarden: Verstuur een van de vermelde resolutiewaarden; er wordt geen standaardwaarde aangenomen. | 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 modelselectie van Ailoot., Beschrijf de scène en de beweging., Verstuur een van de vermelde duurwaarden; er wordt geen standaardwaarde aangenomen., Een eindframe geldt alleen in een ondersteunde modus voor afbeeldingsinvoer., Gebruik een werkelijke, openbaar bereikbare afbeeldings-URL of een base64-tekenreeks voor een afbeelding; hier wordt geen maximaal aantal afbeeldingen aangenomen., Verstuur een van de vermelde resolutiewaarden; er wordt geen standaardwaarde aangenomen. |
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 getoonde tarieven ramen de kosten vóór de generatie. De definitieve kosten worden berekend op basis van de kosten die voor de oorspronkelijke generatie zijn geregistreerd. De gemeten duur van het gegenereerde resultaat en de geraamde hoeveelheden vormen 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 geselecteerd is
- Flex-modus
- Niet opgegeven Wanneer de flex-modus geselecteerd is
- Maximale redeneerinspanning
- Niet opgegeven Wanneer voor 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 raming is geen extra kost 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 · Videogeneratie
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 · Videogeneratie
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 identificatiecodes, alle werkelijke uitvoer en alle velden voor verbruik en boekhouding. Sla elke unieke asset die je toebehoort op en behoud elke rol die ernaar verwijst.
Als het oorspronkelijke antwoord moet worden gecontroleerd
Bewaar de teruggestuurde openbare taak- of operatie-id en alle headers. Raadpleeg uitsluitend de oorspronkelijke taak; unknown of result_pending_check geeft geen toestemming om opnieuw een taak aan te maken.
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