HiAPI
Blog

Guide d'utilisation

Créer des vidéos courtes avec flux-3-max/text-to-video sur l'API HiAPI

Flux de travail de bout en bout : planification du storyboard, orchestration des prompts, mouvements de caméra, audio natif et une requête exécutable

Nov 3, 2026
封面图:骨白色纸页层层错位堆叠,如套印偏移,其间夹入一张锈红色纸页,下方仅有平直投影。

Pourquoi la vidéo courte est un problème d'orchestration de prompts

La plupart des équipes qui échouent avec la génération de vidéo à partir de texte échouent pour la même raison : elles écrivent un seul prompt gigantesque décrivant toute la scène et s'attendent à ce que le modèle renvoie une vidéo complète de trente secondes. La génération ne fonctionne pas ainsi. Le modèle ne génère qu'un seul plan continu par appel, et chaque appel est une petite décision autonome concernant le sujet, l'action, la composition et le son.

Le modèle mental qui tient vraiment debout, c'est l'orchestration. Vous ne promptez pas une vidéo, vous réalisez une série de plans que vous assemblez ensuite. Une pièce courte — teaser produit, accroche sociale, explication en voix off — compte généralement de quatre à huit plans. Chaque plan ne porte qu'une seule tâche : établir, montrer, transitionner, conclure. Une fois que vous acceptez cette décomposition, l'API cesse d'être une machine à sous et devient une étape de rendu dans un pipeline que vous contrôlez.

Cela compte parce que les modes d'échec de la génération de vidéo à partir de texte sont surtout des échecs de continuité, pas de qualité. Un plan isolé peut être magnifique, mais si le personnage du plan suivant est différent, si la direction de la lumière change ou si la caméra se met soudainement à dériver, ce plan reste inutilisable. Ces problèmes se résolvent avant l'envoi de la requête, par la façon dont vous planifiez et décrivez les plans — pas en ajoutant des adjectifs à un prompt géant.

Le reste de ce guide vous fait parcourir ce flux de travail de bout en bout, en appelant flux-3-max/text-to-video via HiAPI : découper le scénario en plans, rédiger des prompts plan par plan, traiter le mouvement de caméra comme une dimension contrôlée, utiliser l'audio natif pour éviter une étape audio séparée, et encapsuler le tout dans une petite boucle de requêtes reproductible.

Planifier les plans avant d'appeler l'API

Avant d'écrire la moindre ligne de code, transformez le scénario en une feuille de plans. Une feuille de plans est une structure de données pure : un élément par appel de génération, chaque élément ayant un objectif explicite. La structure suivante fait un bon support intermédiaire :

[
  {
    "id": "s1",
    "role": "establish",
    "subject": "ceramic pour-over coffee dripper on a wooden counter",
    "framing": "medium close-up, three-quarter angle",
    "durationIntent": "short",
    "camera": "slow push in",
    "audio": "quiet room tone, soft steam"
  },
  {
    "id": "s2",
    "role": "demonstrate",
    "subject": "hot water spiraling over coffee grounds",
    "framing": "tight overhead macro",
    "durationIntent": "short",
    "camera": "locked off",
    "audio": "water pouring, gentle hiss"
  }
]

Quelques règles de planification qui vous épargneront des tentatives plus tard :

  • Une idée par plan. Si votre description de plan contient « puis », découpez-la. Le modèle gère bien mieux une action continue unique qu'une succession de temps forts.
  • Exprimez une intention de durée, pas des secondes exactes. Décidez si un plan est une coupe rapide ou une pose plus longue, et exprimez-le comme une intention. Les points temporels précis appartiennent à votre étape de montage/assemblage, où vous disposez d'un contrôle à la frame près.
  • Fixez tôt le vocabulaire de cadrage. Choisissez des termes comme wide, medium, close-up, overhead, low angle, et réutilisez-les à l'identique dans tous les plans. Un vocabulaire cohérent produit des résultats plus cohérents.
  • Planifiez les ancres de continuité. Décidez ce qui reste inchangé : description du personnage, vêtements, palette de couleurs, moment de la journée, direction de la lumière. Écrivez-les une fois pour toutes comme un préfixe partagé et réutilisez-le dans chaque prompt.
  • L'ordre compte pour la révision. Générez dans l'ordre du scénario, afin de pouvoir réviser dans l'ordre de lecture finale, plutôt que de regarder les extraits comme des fragments isolés.

Une fois la feuille de plans établie, l'appel API devient mécanique — ce qui est exactement ce que vous voulez, car cela rend les appels rejouables et reproductibles.

Rédiger des prompts plan par plan pour flux-3-max/text-to-video

Un bon prompt plan par plan est structuré, pas conversationnel. Plutôt qu'une longue chaîne en format libre, composez chaque prompt à partir d'un petit nombre de sections étiquetées. Cela rend les prompts comparables (diffables), réutilisables et faciles à ajuster quand un seul élément pose problème.

La structure en cinq sections

  1. Sujet — qui ou quoi, avec les détails de continuité que vous avez fixés (apparence, vêtements, caractéristiques du produit).
  2. Action — un mouvement ou un état continu, décrit au présent.
  3. Environnement — lieu, moment de la journée, texture de la lumière, palette de couleurs.
  4. Caméra — cadrage plus mouvement, en utilisant votre vocabulaire fixé. La section suivante développe ce point.
  5. Audio — l'intention d'ambiance sonore et de bruitage de ce plan.

Combinez-les dans un ordre fixe, afin que votre propre débogage reste cohérent :

CONTINUITY = (
    "a minimalist ceramic pour-over coffee dripper, matte white, "
    "on a warm oak counter, soft morning window light from the left, "
    "muted natural palette"
)

def shot_prompt(subject, action, setting, camera, audio):
    return (
        f"{subject}. {action}. {setting}. "
        f"Camera: {camera}. Audio: {audio}."
    )

prompt = shot_prompt(
    subject=f"{CONTINUITY}",
    action="steam rising steadily as water slowly blooms the coffee grounds",
    setting="kitchen counter at dawn, shallow depth of field",
    camera="medium close-up, slow push in, no shake",
    audio="quiet room tone, soft water pour, faint steam hiss",
)

Maintenir la cohérence visuelle entre les plans

L'habitude la plus rentable est le bloc de continuité partagé. Placez-le au tout début de chaque section sujet et gardez-le identique dans tous les plans de la séquence. Quand un plan dérive visuellement, vous pouvez alors isoler le problème par dichotomie : est-ce le bloc de continuité, ou l'action spécifique au plan ?

Deux autres habitudes réduisent la dérive :

  • Évitez les adjectifs contradictoires. « documentaire cinématographique caméra à l'épaule fixe » est un ensemble de trois instructions qui se contredisent. Choisissez-en une.
  • Ne décrivez la lumière qu'une seule fois. Si le bloc de continuité indique une lumière matinale venant de la gauche, ne faites pas introduire par un plan ultérieur un néon plafonnier — sauf si ce changement est intentionnel.

Ce qu'il faut omettre des prompts

Sortez le format d'image, la durée de sortie et les autres paramètres techniques de la description textuelle, et passez-les comme paramètres de requête lorsque l'API les expose. La description textuelle dit ce qu'est le plan ; les paramètres disent comment il est livré. Mélanger les deux rend les deux plus difficiles à modifier.

Contrôler le mouvement de caméra

Le mouvement de caméra est la dimension la plus facilement laissée au hasard, et celle qui influence le plus la sensation qu'une séquence a été réalisée. Si vous ne le spécifiez pas, le modèle bougera la caméra d'une certaine manière ; un mouvement non spécifié se manifeste par de la dérive, et la dérive est précisément ce qui donne aux images générées l'air d'avoir été filmées par accident.

Traiter le mouvement comme un petit vocabulaire fermé

N'improvisez pas un langage caméra différent pour chaque plan. Définissez un petit ensemble de mouvements et réutilisez-le :

  • Caméra fixe — aucun mouvement. Le choix le plus sûr pour les détails produit et les gros plans.
  • Push in / pull out — s'approcher ou s'éloigner du sujet. Idéal pour l'accentuation et la révélation.
  • Panoramique gauche / droit — rotation horizontale. Pour établir un espace.
  • Tilt vers le haut / bas — rotation verticale. À utiliser avec parcimonie ; cela se lit de façon très dramatique.
  • Suivi — se déplacer avec le sujet. Nécessite un sujet en mouvement net comme point d'ancrage.

Écrivez-les dans la section caméra, suivis d'une instruction négative qui supprime le reste du mouvement : Camera: slow push in, no shake, no handheld drift.

La proposition négative compte. Dire seulement « push in » laisse au modèle la latitude d'ajouter du tremblement ; dire « push in, no shake » resserre le cadre.

Faire servir le mouvement au rôle du plan

Le mouvement doit servir le montage. Une correspondance pratique :

  • Plan d'établissement — un mouvement clair (lent push in ou panoramique doux) qui donne au regard un point de chute.
  • Plan de détail — caméra fixe. Le détail est déjà visuellement dense ; un mouvement entrerait en concurrence avec lui.
  • Transition — utilisez un mouvement cohérent entre plans adjacents (tous en push in, tous en panoramique dans la même direction) pour que la coupe paraisse intentionnelle, même sans effet de transition.
  • Plan principal — un mouvement délibéré, jamais deux combinés.

Un seul mouvement par plan

Les mouvements combinés (« panoramique droite avec push in et tilt vers le haut ») produisent des résultats confus. Si un temps fort nécessite un mouvement de caméra complexe, découpez-le en deux plans. Votre étape d'assemblage pourra les raccorder, tout en vous laissant un contrôle à la frame près sur la coupe.

Cohérence du mouvement dans la séquence

Décidez à l'avance du mouvement dominant de l'œuvre — par exemple « tous les plans font un lent push in » — et ne vous en écartez que lorsque vous recherchez un effet. Une séquence dont les mouvements vont dans la même direction se lit comme intentionnelle ; une séquence aux mouvements aléatoires se lit comme générée.

Utiliser l'audio natif dans le pipeline

La génération audio native change l'architecture du pipeline de vidéo courte. Dans un flux traditionnel, vous générez d'abord une vidéo muette, puis exécutez une étape audio séparée — un modèle de génération audio à partir de texte, ou une bibliothèque de bruitages et de musique sous licence — puis vous alignez les deux dans un éditeur. Chaque étape est un service de plus, des identifiants de plus, un mode d'échec de plus, et un endroit de plus où un décalage temporel peut se produire.

Quand le modèle vidéo génère l'audio en ligne, le son et l'image sont produits dans la même étape d'inférence, donc il est naturellement aligné sur ce qui se passe à l'écran. Au moment où l'eau se verse, le bruit du versement correspond au geste. Cela élimine presque entièrement le travail d'alignement.

Deux pipelines, une différence

Separate audio stage:            Native audio:
  shot -> video (silent)           shot -> video + audio
       -> audio generation              -> assemble
       -> alignment / mixing
       -> assemble

Le bénéfice concret est un nombre réduit de pièces mobiles. La contrainte concrète est que vous devez planifier le son dans le prompt, et non l'ajouter après coup.

Planifier les plans autour du son

Comme l'audio fait partie de la génération, écrivez-le comme une partie du plan, et non comme un ajout :

  • Nommez le son dominant. Audio: water pouring, gentle hiss vaut mieux que Audio: pleasant kitchen sounds.
  • Restez clairsemé. Un ou deux éléments clairs par plan. Les descriptions audio superposées ont tendance à se brouiller.
  • Décidez de la musique consciemment. Si vous prévoyez de poser une piste musicale de fond sur toute l'œuvre dans l'éditeur, gardez l'audio des plans uniquement en ambiance, pour qu'il n'entre pas en conflit avec la piste musicale.
  • Pensez à la continuité du son. Comme pour la continuité visuelle, la continuité audio à travers les coupes aide — le même fond de pièce dans des plans adjacents donne à une séquence l'impression d'être au même endroit.

Là où l'éditeur reste indispensable

L'audio natif ne remplace pas l'éditeur. Il remplace l'étape d'alignement. Il vous faut encore la normalisation finale de la loudness, et si vous utilisez de la musique, une étape de mixage qui baisse le dialogue et les bruitages sous la piste de fond. Prévoyez ce budget dans votre pipeline, mais bien moindre qu'avec une étape de génération séparée.

Une requête exécutable et un flux d'assemblage

Avec la feuille de plans et le constructeur de prompts, la couche de requête est mince. Les décisions clés sont : comment appeler le modèle, comment gérer l'ordre et les tentatives, et comment transmettre les résultats à l'assemblage.

La boucle d'orchestration

import time

SHOTS = [
    # your planned shot list from the earlier step
]

def generate_shot(shot, attempt=0):
    payload = {
        "model": "flux-3-max/text-to-video",
        "prompt": build_prompt(shot),
        # pass delivery parameters here, not in the prose:
        # aspect ratio, length, etc. per the API reference
    }
    try:
        return client.generate(payload)
    except TransientError:
        if attempt >= 3:
            raise
        time.sleep(2 ** attempt)
        return generate_shot(shot, attempt + 1)

def run_sequence(shots):
    results = {}
    for shot in shots:
        results[shot["id"]] = generate_shot(shot)
    return [results[s["id"]] for s in shots]

Trois choses rendent cette boucle sûre en production, et pas seulement démonstrative :

  • Itération ordonnée. Générer dans l'ordre du scénario signifie qu'un échec partiel laisse un préfixe que vous pouvez réviser, et qu'il est simple de relancer uniquement les plans manquants.
  • Résultats stockés par clé. Stockez les sorties par identifiant de plan plutôt que par position dans la liste. Si le troisième plan échoue et est régénéré, vous écrasez par clé au lieu d'ajouter à nouveau.
  • Tentatives bornées avec backoff. Les échecs transitoires sont normaux dans toute API de génération. Limitez le nombre de tentatives pour qu'un seul mauvais plan ne bloque pas toute la tâche.

Passation à l'assemblage

Votre boucle de génération doit produire un manifeste — une liste de plans avec les références de sortie — puis s'arrêter là. L'assemblage est une étape séparée qui consomme ce manifeste : elle découpe chaque extrait à la durée prévue, applique les transitions, pose la piste musicale de fond et normalise la loudness.

{
  "sequence": [
    {"id": "s1", "clip": "out/s1.mp4", "trim": "keep_first_portion"},
    {"id": "s2", "clip": "out/s2.mp4", "trim": "keep_first_portion"}
  ],
  "audioStrategy": "native_bed_plus_music"
}

Séparer l'assemblage de la génération est ce qui rend tout le pipeline reproductible : vous pouvez régénérer un plan, le placer dans le manifeste, puis re-rendre le montage final sans toucher à rien d'autre.

Liste de contrôle de production et pièges courants

Un pipeline de vidéo courte est fiable quand la partie ennuyeuse devient ennuyeuse. Avant de monter en volume, passez ces contrôles en revue.

Cohérence

  • Le bloc de continuité est identique dans chaque plan d'une séquence.
  • Le vocabulaire caméra est fermé et réutilisé, pas improvisé.
  • La direction de la lumière et la palette de couleurs sont déclarées une seule fois et ne se contredisent pas ensuite.
  • Révisez les plans dans l'ordre — les problèmes de continuité sont invisibles quand on regarde les extraits isolément.

Tentatives et idempotence

  • Les résultats sont indexés par identifiant de plan, de sorte qu'une régénération écrase au lieu de dupliquer.
  • Les tentatives sont bornées et utilisent un backoff ; un plan en échec définitif doit échouer bruyamment, pas silencieusement.
  • Le manifeste des plans est la source de vérité unique de ce qui a été généré — persistez-le avec les sorties.

Maîtrise des coûts

La génération est facturée selon le travail produit par le modèle, donc votre principal levier est le nombre de plans que vous générez et le nombre de fois que vous les régénérez. Contrôles pratiques : verrouillez la feuille de plans avant de générer, révisez un plan représentatif de chaque séquence avant de rendre le reste, évitez de relancer spéculativement des plans déjà validés. Pour planifier votre volume, consultez la tarification actuelle sur le panneau des prix du site.

Révision des sorties

  • Regardez chaque séquence de bout en bout à vitesse de lecture réelle, et non extrait par extrait.
  • Vérifiez l'audio par rapport à l'image : le son correspond-il à ce moment ?
  • Vérifiez particulièrement les deux premières secondes — c'est là que l'attention sur une vidéo courte se gagne ou se perd.
  • Conservez un petit ensemble de prompts de référence reconnus bons, et comparez-y les nouvelles sorties quand la qualité semble baisser.

Pièges courants

  • Le prompt géant. Un seul prompt décrivant toute la scène produit un plan long et flou. Découpez-le.
  • Écrire la durée dans la description textuelle. Exprimez les points temporels à l'étape de montage, pas dans le texte du prompt.
  • Le mouvement de caméra aléatoire. Un mouvement non spécifié dérive ; spécifiez le mouvement et supprimez le reste.
  • Traiter l'audio comme une décision produit séparée. Planifiez le son dans les plans, puis mixez dans l'éditeur.

Le flux de travail de ce guide — planifier les plans, structurer les prompts, contrôler le mouvement de caméra, utiliser l'audio natif, orchestrer avec un manifeste — transforme flux-3-max/text-to-video d'un générateur imprévisible en une étape de rendu fiable dans un pipeline qui vous appartient.

Articles similaires

Voir tous les articles →

Commencez avec des artefacts IA persistants

Obtenez votre clé API et appelez des modèles d'image, de vidéo et d'audio via une API unique basée sur les tasks.

Lire la documentation de l'API