Black Forest Labs
FLUX 3 Max
flux-3-max/keyframes-to-video
Modèle de génération vidéo prenant en charge la génération à partir de texte et à partir d'image, axé sur une production rapide à faible latence ; selon les benchmarks publics, un clip de 10 secondes est généré en environ 11 à 12 secondes, ce qui le rend adapté à l'itération créative et aux contenus de vidéos courtes.
Essayer flux-3-max/keyframes-to-video
Entrée
Créations
Voir toutes les créationsSortie
videoTarifs
flux-3-max/keyframes-to-video per second
| Spécifications | Prix unitaire |
|---|---|
| 720P | $0.0608 |
| 1080P | $0.1036 |
Présentation
flux-3-max/keyframes-to-video est la voie de génération vidéo à partir d'images pilotée par images clés de la famille flux-3-max : le développeur fournit un prompt et jusqu'à 10 images clés, les ancre par index de trame à des positions précises sur une timeline de 24 ips, et le modèle complète le mouvement et les transitions entre les images clés pour produire une vidéo de 5 à 20 secondes en 720p ou 1080p. Idéal pour le prévisualisation de storyboards, la publicité et la production de courts métrages nécessitant un contrôle précis du rythme visuel, via l'interface unifiée de HiAPI.ai.
Points clés
- Contrôle ponctuel du rythme visuel par images clés — jusqu'à 10 images placées par index de trame à n'importe quelle position de la timeline, le processus intermédiaire étant complété par le modèle, et non seulement à partir de la première image.
- Images clés avec audio synchronisé — la génération audio est activée par défaut, produisant un son synchronisé avec l'image, ce qui réduit l'étape de doublage en post-production.
- Intensité de raisonnement commutable — reasoning_level propose deux niveaux, low et high ; utilisez le niveau élevé pour améliorer la qualité d'interprétation des scènes complexes, et un niveau bas pour réduire la latence sur les scènes simples.
Capacités
Orchestration de la timeline par images clés : avec une base temporelle de 24 ips, frame_index spécifie la position d'apparition de chaque image clé ; les index de trame doivent être uniques et ne pas dépasser la durée multipliée par 24, permettant une narration visuelle précise segment par segment.
Durée de 5 à 20 secondes et double résolution : duration couvre 5 à 20 secondes, resolution offre 720p ou 1080p, la facturation se fait au nombre de secondes produites, facilitant le contrôle des coûts selon la longueur du segment.
Huit formats d'image et suivi automatique : aspect_ratio propose huit ratios dont 21:9, 16:9, 1:1, 9:16 ; auto reprend le ratio de l'image d'entrée, une seule voie couvrant les diffusions paysage, portrait et carrée.
Prompt et intensité de raisonnement couplés : prompt accepte jusqu'à 6000 caractères, associé à reasoning_level pour contrôler la profondeur d'interprétation des scènes complexes, avec un arbitrage entre qualité d'image et latence de réponse.
Cas d'usage
- Storyboarders et équipes publicitaires : images clés et script — insérez les storyboards finalisés comme images clés sur la timeline pour produire des prévisualisations animées au rythme maîtrisé, destinées aux propositions clients et aux revues avant tournage.
- Production de films de marque : visuels produits et texte de voix off — utilisez des images fixes de produit comme images clés et un prompt décrivant le mouvement de caméra et l'ambiance pour générer des clips avec audio synchronisé, directement utilisables pour les campagnes sociales et le site officiel.
- Équipes créatives : comparaison de plusieurs jeux d'images clés — avec le même prompt, remplacez les combinaisons d'images clés et les ratios pour générer en lot plusieurs vidéos candidates et les filtrer rapidement par itération.
- Créateurs de contenu vertical : séquences d'images clés en 9:16 — produisez des clips courts de 5 à 10 secondes au format portrait, comme contenus publiables ou assets intermédiaires pour un montage ultérieur.
Limites et conseils de choix
Cette voie n'accepte que des entrées image-vers-vidéo et nécessite au moins une image clé ; pour démarrer à partir de texte seul, choisissez la voie text-to-video de la même famille. La résolution de sortie est limitée à 720p et 1080p, la durée maximale à 20 secondes ; les films plus longs ou de spécification supérieure doivent être générés par segments puis assemblés. Le niveau de raisonnement high entraîne une latence plus élevée ; pour des contenus au rythme simple, préférez low. Les images clés doivent être à des adresses HTTPS publiques ; une erreur de planification des index de trame entraînera un montage non conforme aux attentes, vérifiez la timeline avant soumission.
Nouveautés
Voir le journal des modifications →- Nouveau modèle Le modèle de génération vidéo flux-3-max/text-to-video est disponible
- Mise à jour des prix Ajustement tarifaire de flux-3-max/text-to-video
- Mise à jour des prix Ajustement tarifaire de flux-3-max/image-to-video : nouveau prix de 0,0608 $
Questions fréquentes
Voir toutes les questions →-
Quelles entrées sont nécessaires pour FLUX 3 Max image-to-video ?
Les champs obligatoires sont prompt et image_url (image de première frame, formats PNG/JPEG/WebP pris en charge). Les champs facultatifs incluent end_image_url comme dernière frame, ainsi que duration, resolution, aspect_ratio, generate_audio et reasoning_level.
-
Peut-on définir la durée d'une vidéo ?
Oui. duration prend un entier compris entre 5 et 20 secondes, par pas de 1 seconde, avec une valeur par défaut de 5 secondes ; la génération vidéo à partir d'image et la génération vidéo à partir de texte partagent la même tarification à la seconde. Commencez par 5 secondes pour vérifier la stabilité de l'image source, puis augmentez la durée.
-
Qu'est-ce qui détermine le format d'image ?
aspect_ratio est par défaut sur auto, la sortie suit le ratio de l'image de la première frame ; vous pouvez aussi spécifier manuellement 21:9, 2:1, 16:9, 4:3, 1:1, 3:4 ou 9:16. En cas d'incohérence entre la spécification manuelle et le ratio de l'image, l'image peut être rognée.
-
Comment utiliser la dernière image ?
Passez la première image dans image_url et la dernière image dans end_image_url ; la vidéo effectuera une transition de la première à la dernière image. Dans le prompt, décrivez uniquement les changements qui se produisent entre les deux ; plus le cadrage et l'éclairage des deux images sont proches, plus la transition est fluide.
Créer une tâche de génération
https://api.hiapi.ai/v1/tasks En-têtes
AuthorizationstringRequisClé API du compte. Requise sur chaque requête. Exemple : Bearer YOUR_HIAPI_API_KEY. Obtenir une clé API
Content-TypestringOptionnelLe corps de la requête est toujours analysé en JSON ; s'il est envoyé, seul application/json (charset facultatif) est accepté — toute autre valeur renvoie 415. Exemple : application/json.
Idempotency-KeystringOptionnelClé d'idempotence, jusqu'à 255 octets. Les reprises avec la même clé du même compte ne créent la tâche qu'une seule fois ; les rejeux renvoient le taskId d'origine.
En cas de timeout réseau ou de relance automatique du client, la même clé ne crée la tâche qu'une seule fois, sans double facturation (portée = le compte de la clé API). Utilisez un identifiant métier unique (ex. "order-42") ; les rejeux renvoient le taskId d'origine et les clés expirent 24 h après la première requête. La matrice complète des scénarios est dans la présentation de l'API asynchrone unifiée.
Corps
modelstringRequisValeur fixe actuelle : flux-3-max/keyframes-to-video
routestringOptionnelValeur fixe actuelle : default
inputobjectRequis
Objet de paramètres métier pour flux-3-max/keyframes-to-video et la route default — voir le tableau des paramètres ci-dessous.
promptstringRequisminLength 1maxLength 6000Texte d'invite utilisé pour décrire le contenu vidéo à générer ; il détermine l'image et l'orientation du contenu de la vidéo.
durationintegerOptionnelDéfaut: 5min 5max 20Durée de la vidéo de sortie, en secondes ; plage de valeurs de 5 à 20, valeur par défaut 5.
keyframesarrayRequisminItems 1maxItems 10
Tableau d'images clés placées le long de la chronologie de la vidéo, jusqu'à 10 ; chaque image clé contient l'adresse de l'image et le numéro de trame, et chaque numéro de trame doit être unique et ne pas dépasser la durée multipliée par 24.
Array [ object ]
Éléments du tableau
image_urlstringRequisAdresse HTTPS publique de l'image de l'image clé, aux formats PNG, JPEG ou WebP.
frame_indexintegerRequismin 0Numéro de trame de l'image clé sur la chronologie à 24 fps, valeur maximale égale à la durée multipliée par 24, et ne doit pas être répété au sein du même tableau.
resolutionstringOptionnelDéfaut: "720p"Résolution de la vidéo de sortie, valeur par défaut 720p.
720p1080paspect_ratiostringOptionnelDéfaut: "auto"Rapport largeur-hauteur de la vidéo de sortie ; lorsqu'il est défini sur auto, il suit le rapport largeur-hauteur de l'image d'entrée, valeur par défaut auto.
auto21:92:116:94:31:13:49:16generate_audiobooleanOptionnelDéfaut: trueIndique s'il faut générer un audio synchronisé avec la vidéo lors de la génération ; activé par défaut (true).
reasoning_levelstringOptionnelDéfaut: "high"Contrôle le niveau de raisonnement investi lors de l'interprétation de l'invite ; définir sur high peut améliorer la génération de scènes complexes, mais augmente la latence ; valeur par défaut high.
lowhighcallbackobjectOptionnel
Configuration de notification d'état terminal. Sans elle, aucun callback — interrogez la tâche vous-même.
Fournissez callback.url à la création et HiAPI envoie un POST à votre service à l'état terminal — plus besoin de polling. Le corps du rappel reprend la structure du détail de tâche ; vérification de signature, relances et idempotence sont décrits dans la présentation de l'API asynchrone unifiée.
urlstringRequisObligatoire si callback est présent. Un POST est envoyé vers cette URL à l'état terminal ; doit être une URL http(s) valide.
whenstringOptionnelDéfaut: "final"Seul final est pris en charge pour l'instant — notifié sur success et fail.
finalstoragestringOptionnelDéfaut: "temp"Niveau de stockage des artefacts : temp (par défaut, ~7 jours) ou persistent (long terme, facturé au volume). Solde insuffisant ou dépassement de limite ⇒ rétrogradation silencieuse en temp ; le niveau effectif figure dans la réponse de détail.
temppersistentExemples de requête
# Soumet une tâche asynchrone ; renvoie immédiatement un taskId (n'attend pas la génération)
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"
} Obtenir le détail de la tâche
https://api.hiapi.ai/v1/tasks/:id Champs de réponse
taskIdstringRequisIdentifiant de tâche, toujours préfixé tk-hiapi-.
modelstringRequisNom complet résolu du modèle. Les tâches envoyées avec le paramètre route renvoient base@route (ex. gpt-image-2/text-to-image@ext) ; sinon identique au nom fourni.
routestringOptionnelPrésent uniquement si le paramètre route explicite a été utilisé ; renvoie la valeur soumise.
statusstringRequisStatut de la tâche.
queued En file, pas encore démarrée.
handling En cours de traitement.
archiving Traitement terminé, préparation des artefacts.
success Terminal : terminé, artefacts disponibles (output renvoyé).
fail Terminal : échec (error renvoyé).
Après soumission, suivez status : success et fail sont terminaux, le reste non terminal. Interrogez toutes les 1–3 s jusqu'à l'état terminal. En cas de succès, téléchargez les artefacts via output[].url et transférez-les avant expireAt ; pour une conservation longue durée, indiquez storage: "persistent" à la création.
creatednumberRequisDate de création de la tâche (secondes Unix).
completednumberRequisSecondes Unix de l'état terminal ; 0 tant que non terminal.
outputarrayOptionnel
Présent uniquement si status == success. Liste d'artefacts — toujours un tableau ; une tâche peut renvoyer plusieurs types à la fois (ex. video + first_frame).
Array [ object ]
Éléments du tableau
urlstringRequisURL de l'artefact, téléchargeable directement.
typestringRequisValeurs possibles actuelles : video, image, audio, first_frame, last_frame, thumbnail ; d'autres pourront s'ajouter.
expireAtnumberRequisSecondes Unix de disponibilité de l'artefact ; téléchargez ou transférez avant l'expiration.
errorobjectOptionnel
Présent uniquement si status == fail.
codestringRequisCode d'erreur métier.
messagestringRequisDescription de l'erreur.
Exemples de réponse
Succès
{
"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
}
]
}
} En cours (non terminal)
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "archiving",
"created": 1777282033,
"completed": 0
}
} Échec
{
"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"
}
}
} Articles
Voir tous les articles →-
Comparatif et évaluation
Comparatif transversal de hailuo-2.3-fast/image-to-video : comment choisir un modèle image-to-video et les points clés de migration
-
Tutoriel
Utiliser Kandinsky 6.0 Pro texte-vers-vidéo sur HiAPI : tutoriel curl et Python
Démonstration pratique axée sur la requête : construire l'appel du prompt au clip vidéo, soumettre la requête, interroger l'état d'achèvement et télécharger le résultat
-
Tutoriel
Comment appeler hailuo-2.3/text-to-video via l'API HiAPI : curl, Python et exemples de requêtes exécutables
-
Tutoriel
Tutoriel pour kandinsky-6.0-pro/image-to-video sur HiAPI : curl + Python
Lancer une requête image-vers-vidéo exploitable sur HiAPI : de l'envoi de la première image à l'interrogation asynchrone jusqu'au téléchargement final
-
Tutoriel
Comment appeler kling-4.0/image-to-video sur HiAPI : curl, Python et interrogation périodique
-
Comparatif et évaluation
Comparatif horizontal de Recraft v4.1 Flash en génération d'images à partir de texte : guide de sélection et de migration pour les développeurs
Avec un coût de 0,01 $ par image et ses capacités de génération pure à partir de texte, déterminez s'il convient à votre pipeline de génération d'images
-
Tutoriel
Comment appeler hailuo-2.3-fast/image-to-video via l'API HiAPI : curl et Python en pratique
La première requête exploitable du palier image-vers-vidéo rapide et économique — de l'ID du modèle au téléchargement du MP4
-
Tutoriel
Comment utiliser kling-4.0/text-to-video via l'API HiAPI : curl, Python et un exemple de requête fonctionnel
Guide pratique pour les développeurs : prompts cinématographiques, audio synchronisé, interrogation asynchrone et téléchargement des sorties
-
Tutoriel
recraft-v4.1-flash génération d'images texte-à-image en pratique : 5 scénarios métier à forte valeur et points d'intégration clés
À partir d'un coût de 0,01 $ par image, planifier le déploiement de la génération d'images dans de vrais contextes métier
Modèles associés
Voir tous les modèles →Même type
-
Ray 3.2 Luma $0.214 /vidéo -
HeyGen Avatar IV HeyGen $0.150 /seconde -
Wan 3.0 Video Alibaba $0.040 /seconde -
Kling AI Avatar Kuaishou -- -
Kling 2.5 Kuaishou $0.060 /seconde -
Creatify Boreal Creatify $0.015 /seconde -
Wan 2.7 Video Alibaba $0.100 /seconde -
Grok Imagine 1.5 xAI $0.011 /seconde -
Seedance 2.5 ByteDance $0.121 /seconde -
PixVerse V6 PixVerse $0.036 /seconde -
HappyHorse 1.0 Alibaba $0.168 /seconde -
Grok Imagine 1.5 Lite xAI $0.029 /seconde
Même fournisseur
-
FLUX 3 Video Black Forest Labs $0.090 /seconde -
FLUX.2 Klein 9B Black Forest Labs $0.0086 /image -
FLUX 3 Image Black Forest Labs $0.041 /image -
FLUX.1 Fill Pro Black Forest Labs $0.071 /image -
FLUX 3 Max Black Forest Labs $0.061 /seconde -
FLUX.2 Klein 4B Black Forest Labs $0.0004 /image -
FLUX.1 Schnell Black Forest Labs $0.005 /image -
FLUX 1.1 Pro Black Forest Labs $0.050 /image -
FLUX.1 Kontext Max Black Forest Labs $0.071 /image -
FLUX.2 Black Forest Labs $0.035 /image




















