Zum Inhalt
lern-es.jetztby twisted pair
Rechner
Weg
Agent

FigurBeispiel (l3hr3r) ✎ eigene beschreiben

Alles in einem Befehl

Ein Satz Text, eine Szene, ein Befehl – und am Ende spricht deine Figur. Der Abschluss von Kurs 1 fügt alle Schritte zu einer Kette zusammen.

Das bekommst du

Ein fertiger Clip aus einem Satz Text und einer Szene, in rund 20 Minuten.

Drei Bilder aus dem Clip der Startseite – vorn ruhig, in der Mitte spricht er mit offenen Händen, hinten wieder ruhig.
ErgebnisDrei Bilder aus dem Clip der Startseite – vorn ruhig, in der Mitte spricht er mit offenen Händen, hinten wieder ruhig. KI-generiert.

So legst du los

VorherLektionen A1 bis A6 sind erledigt – ComfyUI läuft, figur/lora/figur.safetensors und figur/stimme/referenz.wav liegen bereit (pruefen.py A6 ist grün).

In Claude Code eingebenIn Hermes mit lokalem Qwen eingeben

Lektion A7: Mach mit skripte/clip.py einen Clip von l3hr3r: sitting behind the teacher's desk at the front of a bright modern classroom, a large green chalkboard on the wall directly behind him, hands resting on the desk, wearing a navy V-neck sweater over a light blue collared shirt. Text: „Deine Figur. Deine Stimme. Dein Text. In sieben Schritten zum ersten Clip, auf deinem Rechner. Mit einem KI-Agenten oder von Hand: Du triffst die Entscheidungen.“. Zeig mir zuerst vier Startbilder (--kandidaten 4) und warte auf meine Wahl; danach Stimme und Video mit dem gewählten Seed, dann pruefen.py A7.

Im Terminal, im Kursordner

# Vier Startbilder und ein Kontaktbogen
python3 skripte/clip.py --name erster --szene "sitting behind the teacher's desk at the front of a bright modern classroom, a large green chalkboard on the wall directly behind him, hands resting on the desk, wearing a navy V-neck sweater over a light blue collared shirt" --text "Deine Figur. Deine Stimme. Dein Text. In sieben Schritten zum ersten Clip, auf deinem Rechner. Mit einem KI-Agenten oder von Hand: Du triffst die Entscheidungen." --kandidaten 4

# Kontaktbogen ansehen, Seed wählen (hier 64), dann der ganze Clip
python3 skripte/clip.py --name erster --szene "sitting behind the teacher's desk at the front of a bright modern classroom, a large green chalkboard on the wall directly behind him, hands resting on the desk, wearing a navy V-neck sweater over a light blue collared shirt" --text "Deine Figur. Deine Stimme. Dein Text. In sieben Schritten zum ersten Clip, auf deinem Rechner. Mit einem KI-Agenten oder von Hand: Du triffst die Entscheidungen." --seed 64 -v
python3 skripte/pruefen.py A7

Was dabei passiert ↓

Ziel
Ein fertiger Sprech-Clip deiner Figur aus einem Text und einer Szene, mit einem Befehl – das Startbild wählst du vorher aus Kandidaten.
Rechenzeit
wenige Sekunden je Startbild-Kandidat, dann rund 12 Minuten für einen Clip von 12 Sekunden
Hardware
1 × NVIDIA RTX 3090 (24 GB)
Software
ComfyUI mit Z-Image Turbo und deinem LoRA (A1–A4) · Qwen3-TTS mit deiner Stimme (A5) · InfiniteTalk (A6) · skripte/clip.py
Daten rein
Ein Text, eine Szene (Ort und Kleidung), auf Wunsch eine eigene Fassung für die Stimme
Daten raus
clips/<name>/ mit startbild.png, text.txt, stimme.wav, clip.mp4 und den Protokollen
Skill
avatar-clip – in Vorbereitung

▸ Video

Folgt. Geplant ist der Clip der Startseite, einmal von der Szene bis zum fertigen Video.

VideoEr erklärt diese Lektion selbst. Präsentiert von der Figur, um die es geht.

Worum es geht

In den Lektionen A1 bis A6 hast du jeden Baustein einzeln gebaut: Gesicht, LoRA, Szene, Stimme, Sprech-Clip. Für den Alltag ist das zu umständlich. Wer einen neuen Clip will, hat einen Satz und eine Idee für den Ort – mehr nicht.

skripte/clip.py macht daraus einen Befehl. Es ruft die Lektionsskripte der Reihe nach auf und kümmert sich um das, was dazwischen leicht vergessen wird: Grafikspeicher freigeben, Stille an den Rändern, Dateien an den richtigen Ort legen. Die Kette:

  1. Startbild – skripte/szene.py --format clip (Lektion A4): Brustbild im Hochformat, Blick in die Kamera.
  2. Speicher – comfy.py frei: ComfyUI gibt die Bildmodelle frei, damit das Sprachmodell Platz hat.
  3. Stimme – skripte/sprechen.py --stille 1.0 (Lektion A5): dein Text in deiner Stimme, vorn und hinten eine Sekunde Stille.
  4. Video – skripte/sprechclip.py (Lektion A6): Startbild und Stimme werden ein Clip.

Eine Sache macht der Befehl bewusst nicht von allein: das Startbild aussuchen. Dazu gleich mehr.

Abb. A7.1Das Ergebnis dieser Lektion: der Clip der Startseite, 11,6 Sekunden mit je einer ruhigen Sekunde vorn und hinten. KI-generiert, Bild und Stimme.

Was vorher passiert ist

Alles, was der Befehl braucht, liegt schon im Kursordner: ComfyUI mit Z-Image Turbo (A1), dein LoRA figur/lora/figur.safetensors (A3), das Format für Szenenbilder (A4), deine Stimme figur/stimme/referenz.wav (A5) und InfiniteTalk für die Bewegung (A6). clip.py erfindet nichts Neues – es verbindet.

Der Ablauf

1. Startbilder zur Wahl

Das Startbild prägt den ganzen Clip: Ort, Licht, Haltung, Hände. Ein Bild kostet Sekunden, das Video danach rund zwölf Minuten. Deshalb erzeugt --kandidaten 4 zuerst vier Startbilder mit verschiedenen Seeds und einen Kontaktbogen – und hört dann auf.

Beim Clip der Startseite saß er in allen vier ersten Kandidaten an einem Schülertisch, die Tafel weit hinten. Der Prompt sagte nur „am Lehrerpult im Klassenzimmer“ und ließ offen, wo das Pult steht.

Vier Startbilder: Der Lehrer sitzt an Schülertischen mitten im Raum, die Tafel hängt weit hinten.
Abb. A7.2

Erste Runde: Gesicht und Kleidung stimmen, aber er sitzt an Schülertischen mitten im Raum. Bei zwei Kandidaten ragt ein Laptop ins Bild.

KI-generiert.

2. Szene präzisieren, neu wählen

Mit „sitzt hinter dem Lehrerpult vorne im Klassenzimmer, die Tafel direkt hinter ihm“ stimmt der Ort. Aus der zweiten Runde wurde Seed 64: Holzpult, saubere Tafel, ruhige Hände.

Vier Startbilder: Der Lehrer sitzt vorne am Pult, die Tafel direkt hinter ihm.
Abb. A7.3

Zweite Runde mit präzisierter Szene. Seed 77 fällt aus: Auf der Tafel steht Pseudo-Schrift – genau dort schreibt Z-Image gern sein Stichwort hin (Lektion A4).

KI-generiert.

3. Der ganze Clip

Mit dem gewählten Seed läuft die Kette durch. Das Startbild aus der Kandidatenrunde wird dabei wiederverwendet, nicht neu erzeugt. Der Text steht in text.txt so, wie er auf der Seite erscheint. Weicht die Aussprache ab, bekommt die Stimme mit --gesprochen eine eigene Fassung: Für den Startseiten-Clip wurde aus „KI-Agenten“ vorsorglich „Ka-I-Agenten“; Whisper erkennt im Ergebnis wieder „KI-Agenten“.

4. Ansehen, prüfen

clips/<name>/ enthält danach startbild.png, text.txt, stimme.wav, clip.mp4 und protokoll_clip.sh mit der ganzen Kette. pruefen.py A7 hakt ab, ob alles da ist. Ob der Clip gut ist, entscheidest du.

Von Hand: der ganze Weg

Ein Befehl für die Kandidaten, einer für den Clip – dazwischen deine Wahl. Mit -v zeigt clip.py jeden Befehl, auch die der Teilschritte; mit --zeigen nur die Befehle, ohne etwas auszuführen. Nach dem Lauf liegt die ganze Kette als clips/<name>/protokoll_clip.sh im Ergebnisordner, Stimme und Video zusätzlich als protokoll_sprechen.sh und protokoll_sprechclip.sh.

Im Terminal, im Kursordner

# 1. Vier Startbilder und ein Kontaktbogen (wenige Sekunden je Bild)
python3 skripte/clip.py --name lerntipp --szene "sitting behind the teacher's desk at the front of a bright modern classroom, a large green chalkboard on the wall directly behind him, hands resting on the desk, wearing a navy V-neck sweater over a light blue collared shirt" --text "Deine Figur. Deine Stimme. Dein Text. In sieben Schritten zum ersten Clip, auf deinem Rechner. Mit einem KI-Agenten oder von Hand: Du triffst die Entscheidungen." --kandidaten 4

# 2. Kontaktbogen ansehen, Seed wählen (hier 64) und die Wahl festhalten
xdg-open szenen/lerntipp_kandidaten.jpg
echo "| A7 | $(date +%F) | Startbild Seed 64 | Ort stimmt, Hände ruhig, nichts am Bildrand |" >> entscheidungen.md

# 3. Der ganze Clip mit dem gewählten Startbild (rund 12 Minuten für 12 Sekunden)
python3 skripte/clip.py --name lerntipp --szene "sitting behind the teacher's desk at the front of a bright modern classroom, a large green chalkboard on the wall directly behind him, hands resting on the desk, wearing a navy V-neck sweater over a light blue collared shirt" --text "Deine Figur. Deine Stimme. Dein Text. In sieben Schritten zum ersten Clip, auf deinem Rechner. Mit einem KI-Agenten oder von Hand: Du triffst die Entscheidungen." --seed 64 -v

# 4. Ansehen und prüfen
mpv clips/lerntipp/clip.mp4
python3 skripte/pruefen.py A7

So sieht die Ausgabe von --zeigen für den Clip aus (gekürzt). Eingerückt stehen die Befehle der Teilschritte:

# ComfyUI muss laufen (Lektion A1)
▸ python3 skripte/werkzeuge/comfy.py laeuft
# 1. Startbild, Seed 64
▸ python3 skripte/szene.py --szene '…' --name lerntipp_seed_64 --seed 64 --format clip
    ▸ python3 skripte/werkzeuge/comfy.py ausfuehren szenen/auftrag_lerntipp_seed_64.json --ziel szenen/lerntipp_seed_64.png
# 2. Der Text, wie er auf der Seite steht
▸ cat > clips/lerntipp/text.txt <<'EOF'
…
EOF
# 3. ComfyUI gibt den Grafikspeicher frei, damit das Sprachmodell Platz hat
▸ python3 skripte/werkzeuge/comfy.py frei
# Stimme, mit 1 s Stille vorn und hinten
▸ python3 skripte/sprechen.py clips/lerntipp/text.txt --aus clips/lerntipp/ton.wav --stille 1.0
    ▸ …
# 4. Video: Startbild und Stimme werden ein Clip (legt startbild.png, stimme.wav, clip.mp4 ab)
▸ python3 skripte/sprechclip.py szenen/lerntipp_seed_64.png clips/lerntipp/ton.wav --name lerntipp
    ▸ …
# Prüfpunkt A7
▸ python3 skripte/pruefen.py A7

In der Cloud gibt es kein xdg-open und kein mpv: Kontaktbogen und Clip öffnest du im Dateibrowser von JupyterLab oder holst sie mit scp auf deinen Rechner.

Entscheidungen

Ein großes Skript oder eine Kette?

Eine Kette aus den Lektionsskripten

clip.py legt nur Reihenfolge und Übergänge fest. Jeder Teilschritt bleibt einzeln nutzbar und einzeln prüfbar – wer nur eine neue Stimme braucht, ruft sprechen.py direkt auf.

Startbild blind übernehmen oder wählen?

Erst Kandidaten, dann der gewählte Seed

Ein Startbild kostet Sekunden, ein Video zwölf Minuten. Und das Startbild entscheidet über Ort, Licht und Haltung im ganzen Clip. Der Kontaktbogen ist die billigste Stelle für eine Korrektur.

Wie genau die Szene beschreiben?

Den Ort im Raum ausdrücklich nennen

„Am Lehrerpult im Klassenzimmer“ ließ offen, wo das Pult steht – das Modell setzte ihn an einen Schülertisch. „Hinter dem Lehrerpult vorne, die Tafel direkt hinter ihm“ war eindeutig.

Ein Text für Seite und Stimme?

Getrennte Fassungen, wenn die Aussprache abweicht

Auf der Seite soll „KI“ stehen, die Stimme soll „Ka-I“ sagen. text.txt bleibt so, wie man es liest; –gesprochen bekommt die Lautschrift.

Stille an den Rändern?

Eine Sekunde vorn und hinten

Ohne Stille wirken Anfang und Ende leicht abgehackt oder ruckelig. Mit ihr sitzt die Figur eine Sekunde ruhig da, bevor sie spricht und nachdem sie fertig ist. Das kostet rund drei Minuten mehr Rechenzeit.

Fallstricke

Die Figur sitzt am falschen Ort

Das Modell füllt Lücken im Prompt mit dem, was es am häufigsten gesehen hat. „Im Klassenzimmer am Tisch“ heißt für Z-Image offenbar: Schülertisch, Tafel hinten.

LösungDen Ort im Raum ausdrücklich beschreiben und neue Kandidaten erzeugen.

Schrift auf der Tafel, Gegenstände am Bildrand

Pseudo-Schrift kann das Stichwort enthalten (Lektion A4). Ein angeschnittener Laptop zieht im Video den Blick auf sich und kann sich zwischen den Abschnitten verändern.

LösungEinen Kandidaten mit sauberer Tafel und freiem Rand wählen.

Kein Platz für das Sprachmodell

ComfyUI hält die geladenen Bildmodelle im Grafikspeicher, bei uns über 20 GB. Ohne Freigabe passt Qwen3-TTS nicht mehr daneben.

Lösungclip.py ruft vor der Stimme comfy.py frei auf – nicht entfernen.

Ein anderer Job rechnet gerade

Beim Clip der Startseite lief noch ein Blender-Render im Hintergrund. Zwei große Jobs teilen sich weder den Speicher gut, noch verträgt jeder Rechner die doppelte Hitze.

LösungVor dem Start mit nvidia-smi prüfen, ob die Grafikkarte frei ist, und nicht parallel starten.

Mit KI vereinfacht

Diese Lektion ist der Moment, in dem sich die Arbeit mit einem Agenten am meisten lohnt: Du sagst, was die Figur sagen soll und wo sie sitzt. Der Rest ist Routine – bis auf die Wahl des Startbilds.

Der Agent

  • prüft, ob ComfyUI läuft und die Grafikkarte frei ist
  • erzeugt vier Startbilder und zeigt den Kontaktbogen
  • schlägt eine Lautschrift vor, wo die Stimme sich verlesen könnte
  • startet nach deiner Wahl die ganze Kette
  • prüft mit pruefen.py A7 und nennt den Pfad zum Clip

Du

  • wählst das Startbild
  • nimmst den Clip ab

Mit dem Skill avatar-clip reicht ein Satz an den Agenten:

Mach einen Clip: Er sitzt vorne am Lehrerpult, die Tafel hinter ihm, und sagt
„Deine Figur. Deine Stimme. Dein Text.“ Zeig mir vorher vier Startbilder.

Der Skill ist in Vorbereitung und erscheint mit dem Video zu dieser Lektion.

Mit lokalem Qwen: In dieser Lektion wechselt die Grafikkarte dreimal den Besitzer – Bildmodell, Sprachmodell, Videomodell. Das lokale Qwen muss zwischen den Antworten entladen sein (OLLAMA_KEEP_ALIVE=0 aus der Einrichtung); sonst belegt es rund 18 GB, die InfiniteTalk braucht.