Introduzione
MiniMax H3 Immagine in video parte da un fotogramma iniziale fornito in image_url e genera ciò che accade dopo: da 4 a 30 secondi interi a 480p, 768p o 2k, con l’audio generato nello stesso passaggio. Un last_image_url facoltativo dà alla clip un fotogramma finale verso cui chiudersi. Non c’è un campo per il formato: è il fotogramma iniziale a stabilire la forma dell’uscita.
Scegli il metodo in base al materiale di partenza
| Materiale di partenza | Metodo |
|---|---|
| una scena scritta o una sceneggiatura | MiniMax H3 Testo in video |
| un’immagine iniziale approvata | MiniMax H3 Immagine in video |
| da una a nove immagini di riferimento | MiniMax H3 Riferimenti in video |
Caratteristiche principali
È il fotogramma iniziale a decidere il soggetto
Il modello segue da vicino il fotogramma ricevuto, ed è quindi il modo più letterale per ottenere il soggetto, il costume e l’ambiente che hai progettato. Nell'esempio windowsill-turn tutto ciò che identifica, dal volto al vestito fino alla finestra con la pioggia, viene dall'immagine; il prompt chiede solo un'espirazione, un pulsare di neon e un giro della testa. Un fotogramma iniziale che mostra già la scena si avvicina al brief molto più delle stesse parole scritte in text-to-video.
Un fotogramma finale facoltativo
last_image_url fissa il punto d’arrivo dell’inquadratura. L'esempio della porta usa entrambe le estremità: otto secondi che iniziano dentro la stanza e finiscono su una composizione di porta fornita. Il fotogramma finale stringe solo la chiusura. La parte centrale della clip resta generata liberamente e, più la clip è lunga, più il movimento può allontanarsi dal fotogramma finale.
Durata, risoluzione e limiti di ingresso
La durata va da 4 a 30 secondi interi. Le risoluzioni sono 480p, 768p e 2k, ma il 2k è limitato a 15 secondi e una richiesta 2k più lunga viene rifiutata senza addebito. Una clip più lunga di 15 secondi viene fatturata al doppio della tariffa al secondo per l’intera durata. Il fotogramma iniziale deve misurare tra 256 e 5.760 px per lato, avere un rapporto tra 2:5 e 5:2 e pesare meno di 30 MB.
Parametri della richiesta
| Parametro | Obbligatorio | Nota |
|---|---|---|
prompt | Sì | Descrivi il cambiamento dopo il fotogramma iniziale: azione, macchina, suono. Non ridescrivere il fotogramma. almeno 1 caratteri · al massimo 7000 caratteri |
image_url | Sì | Il fotogramma iniziale. Fissa soggetto, guardaroba e composizione, e il modello lo segue da vicino. |
last_image_url | No | Fotogramma finale facoltativo. Stringe solo la chiusura; il centro della clip resta libero. |
resolution | No | 480p, 768p o 2k. Il 480p è un livello di bozza a costo ridotto per provare le idee; consegna la ripresa scelta a 768p o 2k. |
duration_seconds | No | Secondi interi, da 4 a 30. Il 2k è limitato a 15 secondi, e una clip più lunga di 15 secondi viene fatturata al doppio della tariffa al secondo per l’intera durata. |
Prezzi
| Specifiche | Prezzo |
|---|---|
| $0.025 / secondo |
| $0.037 / secondo |
| $0.058 / secondo |
Casi d’uso
Animare un’immagine già approvata
Se il fotogramma esiste già, che sia un’immagine generata o una foto con i diritti in regola, questo endpoint la trasforma in movimento senza descriverla di nuovo. Il prompt porta solo il cambiamento (azione, camera, suono), e ogni parola resta per ciò che l’immagine da sola non può dire.
Rivelare ciò che il fotogramma non mostra
L’esempio cup-then-two-in-one-shirt si apre su una natura morta. Una mano porta la tazza fuori campo, la camera si inclina e sposta il fuoco, e una seconda figura compare in fondo alla stanza: tre cambiamenti, tutti temporali, nessuno presente nell’immagine d’ingresso. È stato generato per sei secondi, una durata di bozza sensata prima di un’esecuzione in 2k.
Proseguire una scena oltre i 30 secondi
Per proseguire una scena, usa MiniMax H3 Estensione video: apre il segmento successivo sull’ultimo fotogramma della clip approvata e restituisce i due uniti in un solo file, così ogni prompt deve descrivere solo ciò che viene dopo. Se preferisci guidare tu l’inquadratura successiva fotogramma per fotogramma, prendi quell’ultimo fotogramma e invialo qui come image_url successivo.
Consigli avanzati
Non descrivere di nuovo il fotogramma
Descrivi il cambiamento dopo il fotogramma iniziale e lascia l’aspetto all’immagine. Una verifica rapida: ogni frase deve nominare qualcosa che si muove o che produce un suono. Il prompt di windowsill-turn, «she turns her head toward camera without changing expression. Rain runs down the window, distant traffic», basta perché il fotogramma mostra già chi è e dove si trova.
Prepara i due fotogrammi come una coppia continua
Quando invii last_image_url, preparalo insieme al fotogramma iniziale come una coppia: stesso soggetto, stesso costume, stessa luce e un cambio d’inquadratura plausibile. Due fotogrammi che si contraddicono costringono la parte centrale della clip a mediare tra loro. Poi descrivi l'azione fisica che li collega, come fa l'esempio della porta («si alza dal bordo del letto… si ferma incorniciata dalla porta guardando indietro»), e dai a quell'azione abbastanza secondi perché accada.
Prepara il fotogramma per l’uscita
Poiché il fotogramma stabilisce la forma dell’uscita, ritaglialo nel formato di consegna prima del caricamento e controlla i limiti di dimensione. Fai bozze a 480p, poi ripeti a 480p, 768p o 2k la ripresa scelta. Aspettati una nuova ripresa e non un upscaling fotogramma per fotogramma, perché l’endpoint non accetta seed.
Avvio rapido dell’API
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "minimax/h3/image-to-video",
"input": {
"duration_seconds": 5,
"enable_prompt_expansion": false,
"image_url": "https://example.com/reference.png",
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise",
"resolution": "768p"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
Nel riferimento dell’API trovi autenticazione, schema completo, polling e gestione degli errori.














