Guide d'utilisation
FLUX 3 Max courtes vidéos : un mode par plan, traitement par lots via API
Une campagne verticale 9:16 construite à partir de texte-vers-vidéo, d'image-vers-vidéo et de keyframes, soumise en un seul lot parallèle, avec des sorties réelles et une tarification vérifiée.
FLUX 3 Max propose trois points de terminaison vidéo sur hiapi, et pour le travail en courtes vidéos, la question utile n'est pas « lequel est le meilleur », mais « lequel convient à ce plan ». Ce guide parcourt une petite campagne verticale (trois clips 9:16 pour la publication d'un café de matcha glacé), avec un mode différent pour chaque plan, les trois soumis en un seul lot parallèle, et chaque clip présenté ci-dessous est une sortie réelle, non retouchée.
Si vous avez besoin de la référence complète des paramètres et des explications d'erreurs de validation, lisez d'abord le guide de l'API FLUX 3 Max. Cet article suppose que vous savez déjà soumettre une tâche et se concentre sur le flux de travail des courtes vidéos.
Choisir le mode par plan, pas par projet
Un montage court se compose généralement d'une accroche, d'un temps produit et d'une conclusion. Ces temps ont des entrées différentes, donc correspondent à des identifiants FLUX 3 Max différents :
| Plan du montage | Ce que vous avez | Utilisation | Entrée clé |
|---|---|---|---|
| Accroche / B-roll | Une simple idée | flux-3-max/text-to-video |
prompt |
| Temps produit | Une photo produit approuvée et non modifiable | flux-3-max/image-to-video |
image_url (une seule chaîne), facultatif end_image_url |
| Transition / conclusion | Deux scènes que vous voulez relier | flux-3-max/keyframes-to-video |
keyframes: [{image_url, frame_index}] |
Les trois partagent duration (5–20 secondes), resolution (720p / 1080p), aspect_ratio (définir 9:16 pour le vertical) et generate_audio. Comme le corps de la requête est presque identique, un seul script de traitement par lots peut envoyer les trois. Pages des modèles : texte-vers-vidéo, image-vers-vidéo, keyframes-vers-vidéo.
Plan 1 : l'accroche, uniquement du texte
L'accroche nécessite du mouvement dès la première seconde et n'a aucune contrainte de visuel spécifique, donc le texte-vers-vidéo est le bon choix.
{
"model": "flux-3-max/text-to-video",
"input": {
"prompt": "竖屏手持特写:咖啡师将冷牛奶倒入高透明玻璃杯中的冰抹茶,绿色和白色在慢动作中交织旋转,晨光透过咖啡馆窗户,浅景深,清脆的冰块碰撞声,轻柔的咖啡馆环境音。",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "9:16",
"generate_audio": true
}
}
Résultat : le versement commence dès la première image et, à la fin, le tourbillon remplit le verre, exactement ce dont l'accroche a besoin. Ce que le texte-vers-vidéo ne peut pas faire, c'est correspondre à votre décor : j'ai demandé un café, le modèle a choisi un comptoir en bois, alors que ma photo produit (le plan suivant) utilise du marbre. Pour l'accroche, c'est acceptable. Pour les plans qui doivent correspondre aux éléments de marque, utilisez un mode image.
Plan 2 : le temps produit, ancré sur une image fixe
Voici la photo produit approuvée. Elle a été générée au préalable en image fixe 9:16 et transmise au modèle comme première image.

{
"model": "flux-3-max/image-to-video",
"input": {
"prompt": "缓慢推近玻璃杯;牛奶漩涡漂移并沉淀,冰块轻微移动,光线在大理石柜台上轻轻闪烁,薄荷叶保持不动。安静的咖啡馆环境音。",
"image_url": "https://static.hiapi.ai/blog/flux-3-max-short-form-video/still-a.jpg",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "9:16",
"generate_audio": true
}
}
La composition reste verrouillée : même verre, même branche de menthe, même marbre et même lumière de fenêtre du début à la fin. En revanche, le mouvement est mesuré. Le travelling avant que j'ai demandé est à peine perceptible sur 5 secondes, l'essentiel du mouvement se trouve dans le liquide et la lumière. C'est un bon résultat pour un temps produit, car vous voulez que le plan produit reste fidèle. Si vous voulez un mouvement de caméra plus marqué, accordez-lui plus de secondes ou insistez davantage dans le prompt, et vérifiez le résultat avant d'élargir le lot.
Attention au nom du champ : image-vers-vidéo accepte une seule chaîne image_url. Passer un tableau image_urls (comme certains autres modèles vidéo hiapi l'attendent) est rejeté à la soumission.
Plan 3 : la conclusion, avec deux images clés
La conclusion relie le café et la rue. Je dispose d'une seconde image fixe de la même boisson tenue en extérieur, et j'utilise les deux comme images clés.

{
"model": "flux-3-max/keyframes-to-video",
"input": {
"prompt": "连续镜头:一只手从咖啡馆柜台拿起冰抹茶并带到外面,最后在阳光明媚的街道上举向明亮的蓝天。平滑手持相机,自然光线从温暖的室内过渡到明亮的日光。",
"keyframes": [
{"image_url": "https://static.hiapi.ai/blog/flux-3-max-short-form-video/still-a.jpg", "frame_index": 0},
{"image_url": "https://static.hiapi.ai/blog/flux-3-max-short-form-video/still-b.jpg", "frame_index": 120}
],
"duration": 5,
"resolution": "720p",
"aspect_ratio": "9:16",
"generate_audio": true
}
}
frame_index compte les images à 24 fps, donc un clip de 5 secondes va de 0 à 120. Placez les ancres à 0 et 120 pour que le clip commence exactement sur le plan du comptoir et se termine exactement sur le plan de la rue. Entre les deux, le modèle invente lui-même une transition : au milieu du clip, la main tient le verre sur le seuil, puis la rue apparaît. C'est le compromis des images clés. Vous contrôlez les instants ancrés, le modèle remplit le reste. Si le milieu doit avoir une apparence précise, ajoutez une troisième image clé (jusqu'à 10 sont autorisées).
Traitement par lots : un script, trois modes, en parallèle
Le travail en courtes vidéos implique de nombreuses variantes, donc soumettez tout d'abord, puis interrogez plus tard. Voici le script que j'ai utilisé, condensé :
import json, os, time, requests
from concurrent.futures import ThreadPoolExecutor
API = "https://api.hiapi.ai/v1/tasks"
HEAD = {"Authorization": f"Bearer {os.environ['HIAPI_KEY']}"}
BASE = {"duration": 5, "resolution": "720p", "aspect_ratio": "9:16", "generate_audio": True}
jobs = {
"hook": ("flux-3-max/text-to-video", {"prompt": HOOK_PROMPT}),
"product": ("flux-3-max/image-to-video", {"prompt": PRODUCT_PROMPT, "image_url": STILL_A}),
"payoff": ("flux-3-max/keyframes-to-video", {"prompt": PAYOFF_PROMPT, "keyframes": [
{"image_url": STILL_A, "frame_index": 0},
{"image_url": STILL_B, "frame_index": 120}]}),
}
def run(name):
model, extra = jobs[name]
r = requests.post(API, headers=HEAD, json={"model": model, "input": {**BASE, **extra}}).json()
task_id = r["data"]["taskId"] # save this before polling
deadline = time.time() + 900
while time.time() < deadline:
time.sleep(10)
d = requests.get(f"{API}/{task_id}", headers=HEAD).json()["data"]
if d["status"] == "success":
url = d["output"][0]["url"]
open(f"{name}.mp4", "wb").write(requests.get(url).content) # download now
return name, "success"
if d["status"] == "fail":
return name, d.get("error")
return name, f"timeout {task_id}"
with ThreadPoolExecutor(len(jobs)) as pool:
for result in pool.map(run, jobs):
print(result)
Le 3 novembre 2026, voici ce que j'ai observé en envoyant les trois d'un coup :
- Chaque
POST /v1/tasksa renvoyé untaskIden moins de 2 secondes. - L'interrogation a montré que chaque tâche passait par la même séquence :
handling, puisarchiving, puissuccess. - Les enregistrements de tâches montrent que les trois clips sont passés de
createdàcompleteden 20 secondes. Les exécuter en parallèle n'a pas pris plus de temps qu'un seul. - Chaque sortie est un fichier H.264 de 5,04 secondes, 704 × 1280, 24 fps, avec une piste audio AAC. Notez la largeur : le 720p en 9:16 donne 704 px, pas 720. Si votre modèle d'éditeur exige exactement 720 × 1280, redimensionnez ou remplissez à l'import.
- Les URL de sortie se trouvent sur un domaine temporaire, avec un
expireAtà 7 jours après l'achèvement. Téléchargez immédiatement et stockez les fichiers vous-même.
Pour des lots plus importants (des dizaines de variantes d'accroche), utilisez le callback de l'API de tâches avec when: "final", ce qui évite l'interrogation, et enregistrez chaque taskId pour ne pas perdre de travail déjà payé en cas de plantage.
Coût du lot
FLUX 3 Max est facturé à la seconde de sortie, selon la résolution, au même tarif pour les trois modes. En novembre 2026, la page de tarification indique 0,0608 $/seconde en 720p et 0,1036 $/seconde en 1080p. La page du modèle précise que l'audio et le nombre d'images clés n'affectent pas le prix.
| Scénario | Par clip | Lot de trois clips |
|---|---|---|
| 5 secondes, 720p (ce que j'ai exécuté) | 0,304 $ | 0,912 $ |
| 5 secondes, 1080p | 0,518 $ | 1,554 $ |
| 15 secondes, 1080p | 1,554 $ | 4,662 $ |
Boucle pratique : testez les prompts en 5 secondes et 720p, gardez les gagnants, et ne les rendez qu'en 1080p ou plus long. Pour les détails tarifaires, consultez la tarification de l'API FLUX 3 Max.
Liste de vérification pour les courtes vidéos
- Écrivez d'abord le montage en plans, puis attribuez un mode à chaque plan à l'aide du tableau ci-dessus.
- Faites aussi les images fixes en 9:16. Le mode image anime l'image que vous lui donnez, donc une image fixe horizontale est un problème de composition dès le départ.
- Définissez explicitement
aspect_ratio: "9:16"dans chaque requête, plutôt que de compter surauto. - Gardez les images clés visuellement cohérentes (même produit, même famille d'éclairage) et vérifiez
frame_index ≤ duration × 24avant la soumission. Une chronologie erronée est acceptée à la soumission puis échoue peu après. - Soumettez en parallèle, interrogez ou utilisez un callback, et téléchargez immédiatement.
- Laissez l'audio activé pendant la phase de brouillon. Il n'est pas facturé en supplément, et vous pouvez le couper au montage.
Pour des idées de prompts au-delà de cette campagne, consultez le guide des prompts vidéo FLUX 3 Max. Pour utiliser le même flux de travail sur un autre modèle, comparez le flux de travail courtes vidéos image-vers-vidéo de Kling 3.0.
Questions fréquentes
FLUX 3 Max peut-il produire des vidéos verticales 9:16 ?
Oui. Les trois points de terminaison acceptent aspect_ratio: "9:16". En 720p, la sortie que j'ai obtenue est en 704 × 1280.
Quel mode FLUX 3 Max utiliser pour une vidéo produit ? Utilisez image-vers-vidéo lorsque la photo produit doit rester exactement telle qu'approuvée. Dans mon test, le verre, la décoration et l'arrière-plan sont restés inchangés tout au long du clip. Utilisez les images clés lorsque le produit doit se déplacer entre deux scènes.
Combien de temps faut-il pour générer un clip FLUX 3 Max ? Dans mon exécution, trois clips de 5 secondes en 720p soumis ensemble ont chacun pris 20 secondes de created à completed. Des clips plus longs ou en 1080p peuvent prendre plus de temps ; je ne les ai pas chronométrés.
Peut-on mélanger texte-vers-vidéo, image-vers-vidéo et keyframes dans un même lot ?
Oui. Ce sont des identifiants de modèle distincts sur le même point de terminaison /v1/tasks, partageant les mêmes champs, donc un script peut les soumettre côte à côte.
Quelle est la durée maximale d'un clip court FLUX 3 Max ? Entre 5 et 20 secondes, en secondes entières. Le coût augmente linéairement avec la durée.
Commencer à construire
Choisissez le plan dont vous avez le plus besoin, ouvrez la page du modèle correspondant (texte-vers-vidéo, image-vers-vidéo ou keyframes-vers-vidéo), et exécutez un test de 5 secondes en 720p avant de traiter par lots le reste du montage.
Articles similaires
Voir tous les articles →-
Guide d'utilisation
Qu'est-ce que GPT Image 2.6 ? L'édition par markup et les spécifications connues
Toutes les informations sur GPT Image 2.6 dans la spécification de l'API OpenAI, comment utiliser le nouveau paramètre d'édition markup, et ce qui n'a pas encore été annoncé.
-
Guide d'utilisation
Combien coûte l'API Vidu Q4 Preview ? 540p à 0,0515 $ par seconde
Les deux modes au même prix, comment est facturée chaque résolution sur cinq niveaux et de 3 à 16 secondes, combien de vidéos produire avec 10 $, et le comparatif de prix avec les autres modèles vidéo de la plateforme.
-
Guide d'utilisation
Recraft V4.1 Flash pour photos produit e-commerce : des visuels de catalogue en série à 0,01 $ pièce
Un véritable lot parallèle sur recraft-v4.1-flash/text-to-image : photos de fiche produit et mises en situation, blancheur du fond mesurée, temps d'exécution et script par lots.