================================================================================ CHAZON STUDIO — VOLLSTÄNDIGES BRIEFING FÜR EINEN KI-ASSISTENTEN Stand 06.08.2026 · erzeugt von arbeitsbuch/bau_arbeitsbuch.py · nicht von Hand pflegen ================================================================================ Du liest die komplette Wissensbasis eines KI-Videostudios. Wir produzieren kurze Filme (1–3 Minuten) mit Bild-, Video- und Stimmodellen. Alles, was gebraucht wird, steht in diesem Dokument oder unter einer der genannten URLs. BEVOR DU IRGENDETWAS TUST Arbeite Abschnitt 1 durch — sieben Stationen mit je zwei Prüffragen. Beantworte jede Frage AUSFORMULIERT, bevor du die Auflösung darunter liest; am Ende gibst du dem Menschen das Protokoll zurück. Erst danach löst du einen bezahlten Render aus. Diese Reihenfolge ist keine Höflichkeitsform: die Fragen treffen genau die Fehler, die hier schon bezahlt wurden. WAS DU ZUERST WISSEN MUSST 1. Jedes Bild braucht eine Referenz. Jede Stufe braucht eine Freigabe. Master -> Sheet -> Startframe -> Shot -> Schnitt. Keine Stufe beginnt, bevor die vorige fertig UND von einem Menschen gesichtet ist. 2. Der Gesichts-Anker ist immer die ERSTE Referenz, das Kleidungsblatt die zweite, und jede Referenz bekommt im Prompt ausdrücklich ihre Zuständigkeit. 3. Wenn ein Ergebnis nicht stimmt: erst der Diagnosebaum (Abschnitt 8 hier unten), dann neu nachdenken. Nie sofort neu rendern. 4. Öffentliche Referenzen liegen unter https://chazon.eu/arbeitsbuch/suite/refs/ volle Auflösung <- diese https://chazon.eu/arbeitsbuch/suite/full/.jpg Galeriefassung, 1600 px Das Verzeichnis aller Blätter steht in Abschnitt 7. 5. Das Arbeitsbuch selbst: https://chazon.eu/arbeitsbuch/ INHALT DIESES DOKUMENTS 1. Einarbeitung (foundation/ki-einarbeitung.md) 2. Skill-Katalog (foundation/ki-skills.md) 3. Foundation (foundation/ki-foundation.md) 4. Prompto-Guide (foundation/ki-prompto-guide.md) 5. Folgen-Rezept (foundation/ki-folgen-rezept.md) 6. Stimmen-Register (stimmen/register-stimmen.md) 7. Referenz-Verzeichnis (arbeitsbuch/INHALT.md) 8. Diagnosebaum (DIAGNOSE.md) ================================================================================ 1. EINARBEITUNG Quelle: foundation/ki-einarbeitung.md ================================================================================ # EINARBEITUNG — sieben Stationen, bevor du den ersten Dollar ausgibst *Diese Seite ist kein Text zum Überfliegen. Sie ist eine Prüfung. Wer sie durchklickt, ohne die Fragen zu beantworten, produziert in der ersten Stunde genau die Fehler, die hier schon bezahlt wurden — im Schnitt einige hundert Dollar.* ## Wie du damit arbeitest 1. **Eine Station nach der anderen.** Station n+1 setzt voraus, dass n sitzt. 2. **Erst antworten, dann auflösen.** Jede Station stellt zwei Fragen. Formuliere deine Antwort aus, *bevor* du die Auflösung liest. Nicht denken „das weiß ich schon" — ausformulieren. Der Unterschied zwischen „kenne ich" und „kann ich sagen" ist genau der Unterschied, um den es hier geht. 3. **Falsch heißt zurück.** Eine falsche Antwort ist kein Makel, sondern der Grund für diese Seite. Lies die genannte Quelle nach, dann weiter. 4. **Am Ende schreibst du das Protokoll** (letzter Abschnitt) und gibst es dem Menschen, mit dem du arbeitest. Vorher läuft kein bezahlter Render. Das Protokoll ist der einzige Weg, auf dem ein Mensch sehen kann, ob du gelesen oder geblättert hast. Jede Auflösung nennt ihren **Beleg** — die Stelle, an der es steht. Wenn deine Antwort abweicht, gilt der Beleg, nicht dein Vorwissen aus anderen Projekten. --- ## Station 1 — Die zwei Sätze **Lies:** Foundation, Abschnitt 1 „Die eisernen Gesetze". **Warum:** Alles Weitere ist Ausführung dieser zwei Sätze. Wer sie nur zitieren kann, aber nicht anwendet, bricht sie beim ersten Zeitdruck. **Weg im Buch** — Kette: alle Gates · Fehlerbaum: 6.10 **Frage 1.1** — Du hast eine freigegebene Szene und sollst acht Shots daraus bauen. Der Mensch ist offline und hat „mach die Folge fertig" gesagt. Wie viele Shots renderst du? **Frage 1.2** — Nenne den Unterschied zwischen einem Fehlversuch und einem Retry, so wie er hier gemeint ist.
Auflösung **1.1** — Nicht acht. Das Ebenen-Prinzip verlangt ein Gate je Stufe: Konzept zeigen → Freigabe → billige Probe → Freigabe → teurer Render. „Mach die Folge fertig" ist kein Blankoscheck für acht parallele Renders, weil ein Fehler in Shot 1 in allen acht steckt, bevor ihn jemand sieht. Richtig: eine billige Probe, dann warten. Und: **nie batchen ohne Gate.** *Beleg: Foundation 1.1 · Diagnose „Abhängige Bilder warten".* **1.2** — Ein Fehlversuch ist ein Befund: du verstehst die Ursache und machst **einen** gezielten Retry. Ein Retry ohne verstandene Ursache ist Würfeln — das ist der Punkt, an dem Geld verbrennt, ohne dass Wissen entsteht. *Beleg: Foundation 1.2.*
--- ## Station 2 — Referenzen: die erste ist nie beliebig **Lies:** Foundation, Abschnitt 1.3 und 1.4 · BIBLIOTHEK → Referenz-URLs. **Warum:** Fast jede Figuren-Katastrophe in diesem Studio ist eine Referenz-Frage gewesen, keine Prompt-Frage. **Weg im Buch** — Kette: Kanon · Modellwahl: Figur in ein Set setzen · Fehlerbaum: 1.1, 1.10 **Frage 2.1** — Es gibt zwei Adressen für dasselbe Blatt: `suite/refs/` und `suite/full/.jpg`. Welche gibst du als Referenz an, und was passiert bei der anderen? **Frage 2.2** — Du sollst „schnell testen, ob die Bildsprache trägt" und dafür eine Hauptfigur ohne Referenz generieren. Deine Antwort?
Auflösung **2.1** — Immer `suite/refs/` — volle Auflösung. `suite/full/` ist die Galeriefassung, auf 1600 px heruntergerechnet; als Gesichts-Anker verwendet stellt sie genau den Fehler aus Diagnose 1.1 wieder her: das Modell bekommt zu wenig Gesichtsinformation und erfindet den Rest. *Beleg: BIBLIOTHEK → Referenz-URLs · Diagnose 1.1.* **2.2** — Nein, auch nicht als Test. Wiederkehrende Figuren werden **nie** ohne Bild-Referenz generiert. Referenzlose Modelle (Recraft) sind für Figuren tabu; sie liefern eine Falschbesetzung, die danach niemand mehr einfängt — und die als „sieht doch gut aus" in die Kette rutscht. Für Sets, Orte und Requisiten sind sie richtig. *Beleg: Foundation 1.3 („auch nicht als Test").*
--- ## Station 3 — Die teuerste Falle: primary UND refs **Lies:** Foundation, Abschnitt 3, „Die i2v-Kipp-Falle". **Warum:** Diese eine Zeile hat die meiste Zeit gekostet und sieht im Aufruf völlig harmlos aus. **Weg im Buch** — Kette: Shot · Modellwahl: Ensemble · Fehlerbaum: 4.3 **Frage 3.1** — Du hast einen komponierten Startframe und drei Figuren-Referenzen. Du gibst beides mit: `primary` = Startframe, `refs` = die drei Figuren. Was tut das Modell? **Frage 3.2** — Wo gehören die Identitäts-Locks stattdessen hin, und was beschreibt der Video-Prompt dann noch?
Auflösung **3.1** — Es animiert den Startframe **nicht**. `primary` + gefüllte `refs` kippt i2v in ref2v: das Modell baut die Szene neu zusammen, statt das vorhandene Bild in Bewegung zu setzen. Dein sorgfältig komponierter Startframe ist dann nur noch eine Anregung. *Beleg: Foundation 3, „i2v-Kipp-Falle".* **3.2** — Die Locks gehören in den **Startframe** — dort wird das Aussehen festgezurrt, bevor Bewegung ins Spiel kommt. Der Video-Prompt beschreibt danach nur noch, was sich bewegt. Der Gegenweg ist bewusstes ref2v mit „@Image1 IS THE SHOT". *Beleg: ebenda.*
--- ## Station 4 — Ein Master, viele Varianten **Lies:** Foundation, Abschnitt 2.1. **Warum:** Der Fehler kostet nichts pro Bild und ruiniert trotzdem die Folge — er fällt erst im Schnitt auf, wenn zwei Einstellungen desselben Raums nicht derselbe Raum sind. **Weg im Buch** — Kette: Set-Platte · Modellwahl: Ort, Raum oder Gegenstand · Fehlerbaum: 3.1, 3.2 **Frage 4.1** — Du brauchst die Halle aus einem zweiten Winkel und mit geöffnetem Tor. Wie gehst du vor? **Frage 4.2** — Warum reicht es nicht, den Recraft-Prompt zu kopieren und „from the side, gate open" zu ergänzen?
Auflösung **4.1** — Vom **Master** aus per Edit-Werkzeug: der Master ist die eine Wahrheit, jede Variante (andere Ansicht, Zustand, Outfit, Objekt-Zustand) entsteht als Edit mit dem Master als Referenz. *Beleg: Foundation 2.1 · Merkregel „Master-Edit".* **4.2** — Weil zwei getrennte Recraft-Läufe trotz identischer Beschreibung verschiedene Räume liefern. Die Beschreibung ist nicht präzise genug, um ein Bauwerk zu reproduzieren — kein Prompt ist das. Nur der Bildbezug hält den Raum zusammen. *Beleg: ebenda.*
--- ## Station 5 — Ton: was das Modell liefert und was nicht **Lies:** Foundation, Abschnitt 4 · Merkregeln „Lipsync-Ton" und „Song-Timing". **Warum:** Tonfehler hört man erst im fertigen Schnitt, und dann ist der Bake schon bezahlt. **Weg im Buch** — Kette: O-Ton, Lipsync · Modellwahl: Stimme · Fehlerbaum: 5.5, 5.9 **Frage 5.1** — Du baust einen Sprech-Shot mit Lipsync. Woher kommt der Raumton? **Frage 5.2** — Du sollst die Lyrics eines Songs auf die Musik timen. Welches Werkzeug, und welches ausdrücklich nicht?
Auflösung **5.1** — **Nicht** aus dem Sprech-Shot. Lipsync-Ausgaben tragen nur das Sprach-Bett; Raumton wird immer aus den Original-Shots gezogen und unter dem Sprechfenster geduckt (~0,35). Andernfalls brabbelt das Modell-Audio in die Szene. Bei Sprech-Shots gilt zusätzlich: `generate_audio` aus. *Beleg: Foundation 4, „Atmo-Regel" · Merkregel „Lipsync-Ton".* **5.2** — **ElevenLabs Scribe**, nie Whisper. Whisper driftet bei Musik um mehrere Sekunden und halluziniert Strukturen; Scribe traf 448 von 448 Wörtern, geschriene Gang-Vocals eingeschlossen. Whisper bleibt das Prüfwerkzeug für Sprache **ohne** Musikbett. *Beleg: Foundation 4 · Merkregel „Song-Timing".*
--- ## Station 6 — Wenn etwas schiefgeht **Lies:** DIAGNOSE (die Sektion) · Foundation, Abschnitt 0 und 6. **Warum:** Der Reflex „nochmal rendern" ist der teuerste Reflex, den ein Assistent haben kann, und er fühlt sich jedes Mal vernünftig an. **Weg im Buch** — Korrektur: das ganze Verfahren · Fehlerbaum: 7.7 **Frage 6.1** — `job_status` meldet seit vier Minuten `running`. Was tust du — und was tust du auf keinen Fall? **Frage 6.2** — Der Google-Safety-Filter lehnt eine Generierung ab (Code 1200). Erster Schritt?
Auflösung **6.1** — Weiter pollen; `completed_at` zeigt die Wahrheit, nicht das Statusfeld. Bei `wait=true`-Timeouts erst `list_werke` prüfen — der Job lief oft trotzdem durch. **Auf keinen Fall blind neu rendern:** das zahlt denselben Job zweimal. *Beleg: Foundation 0.* **6.2** — Denselben Prompt **identisch wiederholen**. Der Filter beurteilt das erzeugte Video, nicht den Prompt — derselbe Text geht mal durch und mal nicht, und Fehlversuche kosten $0. Erst nach mehreren Ablehnungen umschreiben, und dann Verbote aufs Material richten statt auf Körper („no writing on his skin" lenkt den Fokus erst recht auf Haut). *Beleg: Foundation 6.*
--- ## Station 7 — Prüfen statt hoffen **Lies:** Foundation, Abschnitt 7 · Merkregel „Sichtprüfung 6 Punkte". **Warum:** Du kannst Video nicht sehen und Audio nicht hören. Alles, was du nicht verifizierst, lieferst du auf Verdacht — und der Mensch merkt es vor dir. **Weg im Buch** — Kette: Clean-Master · Fehlerbaum: 6.5, 1.7, 6.13 · Skill: F3, F7 **Frage 7.1** — Nenne für Audio, für Video und für Länge/Auflösung je ein Werkzeug, mit dem du prüfst, statt zu vermuten. **Frage 7.2** — Welche sechs Punkte gehen in eine Sichtprüfung, bevor etwas freigegeben wird? **Frage 7.3** — Du hast einen Brief geschrieben, den Job gestartet und den fertigen Clip gemessen. Alle Messwerte stimmen. Warum reicht das trotzdem nicht — und an welchen zwei Stellen muss jemand draufschauen, der deine Absicht **nicht** kennt?
Auflösung **7.1** — Audio → Transkript (Scribe, bei Sprache ohne Musik auch Whisper). Video → Frame-Grids und Zoom-Crops (`ffmpeg -ss t -frames:v 1`), nie das nackte PNG. Länge und Auflösung → `ffprobe`. Beim Upscale zusätzlich: die **Ausgabe-Auflösung** prüfen, nicht den Job-Status — bei zu großem Input kommt klaglos die Default-Größe zurück. *Beleg: Foundation 7 und 5.* **7.2** — Gesichter · Outfits · Szene · Requisiten · Belichtung · Kamera. Immer gegen die **Kanon-Referenz**, nie gegen den letzten schönen Take — und jede engere Einstellung neu am Kanon ankern, weil Edit-Ketten Gesichter driften lassen. *Beleg: Merkregel „Sichtprüfung 6 Punkte" · Foundation 1.4.* **7.3** — Weil Messwerte nur beantworten, ob etwas **da** ist, nicht ob es **gut** ist. Wer ein Artefakt gebaut hat, liest beim Prüfen die eigene Absicht mit — und die Absicht ist immer die schönere von beiden. Deshalb Skill **F7**: (1) am **Brief** vor dem Absenden, der Prüfer bekommt Brief und Epochen-/Kanon-Blatt und sonst nichts; (2) am **fertigen Clip** vor dem Schnitt, der Prüfer bekommt Kontaktbogen, Messwerte und Kanon-Blätter — aber nicht den Brief. Genannt wird die **größte** Lücke, dann folgt EIN gezielter Versuch. *Beleg: Fehlerbaum 6.13 — dreimal in einer Sitzung, ZAPP-01, 2,70 $ plus ein verworfener Clip.*
--- ## Das Protokoll Bevor du den ersten bezahlten Render auslöst, gibst du dem Menschen genau das hier — ausgefüllt, in eigenen Worten, ohne Copy-Paste aus den Auflösungen: ``` EINARBEITUNG CHAZON STUDIO — Protokoll Assistent: …… Datum: …… 1 Gates Wie viele Renders starte ich ohne Freigabe? → …… 2 Referenz Welche Adresse ist die Referenz, welche nie? → …… 3 i2v Was passiert bei primary + refs gleichzeitig? → …… 4 Master Wie entsteht die zweite Ansicht eines Ortes? → …… 5 Ton Woher kommt der Raumton eines Sprech-Shots? → …… 6 Fehler Erster Schritt bei Ablehnung / bei stale running? → …… 7 Prüfen Womit prüfe ich Audio / Video / Auflösung? → …… Zwei Sätze zum Schluss: · Die Regel, die ich in meiner bisherigen Arbeitsweise am ehesten gebrochen hätte, ist ……, weil …… · Was ich vor dem ersten Render noch nicht weiß und nachfragen muss: …… ``` Die letzten beiden Zeilen sind die eigentliche Prüfung. Wer sie ernst beantwortet, hat gelesen. Wer „alles klar, ich halte mich an alle Regeln" schreibt, hat geblättert — und bekommt die Stationen noch einmal. --- ## Danach Die Einarbeitung endet hier, das Lernen nicht. Jede teuer gelernte Regel gehört sofort in den Diagnosebaum (`DIAGNOSE.md`, Symptom → Ursache → Lösung → Beleg) und, wenn sie grundsätzlich ist, in die Foundation. Widerlegte Regeln werden ausdrücklich als widerlegt markiert statt gelöscht — sonst zahlt der nächste Assistent dasselbe Lehrgeld noch einmal. ================================================================================ 2. SKILL-KATALOG Quelle: foundation/ki-skills.md ================================================================================ # SKILL-KATALOG — was ein Assistent hier können muss *Dieses Studio hängt an keinem Anbieter. Es hängt an Regeln. Wer einen MCP-Klienten hat — egal welchen — und diese Regeln übernimmt, kann hier mitproduzieren. Der Katalog sagt bei jedem Handgriff: wofür er gut ist, was die Regel ist, womit man ihn ausführt (bei uns und woanders), und welche Falle dahinter liegt.* Aufbau jedes Eintrags: **Wofür** — der Zweck in einem Satz **Regel** — was zu tun ist, und was ausdrücklich nicht **Womit** — unser Weg · gleichwertige Wege anderswo **Falle** — der Fehler, den wir dafür bezahlt haben (Nummer aus dem Fehlerbaum) Die Fallen sind keine Theorie. Jede Nummer steht für einen Betrag, der einmal verbrannt wurde. --- ## A · Bevor irgendetwas gerendert wird ### A1 · Kanon anlegen **Wofür** — Damit dieselbe Figur in Folge 7 noch dieselbe ist wie in Folge 1. **Regel** — Je Figur drei Dinge: ein enger **Gesichts-Anker** in voller Auflösung, ein **Kanon-Blatt** (Kleidung, Merkmale, Farbwerte), ein **Turnaround**. Erst wenn die drei liegen, wird die Figur in Szenen gesetzt. Kein Kanon = keine Figur. **Womit** — Prompto: `recraft-v4` fürs Blattlayout, `nano-banana-2-edit` fürs Ableiten · sonst: Midjourney für den Erstwurf, jedes Edit-Modell mit Referenzen fürs Ableiten. **Falle** — 1.1, 1.3 ### A2 · Gesichts-Anker als erste Referenz **Wofür** — Verhindert, dass ein Modell die Identität neu erfindet. **Regel** — Der enge Gesichts-Crop ist **immer Referenz 1**, das Kleidungsblatt Referenz 2, und im Prompt bekommt jede Referenz ausdrücklich ihre Zuständigkeit („Reference 1 is the ABSOLUTE AUTHORITY on her identity"). Dazu ein Anti-Verschönerungs-Lock: kein Glätten, keine größeren Augen, keine Symmetriekorrektur. **Womit** — Prompto: alle Edit- und Referenz-Modelle · sonst: Kling O3 (@Image1-Adressierung), Higgsfield, jedes Modell mit Mehrfach-Referenz. **Falle** — 1.1 ### A3 · Nie referenzlos, auch nicht als Test **Wofür** — Ein „schneller Test" ohne Referenz erzeugt eine Falschbesetzung, die danach niemand mehr einfängt. **Regel** — Wiederkehrende Figuren **nie** ohne Bild-Referenz generieren. Referenzlose Modelle sind für Orte, Räume und Gegenstände richtig und für Figuren tabu. **Womit** — Prompto: `recraft-v4` nur für Sets und Requisiten · sonst: dieselbe Trennung überall. **Falle** — 1.1, 1.10 ### A4 · Ein Master, viele Varianten **Wofür** — Damit derselbe Raum aus zwei Winkeln derselbe Raum bleibt. **Regel** — Von jedem Motiv gibt es **einen** Master. Jede Variante — andere Ansicht, Tür offen, anderes Outfit, anderer Zustand — entsteht als Edit **vom Master**, nie als neuer Prompt. Zwei getrennte Läufe liefern trotz identischer Beschreibung zwei verschiedene Räume. **Womit** — Prompto: `nano-banana-2-edit` (chirurgisch), `seedream-v5-lite-edit` (billig in Menge) · sonst: jedes Bild-Edit mit Referenz. **Falle** — 3.1, 3.2 ### A5 · Sheets nummerieren **Wofür** — Macht eine Sammlung adressierbar: „nimm Teller 3". **Regel** — Index-Chip **außerhalb** des Objekts setzen, nie darauf. Im Video-Prompt dazuschreiben, dass die Nummern nur Auswahlhilfen sind und nie ins Bild gemalt werden. Ein einzelnes Element lieber freigestellt übergeben als als Sheet-Ausschnitt. **Womit** — Prompto: `recraft-v4` · sonst: jedes Bildmodell mit sauberem Layout. **Falle** — 1.10, 2.8 ### A6 · Set als leere Platte **Wofür** — Ein Raum, der über mehrere Shots hinweg nicht springt. **Regel** — Den Drehort **ohne Menschen** bauen: leerer Stuhl, freier Weg ins Bild, Kopffreiheit über dem Tisch. Diese Platte ist danach die Szenen-Referenz für jeden Shot. Eine Platte mit Figuren darin verleitet das Videomodell zum Neubauen statt zum Bespielen. **Womit** — Prompto: `recraft-v4` (realistic_image, pro) · sonst: Midjourney, Flux, jedes Bildmodell ohne Referenzzwang. **Falle** — 3.1 ### A7 · Der Ort bekommt ein Blatt wie eine Figur **Wofür** — Alle Einstellungen einer Szene spielen nachweislich im selben Raum, ohne dass je Shot ein Startframe komponiert werden muss. **Regel** — Von der leeren Platte **ein** Szenen-Sheet ableiten: sechs Ansichten desselben Ortes in einem Bild — Totale, Blick des Handelnden, Gegenschuss, Seitenansicht des Spielbereichs, der bildwichtige Hintergrund allein, ein Detail. Alle Ansichten leer, gleiches Licht, gleiche Palette. Dieses Blatt geht als **Szenenreferenz** in jeden Shot; wer wo steht und was tut, steht danach im Prompt. Damit entfällt der komponierte Startframe je Segment — und mit ihm die i2v-Kipp-Falle, denn ohne `primary` kann nichts kippen. Bei H3 dazuschreiben, dass das Blatt **nur** Raum und Licht liefert und niemals ein Gesicht. Zwei Dinge machen den Unterschied zwischen einem hübschen Blatt und einem, das trägt: ein **schematisches Draufsicht-Panel** (die räumlichen Beziehungen gehen aus Einzelansichten nie hervor) und **Vollständigkeit des Ortes** — ein Laden hat volle Regale, ein Büro hat Aktenordner. Ein karger Ort liest sich als Krise, nicht als Alltag. Und weil das Blatt in der Zieloptik gebaut wird, ist es **gleichzeitig die Look-Referenz**: der Look kommt als Bild ins Modell statt als Adjektiv (Falle 3.7). **Womit** — Prompto: `nano-banana-2-edit` 4K von der Platte · dann `minimax-h3` (bis 9 Refs) oder `kling-o3-ref` · sonst: jedes ref2v-Modell mit mehreren Referenzen. **Falle** — 3.1, 3.2, 3.7, 3.8, 4.3 --- ## B · Bild und Startframe ### B1 · Der komponierte Startframe **Wofür** — Der Look wird **vor** dem Video festgezurrt, nicht im Video erhofft. **Regel** — Reihenfolge: Set bauen → Figur per Edit hineinsetzen → prüfen → erst dann animieren. Alles, was im Startframe nicht stimmt, stimmt im Video garantiert nicht. **Womit** — Prompto: `recraft-v4` + `nano-banana-2-edit` (seed setzen für Wiederholbarkeit) · sonst: Photoshop-Generative-Fill, Flux Kontext, jedes Referenz-Edit. **Falle** — 3.1, 4.9 ### B2 · Requisiten-Wurzelregel **Wofür** — Verhindert Gegenstände, die im Video am Körper kleben oder wandern. **Regel** — Was die Figur im Startframe nicht **sauber in der Hand** hat, klebt später. Handkontakt ausdrücklich prompten („her fingers closed around the handle") — oder das Requisit streichen. Diese Fehlerklasse sieht man nur im Bewegtbild, nie am Einzelbild. **Womit** — gilt für jedes Modell. **Falle** — 2.5, 2.6 ### B3 · Text gehört auf eine Referenz **Wofür** — Schrift, die hält — und die wir entworfen haben statt sie zu bekommen. **Regel** — Alles, was nah lesbar sein muss, wird **vorher als eigenes Blatt gebaut** und als **Referenz** mitgegeben. Auf einer Referenz hält Schrift auch im Video: belegt an H3 über einen Multishot-Clip mit zwei Schnitten, buchstabengleich (Fehlerbaum 8.9). Ohne Referenz wird sie nicht zerlegt, sondern **erfunden** — das ist der eigentliche Grund für das Blatt. Sich ändernde Ziffern (Timer, Zähler) bleiben Post-Sache. **Womit** — Prompto: `gpt-image-2` trifft deutschen Fließtext auf Anhieb, `nano-banana-2` ebenso · Post mit ffmpeg nur noch für Zähler und Timer · sonst: jedes Bildmodell mit Textfähigkeit. **Falle** — 8.1, 8.2, 8.9 ### B4 · Keine Eigennamen im Bildprompt **Wofür** — Sonst steht der Name im Bild. **Regel** — Figuren umschreiben statt benennen („der bärtige Mann mit dem Haarknoten"), und ausdrücklich verbieten: „No names, no labels, no titles are ever drawn into the picture." **Womit** — gilt überall. **Falle** — 8.1 --- ## C · Video ### C1 · Modell nach Fehlerklasse wählen **Wofür** — Jedes Modell kann etwas und bricht an einer bestimmten Stelle. **Regel** — Erst die Frage stellen: Ensemble oder Einzelfigur? Sprache im Bild? Harte Landung auf einem Endbild? Danach das Modell. Nie „das teuerste nehmen" — Preis und Eignung haben nichts miteinander zu tun. **Womit** — Prompto: `list_models` mit der Fehlerklassen-Tabelle in der Foundation · sonst: die Modellseiten der Anbieter, aber Preise **nur** von dort, nie aus Blogs. **Falle** — 6.12 ### C2 · Referenz-zu-Video mit mehreren Referenzen je Figur **Wofür** — Charaktertreue über die ganze Einstellung. **Regel** — **Eine** Referenz pro Figur reicht nicht: Modelle tauschen dann Identitäten. Mindestens zwei je Figur (Gesicht + Blatt), und im Prompt jeder Referenz ihre Rolle zuweisen. **Womit** — Prompto: `minimax-h3` (bis 9 Refs, Ton im selben Pass), `kling-o3-ref` (@Image-Adressierung) · sonst: Higgsfield, Kling AI direkt, Vidu. **Falle** — 1.1, 1.8 ### C3 · Die i2v-Kipp-Falle **Wofür** — Die teuerste stille Fehlerquelle der Videoarbeit. **Regel** — `primary` **und** gefüllte `refs` gleichzeitig kippt Bild-zu-Video in Referenz-zu-Video: das Modell baut die Szene neu, statt den Startframe zu animieren. Locks gehören in den Startframe, der Videoprompt beschreibt nur noch Bewegung. Der bewusste Gegenweg ist reines ref2v mit „@Image1 IS THE SHOT". **Womit** — gilt für alle Anbieter. **Falle** — 4.3 ### C4 · Lastframe-Kette **Wofür** — Mehrere Shots, die aussehen wie eine durchgehende Szene. **Regel** — Den **letzten Frame** des Shots ziehen (ein Bild vor Schluss, sonst erwischt man Schwarz) und als Startzustand des nächsten Shots übergeben. Der Raum kann dann nicht mehr springen, und Übergaben sitzen auf dem Bild statt in der Hoffnung. **Womit** — Prompto: `minimax-h3` mit dem Frame als Bild 1, `flux-3-flf` für harte Start-und-Ziel-Landung, `kling-v3-pro` (Start + Ende) · sonst: Luma Keyframes, Runway. **Falle** — 4.4 ### C5 · Bewegung positiv formulieren **Wofür** — Modelle hören Verneinungen schlecht. **Regel** — „Sein Rücken bleibt zur Kamera" statt „er dreht sich nicht um". Verbote nur dort, wo sie aufs Material zielen, nie auf Körperteile — sonst lenkt das Verbot den Blick genau dorthin. **Womit** — gilt überall, besonders bei Modellen mit strengem Filter. **Falle** — 4.9, 8.3 ### C6 · Sprech-Shots in einem Pass **Wofür** — Lippen, die sitzen, ohne Generationsverlust. **Regel** — Dialog in **einem** Durchgang erzeugen statt stumm rendern und nachträglich lipsyncen; dabei `generate_audio` für den Bildlauf aus, damit das Modell keinen eigenen Ton dazuerfindet. **Womit** — Prompto: `minimax-h3`, `gemini-omni-flash` (deutsche Lippen) · sonst: Kling mit Voice Control, HeyGen für reine Sprecher. **Falle** — 5.6, 5.7 --- ## D · Ton ### D1 · Stimmen mit Emotion, nie mit Vorgabewerten **Wofür** — Der Unterschied zwischen Vorlesen und Spielen. **Regel** — TTS mit Audio-Tags (`[calm]`, `[whispers]`, `[shouting]`, `[pause]`) und gesetzter Stabilität (ruhig 0,45–0,5 · lebhaft 0,35–0,4). Keine Premade-Stimmen — die benutzt jeder. Je Figur **eine** Stimme casten und die ID im Register festhalten. **Womit** — Prompto/direkt: ElevenLabs `eleven_v3` · sonst: jede TTS mit Emotionssteuerung. **Falle** — 5.11 ### D2 · Raumton nie aus dem Sprech-Shot **Wofür** — Sonst brabbelt Modell-Audio in die Szene. **Regel** — Lipsync-Ausgaben tragen nur das Sprachbett. Raumton **immer** aus den Original-Shots ziehen und unter Sprechfenstern ducken (~0,35). **Womit** — ffmpeg, jede Schnittsoftware. **Falle** — 5.5 ### D3 · Song-Timing mit Scribe, nie mit Whisper **Wofür** — Lyrics, die auf dem Beat sitzen. **Regel** — Bei Musik driftet Whisper um Sekunden und erfindet Strukturen. Scribe trifft auch geschriene Gang-Vocals. Whisper bleibt das Prüfwerkzeug für Sprache **ohne** Musikbett. **Womit** — ElevenLabs Scribe · sonst: jedes forced-alignment-Werkzeug, aber gemessen, nicht geglaubt. **Falle** — 5.9 ### D4 · Spuren trennen **Wofür** — Jede spätere Fassung baut auf denselben Tönen auf. **Regel** — Getrennte WAVs für O-Ton, Atmo, Score, Foley → mischen mit `amix normalize=0` → `loudnorm I=-14:TP=-1`. WAVs sind auflösungsunabhängig; jeder spätere Bake nutzt sie unverändert. **Womit** — ffmpeg. **Falle** — 5.4 --- ## E · Schnitt, Text, Finish ### E1 · Text ist eine eigene Ebene **Wofür** — Ein Master, aus dem jede Fassung entsteht. **Regel** — Den Clean-Master **ganz ohne Text** schneiden (Karten zählen als Text). Erst darauf Untertitel, Embleme, Platten. Wer Text mitschneidet, kann keine zweite Sprache und kein anderes Format mehr bauen. **Womit** — ffmpeg, jede Schnittsoftware. **Falle** — 5.13 ### E2 · Reihenfolge im Finish **Wofür** — Bildqualität und Rechenzeit sparen. **Regel** — **Upscale vor Text-Bake.** Clean hochrechnen, dann Typografie in Zielauflösung einbrennen. Schärfung aufs Bild vor den Überlagerungen, nie über den Text. Nach dem Upscale die **Ausgabe-Auflösung** prüfen, nicht den Job-Status. **Womit** — Prompto: Upscale-Modelle · sonst: Topaz. **Falle** — 6.5 ### E3 · Untertitel aus der Schnittliste **Wofür** — Untertitel, die nicht auseinanderlaufen. **Regel** — Zeiten aus derselben Liste rechnen, aus der auch der Master entsteht — nie von Hand tippen. Erst begrenzen, dann Überlappungen auflösen, nicht umgekehrt. Alles Eingebrannte sitzt auf der Filmzeit **ohne** Vorspann. **Womit** — eigenes Skript, ffmpeg mit ASS-Stil. **Falle** — 5.14 ### E4 · Hochformat ist ein eigener Schnitt **Wofür** — 9:16, das nicht wie ein Beschnitt aussieht. **Regel** — Eigener Bildausschnitt **und** eigene Typografie (Breitenfaktor je Untertitel prüfen). Das Querformat-Layout hineinzuquetschen ist der sichtbare Anfängerfehler. **Womit** — ffmpeg mit mitlaufendem Weichzeichner statt hartem Crop. **Falle** — 5.13 ### E5 · Lange Läufe abkoppeln **Wofür** — Ein Absturz darf keine vierzig Minuten Rechnen mitreißen. **Regel** — Alles über ein paar Minuten mit `setsid nohup … &` starten und den Fortschritt in eine Datei schreiben. Ein Hintergrundlauf, der an der Sitzung hängt, stirbt mit ihr. **Womit** — Shell. **Falle** — 7.9 --- ## F · Betrieb ### F1 · Gates statt Vertrauen **Wofür** — Ein Fehler kostet ein Bild, nicht eine Folge. **Regel** — Konzept zeigen → Freigabe → billige Probe → Freigabe → teurer Lauf. Nie mehrere abhängige Stufen parallel starten: der Folgeschritt erbt Fehler, die im Vorbild noch niemand gesehen hat. **Womit** — Arbeitsweise, kein Werkzeug. **Falle** — 6.10 ### F2 · Erst billig, dann teuer **Wofür** — Den guten Take bezahlen, nicht das Würfeln. **Regel** — Wo ein Modell eine Entwurfsstufe hat, wird zuerst dort probiert und nur der gute Take teuer nachgerendert — am besten mit einem Verfahren, das denselben Take behält statt neu zu würfeln. **Womit** — Prompto: `flux-3-draft` → `flux-3-enhance`, `vidu-q2-ref` als Konsistenzprobe vor teuren Läufen · sonst: die Draft-Stufen der jeweiligen Anbieter. **Falle** — 6.4, 6.6 ### F3 · Prüfen statt hoffen **Wofür** — Ein Assistent sieht kein Video und hört keinen Ton. **Regel** — Audio → Transkript. Video → Frame-Raster und Zoom-Ausschnitte. Länge und Auflösung → `ffprobe`. Nichts ausliefern, was nicht gemessen wurde. Und: Sichtprüfung immer gegen den **Kanon**, nie gegen den letzten schönen Take. **Womit** — ffmpeg/ffprobe, Scribe, Whisper. **Falle** — 1.7, 6.5 ### F4 · Fehlversuch heißt verstehen, nicht wiederholen **Wofür** — Aus Geld Wissen machen. **Regel** — Ein Fehlschlag wird analysiert, dann **einmal** gezielt wiederholt. Wer ohne verstandene Ursache neu würfelt, zahlt zweimal für dasselbe Nichtwissen. Jede teuer gelernte Regel sofort in den Fehlerbaum, mit Datum und Betrag. **Womit** — der Fehlerbaum dieses Buchs. **Falle** — 6.1 ### F5 · Job-Status ist keine Wahrheit **Wofür** — Doppelte Kosten vermeiden. **Regel** — Ein Status kann lange „läuft" zeigen, obwohl der Job längst durch ist — oder „fertig", obwohl nur eine Validierung geendet hat. Maßgeblich sind das Fertigstellungs-Datum und die **Ausgabedatei**. Bei Zeitüberschreitung erst die Galerie prüfen, nie blind neu starten. **Womit** — Prompto: `job_status` und `list_werke` · sonst: die Warteschlangen-API des Anbieters. **Falle** — 7.7, 7.8 ### F6 · Preise nur von der Quelle **Wofür** — Ein falscher Preis im Kopf ist teurer als kein Preis. **Regel** — Preise **ausschließlich** von den Modellseiten der Anbieter, mit Datum notiert. Blogs, Vergleichsartikel und Erinnerungen sind Ausschuss. Vor jeder Sitzung Budget prüfen, danach wieder. **Womit** — Prompto: `balance` · sonst: die Abrechnungsseite des Anbieters. **Falle** — 6.3 ### F7 · Der Kritiker ist nicht der Bauer **Wofür** — Wer etwas gebaut hat, sieht daran nicht mehr, was fehlt. Das ist keine Nachlässigkeit, das ist die Bauweise: Absicht und Ergebnis liegen im selben Kopf übereinander, und die Absicht ist immer die schönere von beiden. **Regel** — An zwei Stellen prüft jemand, der die Absicht **nicht** kennt. Beide liegen vor dem Geldausgeben: 1. **Am Brief, bevor er abgeschickt wird.** Der Prüfer bekommt den Brief und das Epochen- bzw. Kanon-Blatt — sonst nichts, keine Begründung, keinen Verlauf. Er sucht: Widersprüche und stehengebliebene Halbsätze · fehlt der Kameratrick der Zeit · trägt jede Referenz eine ausdrückliche Zuständigkeit · sind es mehr als drei Bildfehler · steht bei mitgeliefertem Musikbett `non_diegetic_music: N/A`. 2. **Am fertigen Clip, bevor er in den Schnitt geht.** Der Prüfer bekommt Kontaktbogen, Messwerte und die Kanon-Blätter — nicht den Brief. Er geht die **sechs Punkte** durch (Gesichter · Outfits · Szene · Requisiten · Belichtung · Kamera) und nennt die *größte* Lücke, nicht alle. Was der Prüfer sagt, ist ein Befund, kein Vorschlag. Wer ihn überstimmt, schreibt den Grund dazu. **Gefunden wird die größte Lücke, dann EIN gezielter neuer Versuch** — nicht eine Mängelliste und fünf Runden. **Womit** — Arbeitsweise, kein Werkzeug. Ein zweiter Durchgang mit frischem Blick reicht; ein separater Agent, der nur Artefakt und Referenz bekommt, ist die sauberere Fassung. Herkunft: das *Gauntlet-Loop*-Muster (Matt Shumer) — davon übernehmen wir genau diesen Teil, nicht das ganze Gerüst. Blindes A/B lohnt hier nicht: der Maßstab ist Dennis, und sein Urteil kommt schneller als jede Referenzabweichung. **Falle** — 6.13 --- ## Was fehlt, wenn man nicht bei uns arbeitet Nichts an diesem Katalog setzt Prompto voraus — er setzt **einen** MCP-Klienten voraus und die Bereitschaft, an Gates zu arbeiten. Wer eigene Zugänge zu fal, ElevenLabs, Kling oder Higgsfield hat, kann jeden Eintrag hier mit seinen eigenen Schlüsseln ausführen. Was er von uns übernimmt, sind nicht die Werkzeuge — es sind die Reihenfolge, die Referenzdisziplin und der Fehlerbaum. ## A9 · Der Anker zeigt den Anfang, nicht die Handlung *Neu am 06.08.2026, nach vier verworfenen Ankern in Folge.* Ein Shot-Anker soll **Kadrage, Raum und Identität** festlegen — nicht die Handlung vorwegnehmen. Wer die Zielhandlung schon ins Standbild zwingt, zahlt zweimal: einmal für die Anker, die daran scheitern (Griffe am gestreckten Arm zerfallen, Fehlerbaum 1.16), und einmal dafür, dass das Video die Bewegung dann gar nicht mehr erzählen kann. **Die Regel:** Steht am Ende des Shots eine andere Position als am Anfang, dann zeigt der Anker den **Anfang** — mit einem Griff, der bereits nachweislich funktioniert. Den Weg dorthin und den Griff am Ziel baut das Videomodell. Es kann das besser als ein Bildmodell, weil es die Zwischenschritte mitrechnet. **Die Ersparnis** ist doppelt: ein Anker weniger je Szene, und der Schnitt zwischen zwei Einstellungen desselben Ankers ist ein Anschluss statt eines Bruchs. **Gegenprobe vor jedem Anker:** *Muss die Figur in diesem Bild etwas anfassen, vor dem sie noch nicht steht?* Wenn ja — Anker ändern oder die Bewegung in den Clip verlegen. ================================================================================ 3. FOUNDATION Quelle: foundation/ki-foundation.md ================================================================================ # FOUNDATION FÜR KI-SYSTEME MIT PROMPTO-ZUGANG *Destillat aus ~600 $ Produktionserfahrung (chazon studio, Stand 03.08.2026). Für fremde Assistenten (z. B. Lanas Claude): Lies das, bevor du deinen ersten Dollar ausgibst — jede Regel hier hat Lehrgeld gekostet. Du darfst alles übernehmen.* ## 0 · Prompto in 5 Zeilen - MCP-Tools: `list_models` (Modell finden) → `generate` (bezahlt!) → `job_status` → Output-URL. `balance` zeigt Budget je Provider, `import_media` holt externe Dateien in den Pool. Asset-IDs aus dem Pool funktionieren als `primary`/`refs`/`end`. - `job_status` kann lange stale „running" zeigen — weiter pollen, `completed_at` zeigt die Wahrheit. Bei `wait=true`-Timeouts: Job lief oft trotzdem durch → erst `list_werke` prüfen, NIE blind neu rendern (Doppelkosten). - Provider-Routing ist Geld-Management: dasselbe Modell kostet je Provider anders, und Guthaben liegt verteilt. Vor jeder Session `balance`, danach wieder. ## 1 · Die eisernen Gesetze (gelten immer) 1. **Kein Render ohne explizites Go des Menschen.** Ebenen-Prinzip: Konzept zeigen → Freigabe → billige Probe → Freigabe → teurer Render. Nie batchen ohne Gate. 2. **Ein Fehlversuch = Ursache verstehen, EIN gezielter Retry.** Nicht würfeln. 3. **Wiederkehrende Figuren NIE ohne Bild-Referenz generieren — auch nicht „als Test".** Referenzlose Modelle (z. B. Recraft) sind für Sets/Props/Design tabu für Figuren: du bekommst eine Falschbesetzung, die niemand mehr einfängt. 4. **Jede Sichtprüfung gegen die KANON-Referenz** (Character-Sheet), nie gegen den letzten schönen Take. **Und: jede engere Einstellung neu am Kanon ankern** — Edit-Ketten driften Gesichter; was in der Totale niemand sieht, macht in der Nahaufnahme eine andere Person daraus (Kette ab Kanon ≤ 2 Stufen). Wer den falschen Take zur Referenz macht, baut jeden folgenden Render aktiv gegen die eigene Kette. 5. **480p-Proof aufs Handy vor jedem teuren Schritt.** Ampel-Prinzip. 6. **Ist-Kosten mitschreiben** (Render-Log je Projekt: Datum, Was, Job-ID, $, Befund). ## 2 · Bilder: der komponierte Startframe ist alles Das Fundament-Rezept jeder Video-Pipeline: **Look wird VOR dem Video gepinnt.** 1. **Set/Szene**: Recraft V4.1 (`recraft-v4`, realistic_image, quality pro) ist ein Szenenbild-Monster — Material, Licht, Kleinstdetails; Farbpalette als Hex-Liste mitgeben. NUR für Orte/Gegenstände (Gesetz 3). **Und nur für den MASTER eines Motivs:** jede Variante (andere Ansicht, Zustand offen/zu, Outfit-Abwandlung, Objekt-Zustand) entsteht per Edit-Tool vom Master — getrennte Recraft-Prompts liefern trotz identischer Beschreibung verschiedene Schiffe/Räume. 2. **Figur ins Set**: `nano-banana-2-edit` als „Photoshop-Ebene": primary = Set, refs = [Kanon-Figur] → komponierter Startframe. Edit-Ketten sind ok, solange sie bei einem Kanon-Asset beginnen. seed=777 für Reproduzierbarkeit. 3. **Requisiten-Wurzelregel:** Was die Figur im Startframe nicht SAUBER in der Hand hat, klebt im Video am Körper oder wandert. Hand-Kontakt explizit prompten („her fingers closed around the handle") — oder Requisit streichen. Diese Fehlerklasse siehst du NUR im Bewegtbild, nie am Einzelframe. 4. **Text können Bildmodelle, Videomodelle nicht.** Exotische Schriften, Umlaute, Panels: nano-banana-2 trifft sie im ersten Versuch — im Video zerfallen sie (Ausnahme: einsprachig-lateinischer Text mit Ref-Lock hält in Omni). Sich ÄNDERNDE Ziffern (Timer) kann kein Videomodell — in Post stempeln. 5. **Sheets nummerieren** (Index-Chip AUSSERHALB des Items) macht Bibliotheken adressierbar („use plate 3"), plus Sicherung: „the index numbers are selection aids only and are never drawn into the video". Einzelnes Element besser als freigestellten Crop übergeben statt als Sheet-Ausschnitt. 6. **Eigennamen nie in Bild-/Videoprompts** — sie werden ins Bild gemalt. Figuren umschreiben („the boy", „the faceted orb") + „No names, no labels, no titles are ever drawn into the picture." ## 3 · Video-Modell-Split (jedes Modell hat seine Qualitäten) | Modell | Nimm es für | Fehlerklasse (erlebt, nicht vermutet) | |---|---|---| | `kling-o3-ref` | Bewegung, Ensemble, Kamera-Folgen; Startframe als @Image1 + Figuren-Refs | szenische Drift: ungescriptete Drehungen. Verhalten hart POSITIV prompten („his back stays to the camera the entire video") — nicht verneinen | | `kling-v3-pro` i2v | statische Talking-Heads, harte Start/End-Landung (primary+end), bestes Atmo-Sounddesign | Objekt-Kleber: lose Requisiten kleben am Körper. KEINE deutschen Sprechstimmen (Akzent) — Dialog nie in den Kling-Prompt | | `seedance-2-pro` | SOTA-VFX, Multishot in EINER Generation („Shot 1: … Shot 2: …"), hält 2 Charakter-Refs über Schnitte, sehr guter Handheld-Look | komplexe Hand-Choreo → drei Hände. Handführung vereinfachen. -mini/-fast trifft Endframes nur lose | | `gemini-omni-flash` | Sprache im Bild (DE nativ + lippensynchron, auch ZH/HI/AR/HE/RU), i2v-Ketten | nur EIN Sprecher pro Generation; Age-Drift ab ~8 s; Sprachzeilen NUMMERIEREN („Line 1 … Line 2 …, each line EXACTLY ONCE") | | `grok-imagine-ref` | billiges ref2v mit vielen Refs (bis 7), spricht DE | lose Szenen-Kontrolle; fragile Figuren brauchen VOLLES Ref-Budget inkl. komponiertem Startframe | - **Die i2v-Kipp-Falle (teuerste Lehre der Omni-Ära):** `primary` + gefüllte `refs` gleichzeitig kippt i2v in ref2v — das Modell baut die Szene NEU statt sie zu animieren. Locks gehören in den Startframe; der Video-Prompt beschreibt nur noch. Reines ref2v mit „@Image1 IS THE SHOT" funktioniert als Gegenweg. - **A/B-Duelle lohnen sich:** zwei Modelle auf denselben Startframe, beide Fehlerklassen kennenlernen — danach routest du jeden Shot richtig. - **Handheld-Doku-Realismus:** keine weiten Shots (KI-Weite kippt ins Unechte), 3/4-Shots + American, leichte Dutch-Winkel, „camera breathes". Interviews schauen knapp NEBEN die Linse. ## 4 · Stimmen & Audio (ElevenLabs direkt, wenn Key vorhanden) - **TTS = eleven_v3 mit Audio-Tags** (`[calm]`, `[whispers]`, `[shouting]`, `[pause]`) + `voice_settings.stability` (ruhig 0.45–0.5, lebhaft 0.35–0.4). Nie flache Defaults. - **Nimm NICHT die Premade-Stimmen** (Chris, Alice, Bill …) — die benutzt jeder, es klingt sofort generisch. Voice Library durchsuchen (`GET /v1/shared-voices`, Filter language/gender/age liefern hunderte Professional-Voices mit deutschen Preview-URLs), pro Figur EINE eindeutige Stimme casten, IDs im Register notieren. - **Lipsync-Betten-Trick** (`sync-lipsync-3`, ~$0.134/s): Audio-Bett in exakter Shot-Länge bauen (Stille + Zeile an der Sollstelle via adelay/apad) → lipsyncen → der Mund sitzt an der geplanten Stelle. Rückenansichten brauchen keinen Lipsync. Sync-Outputs sind 720p und manchmal Frames kürzer → im Schnitt IMMER `tpad=stop_mode=clone` vor `-t`. - **Atmo-Regel:** Lipsync-Outputs tragen nur das Sprach-Bett. Raumton IMMER aus den ORIGINAL-Shots ziehen und unter Sprechfenstern ducken (~0.35) — sonst brabbelt das Modell-Audio rein. - **Spur-Architektur:** getrennte WAVs für O-Ton / Atmo / Score / Foley → `amix normalize=0` → `loudnorm I=-14:TP=-1`. WAVs sind auflösungsunabhängig — jeder spätere Bake nutzt sie unverändert. - **Song-Timing: ElevenLabs Scribe, NIE Whisper.** Whisper driftet bei Musik ~6 s und halluziniert Strukturen; Scribe traf 448/448 Wörter inkl. geschriener Gang-Vocals. Whisper nur für Sprache ohne Musikbett (dort ist es das Prüfwerkzeug: transkribieren statt hören). - **Suno stellt Lyrics um** → Schnittstruktur nie vom Textblatt ableiten, immer messen. - **Foley passgenau:** Transienten per PCM-RMS-Fenster finden (kumulative Suche verrutscht), ElevenLabs-SFX (`/v1/sound-generation`) auf den Frame layern. UI/Menü-Einblendungen bekommen eigene Sounds — vorher als Asset generieren. ## 5 · Schnitt, Text-Ebene, Finish - **Text ist eine EIGENE Ebene.** Clean-Master ganz ohne Text schneiden (auch Cards zählen als Text). Satz-Subs statt Karaoke. Typografie ernst nehmen: echtes Satzsystem (Display-Serif + Text-Serif + Mono für Labels, Grundlinien, echte „" –, optischer Randausgleich) statt PIL-Defaults — und ein Typo-Blatt zur Freigabe VOR dem Einbrennen. - **Timeline-Versicherung:** Segment-Grenzen als Assertion prüfen (Lücke = Abbruch statt Drift); jedes Stück tpad-clonen; Vor concat Audio vereinheitlichen (`aformat=sample_rates=48000:channel_layouts=stereo`). - **Overlay-Fallen:** `-loop 1` + mehrere Ebenen = Endlos-Render → immer `-t` am Output. Overlays IMMER an echten Frames sichtprüfen (`ffmpeg -ss t -frames:v 1`), nie am nackten PNG. Schwarz-auf-schwarz nie mit colorkey keyen → Flood-Fill-Matte. - **Finish-Reihenfolge: Upscale VOR Text-Bake.** Clean hochrechnen (z. B. ByteDance-2k, ~$0.0144/s), dann Typo in nativer Zielauflösung einbrennen; Schärfung (unsharp) aufs BILD vor den Overlays, nie über den Text. Upscaler-Falle: bei zu großem Input kommt klaglos die Default-Auflösung zurück → Output-AUFLÖSUNG prüfen, nicht den Job-Status. Upload-Caps (~100 MB) → Master an harten Schnittkanten verlustfrei splitten (`concat -c copy`), Teile ≤25 s. - **9:16 aus 16:9:** eigener Crop + EIGENE Portrait-Typo (Breitenfaktor je Sub prüfen) — nicht das Querformat-Layout hineinquetschen. ## 6 · Safety-Filter (Google, Code 1200) — Praxis - Der Filter beurteilt das GENERIERTE Video, nicht den Prompt: derselbe Prompt kann durchgehen und abgelehnt werden. **Erst identisch wiederholen** (Fehlversuche kosten $0), erst nach mehreren Ablehnungen umschreiben. - Flag-Magneten: ruhige warme Nahaufnahme junger Figuren; Alters-/Haut-Vokabular; Anatomie-Wörter; auch NEGATIV-Sätze zählen („no writing on his skin" = Haut-Fokus → Verbote aufs Material richten). Keine Waffen-Verben Richtung Personen. - Ellipsen im Sprechtext lesen Modelle als „improvisier weiter" → kurze Zeilen ohne „…", mit Wortzahl schließen („exactly two words, nothing else"). ## 7 · Arbeitskultur (macht den Unterschied) - **Erst Konzepte zeigen, dann bauen.** Der Mensch entscheidet an Gates, nicht am Ende. - **Playbook führen:** jede teuer gelernte Regel sofort dokumentieren, mit Datum und Lehrgeld — sonst zahlst du sie doppelt. Widerlegte Regeln explizit als widerlegt markieren (Registry-Wissen veraltet!). - **A/B nur mit Diagnose:** ein Duell ohne Fehlerklassen-Analyse ist Geldverbrennung. - **Verifiziere, was du nicht wahrnehmen kannst:** Audio → Transkript (Whisper/Scribe), Video → Frame-Grids + Zoom-Crops, Länge/Auflösung → ffprobe. Niemals „wird schon passen" liefern. ================================================================================ 4. PROMPTO-GUIDE Quelle: foundation/ki-prompto-guide.md ================================================================================ # PROMPTO-GUIDE FÜR KI-SYSTEME *Was Prompto Studio ist und wie du als Assistent damit produzierst. Stand 03.08.2026. Gehört zusammen mit `foundation-fuer-ki.txt` (die Lehren) und `folgen-rezept.txt` (der Produktionsablauf). Zugang wird über das chazon studio vergeben.* ## 1 · Was Prompto ist Ein Renderer-Stack als **MCP-Server**: ~50 Modelle (Bild, Edit, Video, Upscale, Audio, Utility) hinter einheitlichen Tools, mit Budget-Verwaltung über mehrere Provider (fal, WaveSpeed, Runware, ElevenLabs). Du sprichst NIE direkt mit den Provider-APIs — du sprichst mit Prompto. **Die Tools:** | Tool | Zweck | |---|---| | `list_models` | Registry abfragen: model_key, Preis, refMode/maxRefs, Fähigkeiten. Filter: group/kind/q | | `get_prompt_guide` / `enhance_prompt` | Prompt-Hilfen je Modell | | `generate` | DER bezahlte Call: model_key + prompt + primary/end/refs (Asset-IDs ODER URLs) + options | | `job_status` | Status + signierte Output-URLs (1 h gültig) + Ist-Kosten | | `import_media` | externe Datei in den Asset-Pool holen | | `balance` | Budget je Provider — vor UND nach jeder Session aufrufen | | `list_werke` | Galerie / bereits gerenderte Assets finden | **Grundmuster:** `list_models` → `generate(wait=false)` → `job_status` pollen → Output-URL laden → lokal sichern. Jedes Output wird ein **Pool-Asset mit ID** — diese IDs sind deine Referenzen für alle Folge-Renders (Edit-Ketten, Video-Refs). `wait=true` kann in MCP-Timeouts laufen, obwohl der Job durchläuft → bei Timeout NIE blind neu rendern, erst `list_werke`/`job_status` prüfen. ## 2 · Die Modell-Landkarte (kuratiert, Preise = günstigster Provider) **Bild (Sets, Designs, Startframes):** - `recraft-v4` 0.04–0.25 $/Bild — DESIGN-Monster: Szenenbilder, Marken-Grafik, akkurater In-Bild-Text, Palette via Hex. **refMode none → NIE für wiederkehrende Figuren.** Auch als `-vector` (echte SVG) und `-utility` (Packshots). - `nano-banana-2` 0.08 $ / `-pro` 0.15 $ — Gemini-Bild: Text mehrsprachig buchstabengetreu, bis 14 Refs, Seed-Support (777 = Hausstandard). - `seedream-v5` 0.035 $ — schnelles Fotoreal-4K, auto Multi-Ref. - `ideogram-v4-tiling` — nahtlose Patterns/Texturen. **Edit (Figur ins Set, gezielte Änderungen):** - `nano-banana-2-edit` 0.08 $ — DER Standard: „keep X, change Y", hält Szene und Identität, bis 14 Refs. Die „Photoshop-Ebene" jeder Compose-Pipeline. - `seedream-v5-lite-edit` 0.035 $ — halber Preis für Massen-Edits, weniger chirurgisch. - `pruna-p-image-edit` 0.01 $ — Draft-Tier zum billigen Iterieren. **Video (jedes hat seine Qualitäten — Split fahren!):** - `kling-o3-ref` 0.112 $/s (~720p, `-pro` 0.14 $/s 1080p) — **ref2v-Arbeitspferd:** 1–7 Refs als @Image1..N, hielt 7 Figuren mit Kanon-Handlung in EINEM Clip. Deutsch sprechen kann es NICHT (Sprachroute: TTS + sync-lipsync-3). - `kling-v3-pro` 0.168 $/s — i2v/t2v 1080p, harte Start+End-Landung, bestes Atmo-Sounddesign. Fehlerklasse Objekt-Kleber (lose Requisiten). - `seedance-2-pro` ~0.16–0.24 $/s — SOTA-Qualität + synced Audio + **Multishot in einer Generation** („Shot 1: … Shot 2: …"), hält 2 Charakter-Refs über Schnitte. `-fast`/`-mini` als Budget-Stufen. - `gemini-omni-flash` ~0.13 $/s — spricht (DE + viele Sprachen, lippensynchron), aber nur EIN Sprecher pro Generation; strenger Google-Safety-Filter. - `minimax-h3` 0.13 $/s — 2K + nativer Ton, ABER: ersetzt Identitäten bei nur 1 Ref/Figur → mehrere Sheet-Ansichten mitgeben oder Kling O3 nehmen. - `vidu-q2-ref` 0.30 $ FLAT/Clip — billiger Konsistenz-PREVIEW vor teuren Finals (Gesichter checken, Requisiten-Glitches ignorieren). - `pixverse-c1-ref` 0.05 $/s — natives 9:16 mit subject/background-Refs. - `grok-imagine-ref` 0.05 $/s flat — billiges ref2v, Ref-Budget FÜLLEN (5+ Refs). - `omnihuman-15` 0.16 $/s — sprechende Figur aus 1 Ref-Bild + Audio-File (deutsch funktioniert exzellent); Regie: halbnah ran, Kamera in den Prompt. **Finish & Utility:** - `bytedance-video-upscaler` 0.0072 $/s — 1080p/2k/4k mit Face-Enhance, DER Standard-Upscaler (Regeln: Clean ohne Text hochrechnen, Output-AUFLÖSUNG prüfen, Teile ≤25 s / <50 MB, `target_resolution` heißt der Param, tpad-Normalisierung). - `sync-lipsync-3` 0.134 $/s — Lipsync auf fertiges Material (95+ Sprachen, singt auch); Frontalgesicht Pflicht, Output 720p, Betten-Technik s. Rezept. - `topaz-upscale-*` — Referenz-Qualität für kritische Einzelstücke. - `bria-remove-bg` / `bria-expand` / `bria-video-bg` — Freisteller, Outpaint. - `elevenlabs-music/-sfx/-tts` — Score, Foley, Voiceover (bei eigenem ElevenLabs-Key: direkt v3 mit Audio-Tags + Library-Voices, s. Foundation §4). ## 3 · Referenz-Logik (der wichtigste Begriff) - `primary` = i2v-Startbild („animiere DIESES Bild"). `refs` = ref2v-Referenzen („baue aus DIESEN Zutaten"). **Beides zusammen kippt i2v in ref2v** — die teuerste Falle des Hauses. Locks gehören ins Startbild, nicht in den Video-Call. - Figuren-Identität lebt in **Kanon-Assets** (Character-Sheets, Ganzkörper auf Grau, Turnaround-Blätter) im Pool. Jede Produktion beginnt damit, diese IDs bereitzulegen. Ohne Kanon-Ref keine Figur — Gesetz. - Edit-Ketten sind legitim (Set → Figur rein → Requisite anpassen), solange das erste Glied ein Kanon-Asset ist. ## 4 · Geld & Verhalten - `balance` zeigt Guthaben je Provider. Router nimmt den günstigsten; `provider`-Pin ist möglich, wird aber nicht bei jedem Modell respektiert — Ist-Provider steht in der generate-Antwort. Absprache im Haus: klären, WELCHER Topf gerade geschont wird, bevor du Volumen fährst. - Faustpreise einer 105-s-Doku-Folge (SER-03, komplett): Sets+Figuren+Startframes ~8 $ · 12 Shots ~25 $ · Stimmen/Lipsync ~8 $ · Zwischenszenen ~12 $ · 2k-Finish ~1.5 $ → **~60 $ gesamt** inkl. Retries. - Moderations-Flags einzelner Assets blockieren die Weiterverwendung als Edit-Input NICHT zwingend — prüfen statt annehmen. Fehlversuche mit Flag kosten nichts; identischen Prompt erst wiederholen (Filter würfelt). ================================================================================ 5. FOLGEN-REZEPT Quelle: foundation/ki-folgen-rezept.md ================================================================================ # FOLGEN-REZEPT — Wie eine Episode entsteht *Der komplette Produktionsablauf des chazon studio, destilliert aus SER-03 „Wer trägt das Haus?" (105 s Doku-Teaser, ~60 $). Für Menschen UND Assistenten. Voraussetzung: Prompto-Zugang (s. prompto-guide) und Kanon-Assets der Figuren. Jede Phase endet an einem GATE: der Mensch sichtet und gibt frei — nie überspringen.* ## Phase 0 · Idee & Drehbuch (0 $) 1. **Hook wählen** (Trigger-Dimension × Thema — das Haus führt eine Hook-Matrix; jede Folge bedient eine noch offene Zelle). 2. **Kanon lesen**, bevor du schreibst: Welt-Regeln, Figuren-Register (wer spricht wie), was frühere Folgen schon verbraucht haben. 3. **Drehbuch als Shot-Tabelle**: pro Shot Nummer, Zeitfenster, Bildbeschreibung (Kadrage! z. B. 3/4-Shot, American, Dutch), O-Ton-Text, Kamera-Verhalten. 90–105 s ≈ 12–15 Shots. Regie-Grundsätze: keine weiten Shots (KI-Weite wirkt unecht), Interviews knapp neben die Linse, Ton = Handwerk. 4. Drehbuch als lesbares Dokument ausliefern → **GATE: Text-Freigabe.** ## Phase 1 · Sets & Kostüme (~1–3 $) - Je Location EIN Set-Still: `recraft-v4` (realistic_image, quality pro, Palette als Hex im Prompt). Material, Licht, Kleinstdetails beschreiben. - Kostüm-/Requisiten-Fassungen der Figuren: `nano-banana-2-edit` auf den Kanon-Ganzkörpern (NIE referenzlos!). - Sets doppeln als Look-Bibel UND als Raum-Refs für Video-Shots. → **GATE: Szenenbild-Sichtung.** ## Phase 2 · Startframes (~1–2 $) - Pro Shot ein **komponierter Startframe**: `nano-banana-2-edit`, primary = Set-Still, refs = [Figur in Kostüm-Fassung]. 16:9 explizit anfordern. - **Requisiten-Regel:** Was die Figur nicht sauber greift, klebt später im Video. Hand-Kontakt explizit bauen oder Requisit streichen. - Licht-Logik je Raum prüfen (Fensterseite = Lichtseite, kein Frontal-Fill). → **GATE: alle Startframes am Stück sichten.** ## Phase 3 · Shots (~20–30 $) Model-Split je Shot-Typ (Preise/Details im prompto-guide): - Bewegung/Ensemble/Kamera-Folgen → `kling-o3-ref` (Startframe als @Image1 + Figuren-Refs; Verhalten hart positiv prompten). - Statische Interviews/Talking-Heads → `kling-v3-pro` i2v vom Startframe. - FX, Rituale, Makros, Multishot-B-Roll → `seedance-2-pro` (Shot 1..4 in einem Prompt; Hand-Choreo einfach halten). - Unsicher bei Konsistenz? Erst `vidu-q2-ref`-Preview (0.30 $ flat), dann final. - Jeden Shot einzeln sichten (BEWEGTBILD, nicht Frames — Kleber/Drift sieht man nur im Video). Ein Fehlversuch → Ursache verstehen → EIN Retry. → **GATE: Shot-Abnahme.** ## Phase 4 · Stimmen (~1–3 $) - Jede Figur hat eine EIGENE Voice-ID aus der ElevenLabs-Library (Stimmen-Register des Hauses; nie die Premade-Defaults). Neue Figur → erst casten (2 Kandidaten, Anhör-Gate). - O-Töne in eleven_v3 mit Audio-Tags + stability je Figur; Emotionsregie aus dem Steckbrief. Länge messen — sie bestimmt den Schnitt. → **GATE: Anhörprobe.** ## Phase 5 · Lipsync & Schnitt (~5–8 $) - **Betten-Technik:** je Sprech-Shot ein Audio-Bett in exakter Shot-Länge bauen (Stille + O-Ton an der Soll-Stelle) → `sync-lipsync-3(video=Shot, audio=Bett)`. Rückenansichten brauchen keinen Lipsync. - Schnitt als Skript (ffmpeg): Timeline-Tabelle mit Assertion (Lücke = Abbruch), `tpad=stop_mode=clone` in jedem Stück, Audio vor concat vereinheitlichen. - **5 Tonspuren:** O-Ton (adelay-Mix) · Atmo (aus ORIGINAL-Shots, unter Sprache auf ~0.35 geduckt) · Score (Ducking + Endfade) · Foley (Transienten messen, ElevenLabs-SFX passgenau) · UI-Sounds für Einblendungen. → loudnorm I=-14. - Score: Suno (Prompt vom Studio, Mensch wählt die Datei) oder `elevenlabs-music`. → **GATE: 480p-Proof am Handy, mehrere Runden einplanen.** ## Phase 6 · Text-Ebene (0 $, aber Sorgfalt) - Eigenes Satzsystem statt Rohtext: Display-Serif + Text-Serif + Mono-Labels, Grundlinien, echte Anführungszeichen, optischer Randausgleich. - Namens-Subs mit Wiedererkennungs-Element (im Haus: Messingscheibe mit Registernummer), Titeltafel, Abschlusstafel, Endcard mit Pflichtangaben (inkl. „KI-GENERIERT"), Sender-Ident → Logo-Bug. - **Typo-Blatt zur Freigabe VOR dem Einbrennen.** → **GATE.** ## Phase 7 · Finish (~1.5 $) 1. Clean-Master OHNE Text bauen (exakte Solldauer). 2. An Segmentgrenzen splitten (Teile ≤25 s, <50 MB). 3. `bytedance-video-upscaler` auf 2k; Output-AUFLÖSUNG verifizieren. 4. tpad-Normalisierung auf exakte Teildauern → concat. 5. Text-Bake in nativer Zielauflösung (unsharp aufs Bild VOR den Overlays). 6. 9:16-Fassung: eigener Crop + EIGENE Portrait-Typo, nie gequetscht. 7. Beide Fassungen frame-verifizieren (Ident, Titel, Subs, Endcard) + ffprobe. → **GATE: Endabnahme durch den Menschen → publish.** ## Nachlauf (Pflicht) - Render-Log abschließen (jede Generation mit ID, $, Befund). - Neue Lehren ins Playbook/die Foundation — sonst zahlt sie das nächste Projekt nochmal. Balance-Check und Kosten-Summe melden. ================================================================================ 6. STIMMEN-REGISTER Quelle: stimmen/register-stimmen.md ================================================================================ # Stimmen-Register — eindeutige Voice-IDs fürs chazon-Ensemble **Status: CASTING — Dennis hört ab.** Sichtungs-Oberfläche ist das **Arbeitsbuch** (chazon.eu/arbeitsbuch → Sektion **STIMMEN**: Reiter *Kanon* mit den verbindlichen Voice-IDs aus `voices.json`, Reiter *Cast* mit Bild + Voiceline in v3 + Playbutton je Figur, Reiter *Casting-Archiv* mit dem Anhörbogen). №1 je Figur gilt als **vorläufiger Kanon**, bis Dennis umbesetzt. Auch alle B-Sieger sind im Account und v3-verifiziert (Kanon-Zitate als Proben, 03.08.2026). Anlass: Die SER-03-O-Töne liefen auf ElevenLabs-**Premade**-Stimmen (Chris, Alice, Matilda, George, Bill …) — die benutzt jeder, darum der generische Klang. Ersatz aus der Voice Library: 949 deutsche Professional-Voices gescannt (Scheiben gender × age), 12 Casting-Agenten je Figur/Gruppe mit Steckbrief aus `ensemble/register.md`. ## Kandidaten (№1/№2 je Figur; A-Cast zusätzlich №3/№4 als Preview im Bogen) | Figur | №1 | №2 | |---|---|---| | **A — Sprechrollen SER-03** (Probe = Charakterzeile in eleven_v3) | | | | Jonte, 29 | Simon – Relatable and Normal `K5ZVtkkBnuPY6YqXs70E` | Lucius – Atmospheric `wMFkufwPhnaWjRJqckhy` | | Serpil, 47 | Irene – Reflective thinking `ZswvODxwIaNVszyBPqBF` | Manuela – Tough & Stern `NXPjm72TUkVcNolMJ3oZ` | | Amália, 71 | Lucinda – Earthy and Wise (pt!) `fs3nd19KF2GO2hLTzkBm` | Azu – Calm, Soft `D3ws14YxTqcjPaXEOehR` | | Lidia, 52 | Kathi – Soft Eastern Accent `xciokMVqDjQfqVZMjsxz` | Berta Berlin – Cheeky `CoFoB7a7PXA8RBsMHbua` | | Mai, 38 | Louisa – Bold, Strong `ZQFCSsF1tIcjtMZJ6VCA` | Manuela (s. Serpil!) | | Adnan, 35 | Mucki – Warm Multicultural `QH8VhqPlvojA1z1ffu3J` | Gjango `wZUI6Qb377V1PsC35d6y` | | Fenna, 19 | Anna – Excited & Journalistic `DEZHhPbmb8LVZmWufkCh` | Skittle Bee – Fresh | | Aurel, 81 | Elderbark – Rooted and Deep `2HmIg4yvRgcH2ZDgiwGz` | Georg – Funny/brüchig `LRpNiUBlcqgIsKUzcrlN` | | Interviewer | Sam – Cozy, Warm & Familiar `XUjIlSlGtOp4c6lq8Lbz` | Hannes – Grounded `GZckiELWRyqX481UWTDl` | | **B — Rest des Registers** (nur Library-Previews) | | | | **Chai, 22 — KANON** | **Andi Freitag `UFMIjG2r9JyefPpfkQoL`** (Studio-Entscheid 03.08.: Torsten „passt nicht wirklich zu ihm, zu wenig Dynamik" — Andi mit dichter Satz-Regie und stability 0.15 gewählt, Whisper-geprüft) | ~~Torsten – Emotional and Strange~~ (Slot freigegeben) | | **Lana, Nr. 21 — KANON** | **Julia – Calm and Flattering `KbSC2XTZL12xT3fm2fcD`** (Studio-Entscheid 03.08., Whisper-geprüft, Tempo 5.4s vs. 6.6s) | ~~Lana Weiss~~ (Meditations-Duktus — Anti-Eso-Tonalität; Slot freigegeben) | | **Kali (LOR-03) — KANON** | **Ela – Hopeful, Bright and Vibrant `HRIShmNY56JGHVU1vXIt`** (Studio-Entscheid 04.08.: urban, jung, Mitte zwanzig — modern und ohne Ehrfurcht) | **RAGE-MODUS: Altáriel – Ancient Storyteller `oBVK5gDykyUkoVXUPyCU`** — wird in der Mischung UNTER Ela gelegt, nicht anstelle. Was bei Kali durchbricht, ist nicht Wut, sondern das Uralte. | | Marlies, 64 | Elinor – The Gruff Aunt `gDQfVolj9RbmXgumLcOq` | Nörgel Nadja | | Kwame, 56 | Mardi – Wise, Perceptive `k0SrkBhoclG2PVu0EFbv` | Gjango (s. Adnan!) | | Roland, 61 | Frederick – Deep and Historical `uVKHymY7OYMd6OailpG5` | Ingo – Smoky `Ufw9qrrxOQdqaJddGE0m` | | Tadek, 44 | Lazarus – Jaded, Sophisticated `M9PBBTZ5jyknwzAesEA3` | Mucki (→ Adnan, Vermerk) | | Henrike, 33 | Ela – Dry & Calm `e3bIMyLemdwvh75g9Vpt` | Emily E. (sächsisch) | | Ioana, 26 | Ithaka – Emotional/Narrative `b07hJVVJyFDBHxFNr1Qb` | Elena (bg, unbewährt) | | Nino, 41 | Martin Korwitz `fxopXUav3fg2eVgxhWiX` | Tim – cold & hoarse | | Sepp, 68 | Helmut – Polite and Mild (AT) `bRIX82ywyYryS8320ZVY` | Peter – Austrian dialect | | Detlef, 59 | Mr. Doppelgänger – Snarky Bureaucrat `5EuW3ornwqE66qGtnlMI` | Markus – Deutsch (Berlin) | ## REGIE-DICHTE (Dennis, 03.08.2026) — gilt für alle Sprechrollen Ein Audio-Tag pro Absatz reicht nicht: Die erste Fassung der Ansprache-Trilogie klang korrekt, aber flach („ich spür es nicht"). Kanon ist seitdem **ein eigener Regie-Tag pro Satz**, der die Farbe wechselt — rufend → weich → aufzählend → herausplatzend → bitter → Flüstern → Explosion. Dazu **stability 0.15–0.20** statt 0.35–0.5. Whisper-Check bleibt Pflicht: bei dieser Tag-Dichte könnten Anweisungen mitgesprochen werden (bei der LOR-02-Trilogie taten sie es nicht, 3/3 wortwörtlich). ## Konflikt-Auflösungen (eine Stimme = eine Figur) - **Mucki**: Adnan №1 und Tadek №1 → Adnan (A-Cast-Vorrang); Tadek: Lazarus. - **Frederick**: Roland №1 und Aurel №3 → Roland. - **Manuela**: Serpil №2 UND Mai №2 — kann nur eine bekommen. - **Gjango**: Adnan №2 und Kwame №2. · **Elinor**: Marlies №1, Lidia №4 → Marlies. ## Technik / Stand - 17 Library-Voices in den Account geholt (`casting/slots.json`: Library-ID → Account-ID; Slots 17/30). Nach Dennis' Wahl: Verlierer per `DELETE /v1/voices/{id}` freiräumen, B-Cast-Sieger nachholen → Endstand ~19 Slots. - Proben: `probe_casting.py` (eleven_v3, Audio-Tags, stability je Figur). Kosten: 898 Zeichen. - Katalog-Snapshot: scratchpad `voice-catalog-de.json` (flüchtig); Kandidaten + Begründungen dauerhaft in `casting/anhoerbogen-daten.json`. - Nach Freigabe: Tabelle hier auf „KANON" stellen, Voice-IDs in `ensemble/register.md` je Steckbrief nachtragen, Memory aktualisieren. ================================================================================ 7. REFERENZ-VERZEICHNIS Quelle: arbeitsbuch/INHALT.md ================================================================================ # Arbeitsbuch — Inhaltsverzeichnis **282 Assets in 27 Kategorien.** Automatisch erzeugt von `sammle_assets.py`. Nicht von Hand pflegen — bei Änderungen das Skript laufen lassen, dann stimmt es wieder. Jede Datei ist unter `https://chazon.eu/arbeitsbuch/` erreichbar und kann in jedem Job direkt als Referenz angegeben werden. ## Hauptfiguren — Kanon-Blätter (13) - **Chai · Hauptmerkmale** — `suite/full/haupt-chai-hauptmerkmale.jpg` - **Source Open · Hauptmerkmale** — `suite/full/haupt-source-open-hauptmerkmale.jpg` - **Lana · Hauptmerkmale** — `suite/full/haupt-lana-hauptmerkmale.jpg` - **Chai · Turnaround (Kanon)** — `suite/full/haupt-chai-turnaround-kanon.jpg` - **Chais Stab · Turnaround (Kanon)** — `suite/full/haupt-chais-stab-turnaround-kanon.jpg` - **Chai · Charactersheet** — `suite/full/haupt-chai-charactersheet.jpg` - **Chai · Ganzkörper** — `suite/full/haupt-chai-ganzkorper.jpg` - **Source Open · Charactersheet** — `suite/full/haupt-source-open-charactersheet.jpg` - **Source Open · Ganzkörper** — `suite/full/haupt-source-open-ganzkorper.jpg` - **Lana · Charactersheet** — `suite/full/haupt-lana-charactersheet.jpg` - **Lana · Ganzkörper** — `suite/full/haupt-lana-ganzkorper.jpg` - **Ori · Companion** — `suite/full/haupt-ori-companion.jpg` - **Ori · Aktivierungsstufen** — `suite/full/haupt-ori-aktivierungsstufen.jpg` ## Ensemble — Charactersheets (17) - **Aurel Wieck · Sheet** — `suite/full/sheets-aurel-wieck-sheet.jpg` - **Serpil Kaya · Sheet** — `suite/full/sheets-serpil-kaya-sheet.jpg` - **Jonte Sievers · Sheet** — `suite/full/sheets-jonte-sievers-sheet.jpg` - **Marlies Ostendorf · Sheet** — `suite/full/sheets-marlies-ostendorf-sheet.jpg` - **Kwame Asante-Berger · Sheet** — `suite/full/sheets-kwame-asante-berger-sheet.jpg` - **Amália Ferreira · Sheet** — `suite/full/sheets-amalia-ferreira-sheet.jpg` - **Roland Zschieschang · Sheet** — `suite/full/sheets-roland-zschieschang-sheet.jpg` - **Mai Bergmann · Sheet** — `suite/full/sheets-mai-bergmann-sheet.jpg` - **Tadek Wróblewski · Sheet** — `suite/full/sheets-tadek-wroblewski-sheet.jpg` - **Henrike Loos · Sheet** — `suite/full/sheets-henrike-loos-sheet.jpg` - **Sepp Aichinger · Sheet** — `suite/full/sheets-sepp-aichinger-sheet.jpg` - **Nino Baldassare · Sheet** — `suite/full/sheets-nino-baldassare-sheet.jpg` - **Ioana Petrescu · Sheet** — `suite/full/sheets-ioana-petrescu-sheet.jpg` - **Lidia Reimer · Sheet** — `suite/full/sheets-lidia-reimer-sheet.jpg` - **Detlef Kurzweil · Sheet** — `suite/full/sheets-detlef-kurzweil-sheet.jpg` - **Fenna Ghebremedhin · Sheet** — `suite/full/sheets-fenna-ghebremedhin-sheet.jpg` - **Adnan Halilović · Sheet** — `suite/full/sheets-adnan-halilovic-sheet.jpg` ## Ensemble — Ganzkörper (17) - **Aurel Wieck · Ganzkörper** — `suite/full/ganz-aurel-wieck-ganzkorper.jpg` - **Serpil Kaya · Ganzkörper** — `suite/full/ganz-serpil-kaya-ganzkorper.jpg` - **Jonte Sievers · Ganzkörper** — `suite/full/ganz-jonte-sievers-ganzkorper.jpg` - **Marlies Ostendorf · Ganzkörper** — `suite/full/ganz-marlies-ostendorf-ganzkorper.jpg` - **Kwame Asante-Berger · Ganzkörper** — `suite/full/ganz-kwame-asante-berger-ganzkorper.jpg` - **Amália Ferreira · Ganzkörper** — `suite/full/ganz-amalia-ferreira-ganzkorper.jpg` - **Roland Zschieschang · Ganzkörper** — `suite/full/ganz-roland-zschieschang-ganzkorper.jpg` - **Mai Bergmann · Ganzkörper** — `suite/full/ganz-mai-bergmann-ganzkorper.jpg` - **Tadek Wróblewski · Ganzkörper** — `suite/full/ganz-tadek-wroblewski-ganzkorper.jpg` - **Henrike Loos · Ganzkörper** — `suite/full/ganz-henrike-loos-ganzkorper.jpg` - **Sepp Aichinger · Ganzkörper** — `suite/full/ganz-sepp-aichinger-ganzkorper.jpg` - **Nino Baldassare · Ganzkörper** — `suite/full/ganz-nino-baldassare-ganzkorper.jpg` - **Ioana Petrescu · Ganzkörper** — `suite/full/ganz-ioana-petrescu-ganzkorper.jpg` - **Lidia Reimer · Ganzkörper** — `suite/full/ganz-lidia-reimer-ganzkorper.jpg` - **Detlef Kurzweil · Ganzkörper** — `suite/full/ganz-detlef-kurzweil-ganzkorper.jpg` - **Fenna Ghebremedhin · Ganzkörper** — `suite/full/ganz-fenna-ghebremedhin-ganzkorper.jpg` - **Adnan Halilović · Ganzkörper** — `suite/full/ganz-adnan-halilovic-ganzkorper.jpg` ## SER-03 — Kittel-Fassungen (12) - **Henrike · Kittel** — `suite/full/kittel-henrike-kittel.jpg` - **Nino · Kittel** — `suite/full/kittel-nino-kittel.jpg` - **Lidia · Kittel** — `suite/full/kittel-lidia-kittel.jpg` - **Fenna · Kittel** — `suite/full/kittel-fenna-kittel.jpg` - **Adnan · Kittel** — `suite/full/kittel-adnan-kittel.jpg` - **Aurel V2 · Kittel** — `suite/full/kittel-aurel-v2-kittel.jpg` - **Aurel · Kittel** — `suite/full/kittel-aurel-kittel.jpg` - **Serpil · Kittel** — `suite/full/kittel-serpil-kittel.jpg` - **Jonte · Kittel** — `suite/full/kittel-jonte-kittel.jpg` - **Amalia · Kittel** — `suite/full/kittel-amalia-kittel.jpg` - **Roland · Kittel** — `suite/full/kittel-roland-kittel.jpg` - **Mai · Kittel** — `suite/full/kittel-mai-kittel.jpg` ## Szenen — chazon studio (SER-03) (8) - **Treppenhaus** — `suite/full/sets-treppenhaus.jpg` - **Kantine UG** — `suite/full/sets-kantine-ug.jpg` - **Tresen** — `suite/full/sets-tresen.jpg` - **Schneiderei Nord** — `suite/full/sets-schneiderei-nord.jpg` - **Saal** — `suite/full/sets-saal.jpg` - **Punzerei Süd** — `suite/full/sets-punzerei-sud.jpg` - **Küpenraum** — `suite/full/sets-kupenraum.jpg` - **Archiv 2. UG** — `suite/full/sets-archiv-2-ug.jpg` ## Gegenstände & Plates (3) - **Titelrahmen** — `suite/full/plates-titelrahmen.jpg` - **Werksschild** — `suite/full/plates-werksschild.jpg` - **Bauchbinde (verworfen)** — `suite/full/plates-bauchbinde-verworfen.jpg` ## LOR-02 — Schiff, Hangar, Cockpit (10) - **Schiff · Seite (Master)** — `suite/full/schiff-schiff-seite-master.jpg` - **Schiff · Seite gross** — `suite/full/schiff-schiff-seite-gross.jpg` - **Schiff · Front 3/4** — `suite/full/schiff-schiff-front-3-4.jpg` - **Schiff · Heck mit Glocken** — `suite/full/schiff-schiff-heck-mit-glocken.jpg` - **Schiff · Blatt** — `suite/full/schiff-schiff-blatt.jpg` - **Hangar · Tor geschlossen** — `suite/full/schiff-hangar-tor-geschlossen.jpg` - **Hangar · Dach offen** — `suite/full/schiff-hangar-dach-offen.jpg` - **Cockpit** — `suite/full/schiff-cockpit.jpg` - **Schleuse** — `suite/full/schiff-schleuse.jpg` - **Werkshalle · leer (Master)** — `suite/full/schiff-werkshalle-leer-master.jpg` ## LOR-02 — Raumanzüge (34) - **Anzüge · Blatt** — `suite/full/anzug-anzuge-blatt.jpg` - **Statisten · Raumanzug (Blatt)** — `suite/full/anzug-statisten-raumanzug-blatt.jpg` - **Hauptcrew · Raumanzug (Blatt)** — `suite/full/anzug-hauptcrew-raumanzug-blatt.jpg` - **Hauptcrew · Raumanzug 4K** — `suite/full/anzug-hauptcrew-raumanzug-4k.jpg` - **Nebencrew · Raumanzug 4K** — `suite/full/anzug-nebencrew-raumanzug-4k.jpg` - **Adnan · Anzug Rücken** — `suite/full/anzug-adnan-anzug-rucken.jpg` - **Adnan · Anzug** — `suite/full/anzug-adnan-anzug.jpg` - **Amalia · Anzug Rücken** — `suite/full/anzug-amalia-anzug-rucken.jpg` - **Amalia · Anzug** — `suite/full/anzug-amalia-anzug.jpg` - **Aurel · Anzug** — `suite/full/anzug-aurel-anzug.jpg` - **Chai · Anzug Rücken** — `suite/full/anzug-chai-anzug-rucken.jpg` - **Chai · Anzug** — `suite/full/anzug-chai-anzug.jpg` - **Detlef · Anzug** — `suite/full/anzug-detlef-anzug.jpg` - **Fenna · Anzug Rücken** — `suite/full/anzug-fenna-anzug-rucken.jpg` - **Fenna · Anzug** — `suite/full/anzug-fenna-anzug.jpg` - **Henrike · Anzug** — `suite/full/anzug-henrike-anzug.jpg` - **Ioana · Anzug** — `suite/full/anzug-ioana-anzug.jpg` - **Jonte · Anzug Rücken** — `suite/full/anzug-jonte-anzug-rucken.jpg` - **Jonte · Anzug** — `suite/full/anzug-jonte-anzug.jpg` - **Kwame · Anzug** — `suite/full/anzug-kwame-anzug.jpg` - **Lana · Anzug Rücken** — `suite/full/anzug-lana-anzug-rucken.jpg` - **Lana · Anzug** — `suite/full/anzug-lana-anzug.jpg` - **Lidia · Anzug** — `suite/full/anzug-lidia-anzug.jpg` - **Mai · Anzug Rücken** — `suite/full/anzug-mai-anzug-rucken.jpg` - **Mai · Anzug** — `suite/full/anzug-mai-anzug.jpg` - **Mai Ruestung · Anzug** — `suite/full/anzug-mai-ruestung-anzug.jpg` - **Nino · Anzug** — `suite/full/anzug-nino-anzug.jpg` - **Roland · Anzug** — `suite/full/anzug-roland-anzug.jpg` - **Sepp · Anzug** — `suite/full/anzug-sepp-anzug.jpg` - **Serpil · Anzug Rücken** — `suite/full/anzug-serpil-anzug-rucken.jpg` - **Serpil · Anzug** — `suite/full/anzug-serpil-anzug.jpg` - **Source Open · Anzug Rücken** — `suite/full/anzug-source-open-anzug-rucken.jpg` - **Source Open · Anzug** — `suite/full/anzug-source-open-anzug.jpg` - **Tadek · Anzug** — `suite/full/anzug-tadek-anzug.jpg` ## LOR-02 — Gegenstände (7) - **Werksglocke** — `suite/full/objekt-werksglocke.jpg` - **Kitzelstab** — `suite/full/objekt-kitzelstab.jpg` - **Helm mit Funkeinheit** — `suite/full/objekt-helm-mit-funkeinheit.jpg` - **Ausrüstung · Blatt** — `suite/full/objekt-ausrustung-blatt.jpg` - **Ori · Frachtkiste** — `suite/full/objekt-ori-frachtkiste.jpg` - **Mond · Plate** — `suite/full/objekt-mond-plate.jpg` - **Mais Friedenspanzerung** — `suite/full/objekt-mais-friedenspanzerung.jpg` ## LOR-02 — Ensemble-Blätter (4) - **Statisten · Blatt 4K** — `suite/full/crew-statisten-blatt-4k.jpg` - **Hauptcrew · Blatt 4K** — `suite/full/crew-hauptcrew-blatt-4k.jpg` - **Statisten · Kittel (Blatt)** — `suite/full/crew-statisten-kittel-blatt.jpg` - **Hauptcrew · Studio-Normal (Blatt)** — `suite/full/crew-hauptcrew-studio-normal-blatt.jpg` ## LOR-02 — Szenen (Startbilder) (42) - **C1 Chai 34 Crop** — `suite/full/szene-c1-chai-34-crop.jpg` - **C1 Chai 34 V2 Poolanker** — `suite/full/szene-c1-chai-34-v2-poolanker.jpg` - **C1 Chai 34** — `suite/full/szene-c1-chai-34.jpg` - **C1B Chai Verschenkt** — `suite/full/szene-c1b-chai-verschenkt.jpg` - **C3 Chai Nah V2 Poolanker** — `suite/full/szene-c3-chai-nah-v2-poolanker.jpg` - **C3 Chai Nah** — `suite/full/szene-c3-chai-nah.jpg` - **D1 Source 34** — `suite/full/szene-d1-source-34.jpg` - **D2 Schluessel** — `suite/full/szene-d2-schluessel.jpg` - **D4 Source Nah** — `suite/full/szene-d4-source-nah.jpg` - **E1 Lana 34 Crop** — `suite/full/szene-e1-lana-34-crop.jpg` - **E1 Lana 34 V2 Poolanker** — `suite/full/szene-e1-lana-34-v2-poolanker.jpg` - **E1 Lana 34** — `suite/full/szene-e1-lana-34.jpg` - **G10B Gag Schleuse** — `suite/full/szene-g10b-gag-schleuse.jpg` - **G11 Marlies Tor** — `suite/full/szene-g11-marlies-tor.jpg` - **G12 Rampe Jonte** — `suite/full/szene-g12-rampe-jonte.jpg` - **G13 Cockpit Ori** — `suite/full/szene-g13-cockpit-ori.jpg` - **G14 Dach Liftoff** — `suite/full/szene-g14-dach-liftoff.jpg` - **G15 Aufstieg Rauch** — `suite/full/szene-g15-aufstieg-rauch.jpg` - **G15 Aufstieg** — `suite/full/szene-g15-aufstieg.jpg` - **G15B Bullauge Erde** — `suite/full/szene-g15b-bullauge-erde.jpg` - **G16 Mondflug** — `suite/full/szene-g16-mondflug.jpg` - **G2A Mai Punzerei** — `suite/full/szene-g2a-mai-punzerei.jpg` - **G2B Amalia Schneiderei** — `suite/full/szene-g2b-amalia-schneiderei.jpg` - **G2C Roland Kuepe** — `suite/full/szene-g2c-roland-kuepe.jpg` - **G3 Halle Crew** — `suite/full/szene-g3-halle-crew.jpg` - **G4 Chai Ansprache** — `suite/full/szene-g4-chai-ansprache.jpg` - **G5 Jonte Kiste** — `suite/full/szene-g5-jonte-kiste.jpg` - **G6 Source Schwur** — `suite/full/szene-g6-source-schwur.jpg` - **G7 Lana Versprechen** — `suite/full/szene-g7-lana-versprechen.jpg` - **G7 Nb2 Neubau Backup** — `suite/full/szene-g7-nb2-neubau-backup.jpg` - **G8 Crew Reihe** — `suite/full/szene-g8-crew-reihe.jpg` - **G8B Serpil Liste** — `suite/full/szene-g8b-serpil-liste.jpg` - **G9 Hangar Schiff** — `suite/full/szene-g9-hangar-schiff.jpg` - **I1 Gag Eng** — `suite/full/szene-i1-gag-eng.jpg` - **J1 Marlies 34** — `suite/full/szene-j1-marlies-34.jpg` - **J1 Marlies Kanonkopf** — `suite/full/szene-j1-marlies-kanonkopf.jpg` - **Statist Anzug Reihe** — `suite/full/szene-statist-anzug-reihe.jpg` - **Statist Anzug Ruecken** — `suite/full/szene-statist-anzug-ruecken.jpg` - **Statist Kittel Ruecken V1 Nummern** — `suite/full/szene-statist-kittel-ruecken-v1-nummern.jpg` - **Statist Kittel Ruecken** — `suite/full/szene-statist-kittel-ruecken.jpg` - **W1 Gang Frame** — `suite/full/szene-w1-gang-frame.jpg` - **W2 Treppe Frame** — `suite/full/szene-w2-treppe-frame.jpg` ## LOR-03 — Kanon-Blätter (7) - **Chazon-Barke · Turnaround (Kanon)** — `suite/full/lor3-chazon-barke-turnaround-kanon.jpg` - **Kali · Master (Midjourney K5)** — `suite/full/lor3-kali-master-midjourney-k5.jpg` - **Kali · Turnaround (Kanon)** — `suite/full/lor3-kali-turnaround-kanon.jpg` - **Kali · Gesichts-Anker** — `suite/full/lor3-kali-gesichts-anker.jpg` - **Kali · Modellvergleich der Blätter** — `suite/full/lor3-kali-modellvergleich-der-blatter.jpg` - **Kali · Blatt v1 (Gesicht gedriftet)** — `suite/full/lor3-kali-blatt-v1-gesicht-gedriftet.jpg` - **Kali · Stages** — `suite/full/lor3-kali-stages.jpg` ## LOR-03 — Hauptfiguren, 4K-Blätter (6) - **Chai · Blatt 4K** — `suite/full/haupt4k-chai-blatt-4k.jpg` - **Chai · Gesichts-Anker** — `suite/full/haupt4k-chai-gesichts-anker.jpg` - **Source Open · Blatt 4K** — `suite/full/haupt4k-source-open-blatt-4k.jpg` - **Source Open · Gesichts-Anker** — `suite/full/haupt4k-source-open-gesichts-anker.jpg` - **Lana · Blatt 4K** — `suite/full/haupt4k-lana-blatt-4k.jpg` - **Lana · Gesichts-Anker** — `suite/full/haupt4k-lana-gesichts-anker.jpg` ## LOR-03 — Orte und Laufplan (11) - **R1 Außen · Terminator-Linie (Master)** — `suite/full/lor3sets-r1-auen-terminator-linie-master.jpg` - **R2 Hangar · leer (Master)** — `suite/full/lor3sets-r2-hangar-leer-master.jpg` - **R2 Hangar · mit Barke** — `suite/full/lor3sets-r2-hangar-mit-barke.jpg` - **G1 Verbindungsgang (Master)** — `suite/full/lor3sets-g1-verbindungsgang-master.jpg` - **R3 Halle der acht Grundgefühle (Master)** — `suite/full/lor3sets-r3-halle-der-acht-grundgefuhle-master.jpg` - **R4 Die Spirale (Master)** — `suite/full/lor3sets-r4-die-spirale-master.jpg` - **R5 Die Waage (Master)** — `suite/full/lor3sets-r5-die-waage-master.jpg` - **R6 Die Schattenebene (Master)** — `suite/full/lor3sets-r6-die-schattenebene-master.jpg` - **R7 Die Schlüsselkammer (Master)** — `suite/full/lor3sets-r7-die-schlusselkammer-master.jpg` - **R8 Das Konferenzrund (Master)** — `suite/full/lor3sets-r8-das-konferenzrund-master.jpg` - **Laufplan · Landefeld bis Schlüsselkammer** — `suite/full/lor3sets-laufplan-landefeld-bis-schlusselkammer.jpg` ## LOR-03 — Startframes (3) - **B1 Anflug · über die Terminator-Linie** — `suite/full/lor3frames-b1-anflug-uber-die-terminator-linie.jpg` - **B2 Landung · im Hangar** — `suite/full/lor3frames-b2-landung-im-hangar.jpg` - **B3 Begrüßung · Kali empfängt die Crew** — `suite/full/lor3frames-b3-begruung-kali-empfangt-die-crew.jpg` ## Kanal — YouTube-Grafik (6) - **Banner · Schrift links (Empfehlung)** — `suite/full/kanal-banner-schrift-links-empfehlung.jpg` - **Banner · Schrift mittig** — `suite/full/kanal-banner-schrift-mittig.jpg` - **Banner · Kontrollbogen mit Sichtfeldern** — `suite/full/kanal-banner-kontrollbogen-mit-sichtfeldern.jpg` - **Kanalbild · Source Open** — `suite/full/kanal-kanalbild-source-open.jpg` - **Kanalbild · Probe in 176/88/48 px** — `suite/full/kanal-kanalbild-probe-in-176-88-48-px.jpg` - **Banner · Platte ohne Schrift** — `suite/full/kanal-banner-platte-ohne-schrift.jpg` ## Schnittplatz — Blätter der Kette (4) - **Raum-Master · Schnittplatz leer** — `suite/full/schnittplatz-raum-master-schnittplatz-leer.jpg` - **Mitbringsel · acht Requisiten** — `suite/full/schnittplatz-mitbringsel-acht-requisiten.jpg` - **Bildschirme · acht Arbeitszustände** — `suite/full/schnittplatz-bildschirme-acht-arbeitszustande.jpg` - **Ori am Schnittplatz · Startmotiv** — `suite/full/schnittplatz-ori-am-schnittplatz-startmotiv.jpg` ## ZAPP-01 — die Kanäle (15) - **01 · Krimi 1972** — `suite/full/zapp-01-krimi-1972.jpg` - **02 · Sitcom** — `suite/full/zapp-02-sitcom.jpg` - **03 · Kung-Fu 1974** — `suite/full/zapp-03-kung-fu-1974.jpg` - **04 · Nachtaction 1983** — `suite/full/zapp-04-nachtaction-1983.jpg` - **05 · Testbild** — `suite/full/zapp-05-testbild.jpg` - **06 · Teleshopping 1994 — der Diebstahl** — `suite/full/zapp-06-teleshopping-1994-der-diebstahl.jpg` - **07 · Degenkampf 1959** — `suite/full/zapp-07-degenkampf-1959.jpg` - **08 · Bollywood 1978** — `suite/full/zapp-08-bollywood-1978.jpg` - **09 · Puppenspiel 1985** — `suite/full/zapp-09-puppenspiel-1985.jpg` - **10 · Nachtprogramm 1994** — `suite/full/zapp-10-nachtprogramm-1994.jpg` - **11 · Der Zapper** — `suite/full/zapp-11-der-zapper.jpg` - **12 · Der zweite Zapper** — `suite/full/zapp-12-der-zweite-zapper.jpg` - **13 · Das Handy — Blackout** — `suite/full/zapp-13-das-handy-blackout.jpg` - **14 · Mondbasis · eingeschlafen** — `suite/full/zapp-14-mondbasis-eingeschlafen.jpg` - **15 · Die Rückgabe** — `suite/full/zapp-15-die-ruckgabe.jpg` ## ZAPP-01 — Sender und Requisit (2) - **Zehn Senderkennungen · je Epoche ein chazon.eu** — `suite/full/zappkanon-zehn-senderkennungen-je-epoche-ein-chazon-eu.jpg` - **Chais Stab · Requisiten-Blatt mit drei Bergkristallen** — `suite/full/zappkanon-chais-stab-requisiten-blatt-mit-drei-bergkristal.jpg` ## ZAPP-01 — Kontaktbögen je Kanal (15) - **Kontaktbogen · Krimi** — `suite/full/zappbogen-kontaktbogen-krimi.jpg` - **Kontaktbogen · Zorro** — `suite/full/zappbogen-kontaktbogen-zorro.jpg` - **Kontaktbogen · Zapper** — `suite/full/zappbogen-kontaktbogen-zapper.jpg` - **Kontaktbogen · Zapper2** — `suite/full/zappbogen-kontaktbogen-zapper2.jpg` - **Kontaktbogen · Handy** — `suite/full/zappbogen-kontaktbogen-handy.jpg` - **Kontaktbogen · Rueckgabe** — `suite/full/zappbogen-kontaktbogen-rueckgabe.jpg` - **Kontaktbogen · Schlaf** — `suite/full/zappbogen-kontaktbogen-schlaf.jpg` - **Kontaktbogen · Kungfu** — `suite/full/zappbogen-kontaktbogen-kungfu.jpg` - **Kontaktbogen · Sitcom** — `suite/full/zappbogen-kontaktbogen-sitcom.jpg` - **Kontaktbogen · Nachtaction** — `suite/full/zappbogen-kontaktbogen-nachtaction.jpg` - **Kontaktbogen · Teleshopping** — `suite/full/zappbogen-kontaktbogen-teleshopping.jpg` - **Kontaktbogen · Testbild** — `suite/full/zappbogen-kontaktbogen-testbild.jpg` - **Kontaktbogen · Muppet** — `suite/full/zappbogen-kontaktbogen-muppet.jpg` - **Kontaktbogen · Nachtprogramm** — `suite/full/zappbogen-kontaktbogen-nachtprogramm.jpg` - **Kontaktbogen · Bollywood** — `suite/full/zappbogen-kontaktbogen-bollywood.jpg` ## Chazonweg — die drei Orte (9) - **Trinkhalle · Platte** — `suite/full/cwsets-trinkhalle-platte.jpg` - **Trinkhalle · Textblatt · jedes lesbare Schild** — `suite/full/cwsets-trinkhalle-textblatt-jedes-lesbare-schild.jpg` - **Trinkhalle · Szenen-Blatt · acht Ansichten** — `suite/full/cwsets-trinkhalle-szenen-blatt-acht-ansichten.jpg` - **Treppenhaus · Platte** — `suite/full/cwsets-treppenhaus-platte.jpg` - **Treppenhaus · Textblatt · Klingelbrett und Aushang** — `suite/full/cwsets-treppenhaus-textblatt-klingelbrett-und-aushang.jpg` - **Treppenhaus · Szenen-Blatt** — `suite/full/cwsets-treppenhaus-szenen-blatt.jpg` - **Küche · Platte** — `suite/full/cwsets-kuche-platte.jpg` - **Küche · Textblatt · Einkaufsliste und Kalender** — `suite/full/cwsets-kuche-textblatt-einkaufsliste-und-kalender.jpg` - **Küche · Szenen-Blatt** — `suite/full/cwsets-kuche-szenen-blatt.jpg` ## Chazonweg — die zweite Kamera je Ort (3) - **K5 · Trinkhalle von INNEN durch die Luke** — `suite/full/cwkamera2-k5-trinkhalle-von-innen-durch-die-luke.jpg` - **K2 · Küche über die Arbeitsplatte, mit dem Bild an der Wand** — `suite/full/cwkamera2-k2-kuche-uber-die-arbeitsplatte-mit-dem-bild-an-.jpg` - **K3 · Treppenhaus von oben ins Treppenauge** — `suite/full/cwkamera2-k3-treppenhaus-von-oben-ins-treppenauge.jpg` ## Chazonweg — Shot-Anker (2) - **Küche · der Anker, der zwei Clips trägt** — `suite/full/cwanker-kuche-der-anker-der-zwei-clips-tragt.jpg` - **Küche · zweite Fassung** — `suite/full/cwanker-kuche-zweite-fassung.jpg` ## Chazonweg — der Ori-Bruch in fünf Materien (7) - **1 · Realbild** — `suite/full/cwregister-1-realbild.jpg` - **2 · Der Iris-Blitz** — `suite/full/cwregister-2-der-iris-blitz.jpg` - **3 · Knete** — `suite/full/cwregister-3-knete.jpg` - **4 · Der Bildriss** — `suite/full/cwregister-4-der-bildriss.jpg` - **5 · Tuschecomic** — `suite/full/cwregister-5-tuschecomic.jpg` - **6 · Science Fiction** — `suite/full/cwregister-6-science-fiction.jpg` - **7 · Der gebogene Raum** — `suite/full/cwregister-7-der-gebogene-raum.jpg` ## Chazonweg — Kontaktbögen (4) - **Kontaktbogen · Ankunft** — `suite/full/cwbogen-kontaktbogen-ankunft.jpg` - **Kontaktbogen · Register** — `suite/full/cwbogen-kontaktbogen-register.jpg` - **Kontaktbogen · Treppenhaus** — `suite/full/cwbogen-kontaktbogen-treppenhaus.jpg` - **Kontaktbogen · Trinkhalle** — `suite/full/cwbogen-kontaktbogen-trinkhalle.jpg` ## Das Spiel — die Blätter (12) - **Stil · Palette, Blickwinkel, 20 px Stufenhöhe** — `suite/full/spielblatt-stil-palette-blickwinkel-20-px-stufenhohe.jpg` - **Neun Orte · die Zonen im Überblick** — `suite/full/spielblatt-neun-orte-die-zonen-im-uberblick.jpg` - **Terrain · 9 Zonen × 12 Kacheln, mit Kanten und Treppen** — `suite/full/spielblatt-terrain-9-zonen-12-kacheln-mit-kanten-und-treppe.jpg` - **Cast · 5 Figuren × 8 Ansichten, mit Palettenleisten** — `suite/full/spielblatt-cast-5-figuren-8-ansichten-mit-palettenleisten.jpg` - **Nebenfiguren · wer in welcher Zone lebt** — `suite/full/spielblatt-nebenfiguren-wer-in-welcher-zone-lebt.jpg` - **Interface · Rahmen, Balken, Hexmarker, ein ganzes Alphabet** — `suite/full/spielblatt-interface-rahmen-balken-hexmarker-ein-ganzes-alp.jpg` - **Marke · Logo, Wortmarke, Palette mit Hexwerten** — `suite/full/spielblatt-marke-logo-wortmarke-palette-mit-hexwerten.jpg` - **Behälter · fünf Güteklassen, offen und geschlossen** — `suite/full/spielblatt-behalter-funf-guteklassen-offen-und-geschlossen.jpg` - **Drops · Waffen, Kräfte, Aufgabenstücke, Reittiere, das Schiff** — `suite/full/spielblatt-drops-waffen-krafte-aufgabenstucke-reittiere-das.jpg` - **Effekte · Bildfolgen für Einschlag, Kraft, Rückmeldung** — `suite/full/spielblatt-effekte-bildfolgen-fur-einschlag-kraft-ruckmeldu.jpg` - **Porträts · 4 Gesichter × 6 Ausdrücke für den Dialog** — `suite/full/spielblatt-portrats-4-gesichter-6-ausdrucke-fur-den-dialog.jpg` - **Antagonist · Mirren Vale in drei Stufen** — `suite/full/spielblatt-antagonist-mirren-vale-in-drei-stufen.jpg` ## Das Spiel — die neun Karten (9) - **Zone 01 · Village** — `suite/full/spielkarte-zone-01-village.jpg` - **Zone 02 · Riverside** — `suite/full/spielkarte-zone-02-riverside.jpg` - **Zone 03 · Forest** — `suite/full/spielkarte-zone-03-forest.jpg` - **Zone 04 · Desert** — `suite/full/spielkarte-zone-04-desert.jpg` - **Zone 05 · Snow** — `suite/full/spielkarte-zone-05-snow.jpg` - **Zone 06 · Overgrown** — `suite/full/spielkarte-zone-06-overgrown.jpg` - **Zone 07 · Vault** — `suite/full/spielkarte-zone-07-vault.jpg` - **Zone 08 · Volcanic** — `suite/full/spielkarte-zone-08-volcanic.jpg` - **Zone 09 · Portal** — `suite/full/spielkarte-zone-09-portal.jpg` ================================================================================ 8. DIAGNOSEBAUM Quelle: DIAGNOSE.md ================================================================================ # Diagnosebaum — vom Symptom zur Lösung Für den Moment, in dem ein Ergebnis nicht stimmt und man nicht das ganze Playbook lesen will. **Erst das Symptom suchen, das am nächsten an dem liegt, was man sieht — dann Ursache und Lösung lesen, dann den Beleg prüfen, wenn man dem Rezept nicht vertraut.** Quellen: `playbook.md`, `MITARBEITER.md`, `output/LOR-02/*.md`, `output/LOR-03/PLAYBOOK-LOR-03.md`, Commit-Historie, `src/lib/registry.json` (Felder `priceNote`/`job`), die Builder-Kommentare in `studio-wavespeed-submit/index.ts` und `studio-fal-submit/index.ts`. --- ## ⛔ Vor jedem Edge-Function-Deploy **Das hier steht ganz oben, weil es als einziger Punkt im ganzen Baum nicht einen Render kostet, sondern das ganze Studio anhält.** `deploy_edge_function` überschreibt die Produktion mit exakt dem, was im `files`-Parameter steht — kommentarlos und sofort. Ein Platzhalter, ein abgeschnittener String, eine vergessene Datei: die Funktion ist tot. Der Aufruf meldet trotzdem `status: ACTIVE`. **Passiert am 04.08.2026:** `studio-fal-submit` wurde mit dem Inhalt `"PLACEHOLDER"` überschrieben. Damit lag jede Generierung über fal still — nano-banana, gpt-image, recraft, LTX, Kling, Topaz. WaveSpeed und ElevenLabs liefen weiter, das Studio wirkte also nur halb kaputt, was die Suche verzögert. Die Reparatur war nicht selbst möglich: kein Access-Token vorhanden, und `supabase login` scheitert in einer nicht-interaktiven Shell. **Drei Regeln:** 1. **Dateiinhalte kommen aus der Datei, nie aus der Tastatur.** Kein Beispielwert, kein Platzhalter, kein „fülle ich gleich". 2. **Alle relativen Importe mitliefern.** `studio-fal-submit` braucht `_registry.gen.ts` und aus `_shared/`: `edge.ts`, `levers.ts`, `levers.gen.ts`, `submit-core.ts`. Fehlt eine, läuft die Funktion nicht an — auch das meldet der Deploy nicht. 3. **Nach dem Deploy den Inhalt prüfen, nicht den Status.** `get_edge_function` zeigt, was wirklich oben liegt. Erst danach ist der Deploy fertig. **Der verlässlichere Weg ist die CLI**, weil sie die Dateien selbst vom Dateisystem liest und nichts durch einen Parameter geht: ```bash SUPABASE_ACCESS_TOKEN=sbp_… npx supabase functions deploy \ --project-ref taqiwgwtflvojoohmbyh ``` Der Token liegt **nicht** im Repo und **nicht** unter `/sdcard/Download/Prompto-rebuild/` (dort liegen nur `.falkey` und `.elevenlabs`). Neu erzeugen unter supabase.com/dashboard/account/tokens. Wer ihn dort ablegt, macht künftige Deploys ohne Umweg möglich. --- ## Inhalt 1. [Das Gesicht stimmt nicht](#gesicht) — Drift, zu jung, zu glatt, fremde Person 2. [Das Objekt stimmt nicht](#objekt) — falsche Proportion, erfundene Teile, Bug/Heck vertauscht 3. [Der Raum stimmt nicht](#raum) — Anschluss zwischen zwei Räumen, Beleuchtung, Maßstab 4. [Die Bewegung stimmt nicht](#bewegung) — falsche Richtung, Statisten stehen still, kein begehbarer Weg 5. [Ton und Lipsync](#ton) — Versatz, falsche Stimme, wer spricht 6. [Es ist zu teuer geworden](#kosten) — Aufschläge, falsches Modell, falscher Zeitpunkt 7. [Das Ergebnis kam gar nicht an](#verworfen) — Feld still verworfen, 403, falsche Auflösung 8. [Der Prompt trifft nicht](#prompt) — H3-Brief-Struktur, Ziel statt Zustand, Kamera, Referenzen 9. [Die Ausspielung stimmt nicht](#ausspielung) — Deckblatt beschnitten, Seitenverhältnis erzwungen, unlesbar als Daumennagel --- ## 1 · Das Gesicht stimmt nicht ### 1.1 Ganzkörperbild als einzige Gesichts-Referenz **Symptom** — Das Gesicht einer Figur wirkt jünger, glatter, symmetrischer als im Kanon — eine andere, hübschere Person. **Ursache** — In einem Ganzkörperbild ist das Gesicht oft nur ~300 px groß (Kali: 298×192 px in einem 1600 px hohen Bild). Darin kann kein Modell eine Identität halten, es erfindet sie neu. **Lösung** — Engen Gesichts-Crop in Originalauflösung (nicht hochskaliert) als ERSTE Referenz geben, das Sheet als zweite. Im Prompt Zuständigkeit zuweisen: „REFERENCE IMAGE 1 is a close-up of her face — the ABSOLUTE AUTHORITY on her identity." Dazu ein Anti-Verschönerungs-Lock: „DO NOT beautify: no smoothing, no rounder face, no larger eyes, no symmetry correction." **Beleg** — Kali-Blatt v1, 04.08.2026, 0,16 $ Fehlversuch; Gesichts-Anker-Regel seither Kanon (Playbook, MITARBEITER.md §2). ### 1.2 Edit-Kette länger als zwei Stufen **Symptom** — Über mehrere Bearbeitungsschritte hinweg wird aus einer Figur eine andere Person — in der Totale unsichtbar, in der Nahaufnahme eklatant (Chai wurde 20 Jahre älter). **Ursache** — Jede NB2-Edit-Stufe verschiebt Gesichtszüge minimal; das kumuliert sich über eine lange Kette (Set-Compose → Szenen-Frame → 3/4 → Nah). **Lösung** — Jede engere Einstellung neu am Kanon ankern: `primary` = Szene, `refs` = [Kanon-Ganzkörper], plus „face must be EXACTLY the face in the reference — same age, same face shape; do not age him." Kette ab Kanon nie länger als 2 Stufen. **Beleg** — LOR-02 E4, 03.08.2026, 5,88 $ Lehrgeld (Dennis' Befund). ### 1.3 Kanon-Blatt als „Referenz" statt als „primary" gegeben **Symptom** — Trotz mitgegebener Referenz driftet das Gesicht weiter, die Szene sitzt aber. **Ursache** — Bildmodelle (NB2) halten das Gesicht des `primary`-Bildes treu und bauen die Szene drumherum; als bloße Referenz wird das Gesicht nur „berücksichtigt" — und driftet weiter. **Lösung** — Rollen-Umkehr: Kanon-Blatt = `primary`, Szene = `refs`. Prompt: „Take the person from the INPUT image — exact face, age, face shape, hair — and place them into the SCENE of the reference image." Kadrierung danach per PIL-Crop korrigieren (0 $). **Beleg** — LOR-02 E4, 03.08.2026 — bewiesen in zwei Stufen am selben Motiv: Chai kam damit zurück, Lana blieb vorher eine fremde Frau. ### 1.4 Drei gleichrangige Referenzblätter ohne Rollenzuweisung **Symptom** — Das Gesicht sitzt, aber ein Kleidungsstück (z. B. der lange Mantel) verschwindet aus allen Ansichten. **Ursache** — Ohne Rollenverteilung konkurrieren die Referenzen; das Modell entscheidet zufällig, was es von wem übernimmt. **Lösung** — Jede Referenz im Prompt mit ihrer Zuständigkeit benennen: Ref 1 = Gesicht, Ref 2 = Kleidung. **Beleg** — Kali-Blatt v2, 04.08.2026, 0,16 $. ### 1.5 Kernmerkmal nur genannt, nicht flächendeckend gefordert **Symptom** — Ein charakteristisches Merkmal (Sommersprossen, Narbe) erscheint nur andeutungsweise statt wie im Kanon. **Ursache** — Vage Beschreibung wird nur teilweise umgesetzt — „luminous freckles" ergab drei Sprenkel auf der Stirn statt eines ganzen Gesichts. **Lösung** — Merkmal ausdrücklich und flächendeckend fordern: „freckles cover her WHOLE face — forehead, nose bridge, BOTH CHEEKS, chin and jaw — equally dense in every close-up." **Beleg** — Kali-Blatt-Iteration, 04.08.2026 (Playbook, SHEET-PROMPTS). ### 1.6 Gesichts-Crop mit Topaz hochskaliert **Symptom** — Nach dem „Schärfen" eines Gesichts-Crops wirkt die Figur glatter und jünger als vorher. **Ursache** — Topaz Upscale glättet Gesichter systematisch — Sommersprossen verschwinden, die Haut wird weicher. **Lösung** — Den unbearbeiteten Crop in Originalauflösung als Anker verwenden, nie hochskalieren. **Beleg** — 04.08.2026, 0,08 $ Lehrgeld (Kali-Gesichts-Crop). ### 1.7 Sichtprüfung gegen den letzten schönen Take statt gegen den Kanon **Symptom** — Ein neuer Take wird als Keeper akzeptiert, obwohl er den Anker leicht verändert (spiegelt, erfindet den Raum neu) — die nächste Kette baut auf diesem Fehler weiter. **Ursache** — Verglichen wurde gegen den zuletzt gerenderten „schönsten" Frame, nicht gegen den ursprünglichen Kanon-Anker. **Lösung** — Sichtcheck immer gegen den Anker-Frame führen, nie gegen den letzten schönen Take — auch wenn der schlechter aussieht. **Beleg** — GLI-01 Shot 2a, 25.07.2026, 1,62 $ Lehrgeld. --- ## 2 · Das Objekt stimmt nicht ### 2.1 Objekt im Prompt beschrieben, aber ohne Referenzbild **Symptom** — Ein benanntes Fahrzeug/Requisit erscheint in falscher Form, Farbe oder mit erfundenen Teilen (grüne statt türkise Glocken, falsche Rumpfform, ein fremdes Fahrzeug). **Ursache** — „Beschrieben" ist nicht „gezeigt": ohne Bildreferenz erfindet das Modell das Objekt neu. **Lösung** — Vor dem Absenden jedes benannte Objekt gegen die Refs prüfen: liegt eine Referenz an? Existiert ein Bild, in dem Objekt UND Raum schon korrekt zusammen sind, dieses nehmen statt zwei getrennte Referenzen — es zeigt auch die Beziehung (Größe, Position, Licht). **Beleg** — LOR-03, 04.08.2026, 0,16 $ Lehrgeld (Barke fehlte im Begrüßungs-Startframe). ### 2.2 Nur das Gesamtblatt als Referenz für ein kritisches Detail **Symptom** — Ein technisches Detail (Cockpit, Antrieb) ist in mehreren Anläufen immer wieder falsch — mal Käfig statt Kanzel, mal zwei statt drei Glocken. **Ursache** — Das Detail ist im Gesamtblatt zu klein, um als Anker zu wirken — dieselbe Fehlerklasse wie beim Gesicht, nur auf Technik übertragen. **Lösung** — Für jedes zuverlässig kippende Detail einen eigenen engen Crop als Referenz geben, mit eigener Zuständigkeit im Prompt (Ref = „das Cockpit", Ref = „der Antrieb"). **Beleg** — LOR-03 Startframes B1/B2, 04.08.2026 — mit den zwei Ankern saßen Cockpit und Antrieb sofort. ### 2.3 Bug/Heck oder Bauteil-Position vertauscht **Symptom** — Ein Fahrzeug wirkt „falsch herum", oder ein Bauteil steht an der falschen Stelle (Antriebsglocken scheinen zu wandern). **Ursache** — Kein explizites Kanon-Statement je Shot; ohne Ansage würfelt das Modell die Position neu (die Glocken sitzen an Schwenkarmen: hinten bei Flug, unten bei Start/Landung). **Lösung** — Kanon je Shot ausdrücklich ansagen: was ist Bug, was ist Heck, in welcher Position steht das bewegliche Teil in dieser Situation. **Beleg** — LOR-02 Antriebs-Kanon-Regel, 03.08.2026 — erklärte die „wandernden Glocken" der vorigen Frames rückwirkend. ### 2.4 Kanon-Befund am verkleinerten Kontaktbogen bestätigt **Symptom** — Ein vermeintlicher Kanon-Bruch (Glocken „waagerecht" im Liftoff) wird per teurem Edit korrigiert — obwohl im Original alles stimmte. **Ursache** — Im verkleinerten Zeit-Grid/Kontaktbogen sind Details nicht mehr zuverlässig zu beurteilen. **Lösung** — Ein Kanon-Befund wird erst am Vollbild-Frame der Quelle bestätigt, bevor Geld für eine Korrektur fließt. **Beleg** — LOR-02, 1,04 $ Lehrgeld — der Edit behob einen Fehler, den es nicht gab. ### 2.5 Requisit wandert zwischen Ansichten im selben Sheet **Symptom** — Ein gehaltenes Requisit sitzt in einer Turnaround-Ansicht auf der Schulter, in der nächsten in der Hand. **Ursache** — Ohne Vorgabe platziert das Modell gehaltene Objekte pro Panel neu; der Fehler pflanzt sich in jede folgende Videogenerierung fort. **Lösung** — Turnaround-Reihe mit „neutral relaxed A-pose, EMPTY HANDS, no objects carried" bestellen, Requisit als eigene Objektstudie im unteren Band separat zeigen. **Beleg** — Kali-Sheet-Rezept, 04.08.2026 (Playbook SHEET-PROMPTS). ### 2.6 Edit-Modell für ein neues Sheet verwendet **Symptom** — Ein neu bestelltes Referenzblatt zeigt Geisterreste des alten Bildes (Torso quer über dem neuen Blatt, Rumpfstreifen über dem Schiffsblatt). **Ursache** — `*-edit`-Modelle sollen laut eigener Beschreibung Layout/Szene erhalten, nicht neu aufbauen — für ein Sheet ist das der falsche Werkzeugtyp. **Lösung** — Sheets nur mit dem Basismodell + Referenzen bauen (`nano-banana-2`, `gpt-image-2`, `seedream-v5`), nie mit der Edit-Variante. **Beleg** — 04.08.2026, zweimal erlebt (Kali-Blatt, Schiffsblatt). ### 2.7 Acht Einzelbilder statt ein Sheet **Symptom** — Ein Turnaround aus mehreren Einzelrenders wirkt uneinheitlich — jede Ansicht mit eigenem Licht und eigener Kameradistanz. **Ursache** — Jedes Einzelbild ist ein eigener, unabhängiger Render-Durchgang. **Lösung** — Ein Sheet in EINEM Durchgang bestellen, nie Einzelbilder montieren. **Beleg** — LOR-02/03 Schiffs-Turnaround, 04.08.2026: 1,05 $ für acht Einzelbilder (uneinheitlich) gegen 0,16 $ für ein Sheet (einheitlich, besser). --- ## 3 · Der Raum stimmt nicht ### 3.1 Ein Durchgang (Tor/Tür) stimmt von innen nicht mit außen überein **Symptom** — Das Hangartor ist von innen rechteckig, von außen ein Rundbogen — derselbe Ort widerspricht sich. **Ursache** — Zwei getrennte Prompts für dieselbe Sache ergeben zwei verschiedene Sachen. **Lösung** — Jede Grenze zwischen zwei Räumen von beiden Seiten prüfen. Fix per Edit (Innenraum = `primary`, Außenbild = `refs`, „nur das Tor ändern") statt Neubau — billiger, und der gute Raum bleibt erhalten. **Beleg** — LOR-03, 04.08.2026, 0,12 $ statt 0,25 $ für einen Neubau. ### 3.2 Zwei Shots desselben Raums aus getrennten Prompts **Symptom** — Derselbe Ort sieht in zwei Einstellungen unterschiedlich aus (drei verschiedene Schiffe, zwei verschiedene Hangars trotz gleicher Beschreibung). **Ursache** — Jeder neue Prompt-Durchlauf würfelt Details neu, auch bei identischem Beschreibungskern. **Lösung** — Einen Raum-Master rendern und freigeben, alle weiteren Ansichten/Shots als Edit-Kette DAVON ableiten. Nie zwei Shots desselben Raums parallel aus getrennten Prompts. **Beleg** — LOR-02 (drei Schiffe); LOR-03-Regel „Räume zuerst", 04.08.2026. ### 3.3 Belichtungssprung zwischen zwei aufeinanderfolgenden Shots **Symptom** — Ein Schnitt wirkt wie ein Ortswechsel, obwohl es derselbe Raum ist — vorher gleißendes Gegenlicht, danach dunkler und wärmer. **Ursache** — Getrennt gerenderte Shots ohne Lichtkontinuität zwischen Vorgänger und Nachfolger. **Lösung** — Schnitt vor dem Belichtungsmaximum des Vorgänger-Shots legen, oder Licht explizit an den Vorgänger anschließen. **Beleg** — LOR-02, 480p-Proof-Befund, 03.08.2026 (G1 → W3b). ### 3.4 Ein Weg/eine Rampe wird von oben gefilmt **Symptom** — Ein Gang, der begehbar sein soll, zeigt stattdessen konzentrische Ringe oder eine unlesbare Form. **Ursache** — Aufsichten zeigen Formen, keine Verläufe — aus der Vogelperspektive kann kein Modell einen begehbaren Weg darstellen. **Lösung** — Kamera auf den Weg selbst setzen, auf Augenhöhe, Verlauf im Vordergrund beginnen lassen. **Beleg** — LOR-03, Die Spirale, 04.08.2026. ### 3.5 Objekt und Raum aus getrennten Referenzen statt aus einem kombinierten Bild **Symptom** — Größe, Position oder Lichtwirkung eines Objekts im Raum stimmen nicht (wirkt eingefügt statt zugehörig). **Ursache** — Zwei getrennte Referenzen (leerer Raum + Objektblatt) zeigen dem Modell nicht die Beziehung zwischen beiden. **Lösung** — Existiert ein Bild, in dem beides schon korrekt zusammen ist, dieses als EINE Referenz nehmen statt zwei getrennte. **Beleg** — LOR-03, 04.08.2026, 0,16 $ Lehrgeld. ### 3.6 Ungewöhnliche Lichtsituation ohne Stilblatt gerendert **Symptom** — Typische KI-Fehler bei besonderem Licht: Sterne über besonnter Fläche, weiche statt scharfe Schatten, silberner statt grau-brauner Boden, überproportional große Erde. **Ursache** — Ohne physikalisch durchdachte Vorgabe rät das Modell generisch, statt die Lichtsituation (z. B. Terminator-Linie: streifende Sonne + Erdlicht als zweite kalte Quelle) korrekt umzusetzen. **Lösung** — Vor den Raum-Mastern ein Stilblatt mit Fehlertabelle und fertigen Prompt-Bausteinen bauen, jeden Raum dagegen prüfen. **Beleg** — LOR-03 Stilblatt Mond, 04.08.2026. --- ## 4 · Die Bewegung stimmt nicht ### 4.1 Statisten/Nebenfiguren ohne eigene Bewegungsanweisung **Symptom** — Nebenfiguren im Bild stehen wie angewachsen, während der Rest der Szene lebt — zerstört die Einstellung. **Ursache** — Wer nicht ausdrücklich animiert wird, steht wie eine Statue. **Lösung** — Jede sichtbare Figur im Prompt NAMENTLICH mit eigener Bewegung versehen, auch nur eine Idle-Bewegung (atmen, blinzeln, Gewicht verlagern, zum Sprecher schauen). **Beleg** — Dennis' Regieregeln, 04.08.2026 (Statisten-Regel). ### 4.2 Startframe zeigt eine wartende, posierte Figur **Symptom** — Ein Video beginnt mit einer Schrecksekunde, bevor die eigentliche Handlung einsetzt. **Ursache** — Ein posierter Startframe hat keine Bewegung, die er fortsetzen könnte. **Lösung** — Startframes MID-ACTION bauen: Hand schon halb gehoben, Schritt schon begonnen, Mund schon offen. **Beleg** — Dennis' Regieregeln, 04.08.2026. ### 4.3 Fahrzeug scheint sich in die falsche Richtung zu bewegen **Symptom** — Ein Anflug wirkt, als würde das Schiff von seinem Ziel weg statt darauf zu fliegen. **Ursache** — Oft ist nicht der Startframe falsch, sondern nur die Bewegung fehlt, die das Video-Modell noch ausführen muss. **Lösung** — Vor dem Verwerfen prüfen: Kann der VIDEO-Prompt drehen/wenden/bremsen? Spiegeln ist fast nie die Lösung — es dreht Fahrzeug UND Umgebung mit und kehrt die Lichtrichtung um. **Beleg** — LOR-03 B1 Anflug, 04.08.2026, 0,16 $ Lehrgeld für den unnötigen zweiten Frame. ### 4.4 Sheet/Referenzblatt gemeinsam mit `primary` bei einem i2v-Modell **Symptom** — Statt das Startbild zu animieren, baut das Video eine komplett neue Szene mit fremdem Gesicht/Ort. **Ursache** — Sobald bei Omni-i2v `refs` gefüllt sind, kippt das Modell von i2v (animieren) zu ref2v (Szene neu komponieren) — gilt für JEDES Sheet, nicht nur Figuren-Sheets. **Lösung** — Locks/Sheets gehören in den Startframe, im Video-Prompt nur noch beschreiben; `primary` und `refs` nie gleichzeitig. Alternativ reines ref2v ohne `primary`, Startframe als `@Image1` mit „@Image1 IS THE SHOT". **Beleg** — HUM-03, 16.07.2026, 0,41 $; GLI-01, 25.07.2026, 0,80 $. ### 4.5 Requisit klebt unnatürlich am Körper **Symptom** — Im Video hängt ein Gegenstand fest am Körper, statt sich mitzubewegen (ein Paket klebte am Oberkörper). **Ursache** — Der Hand-Kontakt war im Startframe nicht sauber gegriffen — dieser Fehler ist am Einzelbild NICHT sichtbar, nur im Bewegtbild. **Lösung** — Hand-Kontakt im Startframe explizit bauen oder das Requisit streichen; Video-Sichtung bleibt Pflicht-Gate. **Beleg** — SER-03 Fotoreal-Doku-Pipeline, 02.08.2026. ### 4.6 „Schwebt" wird vom Modell als „wird gehalten" verstanden **Symptom** — Ein Objekt, das frei im Raum schweben soll, wird stattdessen von einer Figur in der Hand gehalten. **Ursache** — Vage Ortsangabe wird als Halte-Geste interpretiert. **Lösung** — Explizit verneinen: „nobody is holding it", „a clear gap of empty space around it" + Hände der Figuren einzeln benennen. **Beleg** — Playbook Ori-Regeln, GLI-01, 25.07.2026. ### 4.7 Effekt setzt mitten im Shot ein statt schon zu laufen **Symptom** — Ein Effekt (Rauch, Leuchten, Beben) wirkt wie ein Lichtschalter statt wie ein laufender Prozess. **Ursache** — Das Modell interpretiert eine Start-Beschreibung als Trigger MITTEN im Clip. **Lösung** — Zustand statt Start beschreiben: „the smoke is ALREADY rising when the shot begins" + „nothing ignites during the shot". Neu ist nur die Störung des laufenden Effekts. **Beleg** — Playbook, MiniMax-H3-Bauplan, LOR-02 E4 (Effekt-Anlauf-Regel). ### 4.8 Kamera macht etwas anderes als verlangt **Symptom** — Eine H3-Kameraanweisung wird ignoriert, mit einer zweiten vermischt, oder es passiert optisch nichts trotz „cinematic" im Prompt. **Ursache** — H3 erlaubt nur EINE Kamerabewegung pro Generierung; mehrere kombinierte Anweisungen verwirren das Modell, und „cinematic" ohne konkrete Einstellung ist wertlos — H3 rät nicht. **Lösung** — Genau eine Bewegung aus dem Vokabular wählen (static locked shot · slow push-in · tracking shot · orbit · crane rise · handheld follow · drone pullback · rack focus). Für Stillstand ausdrücklich „static locked camera, no camera movement, no shot change" schreiben und Wörter wie „cinematic"/„dynamic" vermeiden, die Bewegung implizieren. **Beleg** — Playbook „H3 für Dialoge" — Was H3 anders macht, 04.08.2026. --- ## 5 · Ton und Lipsync ### 5.1 Die Original-KI-Voiceline ist unter dem Lipsync hörbar **Symptom** — Unter der eigentlichen (gelipsyncten) Stimme ist fremdes Kauderwelsch zu hören. **Ursache** — `generate_audio: true` erzeugt beim Video-Render eine Fantasie-Voiceline, die nach dem Lipsync als Bett darunterliegt. **Lösung** — Bei allem, was gelipsynct wird: `generate_audio: false`. Der Ton kommt vollständig aus der Post. **Beleg** — LOR-02, 03.08.2026 — systematisch, nicht zufällig, per Scribe belegt. ### 5.2 Raumton aus dem Sprech-Shot gesichert **Symptom** — Der als „sauberer Raumton" gesicherte Ausschnitt trägt trotzdem deutsche Wortfetzen. **Ursache** — Vier von sieben gesicherten Dateien trugen die Fantasie-Voiceline mit; Ducking hilft nicht, weil das Gebrabbel an anderen Stellen liegt als die späteren echten Sätze. **Lösung** — Atmo-Betten NUR aus sprachfreien Shots bauen, je Ort eines, nahtlos geloopt. **Beleg** — LOR-02, 03.08.2026 (`bau_atmo.py`). ### 5.3 Mehrere Figuren sollen in einer Generation sprechen **Symptom** — Zwei Stimmen verschmelzen zu einer, oder eine Figur bekommt die falsche Stimme. **Ursache** — Pro Generation darf bei den meisten Video-Modellen nur EINE Figur sprechen (z. B. bei Omni verschmelzen Junge und Roboter-Stimme). **Lösung** — Dialoglast verteilen: körperlose/nicht sprechende Figuren als Overlay-Caption oder TTS in Post; Shots ohne Dialog zu Kling/Seedance auslagern. **Beleg** — GLI-01, 25.07.2026, 6,16 $ Lehrgeld. ### 5.4 Ton wirkt über den ganzen Film ein paar Millisekunden versetzt **Symptom** — Der Mund scheint durchgehend leicht vor dem Ton zu liegen (oder umgekehrt), gleichmäßig über alle Sprech-Shots. **Ursache** — Jedes Shot-Teil wurde einzeln nach AAC kodiert und per `concat -c copy` aneinandergehängt — der Encoder-Vorlauf jeder Kodierung wird vom Concat nicht weggeschnitten. **Lösung** — Bild und Ton getrennt zusammenfügen, Ton bis zum Schluss als PCM halten, genau EINMAL in der Schlussmischung kodieren, dazu eine Längen-Assertion. **Beleg** — LOR-02, 04.08.2026 — gemessen +56 ms über zehn Sprech-Shots, Streuung ±5 ms; nach dem Umbau 0,0 ms. ### 5.5 Gemessener Versatz, den man nicht hört **Symptom** — Eine Korrelationsmessung zeigt einen Ton-Versatz an, aber beim Anhören ist nichts zu bemerken. **Ursache** — Eine reine Hüllkurven-Korrelation täuscht bei verhalltem Material einen Versatz vor, den es nicht gibt — die Nachhallfahne zieht den Schwerpunkt nach hinten. **Lösung** — Nur die Anstiege (Silbeneinsätze/Direktschall) korrelieren, nicht die volle Hüllkurve. **Beleg** — LOR-02, `sync_onset.py`/`sync_diagnose.py` — Hall, Quellclip und Bildschnittpunkte wurden dabei als „unschuldig" befundet. ### 5.6 Wer spricht bei mehreren Personen im Bild? **Symptom** — Der falsche Mund bewegt sich, oder ein Einzelmund in der Menge wirkt unheimlich. **Ursache** — `sync-lipsync-3` sucht sich das Gesicht selbst. Das fal-Schema kennt zwar `active_speaker_detection` mit fünf Auswahlwegen (`auto_detect`, `v3`, `coordinates`+`frame_number`, `face_image`, `bounding_boxes`) — **aber der WaveSpeed-Endpoint, über den Prompto läuft, kennt nur `video`, `audio`, `sync_mode`.** Manuelle Auswahl ist auf unserem Weg also nicht verfügbar. **Lösung** — Sprech-Shots mit einem klaren frontalen oder halbprofilen Gesicht komponieren, die sprechende Person groß und im vordersten Bildplan — dann trifft die automatische Erkennung. Für echte Gruppendialoge `minimax-h3` nehmen: Zuordnung per Zeitstempel im Prompt, ein Pass, 2K. **Beleg** — Playbook „Audio als Eingabe" + „Sprecherauswahl bei sync-lipsync-3", 04.08.2026. Praxisbeleg: Vierergruppen-Shot am 04.08. — `auto_detect` traf Kali korrekt, die anderen drei bewegten die Münder nicht (0,67 $). ### 5.7 Gesyncter Clip kommt kürzer zurück als erwartet **Symptom** — Ein Lipsync-Output ist kürzer als der Quell-Shot, obwohl das Audio länger war (4,75 s statt 5,04 s). **Ursache** — Ein mitgegebenes `sync_mode` (z. B. `silence`) wurde vom Builder nie durchgereicht, jeder Lauf lief auf dem Standard `cut_off`. **Lösung** — Nach dem ersten Lauf eines Modells die tatsächliche Ausgabelänge prüfen, nicht raten. Fehlerklasse dazu: Gruppe 7.1. **Beleg** — Prompto `studio-wavespeed-submit`, Fix 04.08.2026. ### 5.8 Deutscher Dialog im Kling-Prompt **Symptom** — Ein Kling-Clip mit Sprache liefert Kauderwelsch oder starken Akzent statt deutscher Sätze. **Ursache** — Kling kann laut eigenem Befund kein deutsches Sprechen (Umgebungston und Geräusche funktionieren). **Lösung** — Dialog gehört NICHT in den Kling-Prompt — Sprachroute ist TTS (ElevenLabs) + `sync-lipsync-3`. **Beleg** — Kling-O3-Testclip-Befund, 01.08.2026; Playbook „Audio als Eingabe". ### 5.9 Die Figur spricht mit einer fremden Stimme **Symptom** — Statt unserer ElevenLabs-Besetzung erzeugt das Video eine fremde Stimme, oder deutscher Dialog kommt als Kauderwelsch zurück. **Ursache** — Nur `sync-lipsync-3`, `omnihuman-15` und `minimax-h3` nehmen eine fertige Audiodatei entgegen — alle anderen Videomodelle erzeugen ihren Ton selbst. Kling O3 kann laut eigenem Befund gar kein deutsches Sprechen (Umgebungston und Geräusche schon). **Lösung** — Für gelipsyncten Dialog ausschließlich `sync-lipsync-3`, `omnihuman-15` oder `minimax-h3` wählen — kein Dialog in Prompts anderer Modelle. **Beleg** — Playbook „Audio als Eingabe", 04.08.2026 — Modell-Tabelle aus den echten fal-Schemas. ### 5.10 Der Job wird abgelehnt: „total audio duration … exceeds 15000 ms" **Symptom** — Ein H3-Job scheitert mit „invalid params, total audio duration 24138 ms exceeds 15000 ms", obwohl das fertige Video kurz sein soll. **Ursache** — H3 addiert die Dauern ALLER übergebenen Audiospuren, nicht die Länge des fertigen Videos — drei Spuren à 8 s zählen als 24 s. **Lösung** — Dialoge als EINE fertig gemischte Spur übergeben (Zeilen einzeln rendern, per `ffmpeg adelay` + `amix` mischen), Sprecherzuordnung über Sekundenangaben im Prompt statt über mehrere Einzelspuren. **Beleg** — Playbook „H3 für Dialoge", 04.08.2026 — Testfall mit drei Spuren à 8 s abgelehnt. ### 5.11 Bei mehreren Personen bewegt der Falsche den Mund **Symptom** — In einer Gruppe bewegt sich ein anderer Mund als der sprechenden Figur. **Ursache** — Jedes Modell löst die Zuordnung anders: `sync-lipsync-3` über `active_speaker_detection` (`auto_detect`/`v3`/`coordinates`/`face_image`/`bounding_boxes` — von Prompto bisher nicht durchgereicht), `omnihuman-15` über eine `mask_url` (weiße Fläche = spricht), `minimax-h3` über Zeitstempel direkt im Prompt. **Lösung** — Weg passend zum Modell wählen: bei sync-3 die sprechende Person frontal/halbprofil groß komponieren statt auf die Erkennung zu vertrauen; bei omnihuman eine Masken-Bilddatei bauen; bei H3 Sekundenangaben je Sprecher in den Brief schreiben („0.0–1.0s — the woman … speaks. Only her mouth moves."). **Beleg** — Playbook „Audio als Eingabe" + „Sprecherauswahl bei sync-lipsync-3", 04.08.2026. ### 5.12 Alle im Bild sprechen stumm mit **Symptom** — Auch Figuren, die gerade nicht dran sind, bewegen den Mund sichtbar mit. **Ursache** — Der Satz, der das bei H3 verbietet, fehlt im Prompt. **Lösung** — Immer ergänzen: „Whoever is not speaking keeps their mouth shut. Nobody mouths along." **Beleg** — Playbook „H3 für Dialoge", 04.08.2026. --- ## 6 · Es ist zu teuer geworden ### 6.1 Entlang einer Kette parallel vorgeprescht **Symptom** — Mehrere teure Shots/Bilder erweisen sich nachträglich alle als Ausschuss, weil das Vorbild fehlerhaft war. **Ursache** — Ein Folgeschritt wurde gestartet, bevor sein Vorbild fertig UND gesichtet war — er erbt Fehler, die im Vorbild noch unsichtbar waren. **Lösung** — Vor jedem Start fragen: Ist irgendein Eingang dieses Jobs selbst noch ein laufender/ungesichteter Job? Wenn ja: warten. Parallel nur, was auf bereits freigegebene Assets zugreift. **Beleg** — LOR-02 E4, 03.08.2026, 5,88 $ — der teuerste Einzelfehler der Studio-Historie. ### 6.2 Referenzbilder bei Seedance verdoppeln den Preis **Symptom** — Die Rechnung für einen Seedance-Shot ist doppelt so hoch wie erwartet. **Ursache** — Seedance (pro/fast/mini) berechnet ×2, sobald Referenzbilder/-videos/-audios anliegen — steht in der Registry, wurde übersehen. **Lösung** — Seedance pro immer in 720p rendern, danach mit `bytedance-video-upscaler` auf 2K; für Dialoge/ruhige Shots `seedance-2-mini` statt `-pro` (ohne Refs Faktor 4 günstiger). **Beleg** — 04.08.2026, 3,60 $ Lehrgeld. ### 6.3 Acht Einzelbilder statt ein Sheet bestellt **Symptom** — Ein Turnaround kostet ein Vielfaches und wirkt trotzdem uneinheitlicher. **Ursache** — Jedes Einzelbild ist ein eigener bezahlter Render-Durchgang mit eigenem Licht. **Lösung** — Immer ein Sheet in einem Durchgang bestellen. **Beleg** — LOR-02/03, 04.08.2026: 1,05 $ (acht Einzelbilder) gegen 0,16 $ (ein Sheet) am selben Motiv. ### 6.4 Teures Modell für einen Standard-Dialogshot gewählt **Symptom** — Die Gesamtrechnung für viele Sprech-Shots sprengt das Budget. **Ursache** — Seedance pro oder OmniHuman werden auch dort eingesetzt, wo ein günstigeres Modell (mini, LTX, H3, Kling O3) genauso trägt. **Lösung** — Modellwahl nach Shot-Art: große Action/VFX → pro; Dialoge/ruhige Shots → mini/H3/LTX/O3. Vor jedem Lauf die Preis-Schätzung gegen die Erwartung halten. **Beleg** — Dennis' Ansage, LOR-03, 04.08.2026 — Faktor 3–4, Unterschied 55 $ vs. 15 $ bei 23 Sprech-Shots. ### 6.5 Fehler erst im teuren finalen Rendering entdeckt **Symptom** — Ein Layout- oder Kompositionsfehler wird erst im 4K-Kanon-Blatt sichtbar, nicht vorher. **Ursache** — Direkt in hoher Auflösung/Qualität probiert, ohne vorherige billige Probe. **Lösung** — Erst billig probieren (Seedream 0,035 $, Layout-Test), dann teuer finalisieren (NB2 4K, 0,16 $) — nie umgekehrt. **Beleg** — LOR-03 Kosten-Hebel-Liste, 04.08.2026. ### 6.6 Upscale vor der finalen Schnittfassung durchgeführt **Symptom** — Text wirkt nach dem Upscale verschmiert, oder ein bereits hochskalierter Shot wird kurz danach doch getauscht. **Ursache** — Der Upscaler verschmiert Text-Kanten, und ein später ersetzter Shot war umsonst hochskaliert. **Lösung** — Reihenfolge: alle Shots in Arbeitsauflösung → Sichtung/Tausch → Schnitt zum Clean-Master → EIN Upscale auf den Master → danach Text/Untertitel in nativer Zielauflösung. **Beleg** — PAR-01/LOR-02/LOR-03, Dennis' Regel 04.08.2026 („das Upscalen bitte ganz zum Schluss"). ### 6.7 Kein `kurs_check.py` vor dem Absenden **Symptom** — Ein Render verletzt eine bereits bekannte Regel und wird trotzdem bezahlt fällig. **Ursache** — Der Check vor dem Absenden wurde übersprungen. **Lösung** — Immer `python3 chai-studio/kurs_check.py ` laufen lassen — prüft in Sekunden 15 Regeln, die zusammen schon dreistellig gekostet haben. **Beleg** — MITARBEITER.md §8; LOR-03 Effizienz-Abschnitt. ### 6.8 Ein Sprech-Shot kostet 1,87 $ statt 0,70 $ **Symptom** — Ein einzelner Dialog-Shot kostet über zweieinhalbmal so viel wie nötig. **Ursache** — Der bisherige Zweischritt (Video 1,20 $ + `sync-lipsync-3` 0,67 $ = 1,87 $) wurde gewählt, obwohl `minimax-h3` dieselbe fertige ElevenLabs-Spur in EINEM Durchgang nimmt — und dabei sogar nativ 2K statt 720p liefert. **Lösung** — Für Sprech-Shots zuerst prüfen, ob H3 in einem Pass trägt (0,70 $ bei 5 s/2K), statt automatisch in den Zweischritt zu gehen. **Beleg** — Playbook „H3 für Dialoge", 04.08.2026. --- ## 7 · Das Ergebnis kam gar nicht an ### 7.1 Ein unbekanntes Feld wird von der API/vom Builder still verworfen **Symptom** — Referenzen wirken nicht, Auflösung ist falsch, oder eine Option greift nicht — der Job meldet trotzdem „succeeded" und wird voll abgerechnet. **Ursache** — Ein Feldname wurde angenommen statt gegen die Provider-Doku oder einen echten Testcall verifiziert. Belegte Fälle: `images` statt `reference_images` bei MiniMax H3 (lief als reines Text-zu-Video, Szene erfunden, Identitäten ersetzt); `resolution` statt `target_resolution` beim ByteDance-Upscaler; `sync_mode` bei `sync-lipsync-3` (nie durchgereicht, Standard `cut_off` griff ungewollt). **Lösung** — Feldnamen aus der Provider-Doku ziehen oder einmal direkt gegen die API testen. Die API-Response echot den `input`-Block — steht das Feld dort nicht drin, wurde es verworfen. Jedes `build()` mit dem Wort „Annahme" im Kommentar ist eine offene Wunde. Nach jedem ersten Lauf eines neuen Modells das Ergebnis GEGEN DIE ERWARTUNG prüfen (Auflösung messen, Referenzwirkung ansehen), nicht nur den Status lesen. **Beleg** — `studio-wavespeed-submit/index.ts`, Fixes 02.08./03.08./04.08.2026. ### 7.2 Upscaler liefert die Default-Auflösung statt der angeforderten **Symptom** — Ein Upscale auf 2K/4K kommt in 1080p zurück, ohne Fehlermeldung. **Ursache** — Der Provider validiert ungültigen Input nicht streng; ohne korrekten Parameter UND ohne dass der Input kleiner als das Ziel ist, greift klaglos ein Default. **Lösung** — Nach jedem Upscale-Job die tatsächliche Auflösung MESSEN (ffprobe), nie dem Job-Status vertrauen. **Beleg** — `bytedance-video-upscaler`, Korrektur 02.08.2026 — zwei 1080p-Jobs scheiterten, bevor die Ursache klar war. ### 7.3 Von /sdcard hochgeladene Datei liefert 403 **Symptom** — Eine URL, die eben erst hochgeladen wurde, ist über HTTP nicht erreichbar. **Ursache** — Dateien von `/sdcard` kommen mit Rechten 750 an — kein Lesezugriff für den Webserver. **Lösung** — Nach dem Upload `chmod 644`, danach den Statuscode per `curl -sI` wirklich prüfen, statt nur „hochgeladen" anzunehmen. **Beleg** — MITARBEITER.md §5. ### 7.4 Großer Video-Master lässt sich nicht hochladen **Symptom** — Ein fal-CDN-Upload bricht mit HTTP 413 ab. **Ursache** — Der Einzel-PUT kappt bei ~100 MB. **Lösung** — Master an harten Schnittkanten per `concat -c copy` verlustfrei splitten, Teile einzeln hochladen, `curl` statt urllib verwenden (BrokenPipe ab ~100 MB). **Beleg** — PAR-01, Stand 02.08.2026. ### 7.5 Ein Job-Input oder -Output verschwindet bei langen Clips **Symptom** — Ein längerer Video-Job schlägt ohne klaren Grund fehl, besonders bei dichten 2K-Szenen. **Ursache** — Prompto kappt Video-Inputs bei 50 MB, der Storage-Webhook kappt Outputs bei 50 MiB. **Lösung** — Teile für 2K-Verarbeitung auf ≤ ~25 s Länge halten. **Beleg** — PAR-01 (`registry.json`, `bytedance-video-upscaler`-Notiz). ### 7.6 Google-Safety-Filter lehnt das generierte Video ab **Symptom** — Ein Job scheitert mit Code 1200 „the generated content was flagged" — ohne dass der Prompt offensichtlich riskant wirkt. **Ursache** — Der Filter urteilt über das ERGEBNIS, nicht über den Prompt — teils reiner Würfel: derselbe Prompt kann einmal durchlaufen und einmal abgelehnt werden. Riskant sind vor allem ruhige Nahaufnahmen junger Figuren, Bett/Schlafzimmer, Anatomie-Wörter. **Lösung** — Erst denselben Prompt wiederholen (abgelehnte Versuche kosten nichts), erst nach mehreren Treffern umschreiben — sonst verschlimmert man einen guten Prompt aus Aberglauben. **Beleg** — GLI-01 Shot 4, 26.07.2026. ### 7.7 Job scheint zu hängen **Symptom** — Ein Auftrag zeigt ewig „running", oder der MCP-Aufruf läuft in einen Timeout. **Ursache** — `job_status` kann lange stale „running" zeigen, obwohl der Provider längst fertig ist (Kling: 4,5 Min. echte Renderzeit, Poller zeigte ~50 Min.); `wait=true` kann selbst in einen MCP-Timeout laufen, während der Job im Hintergrund durchläuft. **Lösung** — Bei stale running weiterpollen (`completed_at` zeigt die Wahrheit); bei `wait=true`-Timeout `wait=false` verwenden und das Ergebnis über `list_werke` wiederfinden statt doppelt zu rendern. **Beleg** — LOR-03 Playbook (Kling); HUM-03, 16.07.2026 (`nano-banana-2`). ### 7.8 @Image1-Adressierung bei kling-v3-pro **Symptom** — Ein Prompt mit `@Image1` quittiert fal mit HTTP 422 „Invalid reference index". **Ursache** — `kling-v3-pro` i2v kennt keine `@Image`-Adressierung — das kann nur `kling-o3-ref`. **Lösung** — Bei i2v den Startframe als `primary` übergeben und im Prompt „the start frame is the shot" schreiben statt `@Image1` zu verwenden. **Beleg** — LOR-02, 03.08.2026. --- ## 8 · Der Prompt trifft nicht ### 8.1 Der Prompt ergibt ein hübsches Standbild statt eine Szene **Symptom** — H3 liefert ein schönes, aber unbewegtes Bild — es passiert nichts, obwohl ein Video verlangt war. **Ursache** — Der Prompt beschreibt einen Zustand statt eines Ziels — H3 braucht eine Veränderung, die es auf dem Schirm ENTHÜLLEN kann. Ein schöner Substantivhaufen gibt ein hübsches Standbild, keine Szene. **Lösung** — die Regel „define the change": den Brief als Folge sichtbarer Handlungen MIT Zeitangaben schreiben, nie als reine Zustandsbeschreibung. **Beleg** — Playbook „H3 für Dialoge" — Die H3-Brief-Struktur, 04.08.2026. ### 8.2 Ein langer Prompt wird nur teilweise oder falsch umgesetzt **Symptom** — Von einem ausführlichen Fließtext-Prompt an H3 trifft nur ein Teil, der Rest wird ignoriert oder mit anderen Vorgaben vermischt. **Ursache** — H3 belohnt einen Brief, der wie Produktionsunterlagen aussieht, nicht einen einzelnen Fließsatz. Das Feld nimmt bis zu 7.000 Zeichen. **Lösung** — In fünf Blöcken strukturieren: **Roles** (Zuständigkeit jeder Referenz), **Beats** (Handlung MIT Zeitangaben), **Look** (Stil/Palette/Licht/Filmtextur), **Sound** (was, wann), **Limits** (was gesperrt ist, was nicht erscheinen darf). **Beleg** — Playbook „H3 für Dialoge" — Die H3-Brief-Struktur (Herstellerdoku + drei Praxis-Guides), 04.08.2026. ### 8.3 Merkmale springen zwischen Referenzen über **Symptom** — Die Umgebungs- oder Kleidungs-Referenz beeinflusst das Gesicht einer Figur, obwohl das nicht gewollt war. **Ursache** — Ohne ausdrückliche Zuweisung mischt H3 Merkmale aus allen Referenzen zusammen. **Lösung** — Jede Referenz einzeln beauftragen: „Image 1 controls Character A's identity. Image 3 controls the environment and lighting only. Never transfer facial traits from Image 3." **Beleg** — Playbook „H3 für Dialoge" — Was H3 anders macht, 04.08.2026. ### 1.8 Die Kleidung wechselt zwischen zwei Shots derselben Szene **Symptom** — Eine Figur trägt in Shot B ein anderes Outfit als in Shot A, obwohl beide in derselben Szene spielen. Das Gesicht stimmt. **Ursache** — Es lag nur der Gesichts-Anker an, nicht das Kleidungs-Blatt. Das Modell hält dann die Identität und erfindet die Garderobe. **Lösung** — **Beide** Referenzen mitgeben und im Prompt trennen: Ref 1 = Gesicht („ABSOLUTE AUTHORITY on her identity"), Ref 2 = Kleidung („ABSOLUTE AUTHORITY on her CLOTHING — she wears exactly this and nothing else"), dazu jedes Kleidungsstück einzeln aufzählen und den Satz „her outfit must not change at any point in the shot". **Beleg** — LOR-03 B4, 04.08.2026 (Dennis: „kali hat andere klamotten in dem video als in den 2 davor"). Ein Shot zu 1,04 $ neu. ### 1.9 Dieselbe Nebenfigur erscheint mehrfach im Bild **Symptom** — Eine Figur steht doppelt in der Szene, oder eine Gruppe besteht aus Kopien derselben Person. **Ursache** — Der Prompt spricht von „den anderen" / „der Gruppe", aber es liegt nur EIN Nebenfiguren-Blatt an. Das Modell baut die Gruppe aus der einzigen verfügbaren Vorlage und klont sie. **Lösung** — Entweder **jede sichtbare Figur einzeln benennen und referenzieren** (das Crew-Blatt der Folge mitgeben, das alle zeigt), oder die Statisterie ausdrücklich abgrenzen: „the others are DIFFERENT people, none of them resembles the woman in Image 2 — vary age, build, hair and clothing". Wer im Bild vorkommt, gehört benannt. **Beleg** — LOR-03 B5a Halle, 04.08.2026 (Dennis: „ein charakter ist doppelt"). Ein Shot zu 1,04 $. ### 6.9 Eine Referenz neu gebaut, die es längst gab **Symptom** — Zeit und Geld für ein Blatt, das im Arbeitsbuch schon fertig liegt — womöglich in besserer Qualität als das selbst gebaute. **Ursache** — Es wurde nach Einzelteilen gesucht statt nach fertigen Ensembles. Das Inhaltsverzeichnis kennt beides, aber nur wer danach sucht, findet es. **Lösung** — **Vor jedem Referenzbau** in `arbeitsbuch/INHALT.md` nachsehen, und zwar nach dem **Zweck**, nicht nach dem Dateinamen: `grep -iE "crew|ensemble|blatt|sheet" INHALT.md`. Es gibt fertige Ensemble-Blätter für Hauptcrew, Nebencrew und Statisten — jeweils Front und Rücken, mit Namen und Merkmalen beschriftet. **Beleg** — LOR-03, 04.08.2026 (Dennis: „eigentlich haben wir die crew auch komplett mit ihren raumanzügen, hätte man auch nehmen können"). Kein Geldverlust, aber unnötige Arbeit — und das fertige Blatt trägt sogar die Anweisung „use these exact six people for every crowd". ### 1.10 Das Sammelblatt schleust Figuren ein, die nicht in die Szene gehören **Symptom** — In einem Shot steht plötzlich eine Figur, die dort nichts zu suchen hat — bei uns eine alte Frau in Wollmantel, mitten auf einer Mondbasis. **Ursache** — Als Referenz lag ein Sammelblatt aller Nebenfiguren an (`crew-lor03.jpg`, fünf Personen). Der Prompt benannte nur drei davon. Die übrigen zwei Gesichter liegen dem Modell trotzdem vor und werden eingebaut, um die Bildtiefe zu füllen. **Ein Blatt liefert immer ALLE Gesichter, die darauf sind — nicht nur die, die man erwähnt.** **Lösung** — Bei jedem Sammelblatt einen ausdrücklichen Ausschluss in den Prompt schreiben, und zwar mit Merkmalen statt mit Namen (Namen kennt das Modell nicht): „Image 2 shows more faces than you need. IGNORE EVERY FACE ON IMAGE 2 EXCEPT X, Y AND Z. In particular there is NO ELDERLY WOMAN in this shot — no grey curls, no brown wool coat, no old face." Dazu die Besetzung hart zählen: „EXACTLY FIVE PEOPLE are in this shot and nobody else." **Beleg** — 04.08.2026, LOR-03 B6c „Tür auf", Job 89095cbf, 1,30 $ Ausschuss. Dennis: „haben wir jetzt die alte frau mit im bild die gehört nicht auf den mond". Verwandt mit 1.9 — dort fehlte das Blatt, hier lieferte es zu viel. ### 2.8 Ein Objekt, das lange allein im Bild steht, wird zum Gesicht **Symptom** — Ein technisches Objekt (bei uns ORI, ein Messingrahmen mit leuchtendem Auge) steht ab Sekunde 5 eines 9-Sekunden-Shots im Bildmittelpunkt — und verwandelt sich dann langsam in ein menschliches Gesicht. Bei uns wuchs ausgerechnet das Gesicht der danebenstehenden Hauptfigur (Kali) aus dem Kistendeckel. **Ursache** — H3 komponiert aus den Referenzen. Steht ein Objekt lange formatfüllend und mittig, ohne dass im Prompt eine Handlung dafür vorgesehen ist, füllt das Modell die Zeit — und greift dabei auf das Auffälligste zurück, was es hat: das Gesichts-Referenzblatt. Je länger ein Objekt ohne eigene Handlung im Zentrum steht, desto größer die Gefahr. **Lösung** — (1) Objekt-Shots kurz halten — der Teil vor dem Kippen war einwandfrei, der Schnitt bei 5,3 s rettete ihn kostenlos. (2) Den Moment auf ZWEI Shots aufteilen: einer auf das Objekt, einer eng auf das Gesicht der antwortenden Figur, wo das Objekt gar nicht im Bild ist — was nicht im Bild ist, kann nicht morphen. (3) Im Prompt ausdrücklich verbieten: „it never grows a face or a mouth" reicht NICHT, wenn das Objekt lange steht — es braucht zusätzlich eine eigene Handlung für jede Sekunde, in der es zu sehen ist. **Beleg** — 04.08.2026, LOR-03 B4 „Übergabe", Job 2c676424, 1,21 $. Dennis: „der letzte clip failed weil kalis kopf aufeinmal aus ori rausmorpht, da brauchen wir nen multishot, oder 2". Gerettet durch Schnitt bei 5,3 s (0 $) plus einen engen 5-Sekunden-Shot auf Kali (0,65 $) statt eines vollen Neurenders (1,21 $). ### 6.10 Video-Edit rechnet sich bei uns fast nie gegen einen Neurender **Symptom** — Ein Shot hat einen Einzelfehler (eine Figur zu viel, ein Objekt kippt) und man will ihn „nur schnell reparieren" statt neu zu rendern. **Ursache** — Video-zu-Video-Editiermodelle werden pro Sekunde Ausgabe abgerechnet, und zwar deutlich teurer als unsere Generierungsmodelle. Der Reflex „reparieren ist billiger als neu machen" stimmt bei Video nicht. **Lösung** — Vor jedem Edit den Dreisatz rechnen. Stand 04.08.2026: **Runway Aleph 2 kostet 0,37 $/s** (1,85 $ je 5 Sekunden, anteilig; max. 30 s Eingabe, max. 16 MB Datei, bis zu 5 Keyframes) — **MiniMax H3 kostet 0,13 $/s** bei 2K und nativem Ton. Ein 10-Sekunden-Shot: 3,70 $ als Edit gegen 1,30 $ als Neurender. Ein Edit lohnt nur, wenn der Shot sonst unwiederbringlich wäre — etwa ein Glückstreffer, den ein Neurender nicht sicher wieder trifft. Bei fehlerhaften Referenzen ist der Neurender immer richtig, weil er die Ursache behebt statt das Symptom. **Beleg** — 04.08.2026, Preise von der WaveSpeed-Modellseite geprüft (nicht aus Blogs), Anlass war Dennis' Hinweis auf Aleph 2 beim Marlies-Problem. Aleph 2 ist in Prompto noch nicht angebunden. ### 7.9 Parallele Downloads im Hintergrund verschwinden **Symptom** — Mehrere Dateien werden mit `curl ... &` parallel geladen, im selben Aufruf zeigt `ls` korrekte Größen — im nächsten Bash-Aufruf sind die Dateien spurlos weg. **Ursache** — Die PRoot-Sandbox dieser Umgebung: Prozesse, die im Hintergrund eines Bash-Aufrufs schreiben, landen nicht zuverlässig in der Dateisystemsicht, die der Folgeaufruf sieht. **Lösung** — Downloads sequenziell im Vordergrund laufen lassen und die Dateigröße im selben Aufruf prüfen. Für echte Langläufer bleibt die bestehende Regel mit `setsid nohup` gültig — die betrifft Renders, nicht Downloads. **Beleg** — 04.08.2026, beim Abholen der fünf LOR-03-Shots. Kostete keine Renderkosten, aber einen Durchlauf. ### 4.9 Figur driftet rückwärts aus dem Bild, obwohl sie „zurückfällt" (Gummiband) **Symptom** — In einem Tracking-Shot, der einer gehenden Gruppe folgt, gleitet eine Figur am Ende rückwärts aus dem Bild — sie wird nach hinten gezogen, ohne dass ihre Beine die Bewegung machen. Sieht aus wie ein Gummiband. Bei uns traf es Jonte in den letzten zwei Sekunden. **Ursache** — Im Prompt stand als Beat: „JONTE walks looking straight up, **is left behind**, notices, and has to hurry to catch up." Das ist eine **Zustandsbeschreibung**, keine Handlung. Das Modell hat keine Anweisung, WIE die Figur zurückfällt — also löst es den Zustand auf dem billigsten Weg: es verschiebt die Figur im Bild, statt ihr Tempo zu ändern. Bei einer bewegten Kamera fällt das doppelt auf, weil die Figur gegen die Kamerafahrt driftet. **Lösung** — Jede Figurenbewegung als **Handlung mit Körperteilen** schreiben, nie als Verhältnis zur Gruppe. Nicht „is left behind", sondern: „he stops walking entirely, head tilted back; the others pass him; then he takes three quick steps to close the gap." Faustregel: **Wenn in einer Anweisung ein Vergleich zur Gruppe steht („weiter hinten", „bleibt zurück", „holt auf"), fehlt die Handlung.** Zweite Absicherung: Figuren, die eine eigene kleine Handlung haben (Lana hebt die Kamera und fotografiert), driften nicht — sie sind beschäftigt. **Beleg** — 04.08.2026, LOR-03 B5a „Halle der acht Grundgefühle", Job c9a24b8b, 1,08 $. Dennis: „am ende von dem clip driftet jonte nach hinten raus, rubberband". Gerettet durch Schnitt bei 5,96 s (0 $) plus einen engen Shot auf die Sprecherin der Schlusszeile (0,65 $) — der Weitwinkel-Teil war bis dahin einwandfrei. ### 6.11 Voicelines über Prompto statt direkt **Symptom** — Für jede gesprochene Zeile wird ein Prompto-Auftrag abgerechnet, obwohl dieselbe Zeile über das ElevenLabs-Abo nichts extra kostet. **Ursache** — In der Modelltabelle des Playbooks steht `elevenlabs-tts` mit Preis — das liest sich wie der vorgesehene Weg. Der direkte API-Weg war nur implizit in alten Skripten (`stimmen/probe_casting.py`) vorhanden, nirgends als Regel formuliert. Wer die Tabelle liest, greift zum Falschen. **Lösung** — `python3 stimmen/tts.py "" ` — Stimmen und Vorgabewerte kommen aus `stimmen/voices.json`. Prompto nur noch für Bild, Video, Upscale und Musik. **Beleg** — 04.08.2026, LOR-03. Zehn Zeilen für den Rage-Block und den Chor liefen über Prompto, 0,30 $ unnötig. Dennis: „spar dir das." ### 6.12 Werkzeug gewählt, ohne nachzuschlagen **Symptom** — Ein Weg wird gewählt, der plausibel wirkt, obwohl im eigenen Bestand ein besserer dokumentiert ist — beim Werkzeug wie beim Material. **Ursache** — Aus dem Gedächtnis gearbeitet statt aus der Ablage. Das Gedächtnis liefert immer *einen* gangbaren Weg, aber nicht den vereinbarten. **Lösung** — **Vor jedem neuen Arbeitsschritt zuerst nachschlagen** — in dieser Reihenfolge: dieser Fehlerbaum (nach Symptom), `arbeitsbuch/INHALT.md` (nach vorhandenen Assets, per grep nach dem Zweck statt nach dem Dateinamen), `playbook.md` (nach dem Verfahren). Erst danach bauen. Das ist dieselbe Lehre wie bei 6.9 — dort ging es um Material, hier um Werkzeuge. **Beleg** — 04.08.2026, zweimal am selben Tag. Erst ein Crew-Blatt montiert, das es fertig gab (6.9); dann Voicelines über Prompto gerendert, obwohl der direkte Weg etabliert war (6.11). Dennis: „guck in unser arbeitsbuch wenn was unklar ist bzw. in unseren fehlerdiagnosenbaum." ### 5.13 Der Film ist nach dem Einblenden länger geworden, das Ende läuft stumm aus **Symptom** — Nach einem Overlay-Durchlauf (Vox-Platten, Logos, Inserts) ist die Bildspur länger als die Tonspur; am Schluss steht das letzte Bild und es ist still. **Ursache** — Standbilder werden als `-loop 1 -t ` eingespeist. `overlay` arbeitet mit `eof_action=repeat`: erreicht **irgendein** Eingang sein Ende, wird sein letztes Bild wiederholt — der Ausgang läuft also so lange wie der **längste** Eingang, nicht so lange wie der Film. Eine großzügig gewählte Loop-Dauer wird damit eins zu eins an den Film angehängt. **Lösung** — Filmlänge mit `ffprobe` messen und **beides** daraus setzen: die Loop-Dauer jedes Standbilds *und* ein `-t` am Ausgang. Nie eine Zahl raten. Ist der Film schon gerechnet, reicht ein Copy-Trim (`-t -c copy`) — die Bilder sind ja richtig, nur der Nachlauf muss weg; das spart eine komplette Neukodierung. **Beleg** — 04.08.2026, LOR-03 `baue_vox.py`: sieben Platten mit `-t 200` auf einen Film von 182,75 s → Master 200,04 s, davon 17,3 s stummer Nachlauf. Bild und Ton wichen um exakt diese Spanne ab (`video,200.041667` / `audio,182.749002`). ### 5.14 Zwei Untertitel liegen kurz übereinander **Symptom** — Beim Umschalten zwischen zwei Zeilen blitzt für Sekundenbruchteile ein doppelter Untertitel auf. **Ursache** — In der Berechnung wurde erst die Überlappung aufgelöst und **danach** eine Mindeststandzeit erzwungen. Die Mindeststandzeit holt die eben gekürzte Zeile wieder ein — die Reihenfolge der beiden Regeln macht die erste wirkungslos. **Lösung** — Umgekehrt rechnen: erst Mindest- und Höchststandzeit begrenzen, **dann** Überlappungen auflösen, und beim Kürzen eine harte Untergrenze (0,5 s) setzen statt die Mindeststandzeit erneut anzuwenden. Bei Unterbrechungen im Dialog ist eine kurze Standzeit ohnehin die richtige Länge. **Beleg** — 04.08.2026, LOR-03 `baue_untertitel.py`: „CHAI: Wir sind—" endete 20 ms nach dem Beginn von Kalis Antwort. Nach dem Tausch der beiden Schritte: 0 Überlappungen bei 46 Untertiteln. ### 8.4 Sechs Sekunden mit fünf Handlungen — der Shot wird ein Durcheinander **Symptom** — Ein Shot mit sauberen Referenzen und stabilem Raum ist trotzdem unbrauchbar: Figuren hetzen, Bewegungen brechen ab, die Übergabe eines Gegenstands ist nicht zu erkennen, Effekte flackern zusammenhanglos. **Ursache** — Nicht das Modell, sondern die Regie. In den Prompt waren fünf gleichzeitige Handlungsstränge geschrieben: eine Figur geht ab, eine kommt an, ein Gegenstand wird übergeben, ein zweiter Gegenstand wird gegessen, und das Effekt-Objekt spaltete sich in vier Stränge, sprang zweimal zwischen zwei Monitoren und tauchte einmal ab. Bei 24 Bildern pro Sekunde bleiben je Strang gut ein bis zwei Sekunden — zu wenig, um irgendetwas zu Ende zu bringen. Das Modell kürzt dann selbst, und zwar überall gleichzeitig. **Lösung** — Pro Shot **eine** Haupthandlung und **eine** Nebenbewegung. Alles andere in den nächsten Shot der Kette. Faustregel für 6 Sekunden: höchstens drei Beats, und der letzte gehört der Haupthandlung allein. Effekt-Objekte bekommen genau eine Bewegung („gleitet einmal zum linken Monitor und bleibt dort"), nicht eine Choreografie. Wer mehr Handlung braucht, macht einen Shot mehr — sechs Sekunden mehr kosten weniger als ein verworfener Take. **Beleg** — 05.08.2026, Schnittplatz-Kette Shot 4 (`minimax-h3`, 0,82 $): Abgang, Ankunft, Pizza-Übergabe, Essen und eine fünfteilige Ori-Choreografie in einem Take. Dennis: „4 ist absolutes durcheinander". Neufassung mit drei Beats und einer einzigen Ori-Bewegung. ### 4.10 Jede Kamerafahrt reißt die nächste Naht auf **Symptom** — Eine Shot-Kette auf Lastframes gebaut, Figuren und Raum halten sauber — und trotzdem springt es bei jedem Schnitt: der neue Shot ist plötzlich weiter, der Raum bringt Möbel mit, die vorher nicht im Bild waren. **Ursache** — In jedem Prompt stand „langsame Fahrt zum Tisch". Damit endet jeder Shot ENGER, als er begonnen hat. Der Lastframe, den der nächste Shot als Startzustand bekommt, ist also eine Nahaufnahme — und weil das Modell die Szene wieder als ganze Einstellung anlegt, weitet es auf und erfindet dabei den Bildrand neu, den es in der Nahaufnahme nie gesehen hat. Je stärker die Fahrt, desto größer der Sprung: in der Schnittplatz-Kette war nur die erste Naht kaputt, weil nur dort kräftig hineingefahren wurde. **Lösung** — In einer Lastframe-Kette die **Kamera festhalten**: „LOCKED. Kein Push-in, kein Drift, kein Zoom, die Weite von Bild 1 gilt bis zum letzten Bild." Bewegung entsteht dann durch die Figuren, nicht durch das Objektiv. Wo eine Fahrt gewollt ist, muss sie IM Shot wieder zurückfahren oder der nächste Shot bekommt zusätzlich das Zielbild als Referenz („Bild N IST DAS ZIEL FÜR DEN LETZTEN FRAME") — das hält H3 zuverlässig ein. **Beleg** — 05.08.2026, Schnittplatz-Kette: Nähte 2→3, 3→4 und 4→5 sitzen (schwache Fahrten), 1→2 springt von Nahaufnahme auf Totale samt neuem Schubladenschrank und zweitem Monitor. Dennis: „ich glaube von 1 nach 2 ist irgendein fehler". Neufassung mit fester Kamera und Zielbild, 0,82 $. ### 1.11 Keyframes halten die Zeit, nicht das Gesicht **Symptom** — Ein Video aus mehreren vorgegebenen Keyframes trifft die Bewegung und das Timing sauber, aber zwischen den Ankern driftet ein Gesicht weg: die Figur sieht in der Mitte des Clips anders aus als auf den Blättern, mit denen die Keyframes gebaut wurden. **Ursache** — Keyframes sind **zeitliche** Anker. Das Modell wird verpflichtet, zum Bild X bei Frame N zu kommen, und interpoliert den Weg dorthin frei. Zwischen zwei Ankern gibt es keine Identitätsbindung, also erfindet es die Zwischenbilder aus dem Prompt und aus dem, was es aus den Ankern ableitet. Je weiter zwei Anker auseinanderliegen und je stärker sich Licht und Pose dazwischen ändern, desto mehr Spielraum nimmt es sich. **Lösung** — Anker enger setzen (bei 24 fps und fünf Sekunden lieber vier bis fünf statt drei), und jedes Keyframe selbst am Kanon bauen — also per Edit vom Gesichts-Anker, nicht frei prompten. Wo das Gesicht wirklich tragen muss, ist ein Referenz-zu-Video-Modell mit mehreren Refs je Figur (`minimax-h3`, `kling-o3-ref`) der sicherere Weg; Keyframes sind für Bewegung und Timing da, nicht für Identität. Enge Einstellungen danach ohnehin neu am Kanon ankern. **Beleg** — 05.08.2026, Flux-3-Test „Gang" (1080p, 5 s, 1,45 $): drei Keyframes aus dem Kanon gebaut (Standoff, Zündung, Vollausbruch). Bewegung, Licht und Timing sauber getroffen, Dennis: „animationen passen, keyframes waren bisschen gedriftet, chais gesicht". Der Katalogeintrag hatte genau das vorhergesagt, jetzt ist es belegt. ### 1.12 Ein Merkmal überlebt den Sprung aufs Sheet nicht **Symptom** — Ein Detail steht sauber auf dem Master, fehlt aber auf dem daraus abgeleiteten Turnaround-Blatt — und weil ab dann das Blatt führt, widersprechen sich Master und Kanon. **Ursache** — Das Merkmal stand nur in der Identitätsliste am Anfang des Prompts („same trousers with the torn right knee"). Ein Sheet-Edit muss aber elf Ansichten gleichzeitig komponieren; dabei gewichtet das Modell die **Layout**-Anweisung höher als die Identitätsliste, und was nur dort steht, fällt in der Menge hinten runter. Je mehr Ansichten auf ein Blatt sollen, desto schwächer wirkt die Liste. **Lösung** — Kritische Merkmale in einen eigenen Block schreiben, der die Ansichten adressiert: „IN EVERY SINGLE VIEW he must carry these features without exception: …". Und die Gegenprobe im Sinn behalten: Ein Merkmal, das trotz Wiederholung zweimal nicht hält, wird **gestrichen** statt erzwungen — sonst steht es in jedem künftigen Shot zur Debatte. Das Blatt ist danach die Wahrheit, der Master nicht. **Beleg** — 05.08.2026, Ahornstraßen-Kanon: der Riss im rechten Hosenknie des Zweiflers stand im Full-Body-Master (NB2-Edit 4K), fehlte auf dem Blatt (0,16 $). Ab dem zweiten Durchgang standen die Merkmale im Ansichten-Block — bei den folgenden sieben Blättern hielten Brille im Haar, Hosenträger, Perlenkette und Kniepolster durch alle fünf Ansichten. ### 1.13 Ein Requisit am Kopf legt sich übers Gesicht und bleibt dort **Symptom** — Ein kleiner Gegenstand an Kopf oder Ohr (Bleistift, Stift, Zigarette) ragt auf allen Nahaufnahmen quer über die Wange und zerschneidet das Gesicht — ausgerechnet auf dem Blatt, das später als Gesichts-Referenz dienen soll. **Ursache** — Das Modell platziert kopfnahe Requisiten nach Bildkomposition, nicht nach Anatomie, und eine ausdrückliche Korrektur („muss NICHT über die Wange reichen") greift nicht zuverlässig: Verbote lenken die Aufmerksamkeit auf genau das verbotene Verhältnis. Bei Nahaufnahmen verstärkt sich das, weil das Requisit dort relativ größer wird. **Lösung** — Kopfnahe Requisiten aus dem Kanon **streichen**, sobald ein zweiter gezielter Versuch scheitert. Eine Figur wird über Kleidung, Körper und Spuren der Arbeit erkennbar, nicht über einen Stift hinterm Ohr. Wo das Requisit wirklich gebraucht wird, gehört es in den einzelnen Shot, nicht in den Kanon — dort kann es notfalls kaschiert werden, im Referenzblatt nicht. **Beleg** — 05.08.2026, Ahornstraßen-Kanon, Trockenbauer: erster Recraft-Master mit Bleistift quer über der Wange, zweiter Versuch per NB2-Edit mit ausdrücklicher Positionsanweisung („tucked flat behind the right ear, pointing backwards, must NOT cross his cheek") — in vier von sechs Nahaufnahmen lag er wieder über dem Gesicht. Bleistift gestrichen, Kosten des Nichtstreichens wären ein dritter Lauf gewesen. ### 3.7 Ein Look aus Stimmungsworten wird über die Dauer abgebaut **Symptom** — Ein Startframe trägt genau die gewünschte Bildsprache — hier: schreiende, über die Grenze getriebene 80er-Videofarben. Im animierten Clip stimmt das erste Bild noch, ab etwa einer Sekunde verwäscht alles ins Blasse, und am Ende sieht es aus wie ein modernes Video, das eine Epoche nur *zeigt*, statt aus ihr zu stammen. **Ursache** — Drei Fehler auf einmal, und keiner davon ist „das Modell kann es nicht": 1. **Keine Look-Referenz mitgegeben.** Der Lauf hatte `refs` leer (aus Angst vor der Kipp-Falle 4.3), also band nur der erste Frame den Look — danach gewinnt der Prior, und der zieht bei extremen Farbwerten zur statistischen Mitte des Trainings zurück. 2. **Der Look war umschrieben statt benannt.** „tube video camera", „analogue video tape" sind Stimmungsworte. Modelle kennen **Geräte**: Kameramodell, Objektiv, Bandformat und Filter stehen als Namen in den Trainingsdaten und rufen ein Aussehen auf, das eine Umschreibung nicht erreicht. 3. **Reine Bewegungssignaturen ohne Gerätebezug** (nachziehende Lichtspuren, Halbbild-Kämme, vertikales Blooming) hängen in der Luft — sie sind die Folge einer bestimmten Aufnahmetechnik und werden nur mit ihr zusammen verstanden. **Lösung** — Den Look über drei Hebel gleichzeitig setzen: **Referenz** (bei ref2v-Modellen wie `minimax-h3` gefahrlos, dort gibt es kein `primary`, das kippen könnte), **konkrete Optik** (Kameramodell, Objektiv, Bandformat, physischer Filter — mit Namen) und **Post** für alles, was über alle Schnitte hinweg identisch liegen muss (Grundrauschen, Chroma-Versatz, Zeilenstruktur, Dropouts). Die Post ersetzt die ersten beiden Hebel nicht, sie vereinheitlicht sie. **Beleg** — 05.08.2026, Ahornstraße, `flux-3-draft` (5 s, 704×1280, 0,30 $): Startframe mit voller Sättigung, Frame-Raster zeigt ab Sekunde 1 blasses Pastell-Lila. Kamera blieb bombenfest gesperrt, die Identität hielt. Dennis dazu: „doch aufjedenfall es steht und fällt mit auswahl von kamera linse, referenzen, filter" — der erste Befund („das Modell kann keinen Look halten") war eine Übergeneralisierung aus einem Lauf ohne Referenz und ohne benannte Optik. **Nachmessung am selben Tag, AHORN-01 Segment A** (`minimax-h3`, 7 s, 2K, 0,91 $): Der Brief nannte diesmal Kameramodell (Ikegami HL-79E), Objektiv (Canon J13x9B), Filter (Tiffen Pro-Mist) und Bandformat (1-Zoll Typ C) ausdrücklich beim Namen, und das Szenen-Sheet als Referenz war mit demselben Block gebaut. **Ergebnis: kein sichtbarer Effekt** — beide Modelle lieferten sauberes, scharfes Digitalbild ohne Blooming, ohne Weichheit, ohne Korn. Dieselbe Datei durch eine ffmpeg-Ebene (`output/alltag/mach_80er.py`) gezogen: Röhren blühen aus, Bild wird flau und weich, Grünstich sitzt — an identischem Material, einziger Unterschied die Post. **Endstand:** Gerätenamen kosten nichts und schaden nicht, tragen den Look aber nicht; der Look entsteht in der Nachbearbeitung, und nur dort liegt er über allen Segmenten identisch. ### 1.14 Ein fotorealistisches Kind kommt als Zeichnung zurück **Symptom** — In einer Reihe gleichartiger Aufträge liefert dasselbe Edit-Modell für sieben Erwachsene fotorealistische Blätter und für das eine Kind eine Comic-Illustration — ohne Fehlermeldung, ohne dass der Prompt sich in Stilfragen unterscheidet. **Ursache** — Kein Prompt-Fehler. Das Modell weicht bei fotorealistischen Kinderdarstellungen selbst ins Illustrierte aus. Das ist beabsichtigtes Verhalten und keine Lücke, die man mit anderer Formulierung schließt. **Lösung** — Nicht umgehen. Kinder in der Besetzung durch Rückenfiguren, Distanz oder reines Geräusch ersetzen — für eine Nachbarschaftsszene trägt das ohnehin. Wo eine gezeichnete Anmutung passt, kann das Ergebnis stehenbleiben; in einer fotorealistischen Reihe kann es das nicht. **Beleg** — 05.08.2026, Ahornstraßen-Kanon: acht Blätter über `nano-banana-2-edit` 4K aus identisch gebauten Prompts, sieben Erwachsene fotorealistisch, der Neunjährige als Illustration (0,16 $). Kind aus dem Ensemble gestrichen. ### 3.8 Der Arbeitsplatz ist leer, also stimmt die ganze Szene nicht **Symptom** — Ein Shot ist technisch einwandfrei: Identitäten halten, Raum stimmt, Kamera sitzt. Trotzdem wirkt die Szene falsch, und beim Hinsehen fehlt der Mensch, der an diesem Ort arbeitet — die Kasse ist unbesetzt, der Tresen verwaist, der Schalter leer. Die Hauptfigur rutscht dadurch unwillkürlich in dessen Rolle: sie steht am Band, als kassiere sie sich selbst ab. **Ursache** — Eine Nebenwirkung der eigenen Regel „Set als leere Platte" (Skill A6). Die Platte muss ohne Menschen gebaut werden, damit das Videomodell den Raum bespielt statt ihn neu zu erfinden. Wer diesen Zustand aber in den Shot-Brief übernimmt („nobody is behind the till"), sperrt genau die Figur aus, die den Ort erst zu einem Ort macht. Der Fehler entsteht nicht beim Bauen der Platte, sondern beim Abschreiben aus ihr. **Lösung** — Beim Schreiben des Briefs zwei getrennte Fragen stellen: *Was ist der Raum?* (aus der Platte, ohne Menschen) und *Wer arbeitet hier?* (gehört in den Shot, mit eigenem Kanon-Blatt und eigener Bewegungsanweisung nach 4.1). Personal ist keine Statisterie, es ist Teil der Ortsbeschreibung. Faustregel: Jeder Arbeitsplatz im Bild ist besetzt, oder es gibt einen Grund dafür, dass er es nicht ist — und der Grund ist dann sichtbar. **Beleg** — 05.08.2026, AHORN-01 Segment A (`minimax-h3`, 7 s, 2K, 0,91 $): Beide Hauptfiguren hielten, der Raum stimmte, das Szenen-Sheet trug. Dennis: „umgebung ist nicht glaubwürdig, keine kassiererin, er steht quasi selbst zum kassieren am band". Das Blatt der Kassiererin lag längst im Kanon und war nur nicht besetzt worden. ### 8.5 Die Verbotsliste erzeugt genau das, was sie verbieten soll **Symptom** — Ein Bild trägt Schrift, obwohl der Prompt sie mehrfach ausdrücklich verbietet. Je länger die Verbotsliste, desto zuverlässiger taucht auf, was darin steht: ein beschriftetes Schild, ein Preis, ein Markenname. **Ursache** — Bildmodelle der Gemini-Familie haben **kein** Feld für Negativ-Prompts; alles steht im selben Text. Google dokumentiert dazu ausdrücklich: „Instead of saying 'no cars', describe the scene positively by saying, 'an empty, deserted street with no signs of traffic'" und „Clearly describe the elements to exclude without using instructive language like 'no' or 'don't' — for example, use 'crowds, boats' instead of 'no crowds, no boats'." Ein Prompt, der zehnmal das Wort „text" enthält, hat dem Modell zehnmal das Konzept Schrift vorgesagt — die Verneinung davor wiegt weniger als die Nennung. Dasselbe gilt für Recraft: dessen eigene Doku warnt, „no" im Negativ-Prompt führe „to the opposite effect". **Lösung** — Unerwünschtes **weglassen statt verbieten**. Statt „no text, no labels, no readable letters" den Zustand positiv beschreiben: „the sign is a blank white panel", „the packaging is plain and unmarked", „the badge is smooth and empty". Wo ein Modell einen echten `negative_prompt`-Parameter hat (Kling, PixVerse, SkyReels), gehören Ausschlüsse dorthin und nicht in den Prompt — dort zählt die Nennung nicht als Erwähnung. Bei Recraft V4.1 ist `negative_prompt` laut offizieller Endpoint-Tabelle ohnehin auf V2/V3 beschränkt, greift bei uns also gar nicht. **Beleg** — 05.08.2026, Ahornstraßen-Umgebungs-Sheet (`nano-banana-2-edit` 4K, 0,16 $): Der Prompt endete mit „No text, no numbers, no names, no labels, no captions, no arrows, no readable letters on any packaging or price rail, no prices, no logos, no watermarks anywhere in the picture." Im Bild stand ein Schild mit der Aufschrift „LEAFLET BOX" — ausgerechnet der Prospektkasten, den der Prompt weiter oben benannt hatte. Quellen: cloud.google.com/blog/products/ai-machine-learning/ultimate-prompting-guide-for-nano-banana · recraft.ai/docs/recraft-studio/image-generation/working-with-text-and-prompts/negative-prompts ### 8.6 Gerätenamen statt Fachbegriffe — der Look kommt trotzdem nicht **Symptom** — Ein Brief nennt Kameramodell, Objektivtyp, Filter und Bandformat beim Namen, und das Ergebnis sieht trotzdem aus wie sauberes Digitalbild. **Ursache** — Die Annahme „Modelle kennen Geräte" stimmt so nicht. In Googles offiziellen Prompt-Beispielen für die Gemini-Bildmodelle steht durchgehend **generisches fotografisches Vokabular**: „85mm portrait lens", „shallow depth of field (f/1.8)", „wide-angle lens", „macro lens", „medium-format analog film", „1980s color film, slightly grainy", „pronounced grain", „cinematic color grading with muted teal tones". Konkrete Marken als Kamera- oder Filmbezeichnung (Hasselblad, Portra 400) tauchen in **keinem** offiziellen Beispiel auf. Gerätetypen sind dokumentiert, Gerätemodelle nicht — und was nicht im Vokabular liegt, wirkt auch nicht. **Lösung** — Im Look-Block die **Wirkung** benennen, nicht das Gerät: statt „Ikegami HL-79E tube broadcast camera" besser „1980s color film, slightly grainy, low contrast, pronounced grain, soft corners". Wo eine Marke wirklich etwas transportiert, gehört sie als Kategorie dazu („a disposable camera's raw, nostalgic flash aesthetic" ist belegt, „Kodak FunSaver" nicht). Und der Look kommt ohnehin zusätzlich aus der Post (3.7). **Beleg** — 05.08.2026, AHORN-01 Segment A (`minimax-h3`) und das Umgebungs-Sheet (`nano-banana-2-edit`), beide mit vollständig benannter Optik im Brief: kein sichtbarer Effekt. Quelle für das dokumentierte Vokabular: cloud.google.com/blog/products/ai-machine-learning/ultimate-prompting-guide-for-nano-banana · developers.googleblog.com/en/how-to-prompt-gemini-2-5-flash-image-generation-for-the-best-results/ ### 8.7 Gestapelte Bildfehler verschmieren das Bild **Symptom** — Ein Prompt verlangt einen zeittypischen Kameralook mit mehreren Aufnahmefehlern gleichzeitig, und das Ergebnis ist nicht charaktervoll, sondern matschig: die Unschärfe legt sich über die ganze Fläche, halbe Bildbereiche werden strukturloser Brei, und die gewollten Details ertrinken darin. **Ursache** — Dieselbe Mechanik wie bei zu vielen Handlungssträngen im Video (8.4). Das Modell gewichtet nicht, es überlagert: Wer radiale Zoomunschärfe, verwischte Gliedmaßen, Staub in der Luft, Sonnenflare und anamorphe Streckung in denselben Prompt schreibt, bekommt alle fünf über dem ganzen Bild statt einen davon an der richtigen Stelle. Bei `gpt-image-2` verstärkt die Stufe `quality: high` das zusätzlich — sie setzt mehr von dem um, was dasteht, auch das Widersprüchliche. **Lösung** — **Zwei bis drei Bildfehler, nicht mehr**, und jeder an einem benannten Ort: „die Lampe hinten brennt aus", „ihr Rauch zieht durchs Objektiv". Ein Fehler, der überall gilt (Korn, Farbstich), zählt nicht mit; ein Fehler, der eine Fläche frisst (Zoomunschärfe, Bewegungsunschärfe), zählt doppelt. Bei überladenen Prompts hilft zusätzlich `quality: medium` statt `high` — weniger Umsetzungstreue ist hier ein Vorteil, und es kostet ein Viertel. **Beleg** — 05.08.2026, Fernsehgeschichte-Anker: Der 70er-Krimi mit drei Fehlern (ausgebrannte Lampe, Rauch vor der Linse, Schleierflare) wurde von Dennis abgenommen; derselbe Aufbau als Kung-Fu-Frame mit fünf Fehlern (0,222 $, `high`) kam als Matsch zurück. Dennis: „gpt image 2.0 high verschmiert irgendwie bei zuviel". ### 7.10 Das Bild kommt quadratisch, obwohl Hochformat verlangt war **Symptom** — Bei `gpt-image-2` wird ein Hochformat angefordert und ein Quadrat geliefert. Der Job meldet Erfolg und wird voll abgerechnet. **Ursache** — **Nicht das Modell, sondern ein Parametername.** `gpt-image-2` kennt bei uns **kein** `image_size` mit Preset-Namen wie `portrait_4_3`. Der Builder rechnet die Pixelmaße selbst aus zwei anderen Feldern: `image_size: gptImageDims(o.aspect_ratio, o.resolution)`. Wer `image_size` übergibt, füttert ein Feld, das niemand liest — `aspect_ratio` und `resolution` bleiben `undefined` und fallen auf den Standard 1:1 bei 2K zurück. Verschärfend: Die Job-Beschreibung in `registry.json` nannte jahrelang `image_size` als Option und hat den Fehler damit nahegelegt. **Lösung** — Für `gpt-image-2` immer **`aspect_ratio`** (`1:1`, `3:2`, `2:3`, `3:4`, `4:3`, `16:9`, `9:16`, `21:9`, `9:21`) und **`resolution`** (`1K`/`2K`/`4K`) setzen, dazu `quality` (`low`/`medium`/`high`). Preset-Namen aus anderen Modellen (`portrait_4_3`, `square_hd`) gehören zu `seedream-v5` und `recraft-v4` und wirken hier nicht. Und generell: Ein Parameter, den ein Builder nicht liest, wird still verworfen — das ist dieselbe Klasse wie 7.1. **Beleg** — 05.08.2026, zweimal `portrait_4_3` an `gpt-image-2` übergeben (Bahnsteig-Vergleich und Fernsehgeschichte-Anker), beide Male quadratisch zurück. Dennis: „für gpt image 2.0 gibst du das format mit, es gibt keine auswahl. hatten wir schonmal das thema." Der ursprüngliche Eintrag hatte dem Modell die Schuld gegeben und ist damit **widerlegt**. ### 3.9 H3 baut Raumton, Effekte und Musik wirklich — wenn man sie hinschreibt **Symptom:** Unklar, ob `overall_soundscape` und `non_diegetic_music` im H3-Brief etwas bewirken oder nur Dekoration sind. **Ursache:** Sie werden ausgefuehrt. Gemessen am 05.08.2026 an sechs ZAPP-Clips, Pegel je Sekunde im Video gegen die *gelieferte* Sprechspur: wo die Spur stumm ist (−91/−99 dB), liegt im Video Inhalt — Testbild Sek. 0–2 −64 dB Sinuston und Sek. 8 −17 dB Abschaltknall, Sitcom Sek. 0 und 7–9 Publikumslachen, Teleshopping Sek. 8–9 Synthschleife, Nachtaction Sek. 7–9 Motor und Synthpuls, Kung-Fu Sek. 0 Aufschlag. H3 mischt zusaetzlich neu: unsere Sprache liegt im Ergebnis 2–3 dB lauter als in der Quelle. **Loesung:** Nur Stimmen liefern, den Rest in Worten beschreiben — das ist billiger und praeziser als Effekte in der Post. **Wenn ein Musikbett schon unter der Sprache liegt, muss `non_diegetic_music: N/A - the supplied track already carries the music` dastehen**, sonst legt H3 eine zweite Musik daneben. **Beleg:** ZAPP-01, 05.08.2026, Messung ohne Zusatzkosten (`ffmpeg volumedetect` je Sekunde). ### 8.8 Selbstkorrektur im Prompt bleibt stehen und wird mitgelesen **Symptom:** Im H3-Brief zu ZAPP Kanal 7 stand ` (S2 is ; here S2) — no: at 00:00.350 (S2) speaks` — ein halb ueberschriebener Satz. **Ursache:** Beim Umschreiben der Sprecherzuordnung wurde die alte Fassung nicht geloescht. Das Modell liest den ganzen Satz, inklusive des Widerrufs. **Loesung:** Vor dem Absenden jeden Brief einmal auf `no:`, `bzw.`, `—` und doppelte Sprecher-IDs absuchen. Ein Brief ist ein Dokument, kein Gespraech. (Der Clip kam hier trotzdem sauber zurueck, 1,30 $ — das ist Glueck, keine Regel.) **Beleg:** ZAPP-01 Kanal 7, gen `e32d0003`, 05.08.2026. ### 1.15 Requisit driftet im Detail, obwohl die Figur haelt **Symptom:** Chais Stab kam ueber mehrere Epochen-Anker mit EINEM Kristall statt drei zurueck — Figuren, Kostuem und Szene sassen jedesmal. **Ursache:** Der Stab war nur in Worten beschrieben („crystal staff"). Fuer Figuren gibt es Gesichts-Anker und Turnaround, fuer Requisiten gab es nichts. **Loesung:** **Requisiten brauchen ein eigenes Blatt.** Hier gratis gebaut: der Stab aus dem Kanon-Blatt `chai-sheet-2k.png` ausgeschnitten (Ganzansicht + 6-fach vergroesserter Kopf), `output/zapp/stab-kanon.png`. Seither als eigene Referenz in jedem Prompt, mit ausdruecklicher Zustaendigkeit („THE STAFF is the object in the third reference"). **Beleg:** ZAPP-01, 05.08.2026 — Regie Dennis: „chais stab hat aufjedenfall gelitten das warn mal 3 bergkristalle". Nachbau des Teleshopping-Kanals 1,40 $. ### 5.13 H3 verschiebt den zweiten Sprecher — Untertitel nie nach dem Brief timen **Symptom:** Im Schlussclip von ZAPP-01 lag der Untertitel „Ich weiß." vier Sekunden vor der Zeile. Dennis: „der ich weiß untertitel am ende kommt viel zu früh, chai spricht viel später." **Ursache:** H3 nimmt die gelieferte Spur NICHT starr. Gemessen an zwei Clips: die Zeile des ERSTEN Sprechers bleibt auf ihrer Sekunde, die des ZWEITEN wandert nach hinten — Rückgabe-Clip 4,60 → **8,99 s**, Kung-Fu 4,80 → **6,56 s**. Der Marker `copied` gilt fürs Material, nicht für die Zeitachse. **Lösung:** Untertitel und Schnittpunkte **immer aus dem fertigen Clip messen**, nie aus dem Brief ableiten: ``` ffmpeg -i clip.mp4 -af silencedetect=n=-34dB:d=0.3 -f null - ``` Die Sprechfenster sind die Lücken zwischen den Stillen. Bei Clips mit durchgehendem Musikbett trennt das nicht mehr — dort hilft nur Scribe. **Beleg:** ZAPP-01, 06.08.2026. Zwei Untertitelspuren korrigiert, Kosten 0 (nur Messung). ### 6.13 Bauer und Kritiker in einer Person **Symptom** — Etwas wird gebaut, selbst für gut befunden, geliefert — und fällt bei der Sichtung durch. Nicht wegen eines Modellfehlers, sondern weil beim Prüfen dieselbe Absicht mitgelesen wurde, die beim Bauen im Kopf war. **Ursache** — Wer ein Artefakt gebaut hat, sieht daran die Absicht und nicht das Ergebnis. Die Absicht ist immer die schönere von beiden. Das ist Bauweise, nicht Nachlässigkeit — und es tritt zuverlässig auf, sobald derselbe Kopf Brief schreibt, Job startet und Ergebnis abnimmt. **Lösung** — Skill **F7**: an zwei Stellen prüft jemand, der die Absicht nicht kennt, beide vor dem Geldausgeben. (1) Am **Brief** vor dem Absenden, mit Brief und Epochenblatt und sonst nichts. (2) Am **fertigen Clip** vor dem Schnitt, mit Kontaktbogen, Messwerten und Kanon-Blättern — aber ohne den Brief. Der Prüfer nennt die **größte** Lücke, dann folgt EIN gezielter Versuch. Herkunft des Musters: Gauntlet Loop (Matt Shumer); übernommen ist nur der unabhängige Kritiker, nicht das ganze Gerüst. **Beleg** — ZAPP-01, 05./06.08.2026, dreimal in einer Sitzung: · **Krimi** von mir für gut befunden, von Dennis verworfen („nochmal neu, achte mehr auf sprache und atmosphäre") — der Clip hatte keinen Kameratrick seiner Zeit, obwohl das in `FERNSEHGESCHICHTE.md` danebenstand. 1,30 $. · **Stab mit einem statt drei Bergkristallen**, dreimal durchgerutscht, obwohl das Kanon-Blatt vorlag. 1,40 $ Nachbau. (→ 1.15) · **Halb überschriebener Satz im H3-Brief**, der beim Lesen sofort aufgefallen wäre. (→ 8.8) ### 6.14 H3 nur bei einem Anbieter, obwohl es zwei gibt **Symptom** — Alle H3-Läufe gehen auf WaveSpeed, das Guthaben dort ist als erstes leer, und die anderen Anbieter liegen ungenutzt daneben. **Ursache** — In der Registry stand nur ein Anbieter. Dazu eine Falle im Router: er überspringt jeden Anbieter **ohne `vid`-Preismatrix**, und die WaveSpeed-Zeile hatte bewusst keine (damit das Preis-Badge die additive Ref-Formel exakt zeigt). Ein zweiter Anbieter mit `vid` hätte also **alles** zu sich gezogen, statt zu ergänzen. **Lösung** — Beide Anbieter bekommen eine `vid`-Matrix, damit der Router vergleichen kann; der Aufpreis fürs Badge ist dokumentiert (bei mehr als fünf Bild-Referenzen wird das Badge ungenau, abgerechnet wird trotzdem korrekt — die Submit-Function ist die Preis-Autorität). **Der Router merged KEINE Modell-Defaults**: ohne `resolution: "2k"` in den options findet er keine Rate und fällt auf den Executor zurück, ein Anbieter-Pin wird dann stillschweigend ignoriert. **Beleg** — 06.08.2026. Runware `minimax:h3@0` verdrahtet, Preis aus den vier pricingExamples der Modellseite abgeleitet (alle Vielfache von **0,1391 $/s**) und mit einem Lauf bestätigt: Schätzung 0,6955 $ für 5 s, auf die vierte Stelle. Gegenprobe auf WaveSpeed 0,65 $. Beide Ausgaben identisch: 1440×2560, 24 fps, AAC 32 kHz, gleicher Lipsync. Bei fal existiert H3 nicht (alle vier Slug-Varianten 404). ### 5.14 Die Kanon-Stimmen singen nicht — das Musikmodell schon **Symptom** — `[singing]` als Audio-Tag in `eleven_v3` klingt nach Gesang, ist aber keiner. Ein Musical mit den Kanon-Stimmen fällt damit aus. **Ursache** — Der Tag erhöht nur die Sprechmelodie. Gemessen (Grundfrequenz-Verfolgung, Autokorrelation, 06.08.2026): der „gesungene" Take hält seine Töne mit **0,21 s** sogar KÜRZER als der gesprochene (0,26 s), und die Rasternähe zum Halbtonraster ist mit 0,26 gegen 0,24 nicht besser. Töne über 0,30 s: **null**, in beiden Fassungen. **Lösung** — Gesang kommt aus der **ElevenLabs-Music-API** (`stimmen/musik.py`), nicht aus der TTS. Dieselbe Messung dort: Rasternähe **0,17**, längster Halteton **0,94 s**, vier Töne über 0,30 s — und Scribe transkribiert den deutschen Text wörtlich. Der gesungene Ton geht als `