MiniMax: Hailuo 02
Hailuo 02 crea video da testo o da un’immagine del primo fotogramma e supporta un processo documentato con fotogrammi iniziale e finale. Comandi della camera, ottimizzazione del prompt e scelte di durata e risoluzione specifiche per modalità aiutano a dare forma all’inquadratura desiderata.
Informazioni sul modello
Questa descrizione illustra le funzionalità del modello. Gli input, gli output e le opzioni disponibili in Ailoot per il metodo selezionato sono elencati di seguito.
Hailuo 02 è il modello video di MiniMax per scene basate sul testo, animazione di immagini e un processo con fotogrammi iniziale e finale. Una descrizione scritta indica il soggetto, l’azione e la camera, mentre le immagini dei fotogrammi fornite possono stabilire il punto di partenza visivo o la destinazione della transizione. Scegliete la modalità di generazione in base ai materiali già disponibili e alla parte dell’inquadratura da controllare.
Per la generazione da testo a video, descrivete un’azione coerente con ambientazione e punto di vista leggibili. Una scena può mostrare una piccola barca a vela che passa accanto a un molo mentre la camera la segue dalla riva. Precisate che cosa si muove, quali dettagli devono restare visibili e come termina l’inquadratura. Mantenete la descrizione concentrata su eventi osservabili, anziché su un elenco di qualità visive non correlate.
Per la generazione da immagine a video, preparate un primo fotogramma con il soggetto e l’inquadratura desiderati già stabiliti. Il produttore accetta immagini JPG, JPEG, PNG e WebP inferiori a 20 MB, con il lato corto superiore a 300 pixel e un rapporto d’aspetto compreso tra 2:5 e 5:2. Usate un’immagine con contorni e caratteristiche importanti visibili, poi descrivete il movimento da sviluppare a partire da essa.
Hailuo 02 ha anche una modalità documentata con fotogrammi iniziale e finale. Preparate le due immagini come gli stati iniziale e finale desiderati di una sequenza e descrivete come la scena si muove tra essi. Il primo fotogramma determina l’inquadratura; il produttore afferma che un ultimo fotogramma di dimensioni diverse viene ritagliato per adattarsi al primo. Allineate in anticipo la composizione delle immagini quando un soggetto deve restare visibile durante la transizione.
Il prompt può contenere fino a 2 000 caratteri. Hailuo 02 supporta comandi della camera tra parentesi quadre, tra cui push, pull, truck, pan, pedestal, tilt, zoom, tracking e static shot per un’inquadratura statica. Comandi inseriti insieme in una coppia di parentesi quadre richiedono un movimento simultaneo; comandi collocati in punti diversi della descrizione richiedono una sequenza. Il produttore raccomanda di combinare non più di tre movimenti: scegliete quindi l’azione della camera che rende più leggibile il soggetto.
Durata e risoluzione sono legate alla modalità. La generazione da testo a video documenta sei o dieci secondi a 768P e sei secondi a 1080P. La generazione da immagine a video documenta anche 512P per sei o dieci secondi. Il processo con fotogrammi iniziale e finale documenta 768P per sei o dieci secondi e 1080P per sei secondi. Selezionate una combinazione supportata per l’inquadratura, anziché trasferire le scelte di risoluzione di una modalità a tutte le altre.
L’ottimizzazione automatica del prompt è un controllo documentato ed è attivata per impostazione predefinita nel processo del produttore. Conservatene l’impostazione quando confrontate versioni, perché una descrizione riscritta cambia ciò che il modello riceve. Conservate il testo esatto, i fotogrammi di riferimento e le impostazioni di output selezionate insieme al filmato generato, affinché una revisione possa intervenire sull’azione o sull’inquadratura da migliorare.
Esaminate l’intera sequenza completata: la composizione iniziale, la continuità del soggetto, i tempi dell’azione e il fotogramma finale. Per una transizione, verificate entrambi gli estremi e il movimento tra essi. Salvate il video effettivo per il montaggio, insieme al prompt e ai riferimenti; usate la revisione successiva per affrontare un problema visivo concreto, come un dettaglio nascosto, un movimento brusco della camera o una conclusione che arriva troppo presto.
Ailoot Ultra · Generazione video POST /v1/videos minimaxi-hailuo-02
minimaxi-hailuo-02Introduzione
Hailuo 02 crea video da testo o da un’immagine del primo fotogramma e supporta un processo documentato con fotogrammi iniziale e finale. Comandi della camera, ottimizzazione del prompt e scelte di durata e risoluzione specifiche per modalità aiutano a dare forma all’inquadratura desiderata.
- Input accettati
- Testo · Immagini
- Risultati
- Video
Disponibile in Ailoot · input e metodi
Ailoot Ultra · Generazione video POST /v1/videos
- Tipi di input
text,image- Tipi di output
video
| Campo | Tipo | Requisito | Valori e limiti | Predefinito |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObbligatorio | Valori e limiti minimaxi-hailuo-02 Condizioni: Usa il selettore esatto del modello Ailoot. | Predefinito— |
Campoprompt | Tipostring | RequisitoObbligatorio | Valori e limiti Condizioni: Descrivi la scena e il movimento. | Predefinito— |
Campoduration | Tipointeger | RequisitoFacoltativo | Valori e limiti 6, 10 Condizioni: Invia uno dei valori di durata elencati; non viene dichiarato alcun valore predefinito. | Predefinito— |
Campoend_image | Tipostring | RequisitoFacoltativo | Valori e limiti Condizioni: Un fotogramma finale si applica solo in una modalità di input con immagini supportata. | Predefinito— |
Campoimage | Tipostring or array<string> | RequisitoFacoltativo | Valori e limiti Condizioni: Usa un URL reale di un'immagine raggiungibile pubblicamente oppure una stringa di immagine in base64; qui non viene dichiarato un numero massimo di immagini. | Predefinito— |
Camporesolution | Tipostring | RequisitoFacoltativo | Valori e limiti 512P, 768P, 1080P Condizioni: Invia uno dei valori di risoluzione elencati; non viene dichiarato alcun valore predefinito. | Predefinito— |
Parametri e ciclo di vita del metodo
| Parametro | Contratto |
|---|---|
Parametrocontent_type | Contrattoapplication/json |
Parametrorequired | Contrattomodel, prompt |
Parametrooptional | Contrattoduration, end_image, image, resolution |
Parametromaterial_types | Contrattotext, image |
Parametroconditions | ContrattoUsa il selettore esatto del modello Ailoot., Descrivi la scena e il movimento., Invia uno dei valori di durata elencati; non viene dichiarato alcun valore predefinito., Un fotogramma finale si applica solo in una modalità di input con immagini supportata., Usa un URL reale di un'immagine raggiungibile pubblicamente oppure una stringa di immagine in base64; qui non viene dichiarato un numero massimo di immagini., Invia uno dei valori di risoluzione elencati; non viene dichiarato alcun valore predefinito. |
Alias del metodo: /v1/videos/generations
Ciclo di vita: 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}
Tariffe
Calcolo del costo finale
Le tariffe visualizzate stimano il costo prima della generazione. L'addebito finale viene calcolato in base al costo registrato per la generazione originale. La durata misurata dell'output e le quantità previste non costituiscono la quantità finale fatturabile.
Le tariffe non aggiungono opzioni alla richiesta. I parametri supportati sono elencati nel metodo selezionato.
- Modalità rapida
- Non specificato Quando è selezionata la modalità rapida
- Modalità flex
- Non specificato Quando è selezionata la modalità flex
- Sforzo massimo di ragionamento
- Non specificato Quando lo sforzo massimo di ragionamento usa l'adeguamento predefinito (default)
Tariffe stimate per il confronto
Prezzi per configurazione
Associa ogni costo alle condizioni indicate. Usa una sola tariffa per ogni insieme di configurazioni alternative.
| Configurazione | Listino delle tariffe | Quantità prevista | Costo |
|---|---|---|---|
| ConfigurazioneTariffe base dei token | Listino delle tariffeTariffa base | Quantità prevista— | Costo Input · Token in input · Stima solo a fini di confronto — / 1K token Output · Token in output · Stima solo a fini di confronto — / 1K token Input · Lettura dalla cache · Stima solo a fini di confronto — / 1K token Input · Scrittura nella cache · Stima solo a fini di confronto — / 1K token Input · Scrittura nella cache, 1 ora · Stima solo a fini di confronto — / 1K token |
| ConfigurazioneCosto stimato della generazione | Listino delle tariffe— | Quantità previstastima per una generazione | Costo Output · Costo di generazione stimato · Stima solo a fini di confronto $0.2 stima prima della generazione Questa stima non è un addebito aggiuntivo né una tariffa fissa per la generazione completata. |
Ailoot prenota un importo stimato prima di una richiesta. Dopo il risultato, addebita il costo finale in base all’utilizzo misurato. Per lo streaming, l’addebito usa il record finale di utilizzo. Come funzionano la prenotazione e l’addebito finale →
Esempi di richieste
Ailoot Ultra · Generazione video
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
Ricevi e salva i risultati
Ailoot Ultra · Generazione video
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}
Conserva tutti i risultati completati
Salva ogni video completato o file restituito; recupera ogni URL di risorsa effettivamente restituito.
Conserva la risposta completa e le intestazioni, gli identificatori originali, ogni risultato effettivo e tutti i campi di utilizzo e contabilizzazione. Salva ogni risorsa univoca di tua proprietà e conserva ogni ruolo che vi fa riferimento.
Se occorre verificare la risposta originale
Conserva l'id pubblico dell'attività o dell'operazione restituito e tutte le intestazioni. Consulta solo l'attività originale; unknown o result_pending_check non autorizza un'altra creazione.
Campi della risposta
| Campo | Tipo |
|---|---|
Campoid | Tipostring |
Campopolling_url | Tipostring |
Campoprovider_task_id | Tipostring |
Campotask_id | Tipostring |
Campostatus | Tipostring |
Campovideo_url | Tipostring |
Alias
Alias del modello
Ailoot Ultra minimaxi-hailuo-02
Alias dei percorsi dei metodi
/v1/videos/generations
ID di chiamata correlati
FAQ · MiniMax: Hailuo 02
- Quali input e risultati sono disponibili?
POST /v1/videos·minimaxi-hailuo-02:text,image→video- Quali campi usa la richiesta?
POST /v1/videos·minimaxi-hailuo-02:model,prompt,duration,end_image,image,resolution