Sprite Stage
Ein Einrichtungsbefehl. Dann erstelle einen originalen 2D-Film aus Charakterblättern und einem Referenzvideo.
Erster Schritt
Wenn .ready fehlt, führe dies aus und warte auf Sprite Stage is ready.
bash setup.sh
Mach das selbst. Gib der Person keine Liste von Paketen zum Installieren. Das Skript kann gefahrlos erneut ausgeführt werden.
Bildwiedergabe verwendet systemweites Python. Neue Stimmen verwenden die virtuelle Umgebung, die das Skript erstellt.
python3 render.py
.venv/bin/python voices.py
python3 render.py
Das fertige Beispiel ist renders/long-slide.mp4.
Was du original hältst
Ein Referenzvideo liefert nur die Grundidee: den Ort, die Reihenfolge der Aktionen und das Gefühl. Schreibe ein neues Skript mit den eigenen Charakternamen des Benutzers. Kopiere weder den Quelltitel, Charakternamen, Logos, Liedtexte noch gesprochene Zeilen in Prompts, Bildschirmtext oder den Soundtrack.
Kleidungs- und Stimmsperren für das enthaltene Ensemble sind in characters/CAST.md. Beispiel-Prompts sind in examples/prompts.md.
Einen neuen Film erstellen
- Lege das Referenzbild jedes Charakters in
characters/ab. Eine Person pro Datei. Vorderansicht, ganzer Körper, einfacher Hintergrund. - Erzeuge Sprite-Blätter in
sprites/{name}-{action}.png. Aktionen, die vom Beispiel-Renderer verwendet werden:walk,front,talking,back,sitting. Blätter bestehen aus vier Zellen nebeneinander auf Magenta (#FF00FF).
Kostenlose Sprites
Standardmäßig ein kostenloses Bildtool verwenden. Dadurch sind die Sprite-Bilder 0 €. Die Agent-Token-Tabelle in COSTS.md gilt weiterhin.
python3 scripts/free_sprites.py --provider prompt --name lina --action walk,front,back,talking,sitting
Jede Datei in sprites/prompts/ benennt die beiden anzuhängenden Bilder und den einzufügenden Prompt. Beispiel-Prompts sind in examples/prompts.md. Speichere das Bild des Tools als sprites/{name}-{action}.png.
Verwende Gemini nur, wenn GEMINI_API_KEY bereits in der Umgebung vorhanden ist. Frage niemals nach dem Schlüssel, gib ihn niemals aus und schreibe ihn niemals ins Repository.
python3 scripts/free_sprites.py --provider gemini --name lina --action walk
Wenn dieses Modell außerhalb des kostenlosen Guthabens des Schlüssels liegt, stoppe und verwende --provider prompt.
-
Schreibe originale Zeilen in
voices.py, dann.venv/bin/python voices.py. Die Tonhöhe verwendet die tatsächliche Abtastrate der Datei, dann wird jede Zeile auf etwa zwei Wörter pro Sekunde verlangsamt, damit der Mund für die gesamte Zeile offen bleiben kann. -
Richte
render.pyNAMESundHEIGHTauf das Ensemble aus. Baue die Zeitleiste so, dass nur eine Person klettert und nur eine Person rutscht. Rufepython3 render.pyauf. Münder öffnen sich fürDauer + 0,2 s. Der Rutschjubel beginnt, wenn die Rutsche startet.
Sprite-Regeln, die Kleidung intakt halten
- Nur starkes Magenta keyen: Rot > 200, Grün < 100, Blau > 200. Ein loser Chroma-Key schlägt Löcher in rosafarbenen Stoff.
- Lösche keine verbundene Region nur, weil es ein Gesicht ist. Behalte Komponenten von etwa 1800 Pixeln oder mehr.
- Laufzellen teilen sich eine Zeitspanne: langer Schritt, Füße zusammen, entgegengesetzter Schritt, Füße zusammen.
- Seitenansicht schaut nach rechts. Spiegele sie im Renderer, wenn der Charakter nach links läuft.
- Setze den Fahrer auf den Rutschenpfad und bedecke die Beine mit der nahen Kante der Rutsche. Lasse den Körper nicht über der Rutsche schweben.
Stimmen
OpenVoice V2 verschiebt die Klangfarbe. MeloTTS spricht die Worte mit einer britischen englischen Basis. Kinder sind höher und etwas schneller als Erwachsene. Gib jeder Person eine andere Zielklangfarbe. Gib nicht dem gesamten Ensemble eine Tonhöhe.
Wenn eine Zeile immer noch kürzer als ihr Mundfenster ist, senke die MeloTTS-Geschwindigkeit oder dehne sie mit atempo unter 1. Beschleunige eine Zeile nicht, um eine Lücke zu füllen.
Kosten und Maschine
Ein 1-minütiger Film benötigt etwa 300.000–500.000 Input-Token und 60.000–100.000 Output-Token, wenn die Sprites bereits existieren, oder etwa 1,0M–1,5M Input und 200.000–300.000 Output, wenn du auch Sprites erstellst und einmal überarbeitest. Dollarbeträge für OpenCode, Claude, Codex und Cursor sowie die OpenVoice-CPU-Anforderungen (8 GB RAM, Python 3.11–3.13, keine GPU erforderlich) findest du in COSTS.md.
Wenn die Person möchte, dass der Film nichts kostet, führe diesen Skill in OpenCode auf einem als Free markierten Modell aus und erstelle die Blätter mit --provider prompt. Diese Agentenlinie kostet 0 €, solange der Film innerhalb des täglichen kostenlosen Modellkontingents bleibt. Ein kostenpflichtiges Modell in derselben App wird von diesem Anbieter abgerechnet.
Danksagungen
OpenVoice und MeloTTS sind MIT-Software von MyShell. ffmpeg zeichnet die Frames. PyTorch führt die Sprachmodelle aus. Checkpoints stammen aus dem öffentlichen Modell myshell-ai/OpenVoiceV2. Vollständige Links findest du in der README.