Benutzerhandbuch
Kurzvideos mit flux-3-max/text-to-video auf der HiAPI-API erstellen
End-to-End-Workflow: Shot-Planung, Prompt-Orchestrierung, Kamerabewegung, natives Audio und eine lauffähige Anfrage
Warum Kurzvideos ein Prompt-Orchestrierungsproblem sind
Die meisten Teams, die bei Text-zu-Video scheitern, scheitern aus demselben Grund: Sie schreiben einen riesigen Prompt, der die gesamte Szene beschreibt, und erwarten, dass das Modell ein fertiges dreißigsekündiges Video zurückgibt. So funktioniert Generierung nicht. Das Modell erzeugt pro Aufruf nur eine einzige durchgehende Einstellung, und jeder Aufruf ist eine kleine, in sich geschlossene Entscheidung über Motiv, Aktion, Bildkomposition und Ton.
Das mentale Modell, das tatsächlich trägt, ist Orchestrierung. Du promptest nicht ein Video, sondern inszenierst eine Reihe von Einstellungen und setzt sie dann zusammen. Ein Kurzvideo-Werk – ein Produktteaser, ein Social-Hook, eine Voiceover-Erklärung – besteht typischerweise aus vier bis acht Einstellungen. Jede Einstellung hat genau eine Aufgabe: etablieren, zeigen, überleiten, abschließen. Sobald du diese Zerlegung akzeptierst, ist die API kein Spielautomat mehr, sondern ein Render-Schritt in einer Pipeline, die du kontrollierst.
Das ist wichtig, weil die Fehlermodi von Text-zu-Video größtenteils Kontinuitäts-Fehler sind, keine Qualitäts-Fehler. Eine einzelne Einstellung kann wunderschön aussehen, aber wenn in der nächsten Einstellung die Figur anders ist, die Lichtrichtung anders ist oder die Kamera plötzlich driftet, ist die Einstellung trotzdem unbrauchbar. Diese Probleme lassen sich lösen, bevor die Anfrage rausgeht – dadurch, wie du Einstellungen planst und beschreibst, nicht dadurch, dass du einem riesigen Prompt Adjektive hinzufügst.
Der Rest dieser Anleitung führt dich end-to-end durch diesen Workflow auf Basis von HiAPI-Aufrufen an flux-3-max/text-to-video: das Skript in Einstellungen aufteilen, Shot-für-Shot-Prompts schreiben, Kamerabewegung als kontrollierte Dimension behandeln, natives Audio nutzen, um einen separaten Audio-Verarbeitungsschritt zu überspringen, und alles in eine kleine, reproduzierbare Anfrageschleife packen.
Einstellungen planen, bevor die API aufgerufen wird
Bevor du eine Zeile Code schreibst, verwandle das Skript in eine Shot-Liste. Eine Shot-Liste ist eine reine Datenstruktur: ein Eintrag pro Generierungsaufruf, jeder Eintrag mit einem klaren Zweck. Die folgende Struktur eignet sich gut als Zwischendarstellung:
[
{
"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"
}
]
Ein paar Planungsregeln, die dir später Wiederholungsversuche ersparen:
- Eine Idee pro Einstellung. Wenn deine Einstellungsbeschreibung ein „dann“ enthält, teile sie auf. Das Modell kommt mit einer einzelnen durchgehenden Aktion deutlich besser zurecht als mit einer Kette von Beats.
- Drücke Dauerabsicht aus, nicht exakte Sekunden. Entscheide, ob eine Einstellung ein schneller Schnitt oder ein längerer Verweilpunkt ist, und drücke das als Absicht aus. Exakte Zeitpunkte gehören in deine Schnitt-/Montagephase, wo du frame-genaue Kontrolle hast.
- Lege das Kompositionsvokabular früh fest. Wähle Begriffe wie
wide,medium,close-up,overhead,low angleund verwende sie über alle Einstellungen hinweg unverändert. Ein konsistentes Vokabular erzeugt konsistentere Ergebnisse. - Plane Kontinuitätsanker. Entscheide, was konstant bleibt: Figurenbeschreibung, Kleidung, Farbton, Tageszeit, Lichtrichtung. Schreibe das einmal als gemeinsamen Präfix und verwende es in jedem Prompt erneut.
- Reihenfolge ist bei der Prüfung wichtig. Generiere in Skriptreihenfolge, damit du in der Reihenfolge prüfen kannst, in der es letztlich abgespielt wird, statt Clips als isolierte Fragmente zu betrachten.
Sobald die Shot-Liste existiert, wird der API-Aufruf mechanisch – genau das willst du, denn es macht Aufrufe wiederholbar und reproduzierbar.
Shot-für-Shot-Prompts für flux-3-max/text-to-video schreiben
Ein guter Shot-für-Shot-Prompt ist strukturiert, nicht dialogisch. Statt einen langen Freitextstring zu schreiben, setze jeden Prompt aus wenigen beschrifteten Abschnitten zusammen. Das macht Prompts diffbar, wiederverwendbar und leicht anpassbar, wenn ein einzelnes Element nicht stimmt.
Die Fünf-Abschnitte-Struktur
- Motiv – wer oder was, einschließlich der von dir festgelegten Kontinuitätsdetails (Aussehen, Kleidung, Produktmerkmale).
- Aktion – eine durchgehende Bewegung oder ein Zustand, im Präsens beschrieben.
- Umgebung – Ort, Tageszeit, Lichtcharakter, Farbton.
- Kamera – Bildkomposition plus Bewegung, unter Verwendung deines festen Vokabulars. Der nächste Abschnitt geht ins Detail.
- Audio – Raumatmosphäre und Foley-Absicht dieser Einstellung.
Setze sie in fester Reihenfolge zusammen, damit auch dein eigenes Debugging konsistent bleibt:
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",
)
Einstellungen visuell konsistent halten
Die einzelne Gewohnheit mit dem größten Hebel ist der gemeinsame Kontinuitätsblock. Setze ihn an den Anfang jedes Motivabschnitts und halte ihn über alle Einstellungen der Sequenz konstant. Wenn eine Einstellung visuell driftet, kannst du das Problem binär eingrenzen: Liegt es am Kontinuitätsblock oder an der einstellungsspezifischen Aktion?
Zwei weitere Gewohnheiten reduzieren Drift:
- Vermeide widersprüchliche Adjektive. „Filmisch dokumentarisch Handkamera statisch“ sind drei widersprüchliche Anweisungen. Wähle eine.
- Beschreibe das Licht nur einmal. Wenn der Kontinuitätsblock Morgenlicht von links vorgibt, lass spätere Einstellungen kein Deckenleuchten von oben einführen – es sei denn, dieser Wechsel ist beabsichtigt.
Was aus dem Prompt weggelassen werden sollte
Nimm Seitenverhältnis, Ausgabelänge und andere technische Parameter aus der Textbeschreibung heraus und übergib sie als Anfrageparameter, wenn die API sie bereitstellt. Der Text beschreibt, was die Einstellung ist; Parameter beschreiben, wie sie geliefert wird. Beides zu vermischen macht beides schwerer änderbar.
Kamerabewegung kontrollieren
Kamerabewegung ist die Dimension, die am häufigsten dem Zufall überlassen wird – und die am stärksten beeinflusst, ob sich eine Sequenz inszeniert anfühlt. Wenn du sie nicht angibst, bewegt das Modell die Kamera irgendwie; eine nicht angegebene Bewegung äußert sich als Drift, und Drift ist genau das, was generiertes Material wie versehentlich gefilmt aussehen lässt.
Bewegung als kleines geschlossenes Vokabular behandeln
Erfinde nicht für jede Einstellung eine neue Kamerasprache. Definiere einen kleinen Satz von Bewegungen und verwende ihn wieder:
- Feste Kamera – keine Bewegung. Die sicherste Wahl für Produktdetails und Nahaufnahmen.
- Heranfahren / Wegfahren – auf das Motiv zu oder von ihm weg bewegen. Gut für Betonung und Enthüllung.
- Nach links schwenken / nach rechts schwenken – horizontale Drehung. Zur Etablierung von Raum.
- Nach oben neigen / nach unten neigen – vertikale Drehung. Sparsam einsetzen; es wirkt dramatisch.
- Mitführen – der Bewegung des Motivs folgen. Braucht ein deutlich bewegtes Motiv als Anker.
Schreibe sie in den Kameraabschnitt, gefolgt von einer Negativanweisung, die die übrige Bewegung unterdrückt: Camera: slow push in, no shake, no handheld drift.
Die Negativklausel ist wichtig. Nur „push in“ zu sagen lässt dem Modell Spielraum, Verwackeln hinzuzufügen; „push in, kein Verwackeln“ verengt den Bereich.
Bewegung in den Dienst der Einstellungsrolle stellen
Bewegung sollte dem Schnitt dienen. Eine praktische Zuordnung:
- Etablierende Einstellung – eine klare Bewegung (langsames Heranfahren oder sanftes Schwenken), die dem Blick einen Ankerpunkt gibt.
- Detailaufnahme – feste Kamera. Das Detail ist visuell ohnehin dicht; Bewegung würde mit ihm konkurrieren.
- Übergang – konsistente Bewegung in benachbarten Einstellungen (beide heranfahren, beide in dieselbe Richtung schwenken), damit der Schnitt auch ohne Übergangseffekt beabsichtigt wirkt.
- Hero-Aufnahme – eine bewusste Bewegung, niemals zwei kombiniert.
Nur eine Bewegung pro Einstellung
Kombinierte Bewegungen („nach rechts schwenken und gleichzeitig heranfahren und nach oben neigen“) erzeugen trübe Ergebnisse. Wenn ein Beat eine komplexe Kamerabewegung braucht, teile ihn in zwei Einstellungen auf. Deine Montagephase kann sie aneinanderfügen, und du behältst frame-genaue Kontrolle über den Schnitt.
Bewegungskonsistenz innerhalb einer Sequenz
Entscheide vorab die dominante Bewegung des gesamten Werks – zum Beispiel „alle Einstellungen fahren langsam heran“ – und weiche nur ab, wenn du einen Effekt brauchst. Eine Sequenz mit konsistenter Bewegungsrichtung wirkt wie mit Autorenabsicht; eine mit zufälliger Bewegung wirkt generiert.
Natives Audio in der Pipeline nutzen
Native Audio-Generierung verändert die Architektur der Kurzvideo-Pipeline. Im traditionellen Ablauf generierst du zuerst stummes Video und führst dann einen separaten Audio-Verarbeitungsschritt aus – entweder ein Text-zu-Audio-Modell oder lizenzierte Foley- und Musikbibliotheken – und richtest beides dann im Editor aus. Jede Stufe ist ein weiterer Dienst, ein weiteres Credential, ein weiterer Fehlermodus und ein weiterer Ort, an dem Zeitversatz entstehen kann.
Wenn das Videomodell Audio inline generiert, werden Ton und Bild im selben Inferenzschritt erzeugt, sodass es von Natur aus mit dem ausgerichtet ist, was auf dem Bildschirm passiert. In dem Moment, in dem das Wasser eingegossen wird, passt das Eingussgeräusch zur Eingussbewegung. Das eliminiert die Ausrichtungsarbeit nahezu vollständig.
Zwei Pipelines, ein Unterschied
Separate audio stage: Native audio:
shot -> video (silent) shot -> video + audio
-> audio generation -> assemble
-> alignment / mixing
-> assemble
Der praktische Vorteil sind weniger bewegliche Teile. Die praktische Einschränkung ist, dass du den Ton im Prompt planen musst, nicht nachträglich.
Einstellungen rund um den Ton planen
Da Audio Teil der Generierung ist, schreibe es als Teil der Einstellung und nicht als Nachgedanken:
- Benenne die dominante Klangquelle.
Audio: water pouring, gentle hissist besser alsAudio: pleasant kitchen sounds. - Bleib spärlich. Ein bis zwei klare Elemente pro Einstellung. Geschichtete Audiobeschreibungen verschwimmen oft ineinander.
- Entscheide bewusst über Musik. Wenn du planst, im Editor einen durchgehenden Musikbett-Track unter das gesamte Werk zu legen, beschränke das Einstellungsaudio auf Atmosphäre, damit es nicht mit der Musikspur kollidiert.
- Denke an klangliche Kontinuität. Wie bei der visuellen Kontinuität hilft auch die akustische Kontinuität über Schnitte hinweg – derselbe Raumgrundklang in benachbarten Einstellungen lässt eine Sequenz wie am selben Ort spielen wirken.
Wo der Editor weiterhin gewinnt
Natives Audio ersetzt nicht den Editor. Es ersetzt den Ausrichtungsschritt. Du brauchst weiterhin eine abschließende Loudness-Normalisierung und, wenn du Musik verwendest, einen Mischschritt, der Dialog und Foley unter dem Bett absenkt. Plane dafür Budget in deiner Pipeline ein, aber deutlich weniger als bei einem separaten Generierungsschritt.
Eine lauffähige Anfrage und der Assemblierungsablauf
Mit Shot-Liste und Prompt-Builder ist die Anfrageschicht dünn. Die entscheidenden Entscheidungen sind: wie das Modell aufgerufen wird, wie Reihenfolge und Wiederholungen behandelt werden und wie die Ergebnisse an die Montage übergeben werden.
Die Orchestrierungsschleife
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]
Drei Dinge machen diese Schleife produktionssicher statt bloß demo-tauglich:
- Geordnete Iteration. In Skriptreihenfolge zu generieren bedeutet, dass ein Teilausfall ein überprüfbares Präfix hinterlässt und nur die fehlenden Einstellungen erneut ausgeführt werden müssen.
- Ergebnisse, nach Schlüssel gespeichert. Speichere Ausgaben nach Einstellungs-ID, nicht nach Listenposition. Wenn die dritte Einstellung fehlschlägt und neu generiert wird, überschreibst du nach Schlüssel, statt erneut anzuhängen.
- Begrenzte Wiederholungen mit Backoff. Transiente Fehler sind bei jeder Generierungs-API normal. Begrenze die Wiederholungen, damit eine einzelne fehlerhafte Einstellung nicht den gesamten Job blockiert.
Übergabe an die Montage
Deine Generierungsschleife sollte ein Manifest erzeugen – eine Shot-Liste mit Verweisen auf die Ausgaben – und dann aufhören. Die Montage ist ein separater Schritt, der dieses Manifest konsumiert: Sie schneidet jeden Clip auf die beabsichtigte Dauer, wendet Übergänge an, legt das Musikbett darunter und normalisiert die 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"
}
Montage und Generierung zu trennen ist es, was die gesamte Pipeline reproduzierbar macht: Du kannst eine Einstellung neu generieren, sie ins Manifest setzen und den finalen Schnitt neu rendern, ohne irgendetwas anderes anzufassen.
Produktions-Checkliste und häufige Fallstricke
Eine Kurzvideo-Pipeline ist zuverlässig, wenn der langweilige Teil langweilig wird. Gehe diese Prüfungen durch, bevor du die Produktion hochfährst.
Konsistenz
- Der Kontinuitätsblock ist in jeder Einstellung einer Sequenz exakt identisch.
- Das Einstellungsvokabular ist geschlossen und wird wiederverwendet, nicht improvisiert.
- Lichtrichtung und Farbton werden einmal deklariert und später nicht mehr widersprochen.
- Prüfe Einstellungen in Reihenfolge – isoliert betrachtet sind Kontinuitätsprobleme unsichtbar.
Wiederholungen und Idempotenz
- Ergebnisse sind nach Einstellungs-ID verschlüsselt, damit eine Neugenerierung überschreibt statt dupliziert.
- Wiederholungen sind begrenzt und mit Backoff versehen; eine dauerhaft fehlschlagende Einstellung sollte laut scheitern, nicht still.
- Das Einstellungsmanifest ist die einzige Wahrheitsquelle für das Generierte – persistiere es zusammen mit den Ausgaben.
Kostenkontrolle
Die Generierung wird nach dem vom Modell erzeugten Arbeitsaufwand abgerechnet, daher ist dein wichtigster Hebel, wie viele Einstellungen du generierst und wie oft du sie neu generierst. Praktische Steuerungsmittel: Sperre die Shot-Liste vor der Generierung, prüfe pro Sequenz eine repräsentative Einstellung, bevor du die restlichen renderst, und vermeide spekulative Neuversuche bei bereits freigegebenen Einstellungen. Sieh für die aktuelle Preisgestaltung im Preispaneel der Website nach, wenn du die Produktion planst.
Ausgabeprüfung
- Sieh dir jede Sequenz in Echtzeit-Geschwindigkeit von Anfang bis Ende an, nicht Clip für Clip.
- Prüfe das Audio gegen das Bild: Passt der Klang zu diesem Moment?
- Prüfe besonders die ersten zwei Sekunden – dort wird die Aufmerksamkeit bei Kurzvideos gewonnen oder verloren.
- Halte einen kleinen Satz bewährter Referenz-Prompts bereit und vergleiche neue Ausgaben damit, wenn die Qualität zu sinken scheint.
Häufige Fallstricke
- Riesige Prompts. Ein Prompt, der die gesamte Szene beschreibt, erzeugt eine langatmige, unscharfe Einstellung. Teile ihn auf.
- Dauer im Text beschreiben. Drücke Zeitpunkte in der Montagephase aus, nicht im Prompt-Text.
- Zufällige Kamerabewegung. Nicht angegebene Bewegung driftet; gib Bewegung an und unterdrücke den Rest.
- Audio als separate Produktentscheidung behandeln. Plane den Ton in der Einstellung und mische ihn dann im Editor.
Der Workflow dieser Anleitung – Einstellungen planen, Prompts strukturieren, Kamerabewegung kontrollieren, natives Audio nutzen, mit einem Manifest orchestrieren – verwandelt flux-3-max/text-to-video von einem unvorhersehbaren Generator in einen zuverlässigen Render-Schritt in der Pipeline, die dir gehört.
Ähnliche Artikel
Alle Artikel ansehen →-
Benutzerhandbuch
seedream-5.0-pro/image-to-image Erste-Schritte-Leitfaden: Fähigkeiten, Preise und Integrationspunkte
Fähigkeitsgrenzen, Abrechnungsmodell und Engineering-Integration des Bildbearbeitungsmodells von ByteDance
-
Benutzerhandbuch
seedream-5.0-pro Text-zu-Bild Einstiegsleitfaden: Fähigkeitsgrenzen, API-Integration und Kostenkontrolle
Praxisorientierte Perspektive für Entwickler: von den wichtigsten Parametern bis zur Kostenschätzung von $0,05 pro Bild
-
Benutzerhandbuch
Hailuo 2.3 Fast Bild-zu-Video-Anleitung: Grenzen der Leistungsfähigkeit, Preisgestaltung und Integration in die Praxis
MiniMax Bild-zu-Video-Modell für Entwickler: Auswahlkriterien und Integrationspunkte