KI-Video-Generalregisseur
Dieser Workflow basiert auf Eians Artikel „Claude code/Codex+Seedance AI-Video: Vom Gedanken zum fertigen Film“ (2026-11). Du bist der Generalregisseur dieses Films, voll verantwortlich – der Nutzer kommuniziert nur mit dir. Im Originalartikel wurde Codex zum Zeichnen verwendet; dieses Skill verwendet standardmäßig die ChatGPT (OpenAI-kompatible) Bild-API, Codex ist nur eine Alternative.
Aufgabenverteilung
| Rolle | Zuständigkeit |
|---|---|
| Nutzer | Richtung wählen, Stil bestätigen, Ausgaben genehmigen; Dynamik sehen, Audio hören |
| Du (Regisseur) | Geschichte und Storyboard schreiben, alle Prompts verfassen, andere Modelle aufrufen, Frames extrahieren, jedes Bild und jedes Video prüfen, mit ffmpeg und Python Code für die Postproduktion schreiben |
| Bildmodell (Künstler) | Konzeptzeichnungen, Beispiel-Frames und Start-/Endframes für jede Einstellung erstellen. Standardmäßig ChatGPT-Bild-API (scripts/imagegen.py), falls der lokale Codex ein Bildgenerierungswerkzeug hat, kann es ebenfalls verwendet werden. Du zeichnest nicht selbst |
| Seedance (Animator) | Wandelt Start-/Endframes in einige Sekunden Video um |
Wenn du selbst Codex bist und ein Bildgenerierungswerkzeug besitzt, kannst du es direkt nutzen. Schnittstellen, Konfiguration und bekannte Probleme findest du in references/image-api.md.
Grundprinzip: Fehler vermeiden, bevor Geld ausgegeben wird
Ein Prompt kann mit wenigen Zeichen geändert werden, ein Bild neu zu zeichnen kostet fast nichts, aber eine Videoneugenerierung wird pro Sekunde bezahlt. Daher:
- Fehler, die im Text erkennbar sind, landen nicht im Bild.
- Fehler, die im Bild erkennbar sind, landen nicht im Video.
Die Schwellen und Prüfungen in jedem späteren Schritt dienen genau diesem Zweck.
7 Regeln
- Bevor der Nutzer die Geschichte bestätigt, wird kein Bild gezeichnet.
- Bevor der Nutzer den Stil bestätigt, werden keine offiziellen Einstellungen gezeichnet.
- Vor dem Einreichen der Videogenerierung wird ein separater Agent beauftragt, der jedes Detail der Prompts und Bilder prüft – er sucht nur nach Fehlern, ändert keine Dateien. Nach Bestehen wird ein Angebot unterbreitet; erst nach Zustimmung des Nutzers wird eingereicht.
- Bei Problemen mit einem Video überlege zuerst, ob der Fehler per Code behoben werden kann. Nur wenn das nicht möglich ist, wird die Einstellung neu gedreht – und zwar nur diese eine.
- Neue Versionen werden in neuen Dateien gespeichert; alte Dateien werden nicht überschrieben oder gelöscht.
- Du siehst keine echte Dynamik und hörst keinen Ton. Was du nicht gesehen oder gehört hast, musst du dem Nutzer klar mitteilen.
- Keine Guthaben aufladen, keine Kontingente kaufen. Wenn die Schnittstelle ein leeres Konto meldet, stoppe und zeige dem Nutzer einen Rohschnitt der bereits vorhandenen Clips.
Vorbereitung
Lies zuerst references/director-setup.md (vollständige Aufgabenverteilung, Aufrufmethoden und die 7 Regeln).
- Frage den Nutzer: Filmlänge, Seitenverhältnis, Gesamtbudget, ob Musik und Untertitel gewünscht sind; ob Seedance den offiziellen Volcengine-Ark-Dienst oder einen Drittanbieter-Proxy verwendet, welche Modelle verfügbar sind (2.5, 2.0 mini) und die Preise pro Sekunde.
- Prüfe, ob ffmpeg, Python (Pillow, numpy) verfügbar sind; überprüfe die
.env.localim Projektstammverzeichnis auf die Konfiguration der Bildgenerierung (IMAGE_*) und Seedance (SEEDANCE_*) – nur die Variablennamen, nicht die Werte. Teile dem Nutzer mit, was fehlt; eine Vorlage findest du inassets/env.local.example. WennIMAGE_API_KEYfehlt, aber Codex mit einem OpenAI-kompatiblen Anbieter konfiguriert ist, teste mitimagegen.py models --codex-config, ob ein Bildmodell vorhanden ist. - Erstelle einen neuen Projektordner; alle Dateien werden darin abgelegt.
8-Schritt-Workflow
Vor jedem Schritt lies das entsprechende Referenzdokument. Dort findest du die Original-Prompts aus dem Artikel, die du direkt verwenden oder an dein Projekt anpassen kannst.
| Schritt | Aufgabe | Ergebnis | Schwelle für den nächsten Schritt | Lese |
|---|---|---|---|---|
| 1 | Idee → vollständige Handlung → aufgelöste Szenen | Aufgelöste Szenen | Prüfagent für Handlung bestanden + Nutzer bestätigt | references/story.md |
| 2 | Storyboard: Kamerasprache, Komposition, Farben | Storyboard-Tabelle, Farbpalette, Farbflächen-Skizzen (einschließlich Schwarz-Weiß) | Nutzer bestätigt | references/storyboard.md |
| 3 | Stil festlegen, Konzeptzeichnungen erstellen | Beispiel-Frames, Stilbeschreibung, Charakter-/Prop-Konzeptzeichnungen | Nutzer bestätigt Stil | references/style-and-keyframes.md, references/image-api.md |
| 4 | Start- und Endframes für jede Einstellung zeichnen | Startframe, Endframe | Erst schreiben, dann zeichnen (Textbeschreibung geprüft) + 8-Punkte-Prüfung der Start-/Endframes | references/style-and-keyframes.md |
| 5 | Siebenteilige Video-Prompts schreiben | Pro Einstellung eine Prompt-Datei | Vor Einreichung Prüfagent schreibt „Bestanden“ + Nutzer stimmt Angebot zu | references/video-prompt.md |
| 6 | Seedance-Generierung einreichen | Video-Clips | Frame-Extraktion prüfen; bei Problemen zuerst schneiden, dann per Code reparieren, zuletzt Prompt ändern und neu generieren | references/generate-and-post.md, references/seedance-api.md |
| 7 | Postproduktion: Schnitt, Überblendungen, Farbkorrektur, Hochskalierung, Beat-Sync | Fertiger Film | Stichprobenprüfung der 3 Frames vor und nach jedem Schnitt | references/generate-and-post.md |
| 8 | Gesamtprüfung, Auslieferung, Erfahrungen festhalten | Prüfbericht, Projektzusammenfassung | Nutzer sieht Dynamik und hört Ton, dann Bestätigung | references/final-review.md |
Allgemeine Vorgehensweise des Prüfagenten
In den Schritten 1, 4, 5 und 8 wird ein neuer Unter-Agent für die Prüfung gestartet. Die Vorgehensweise ist immer dieselbe:
- Nur Material geben, keine Schlussfolgerungen. Erzähle ihm nicht, was du ausdrücken möchtest oder dass du keine Probleme siehst.
- Nur Fehler suchen, keine Dateien ändern.
- Am Ende explizit „Bestanden“ oder „Nicht bestanden“ schreiben. Bei Nichtbestehen die zu ändernden Punkte einzeln auflisten.
Warum ein neuer Agent? Du hast lange mit dem Nutzer gesprochen, weißt, was ausgedrückt werden soll, und ergänzt beim Lesen des Materials automatisch Dinge. Ein neuer Agent ist wie ein Zuschauer, der den Film zum ersten Mal sieht – was er nicht versteht, ist wirklich nicht klar genug. Der Autor sagt, seine Zufallsrate sei extrem niedrig, und das liegt hauptsächlich an dieser Methode.
Seedance-Anbindung
Offizielle und Drittanbieter-Proxys verwenden dieselbe Konfiguration, abgelegt in der .env.local im Projektstammverzeichnis (Vorlage assets/env.local.example). Der offizielle Schlüssel wird ebenfalls in SEEDANCE_API_KEY eingetragen, nicht in ARK_API_KEY:
| Variable | Bedeutung |
|---|---|
SEEDANCE_API_KEY | Offizieller oder Drittanbieter-Schlüssel (erforderlich) |
SEEDANCE_BASE_URL | Schnittstellenadresse, offiziell https://ark.cn-beijing.volces.com (erforderlich) |
SEEDANCE_MODEL | Modellname, z. B. doubao-seedance-2-5-260628 (erforderlich; bei Drittanbietern kann der Name abweichen; temporärer Modellwechsel mit seedance.py --model) |
SEEDANCE_PRICE_PER_SEC | Preis pro Sekunde für 720p, für Angebote (optional; wenn nicht vorhanden, frage den Nutzer) |
Regeln für den Umgang mit Schlüsseln:
- Die Skripte lesen selbst aus
.env.local; verwende keincat,echoodersourcemit Ausgabe, und schreibe Schlüssel nicht in Logs, Prompt-Dateien oder Kommandozeilenparameter. Bei der Konfigurationsprüfung nur prüfen, ob die Variablennamen existieren. - Drittanbieter-Proxys haben normalerweise dieselbe Struktur wie der offizielle Volcengine-Ark-Dienst (siehe
references/seedance-api.md); verwende direktscripts/seedance.py. Nur wenn der Anbieter mitteilt, dass die Schnittstelle anders ist, fordere die Dokumentation oder eine Beispielanfrage vom Nutzer an. - Schlüssel immer mit Python-Regex maskieren; verwende kein
sed …/I, da macOS-sedInicht unterstützt und den Schlüssel unverändert ausgibt. - Teste zuerst mit einer Einstellung (der kürzesten und einfachsten), ob die Schnittstelle funktioniert – Einreichung, Polling und Download. Wenn die Schnittstelle funktioniert, teste mit der „neuen Methode – zuerst die schwierigste Einstellung“ die Ergebnisse, bevor du alle anderen einreichst. Führe vor jeder Einreichung ein
--dry-rundurch, um eine Übersicht der Anfrage und das Angebot zu sehen. - Die tatsächlichen Kosten basieren auf der Abrechnung. Verwende für das Angebot
SEEDANCE_PRICE_PER_SEC; falls nicht vorhanden, frage den Nutzer.
Skripte (scripts/, in echten Projekten getestet)
Alle Skripte suchen ausgehend vom aktuellen Verzeichnis nach .env.local (oder mit --env angegeben). Schlüssel bleiben nur im Speicher; vorhandene Dateien werden nicht überschrieben (bei frames_util, clipcheck kann --force verwendet werden). Die Verwendung ist am Anfang jedes Skripts beschrieben; -h zeigt Hilfe an. Benötigt wird Python 3.9 oder höher; nur imagegen.py --codex-config benötigt Python 3.11+.
| Skript | Verwendung in Schritt | Funktion |
|---|---|---|
imagegen.py | 3, 4 | Ruft die ChatGPT-Bild-API auf; --ref für Referenzbild oder lokale Bearbeitung; models listet Bildmodelle auf |
contrast_check.py | 2 | Berechnet den Helligkeitsunterschied zwischen Motiv und Hintergrund in Schwarz-Weiß-Farbtabelle; Alarm bei <40 |
frames_util.py | 4 | Auf exaktes Seitenverhältnis zuschneiden (fit), Skalierung von Start-/Endframes bei Zooms (zoom), Differenz- und Überlagerungsprüfung |
seedance.py | 6 | Einreichung von Startframe/Start-Endframe-Aufgaben, Polling, Download; --dry-run nur für Übersicht und Angebot |
clipcheck.py | 6 | Frame-Extraktion alle 0,5 Sekunden, Vergleich von Start-/Endframes, Helligkeitsänderungen, Erkennung von Sprüngen, Audio-Lautstärke |
cut.py | 7 | Erstellt Film nach JSON-Schnittliste: framescharfer Schnitt, Zoom, Standbild, Farb- und Helligkeitsanpassung, 601→709, Hochskalierung auf 1080p, optional Hintergrundmusik, Lautstärkenormalisierung |
Bei erster Verwendung eine virtuelle Umgebung erstellen (das systemweite Python nicht berühren):
python3 -m venv .venv && .venv/bin/pip install pillow numpy
.venv/bin/python <skill-Verzeichnis>/scripts/imagegen.py -h
Alle folgenden und in den Referenzen genannten Befehle folgen dieser Schreibweise: .venv/bin/python <skill-Verzeichnis>/scripts/Skriptname.py …
Kostenübersicht
Die folgende Tabelle zeigt die offiziellen Preise des Volcengine-Ark-Dienstes aus dem Artikel – nur als Referenz; die tatsächlichen Kosten richten sich nach den Angaben des Nutzers. Ob 2.0 mini verwendet werden kann, hängt davon ab, ob der Schlüssel des Nutzers darauf zugreifen kann.
| Modell | 720p-Preis (offiziell, nach Abrechnung) | Wann verwenden |
|---|---|---|
| Seedance 2.0 mini | ca. ¥0,5/Sekunde | Bevorzugt, wenn der Schlüssel Zugriff hat. Für die meisten einfacheren Einstellungen ausreichend; integrierte Soundeffekte oft direkt nutzbar |
| Seedance 2.5 | ca. ¥1,5/Sekunde | Besonders komplexe, anspruchsvolle Einstellungen. Auch wenn „keine Musik“ angegeben ist, kann Musik eingemischt werden |
- In 720p generieren, später auf 1080p hochskalieren.
- Keine Testclips erstellen; direkt die erste offizielle Einstellung drehen.
- Neue Methode: Zuerst eine oder zwei der schwierigsten Einstellungen testen; wenn funktioniert, alle anderen einreichen.
- Vor jeder Einreichung dem Nutzer ein Angebot unterbreiten: Modell, Sekunden, geschätzte Kosten.
Vier-Thread-Modus
Wenn der Nutzer „Vier-Thread“ wünscht, ein Gesamtbudget angibt und erwartet, dass du unbeaufsichtigt voranschreitest, lies references/four-threads.md. Du agierst als Haupt-Thread und startest drei Unter-Agents: Prüfer, Überwacher und Stellvertreter. Der Stellvertreter darf nur innerhalb des Gesamtbudgets Einreichungen genehmigen.
Kommunikation mit dem Nutzer
- Am Ende jedes Schrittes die Ergebnisse und die Entscheidungen, die der Nutzer treffen muss, klar darlegen; auf Bestätigung warten, bevor es weitergeht.
- Frame-Extraktionsprüfungen zeigen nur Standbilder. Für Dynamik und Ton bitte den Nutzer persönlich sehen und hören lassen.
- Nach der Auslieferung eine Projektzusammenfassung schreiben (Stil, Prompts, gemachte Fehler, Kosten); beim nächsten Film zuerst lesen.