Black Forest Labs
FLUX 3 Max
flux-3-max/keyframes-to-video
Modello di generazione video che supporta la generazione da testo a video e da immagine a video, pensato per una produzione rapida con bassa latenza; secondo benchmark pubblici genera una clip di 10 secondi in circa 11–12 secondi, ideale per l'iterazione creativa e per i materiali dei video brevi
Prova flux-3-max/keyframes-to-video
Input
Creazioni
Vedi tutte le creazioniOutput
videoPrezzi
flux-3-max/keyframes-to-video per second
| Specifiche | Prezzo unitario |
|---|---|
| 720P | $0.0608 |
| 1080P | $0.1036 |
Panoramica del posizionamento
flux-3-max/keyframes-to-video è la linea di generazione video da immagini guidata da keyframe della famiglia flux-3-max: lo sviluppatore fornisce un prompt e fino a 10 immagini keyframe, le ancora a posizioni specifiche sulla timeline a 24 fps tramite l'indice di frame, e il modello completa il movimento e le transizioni tra i keyframe, producendo video da 5 a 20 secondi a 720p o 1080p. È adatta a team di previsualizzazione di storyboard, pubblicità e produzione di cortometraggi che necessitano di un controllo preciso del ritmo visivo, tramite l'interfaccia unificata di HiAPI.ai.
Punti di forza
- Controllo puntuale del ritmo visivo tramite keyframe — fino a 10 immagini posizionate in qualsiasi punto della timeline tramite l'indice di frame, con il processo intermedio completato dal modello anziché fornire solo il primo frame.
- Keyframe con audio sincronizzato — la generazione audio è attiva per impostazione predefinita, producendo suoni sincronizzati con le immagini e riducendo le fasi di doppiaggio in post-produzione.
- Intensità di ragionamento commutabile — reasoning_level offre due livelli, low e high: usa l'alta intensità per migliorare la qualità interpretativa nelle scene complesse e ridurre la latenza in quelle semplici.
Descrizione delle capacità
Composizione della timeline dei keyframe: con base temporale a 24 fps, frame_index specifica la posizione di ciascun keyframe; l'indice di frame deve essere univoco e non superare la durata moltiplicata per 24, consentendo una narrazione visiva precisa segmento per segmento.
Durata da 5 a 20 secondi e doppia risoluzione: duration copre da 5 a 20 secondi, resolution è selezionabile tra 720p e 1080p, con fatturazione in base ai secondi di output per controllare i costi in funzione della lunghezza del clip.
Otto formati e adattamento automatico: aspect_ratio offre otto proporzioni tra cui 21:9, 16:9, 1:1, 9:16; auto mantiene la proporzione dell'immagine di input. Una sola linea copre pubblicazione orizzontale, verticale e quadrata.
Integrazione tra prompt e intensità di ragionamento: prompt fino a 6000 caratteri, abbinato a reasoning_level per controllare la profondità interpretativa delle scene complesse, bilanciando qualità visiva e latenza di risposta.
Casi d'uso
- Storyboarder e team pubblicitari: immagini chiave più script — inserire gli storyboard già approvati come keyframe sulla timeline e produrre previsualizzazioni dinamiche con ritmo controllabile, per proposte ai clienti e revisioni prima delle riprese.
- Produzione di cortometraggi di marca: immagini di prodotto e testi di voice-over — usare fotogrammi statici del prodotto come keyframe e il prompt per descrivere movimenti di camera e atmosfera, generando clip brevi con audio sincronizzato da usare direttamente per campagne social e siti web.
- Team creativi: confronto di più soluzioni di keyframe — con lo stesso prompt, sostituire combinazioni di keyframe e proporzioni per generare in batch più video candidati da sottoporre a rapida iterazione e selezione.
- Creator di contenuti verticali: sequenze di keyframe 9:16 — produrre clip brevi in formato verticale con durata da 5 a 10 secondi, come materiale da pubblicare o asset intermedi per il montaggio successivo.
Limiti e consigli di selezione
Questa linea accetta solo input di generazione video da immagini e richiede almeno un'immagine keyframe; per partire da solo testo occorre scegliere la linea text-to-video della stessa famiglia. La risoluzione di output è limitata a 720p e 1080p, con durata massima di 20 secondi; video più lunghi o di specifiche superiori richiedono la generazione a segmenti e il montaggio successivo. L'alta intensità di ragionamento comporta latenza maggiore; per materiali dal ritmo semplice si può usare low. Le immagini keyframe devono essere su URL HTTPS pubblici; una pianificazione errata degli indici di frame causa una disposizione diversa dalle attese, quindi è necessario verificare la timeline prima dell'invio.
Novità
Vedi il changelog →- Nuovo modello Il modello di generazione video flux-3-max/text-to-video è ora disponibile
- Aggiornamento prezzo Adeguamento dei prezzi di flux-3-max/text-to-video
- Aggiornamento prezzo Adeguamento dei prezzi di flux-3-max/image-to-video: nuova tariffa $0.0608
Domande frequenti
Vedi tutte le domande →-
Quali input sono necessari per FLUX 3 Max image-to-video?
Sono obbligatori prompt e image_url (immagine del primo frame, supporta PNG/JPEG/WebP). Sono opzionali end_image_url come frame finale, oltre a duration, resolution, aspect_ratio, generate_audio e reasoning_level.
-
È possibile impostare la durata del video?
Sì. duration accetta un valore intero compreso tra 5 e 20 secondi, con incrementi di 1 secondo, valore predefinito 5 secondi; la generazione video da immagine e la generazione video da testo condividono lo stesso prezzo al secondo. Verifica prima con 5 secondi se l'immagine di origine è stabile, poi prolunga la durata.
-
Da cosa è determinato il formato dell'immagine?
aspect_ratio è impostato per impostazione predefinita su auto e l'output segue le proporzioni dell'immagine del primo fotogramma; è anche possibile specificare manualmente 21:9, 2:1, 16:9, 4:3, 1:1, 3:4 o 9:16. Se il valore specificato manualmente non corrisponde alle proporzioni dell'immagine, l'inquadratura potrebbe essere ritagliata.
-
Come si usa il fotogramma finale?
Passa il primo fotogramma in image_url e il fotogramma finale in end_image_url: il video passerà dal primo all'ultimo fotogramma. Nel prompt descrivi solo il cambiamento che avviene nel mezzo; più l'inquadratura e l'illuminazione delle due immagini sono simili, più la transizione risulta fluida.
Crea un'attività di generazione
https://api.hiapi.ai/v1/tasks Header
AuthorizationstringObbligatorioChiave API dell'account. Obbligatoria in ogni richiesta. Esempio: Bearer YOUR_HIAPI_API_KEY. Ottieni una chiave API
Content-TypestringOpzionaleIl corpo della richiesta viene sempre interpretato come JSON; se inviato, è accettato solo application/json (charset facoltativo) — qualsiasi altro valore restituisce 415. Esempio: application/json.
Idempotency-KeystringOpzionaleChiave di idempotenza, fino a 255 byte. I retry con la stessa chiave dello stesso account creano l'attività una sola volta; i replay restituiscono il taskId originale.
In caso di timeout di rete o retry automatici del client, la stessa chiave crea l'attività una sola volta, senza doppi addebiti (ambito = l'account della chiave API). Usa un identificatore univoco di business (es. "order-42"); i replay restituiscono il taskId originale e le chiavi scadono 24 ore dopo la prima richiesta. La matrice completa degli scenari è nell'introduzione dell'API asincrona unificata.
Corpo
modelstringObbligatorioValore fisso attuale: flux-3-max/keyframes-to-video
routestringOpzionaleValore fisso attuale: default
inputobjectObbligatorio
Oggetto di parametri di business per flux-3-max/keyframes-to-video e la route default — vedi la tabella dei parametri sotto.
promptstringObbligatoriominLength 1maxLength 6000Prompt testuale che descrive il contenuto del video da generare e ne determina le immagini e l'andamento dei contenuti.
durationintegerOpzionalePredefinito: 5min 5max 20Durata del video in output, in secondi, con intervallo di valori da 5 a 20, predefinito 5.
keyframesarrayObbligatoriominItems 1maxItems 10
Array di keyframe posizionati lungo la timeline del video, massimo 10; ogni keyframe contiene l'indirizzo dell'immagine e il numero di frame, e ogni numero di frame deve essere univoco e non superiore alla durata moltiplicata per 24.
Array [ object ]
Elementi dell'array
image_urlstringObbligatorioIndirizzo HTTPS pubblico dell'immagine di questo keyframe, supporta i formati PNG, JPEG o WebP.
frame_indexintegerObbligatoriomin 0Numero di frame di questo keyframe sulla timeline a 24 fps, valore massimo pari alla durata moltiplicata per 24, e non deve essere ripetuto all'interno dello stesso array.
resolutionstringOpzionalePredefinito: "720p"Risoluzione del video in output, predefinita 720p.
720p1080paspect_ratiostringOpzionalePredefinito: "auto"Rapporto larghezza-altezza del video in output; se impostato su auto segue il rapporto larghezza-altezza dell'immagine di input, predefinito auto.
auto21:92:116:94:31:13:49:16generate_audiobooleanOpzionalePredefinito: trueIndica se generare insieme al video un audio sincronizzato con esso, attivo per impostazione predefinita (true).
reasoning_levelstringOpzionalePredefinito: "high"Controlla il livello di ragionamento impiegato nell'interpretazione del prompt; impostato su high può migliorare la generazione di scene complesse, ma con latenza maggiore, predefinito high.
lowhighcallbackobjectOpzionale
Configurazione di notifica dello stato terminale. Se omessa, nessun callback: interroga l'attività per conto tuo.
Fornisci callback.url in creazione e HiAPI invierà un POST al tuo servizio allo stato terminale, senza polling. Il corpo del callback replica la struttura del dettaglio attività; verifica firma, retry e idempotenza sono descritti nell'introduzione dell'API asincrona unificata.
urlstringObbligatorioObbligatoria se è presente callback. Allo stato terminale viene inviato un POST a questo URL; deve essere un URL http(s) valido.
whenstringOpzionalePredefinito: "final"Al momento è supportato solo final: notifica sia su success sia su fail.
finalstoragestringOpzionalePredefinito: "temp"Livello di archiviazione degli artefatti: temp (predefinito, ~7 giorni) o persistent (a lungo termine, fatturato per dimensione). Saldo insufficiente o superamento del limite ⇒ declassamento silenzioso a temp; il livello effettivo è visibile nella risposta di dettaglio.
temppersistentEsempi di richiesta
# Invia un'attività asincrona; restituisce subito un taskId (senza attendere la generazione)
curl -X POST "https://api.hiapi.ai/v1/tasks" \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "flux-3-max/keyframes-to-video",
"input": {
"prompt": "…",
"duration": 5,
"keyframes": "…",
"resolution": "720p",
"aspect_ratio": "auto",
"generate_audio": true,
"reasoning_level": "high"
}
}' const res = await fetch("https://api.hiapi.ai/v1/tasks", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.HIAPI_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "flux-3-max/keyframes-to-video",
input: {
"prompt": "…",
"duration": 5,
"keyframes": "…",
"resolution": "720p",
"aspect_ratio": "auto",
"generate_audio": true,
"reasoning_level": "high"
}
}),
});
const task = await res.json();
// { code: 200, message: "success", data: { taskId } } import os, requests
res = requests.post(
"https://api.hiapi.ai/v1/tasks",
headers={"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"},
json={
"model": "flux-3-max/keyframes-to-video",
"input": {
"prompt": "…",
"duration": 5,
"keyframes": "…",
"resolution": "720p",
"aspect_ratio": "auto",
"generate_audio": True,
"reasoning_level": "high"
}
},
)
print(res.json()) # { code, message, data: { taskId } } 200 OK
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR"
}
} 400 Bad Request
{
"code": 400,
"message": "invalid request",
"data": null,
"error_code": "INVALID_REQUEST"
} Ottieni i dettagli dell'attività
https://api.hiapi.ai/v1/tasks/:id Campi della risposta
taskIdstringObbligatorioID attività, sempre con prefisso tk-hiapi-.
modelstringObbligatorioNome completo risolto del modello. Le attività inviate con il parametro route restituiscono base@route (es. gpt-image-2/text-to-image@ext); altrimenti coincide con il nome inviato.
routestringOpzionalePresente solo se è stato usato il parametro route esplicito; restituisce il valore inviato.
statusstringObbligatorioStato dell'attività.
queued In coda, non avviata.
handling In elaborazione.
archiving Elaborazione conclusa, preparazione artefatti.
success Terminale: completato, artefatti disponibili (restituisce output).
fail Terminale: errore (restituisce error).
Dopo l'invio, segui status: success e fail sono terminali, il resto no. Esegui polling ogni 1–3 s fino allo stato terminale. In caso di successo scarica gli artefatti da output[].url e trasferiscili prima di expireAt; per conservazione lunga usa storage: "persistent" in creazione.
creatednumberObbligatorioIstante di creazione dell'attività (secondi Unix).
completednumberObbligatorioSecondi Unix dello stato terminale; 0 finché non terminale.
outputarrayOpzionale
Presente solo con status == success. Elenco artefatti — sempre un array; un'attività può restituire più type contemporaneamente (es. video + first_frame).
Array [ object ]
Elementi dell'array
urlstringObbligatorioURL dell'artefatto, scaricabile direttamente.
typestringObbligatorioValori attualmente possibili: video, image, audio, first_frame, last_frame, thumbnail; potrebbero essere ampliati in futuro.
expireAtnumberObbligatorioSecondi Unix di disponibilità dell'artefatto; scarica o trasferisci prima della scadenza.
errorobjectOpzionale
Presente solo con status == fail.
codestringObbligatorioCodice errore di business.
messagestringObbligatorioDescrizione dell'errore.
Esempi di risposta
Successo
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR",
"model": "happyhorse-1-0",
"status": "success",
"created": 1777282033,
"completed": 1777282099,
"output": [
{
"url": "https://cdn.hiapi.ai/tasks/.../video.mp4",
"type": "video",
"expireAt": 1777886899
}
]
}
} In elaborazione (non terminale)
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "archiving",
"created": 1777282033,
"completed": 0
}
} Non riuscito
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "fail",
"created": 1777282033,
"completed": 1777282099,
"error": {
"code": "TASK_FAILED",
"message": "task failed"
}
}
} Articoli
Vedi tutti gli articoli →-
Tutoriale
Come usare kling-4.0/text-to-video tramite l'API HiAPI: curl, Python e un esempio di richiesta funzionante
Guida pratica per sviluppatori: prompt cinematografici, audio sincronizzato, polling asincrono e download dell'output
-
Tutoriale
Come chiamare hailuo-2.3-fast/image-to-video tramite l'API HiAPI: pratica con curl e Python
La prima richiesta funzionante per il livello image-to-video veloce ed economico — dall'ID del modello al download di un MP4
-
Tutoriale
Come chiamare kling-4.0/image-to-video su HiAPI: curl, Python e polling
-
Tutoriale
Utilizzare Kandinsky 6.0 Pro su HiAPI per la generazione di video da testo: tutorial con curl e Python
Dimostrazione pratica guidata dalla richiesta: costruire la chiamata da prompt a clip video, inviare la richiesta, monitorare lo stato di completamento e scaricare il risultato
-
Tutoriale
Tutorial su kandinsky-6.0-pro/image-to-video tramite HiAPI: curl + Python
Avvia una richiesta funzionante di image-to-video su HiAPI: dal caricamento del primo fotogramma al polling asincrono fino al download finale
-
Confronto e valutazione
hailuo-2.3-fast/image-to-video confronto orizzontale: come scegliere un modello image-to-video e i punti chiave per la migrazione
-
Tutoriale
recraft-v4.1-flash text-to-image in pratica: 5 scenari di business ad alto valore e punti chiave di integrazione
Partendo da un costo di $0,01 per immagine, pianificare l'implementazione della generazione di immagini nei processi di business reali
-
Confronto e valutazione
Confronto orizzontale di Recraft v4.1 Flash per la generazione di immagini da testo: guida alla scelta e alla migrazione per gli sviluppatori
Con un costo di $0,01 per immagine e la capacità di generazione puramente testuale, valuta se è adatto alla tua pipeline di generazione di immagini
-
Tutoriale
Come chiamare hailuo-2.3/text-to-video tramite l'API HiAPI: curl, Python ed esempi di richiesta eseguibili
Modelli correlati
Vedi tutti i modelli →Stesso tipo
-
Gemini Omni 1.1 Flash Google $0.450 /video -
PixVerse V6 PixVerse $0.036 /secondo -
Grok Imagine 1.5 xAI $0.011 /secondo -
Veo 3.1 Fast Google $0.170 /secondo -
HeyGen Avatar IV HeyGen $0.150 /secondo -
Kling 3.0 Turbo Kuaishou $0.130 /secondo -
Seedance 2.5 ByteDance $0.121 /secondo -
FLUX 3 Video Black Forest Labs $0.090 /secondo -
MiniMax H3 MiniMax $0.072 /secondo -
LTX 2.5 Fast Lightricks $0.086 /secondo -
HeyGen Avatar V HeyGen $0.150 /secondo -
Hailuo 2.3 MiniMax $0.270 /video
Stesso fornitore
-
FLUX.1 Fill Pro Black Forest Labs $0.071 /immagine -
FLUX.2 Black Forest Labs $0.035 /immagine -
FLUX 3 Video Black Forest Labs $0.090 /secondo -
FLUX.2 Klein 4B Black Forest Labs $0.0004 /immagine -
FLUX 3 Max Black Forest Labs $0.061 /secondo -
FLUX 3 Image Black Forest Labs $0.041 /immagine -
FLUX.1 Schnell Black Forest Labs $0.005 /immagine -
FLUX.1 Kontext Max Black Forest Labs $0.071 /immagine -
FLUX.2 Klein 9B Black Forest Labs $0.0086 /immagine -
FLUX 1.1 Pro Black Forest Labs $0.050 /immagine




















