Die Bremer Stadtmusikanten

Ein Kinder-Märchen, erzählt von einer KI-Video-Pipeline — komplett aus dem Terminal gesteuert.

Aus Grimms Märchen ein animiertes Kinder-Video machen — ohne 3D-Studio, ohne Animations-Team. Charaktere kommen aus einem Bildmodell, Bewegung aus Video-Modellen, Stimmen aus Text-to-Speech, der Schnitt aus ffmpeg. Diese Seite erklärt, was wir gebaut haben, zeigt die Figuren und Videos, vergleicht die Modelle und dokumentiert ehrlich die Herausforderungen auf dem Weg zur ersten fertigen Szene.

7Figuren im Cast
5+Video-Modelle getestet
2Alters-Fassungen (1–3 / 4–6)
10gelöste Herausforderungen
37 serste fertige Szene
Bild
nanobanana / Gemini
Charakter-Referenzen, Hintergründe
Bewegung
Atlas Cloud
Seedance · Kling (i2v / ref-to-video)
Stimme
ElevenLabs
native deutsche Stimmen
Schnitt
ffmpeg
audio-getriebener Zusammenschnitt

Das Projekt

Worum es geht

Dasselbe Märchen, zwei Tiefen — und konsequent kindgerecht entschärft.

Ziel ist ein animiertes Video von „Die Bremer Stadtmusikanten" (Brüder Grimm) in zwei Fassungen: eine sehr einfache für 1–3 Jahre (~5–6 Min, kurze Sätze, viel Wiederholung, Lautmalerei) und eine ausgeschmückte für 4–6 Jahre (~10 Min, echte Dialoge, Charakterhumor, Slapstick).

Im Original sollen die Tiere getötet werden — das ist konsequent entschärft: keine Bedrohung, die Tiere sind nur „alt und werden nicht mehr gebraucht" und finden eine neue Aufgabe. Die Räuber sind nicht böse, sondern tollpatschig-feige (Slapstick statt Gruseln).

Wiederkehrendes Musikmotiv: jedes Tier ist ein Ton — I-Aaah · Wau · Miau · Kikeriki — zusammen die „Band". Als Leitmotiv über die ganze Serie nutzbar.

Aktueller Stand: Proof of Concept bestanden. Die ganze Pipeline ist bewiesen und eine erste komplette, vertonte, textgetreue Szene steht. Als Nächstes: das Drehbuch szenenweise durchproduzieren.

Gesamter Cast als Größenreferenz
Der gesamte Cast
Größenreferenz: drei Räuber in Menschengröße, der aufrechte Esel als größtes Tier, dann Hund, Hahn, Katze.

Die Figuren

Der Cast

Alle Figuren entstehen einmal als Standbild im einheitlichen Bilderbuch-Aquarell-Stil — der Esel ist der Stil-Anker, sein Bild gibt allen anderen den Look vor. Alle vier Tiere sind dezent gealtert (graue Schnauze, sanfte Fältchen), passend zum „zu alt"-Thema.

Esel Grauschimmel
Esel — Grauschimmel
Anführer, Optimist, hat die Bremen-Idee. Trägt eine Laute.
Stimme: Crizz · tief, warmherzig
Hund Packan
Hund — Packan
treu, tollpatschig, immer hungrig. Trommel als Anker.
Stimme: Adrian · kräftig, fröhlich
Katze Bartputzer
Katze — Bartputzer
elegant, mürrisch, spitze Zunge.
Stimme: noch zu casten
Hahn Rotkopf
Hahn — Rotkopf
laut, stolz, „Frühwarner" — entdeckt das Licht.
Stimme: Paul · hell, dramatisch
Die Räuberbande
Räuberbande
Hauptmann + 2 Handlanger. Tollpatschig-feig, nie gruselig.
Erzählerin: Bettina · warm
Räuberhaus bei Nacht
Räuberhaus (Nacht)
Schauplatz-Hintergrund: warm erleuchtetes Fenster im dunklen Wald.
Räuberstube von innen
Räuberstube (innen)
Bühne für den Fenster-Blick: Tisch voll Essen, Kerzenlicht.
Größenchart der vier Tiere
Größenchart
Definiert die relativen Stehhöhen der vier Musikanten.
Gruppenreferenz in natürlichen Posen
Gruppenreferenz
Die vier in natürlichen Posen — definiert das Zusammenspiel der Figuren.

Pro Figur: eine Pose-Bibliothek

Identitäts-Referenzen + Aktions-Referenzen

Der Schlüssel zur Charakterstabilität (mehr dazu unten): jede Figur bekommt mehrere Ansichten. Identität = Front · Gesicht-Nah · Profil · Rückseite. Aktion = eine passende Pose pro Bewegung (z.B. Laufen, mit der Laute am Riemen statt in den Händen). Genau wie ein Animationsstudio ein Model-Sheet pro Aktion anlegt.

Esel front
Identität Front (Anker)
Esel Gesicht
Identität Gesicht-Nah
Esel Profil
Identität Profil
Esel Rückseite
Identität Rückseite
Esel Laufprofil
Aktion Laufen, Profil — Laute am Riemen
Esel Lauf 3/4
Aktion Laufen, ¾-Ansicht
Hund Laufprofil
Aktion Hund — vierbeinig, Trommel als Anker
Katze Laufprofil
Aktion Katze — vierbeinig, Schwanz hoch
Hahn Laufprofil
Aktion Hahn — stolzierend auf zwei Beinen
Esel Pose-Sheet
Sheet 4 Posen in 1 Bild (2×2)
Cast Sheet
Sheet Alle 4 Tiere in 1 Bild

Die Pipeline

Vier Bausteine, drei kleine Skripte

Nichts davon braucht eine Web-UI oder einen Menschen, der irgendwo klickt — alles läuft headless als Node-Skript, das die APIs ruft und mit ffmpeg zusammenbaut.

① Charaktere
scripts/generate.mjs

Batch-Generator über die nanobanana-CLI (Gemini). Stil-Anker-, Kompositions- und Edit-Modus. Sichert Vorgänger ins Archiv.

② Video
scripts/i2v.mjs

Image-/Reference-to-Video über Atlas Cloud. Wählt automatisch Schema je Modell (Kling vs. Seedance), Multi-Ref als base64-Array, robustes Polling.

③ Szene
scripts/build-scene.mjs

Liest ein Drehbuch (JSON), generiert pro Shot N Varianten, erzeugt die ElevenLabs-Stimmen und schneidet audio-getrieben zusammen. Schreibt ein lesbares DREHBUCH.md.

Die bewiesene Kette: Atlas-Upload → Seedance/Kling → Polling → Download → ElevenLabs DE-TTS → ffmpeg-Mux. Jeder Shot wird ein Segment (Video auf Sprechlänge gepaddet + Stimmen gemischt), dann per concat zur Szene.
Beispiel: ein Shot aus dem Drehbuch (scenes/annaeherung.json)
{
  "id": "fenster", "duration": 6, "variants": 2, "pick": 2,
  "refs": [
    "assets/characters/esel.jpg",
    "assets/characters/refs/esel_profile.jpg",
    "assets/characters/raeuber.jpg",
    "assets/characters/stube.jpg",
    "assets/characters/haus.jpg"
  ],
  "prompt": "Night exterior, locked static camera... the old grey donkey
    peers inside the lit window... THROUGH THE WINDOW three funny scruffy
    robbers sit around a big wooden table laden with food, feasting...",
  "narration": [
    { "speaker": "hund", "text": "Was siehst du denn, Grauschimmel?" },
    { "speaker": "esel", "text": "Einen Tisch voll mit herrlichem Essen —
       und drei Räuber, die sich's so richtig schmecken lassen!" }
  ]
}

Modelle im Vergleich

Welches Video-Modell für welchen Shot?

Alle Modelle laufen über dieselbe Atlas-Cloud-API. Die entscheidende Erkenntnis: nicht ein Modell gewinnt, sondern jeder Shot-Typ hat sein Modell.

ModellAPI-IDPreis/sAuflösungRolle bei uns
Seedance 2.0 ref-to-videobytedance/seedance-2.0/reference-to-video~$0.24720pStandard für Szenen: hält alle Figuren (bis 9 Refs), komponiert frei, on-model
Kling 3.0 Prokwaivgi/kling-v3.0-pro/image-to-video$0.0951080pStandard für Einzel-Shots: animiert ein komponiertes Standbild treu, hochauflösend, günstig
Seedance 2.0 (full) i2vbytedance/seedance-2.0/image-to-video~$0.24720phält Identität mit Anker, aber Einzelbild → kein echtes Multi-Ref
Seedance 2.0 fast…/seedance-2.0-fast/…~$0.022720p❌ verworfen — bricht den Stil komplett (3D / falsche Figur)
Seedance v1.5 Probytedance/seedance-v1.5-pro/…$0.047recherchiert (Stil-Erhalt-Führer), Test scheiterte am content-Schema
Hailuo 2.3 · Vidu Q3 · Wan 2.6minimax / vidu / alibaba$0.018–0.28recherchiert als günstige/stilisierte Alternativen
Modellwahl nach Shot-Typ: Mehr-Figuren-Szenen, freie Komposition und Fortbewegung → Seedance ref-to-video. Einzelfigur, Close-up oder „ein bereits komponiertes Standbild zum Leben erwecken" → Kling i2v (1080p, günstiger). Bei Multi-Char ist Kling unzuverlässig (lässt Figuren weg, macht den aufrechten Esel zum Vierbeiner).

Derselbe Esel, fünf Ansätze

Klicken zum Abspielen — die Clips starten automatisch, sobald sie ins Bild kommen.

Drift Seedance fast, 1 Bild. Unser flacher Esel wird zum fotorealistischen 3D-Plüschtier und legt sich hin.
Drift Fast + „2D"-Prompt. Jetzt flach — aber eine komplett neue Figur (Junge mit Hirschgeweih). Unser Esel ist weg.
besser Seedance full + Anker. Esel bleibt erhalten (stehend, Laute, 2D) — aber etwas „bleistiftig".
Durchbruch Seedance ref-to-video, 4 Refs + Negativ. Exakt unser Aquarell-Esel, stabil über alle Frames.
stark Kling 3.0 Pro, Multi-Ref. Hält denselben Esel — in 1080p und ~2,5× günstiger.
Szene mit allem Seedance, 6 Refs. Alle vier Tiere on-model + Räuberhaus — eine kohärent komponierte Szene.

Herausforderungen & Lösungen

Was schwer war — und wie wir es gelöst haben

Der ehrliche Teil. Fast jeder Fortschritt kam aus einem sichtbaren Fehler. Jede Karte zeigt ProblemUrsacheLösung, viele mit dem Video-Beleg davor/danach.

1 Stil-Bruch: aus 2D wird 3D

ProblemSeedance verwandelt den flachen Bilderbuch-Esel in ein fotorealistisches 3D-Plüschtier — oder erfindet bei „2D"-Prompt eine ganz neue Figur.
UrsacheEin einziges Frontbild + image-to-video + ein realismus-getrimmtes Modell + kein Negative-Prompt. Das Modell muss alle unbekannten Ansichten erfinden → Drift.
LösungDie „yeti-Methode" — drei Zutaten zusammen (siehe Kasten).
Die 3 Zutaten der Charakterstabilität:
  • Multi-Referenz statt Einzelbild — Front + Gesicht + Profil + Rückseite
  • Der Modus reference-to-video (Identitäts-Lock aus mehreren Refs) statt image-to-video
  • Ein hartes Negative-Prompt in jedem Call gegen „3D, photoreal, andere Figur, Hirsch …"

Bonus: das Array-Schema reference_images:[base64…] beseitigte auch die 400-Fehler — der Einzelpfad image_url kann gar kein Multi-Ref.

vorher 1 Bild → 3D-Plüsch
nachher 4 Refs + Negativ → unser Esel

2 Mehr-Figuren-Szenen: Kling verliert Figuren

ProblemIn Gruppenszenen lässt Kling eine Figur weg und macht aus dem aufrechten Esel einen Vierbeiner wie ein echtes Pferd.
UrsacheKling i2v nutzt das (erste) Bild als Startframe und ist auf eine kohärente Mehr-Figuren-Komposition aus getrennten Refs nicht ausgelegt.
LösungGruppen-/Story-Szenen an Seedance ref-to-video routen — es hält alle vier (bis 9 Refs) und komponiert frei.
Kling Esel auf allen Vieren, Hund fehlt
Seedance alle vier, on-model

3 Klings 4-Ref-Limit & das wörtlich animierte Sheet

ProblemKling akzeptiert nur 4 Referenzbilder (unsere 6 wurden abgelehnt). Und ein zusammengesetztes Pose-Sheet wird als Ganzes animiert — das 2×2-Raster wackelt, statt eine Figur daraus zu lösen.
UrsacheKling animiert exakt das Eingangsbild als Leinwand. Seedance dagegen nutzt die Refs als Identitäts-Pool und baut eine neue Szene. Auch das Seitenverhältnis ist sensibel (4×1-Streifen → „aspect ratio invalid").
LösungZwei saubere Produktionswege: (A) Seedance komponiert direkt aus vielen Refs. (B) Für Kling erst die Szene als echtes Standbild komponieren (nanobanana-Kompositionsmodus), dann animieren. Sheets quadratisch (2×2) halten.
Beleg Kling animiert das ganze 2×2-Esel-Sheet — vier wackelnde Esel statt einem.

4 Extra-Arme beim Laufen

ProblemBeim Laufen bekommt der Esel zusätzliche Arme, die da nicht hingehören.
UrsacheAlle Identitäts-Refs zeigen ihn aufrecht mit „Armen" (Laute spielend). Das Modell mischt diese Arm-Pose mit Lauf-Beinen → Anatomie-Fehler.
LösungAktions-Referenzen pro Bewegung mitgeben: ein Laufprofil mit Laute am Riemen (statt in den Händen) + verschärftes Negativ gegen „extra arm, holding the lute". Jede Figur braucht eine Pose-Bibliothek pro Aktion.
Lauf-Referenz Esel
Aktions-Ref aufrechter Gang, Laute am Riemen
nachher sauberer Lauf, 2 Arme, 2 Beine

5 „Das Haus läuft weg" — Kamera-Drift statt Fortbewegung

ProblemDie Tiere bewegen sich nicht wirklich — der Hintergrund/das Haus schiebt sich aus dem Bild, die Tiere laufen auf der Stelle.
UrsacheIm Prompt stand „Kamera folgt ihnen" → Seedance bewegt die Kamera (billiger Hintergrund-Slide), statt die Figuren über echte Strecke laufen zu lassen. KI-Video ist bei „auf ein fernes Ziel zulaufen + Kamerafahrt" notorisch schwach.
LösungGesperrte Kamera + Lateral-Walk: die Tiere wandern quer durchs Bild (links → rechts), Haus fix. Oder die dynamische Tiefen-Variante: klein hinten im Wald auftauchen und größer werdend nach vorne laufen — echte Strecke.
vorher Haus driftet weg, Marsch auf der Stelle
nachher gesperrte Kamera, echte Wanderung
Hero-Shot dynamisch, 10 s: aus dem Wald heraus, klein → groß (Establishing + Anmarsch in einem).

6 Geografie & Texttreue

ProblemEin einziger Shot zog „das Licht aus der Ferne entdecken" und „am Haus ankommen" zusammen — die Geografie kollabierte. Und durchs Fenster sah man nur Essen, nicht die Räuber am Tisch (der Grimm-Kernbeat).
UrsacheZu viel Handlung in einer Einstellung; und die Räuber-Referenz fehlte als Fenster-Inhalt.
LösungBeats auf getrennte Shots aufteilen (fern entdecken → annähern → naher Fenster-Guck). Räuber-Refs + Stube als Window-Inhalt mitgeben. Story-Kernbeats nie weglassen.
Beat 1 kleines, fernes Licht im Wald
Beat 4 Räuber am gedeckten Tisch (textgetreu)

7 Transiente API-Fehler & robustes Polling

ProblemGelegentliche 502/HTML-Gateway-Seiten statt JSON, sporadische „internal error" mitten im Render.
UrsacheCloud-Backend-Aussetzer — kein Schema-Problem.
LösungPoller härten (bei Nicht-JSON einfach weiterpollen statt abstürzen) und fehlgeschlagene Renders einfach neu starten. Im Skript verankert.

Die fertige Szene

„Annäherung ans Räuberhaus" — 37 Sekunden, end-to-end

Der eigentliche Meilenstein: nicht „funktioniert die Pipeline?", sondern „wir können Szenen am Fließband produzieren" — stiltreu, charakterstabil, mit deutschen Charakterstimmen, nach Grimm-Vorlage.

mit Ton 4 Shots · Erzählerin + Charakterstimmen · audio-getriebener Schnitt. (Ton einschalten — dieser Clip hat Stimmen.)
#ShotTon
1Müde Rast im dunklen WaldErzählerin
2Entdeckung des fernen LichtsHahn + Erzählerin
3Anmarsch aus dem WaldErzählerin
4Fenster: Esel sieht die RäuberHund + Esel
Die Szenen-Maschine: Drehbuch als scenes/<name>.json schreiben → build-scene.mjs ausführen. Pro Shot werden mehrere Varianten generiert; die beste wählt man per "pick" und schneidet mit --assemble neu. Varianten bleiben erhalten. So entsteht jede weitere Szene gleich.

Strategische Wege

Welche Werkzeuge — und wie viel KI?

Parallel lief eine Grundsatz-Frage: Müsste man das nicht „richtig" in einer 3D-Engine bauen? Die ehrliche Abwägung — und die gewählte Richtung.

RenderMan / Unreal?

Technisch ja — aber der Renderer war nie das Problem. Man bräuchte erst die anderen 90 % (Modelle, Rigging, Animation) und würde gegen den eigenen Bilderbuch-Stil ankämpfen, den beide Engines von Haus aus nicht können. Für unseren flachen Aquarell-Look der falsche Weg.

Open-Source-Stack

Vollständig offen denkbar: ComfyUI + SDXL/Flux (mit LoRA pro Figur für echte Konsistenz), ControlNet für Choreografie, lokale Video-Modelle (Wan/Hunyuan), Coqui/Piper/Kokoro TTS, rembg, ffmpeg. Haken: lokale Video-Diffusion ist auf dem Mac zäh.

Weniger KI, echte Produktion

Die Cut-out-/Puppet-Animation: die freigestellten Figuren als Gelenk-Puppen rigging und die Bewegung deterministisch animieren (Blender headless oder HyperFrames). Die Musik-Pyramide als Physik-Sim. Konsistenz perfekt by-design, da dieselbe Kunst in jedem Shot.

★ Gewählte Richtung

KI dort, wo sie Sinn macht — Stand-Bilder (Figuren, Hintergründe), Stimmen, später Musik/SFX und Inspiration. Bewegung kann zunehmend in echte Animation wandern. Heute bewiesen und produktiv ist die KI-Video-Pipeline; sie liefert sofort Ergebnisse, während die Cut-out-Schiene als Ausbau danebensteht.