Video-Ads mit RunPod
Sprechende Clips und Szenen mit Wan 2.2 und InfiniteTalk auf Ihrem RunPod-Pod erzeugen, während die RoyLead-Skripte die Hauptarbeit übernehmen. Kosten, Setup, Fallstricke.
Aktualisiert am 21. September 2026
💡 Empfohlen, wenn Sie Claude Code nutzen. Terminal,
sshundffmpegbedient Claude für Sie: Sie brauchen nur ein RunPod-Konto mit hinterlegter Karte und einmal das Setup unten. Sie zahlen die GPU pro Stunde statt pro Clip, was sich bei mehreren Videos hintereinander lohnt. Wenn Sie im Chat arbeiten (claude.ai, ChatGPT, Claude Desktop), der kein Terminal nutzen kann, nehmen Sie fal.ai: dieselben Modelle, Bezahlung pro Clip, nichts zu installieren.
Bei RunPod mieten Sie eine GPU stundenweise und lassen darauf die Open-Source-Modelle laufen: Wan 2.2 für die stummen Szenen (Image-to-Video) und InfiniteTalk für die gesprochenen Sätze mit synchronen Lippen. Die RoyLead-Skripte übernehmen den langweiligen Teil: Sie warten, bis ComfyUI bereit ist, richten InfiniteTalk ein, laden Fotos und Stimmen hoch, erzeugen die Clips nacheinander, laden sie herunter und schneiden das fertige Video.
Was es kostet
| Posten | Kosten |
|---|---|
| GPU RTX PRO 6000 (96 GB), Secure Cloud | 2,09 $ pro Stunde, nur solange sie läuft |
| GPU RTX 5090 Community | 0,69 $ pro Stunde, aber 62 GB RAM: mit den vollen Modellen kann der Speicher ausgehen |
| Netzlaufwerk (optional, nicht empfohlen) | 14 $ im Monat für 200 GB, dauerhaft |
| Eine stumme Szene oder ein Sprechclip auf der PRO 6000 | etwa 2 Minuten, etwa 0,07 $ |
| Ein Video mit 8 Szenen (Pod frisch gestartet) | etwa 25 Minuten, weniger als 1 $ |
| Kurzvideo von 60 s, 12 Shots mal 3 Versuche | etwa 2 Stunden GPU |
Der Pod wird am Ende der Sitzung gelöscht: Ein gestoppter, aber nicht gelöschter Pod kostet weiter. Ohne Laufwerk bleibt nichts mehr zu bezahlen.
Schritt 1 — Konto, SSH-Schlüssel, Laufwerk
- Erstellen Sie das Konto auf runpod.io und laden Sie Guthaben auf.
- Hinterlegen Sie unter Settings → SSH Public Keys Ihren öffentlichen Schlüssel
(
~/.ssh/id_ed25519.pub; falls Sie keinen haben:ssh-keygen -t ed25519). Die Skripte nutzen~/.ssh/id_ed25519; für einen anderen Schlüssel setzen Sie vorherRUNPOD_SSH_KEY=/pfad/zum/schluessel. - Das Netzlaufwerk ist optional, und oft fährt man ohne besser. Ein Network Volume mit
200 GB hält die Modelle (rund 176 GB) und erspart das erneute Herunterladen, kostet aber
14 $ im Monat und bindet dich vor allem an sein Rechenzentrum: Der Pod entsteht
zwangsläufig dort, und fehlt dort die passende GPU, steckst du fest.
Ohne Laufwerk lädt die Vorlage die Modelle beim Start selbst herunter: mit
download_wan22=true(stumme Szenen) unddownload_wan21=true(Sprechclips) dauert das 1-3 Minuten, ein paar Cent. Die InfiniteTalk-Dateien lädt die Vorlage dagegen nicht: Wenn du Sprechclips brauchst, füge sie wie in Schritt 3 hinzu (ein paar Minuten). So nimmst du die GPU in jedem Rechenzentrum, in dem es sie gibt. Geprüft am 2026-09-21 auf einem Pod ohne Laufwerk: stumme Szenen, Sprechclips und Bilder. Das Laufwerk lohnt sich nur, wenn du täglich generierst oder eigene Modelle hast: Dann leg es dorthin, wo die RTX PRO 6000 am häufigsten verfügbar ist, nie in ein Rechenzentrum, das nur GPUs mit 32 GB hat.
Schritt 2 — Der Pod
💡 Lassen Sie Claude das machen. Wenn Sie Ihr RunPod-Konto mit Claude Code verbinden, erstellt Claude den Pod selbst, stoppt ihn, sobald die Clips heruntergeladen sind, und löscht ihn (nur mit Ihrer Bestätigung): keine vergessenen laufenden Pods. Die offizielle Verbindung von RunPod, im Terminal, mit Ihrem RunPod-API-Schlüssel (Settings → API Keys):
claude mcp add --transport http runpod -s user https://mcp.getrunpod.io/ --header "Authorization: Bearer <Ihr API-Schlüssel>", danach/mcpin Claude Code zum Neuladen. Vollständige Anleitung und Alternativen: github.com/runpod/runpod-mcp. Ohne Verbindung erstellen Sie den Pod selbst, wie unten beschrieben.
Empfohlene Vorlage: "One Click - ComfyUI Wan2.1 - Wan 2.2" (Autor Hearmeman, id
758dsjwiqz). Beim Erstellen:
- GPU: RTX PRO 6000 Blackwell (96 GB) in Secure Cloud. Mit weniger RAM treiben die vollen Modelle (je 28 GB) den Pod beim Laden des zweiten aus dem Speicher.
- Die GPU muss eine Blackwell sein, keine ältere Karte. Ist die PRO 6000 nicht verfügbar,
weiche auf eine andere Blackwell im selben Rechenzentrum aus (die RTX PRO 4500 mit 32 GB
kostet 0,72 $ pro Stunde, reicht aber nur für stumme Szenen: Sprechclips laufen selbst
bei 7 Sekunden aus dem Speicher). Auf älteren Architekturen — A100, 4090, 5090 —
gelingen die stummen Wan-Szenen einwandfrei, aber InfiniteTalk liefert ein Bild und dann
Schwarz: Das Sprechmodell läuft in NaN und meldet keinerlei Fehler, weder im ComfyUI-Log
noch in
orchestrate.sh, dasDONEschreibt und einen schwarzen Clip herunterlädt. Du merkst es erst, wenn du die Datei öffnest. - Laufwerk: keines (empfohlen). Wenn Sie ein Network Volume haben, mounten Sie es auf
/workspace. - Variablen der Vorlage: ohne Laufwerk bei jedem Pod
download_wan22=true(stumme Szenen) unddownload_wan21=true(Sprechclips): 1-3 Minuten. Mit Laufwerktruenur beim ersten Mal, danachfalse: Die Modelle liegen schon dort, und ein erneuter Download füllt es. - Port 8188: Das ist ComfyUI im Browser, unter
https://<pod_id>-8188.proxy.runpod.net.
Holen Sie sich auf der Pod-Seite unter Connect die zwei Dinge, die die Skripte brauchen: die
Pod-ID (steht in der URL) und den SSH-Nutzer des Proxys (<pod_id>-<code>@ssh.runpod.io).
Schritt 3 — InfiniteTalk (nur für die sprechenden Clips)
Nur ein Gesicht pro Clip. InfiniteTalk bewegt den Mund jedes Gesichts im Bild mit demselben Ton — auch bei Gesichtern im Hintergrund und solchen, die sich in einem Spiegel zeigen. Zwei Personen im Bild werden zu zweien, die denselben Satz gleichzeitig sagen. Dialogszenen werden in zwei Clips geteilt, einer pro Satz, und wer nicht spricht, bleibt mit dem Rücken zur Kamera, unscharf oder außerhalb des Bildes.
Die Vorlage (v29) lädt diese Dateien nicht herunter: Prüfe mit
ls /workspace/ComfyUI/models/diffusion_models | grep -i infinitetalk, und falls sie fehlen,
lege sie in /workspace/ComfyUI/models/ ab (von Hugging Face; ohne Laufwerk bei jedem neuen
Pod):
| Ordner | Datei | Repository |
|---|---|---|
diffusion_models | Wan2_1-InfiniTetalk-Single_fp16.safetensors | Kijai/WanVideo_comfy (Ordner InfiniteTalk) |
wav2vec2 | wav2vec2-chinese-base_fp16.safetensors | Kijai/wav2vec2_safetensors |
text_encoders | umt5-xxl-enc-bf16.safetensors | Kijai/WanVideo_comfy |
vae | Wan2_1_VAE_bf16.safetensors | Kijai/WanVideo_comfy |
loras | lightx2v_I2V_14B_480p_cfg_step_distill_rank64_bf16.safetensors | Kijai/WanVideo_comfy (Ordner Lightx2v) |
Das Basismodell wan2.1_i2v_480p_14B_bf16.safetensors lädt die Vorlage bereits herunter.
💡 Platz. Ein Laufwerk mit "200 GB" fasst real etwa 186. Mit allem Installierten bleiben rund 20 GB für die Videos: Wenn die Downloads ohne Fehler stehen bleiben, ist es voll. Die Datei
wan2.1_t2v_14B_bf16.safetensors(27 GB, Wan aus Text) wird nicht gebraucht: Sie kann gelöscht werden.
Die zwei weiteren Dinge, die InfiniteTalk verlangt (eine Ordnerverknüpfung und ein Patch für die
Bibliothek transformers 5), erledigt orchestrate.sh bei jedem neuen Pod von selbst, denn
sie liegen auf der Container-Festplatte und gehen beim Löschen des Pods verloren.
Schritt 4 — Die Skripte auf Ihrem PC
Laden Sie sie in einen Ordner, alle zusammen (sie suchen einander):
- lib_video.sh ↗ — die gemeinsamen Prüfungen
- orchestrate.sh ↗ — erzeugt die Clips auf dem Pod
- gen_video.py ↗ — ein Clip (wird von orchestrate genutzt)
- fix_wav2vec_tf5.py ↗ — der Patch für InfiniteTalk (wird von orchestrate angewendet)
- monta_video.sh ↗ — schneidet das gesprochene Video
- monta_short.sh ↗ — schneidet die Shorts ohne Stimme
- Beispiele: clip.tsv.esempio ↗, montaggio.tsv.esempio ↗, chiusura.txt.esempio ↗
Im Terminal:
mkdir -p ~/video-tools && cd ~/video-tools
for f in lib_video.sh orchestrate.sh gen_video.py fix_wav2vec_tf5.py monta_video.sh monta_short.sh clip.tsv.esempio montaggio.tsv.esempio chiusura.txt.esempio; do
curl -fsSLO "https://app.roylead.com/supporto/video-tools/$f"
done
chmod +x *.sh
Außerdem brauchen Sie ffmpeg (mit libx264 und libass), ffprobe, python3, curl, ssh.
Die Skripte werden nicht verändert: Sie lesen alles aus Datendateien im Ordner des Videos.
Schritt 5 — Der Ordner eines Videos
mein-video/
clip.tsv die Jobs: Name, Typ (it = gesprochen, wan = stumme Szene), Bild, Satz oder Startbilder, Prompt
immagini/ die Startbilder (eines pro Shot, mit ChatGPT aus den Produktfotos erzeugt)
audio/battute/ die mp3-Sätze, einer pro sprechendem Clip
montaggio.tsv die Reihenfolge der Clips im Video, mit der mp3 unter den stummen Szenen
montaggio/sottotitoli.ass die Untertitel (auf Meta wird ohne Ton geschaut)
chiusura.txt 3 Zeilen: Angebot, Zeile 2, Zeile 3 (optional)
prodotto.png Produktfoto für den Abschluss (optional, gehört zu chiusura.txt)
Die Stimmen entstehen mit ElevenLabs, ein durchgehender Text pro Figur mit [long pause]
zwischen den Sätzen, dann an den Pausen in je eine mp3 pro Satz geschnitten
(ffmpeg -af silencedetect). Wenn Sie das Launch-Playbook mit Claude Code nutzen, bereitet es
Drehbuch, clip.tsv, montaggio.tsv, Untertitel und die Schnitte der Stimmen für Sie vor.
Schritt 6 — Erzeugen und schneiden
# Pod starten, pod_id und ssh-Nutzer aus "Connect" holen, dann:
nohup ./orchestrate.sh <pod_id> <ssh_nutzer> ~/mein-video > ~/mein-video/orchestrate.log 2>&1 &
tail -f ~/mein-video/orchestrate.log # READY, MODELS, UPLOADED, dann ein DONE pro Clip, ALL_DONE
Die Clips landen in mein-video/clip/. Hände mit Gegenständen gehen oft schief: Rechnen Sie mit
2-3 Versuchen pro Szene (Seed ändern, indem Sie neu starten, oder den Prompt). Gemessene Zeiten
auf der RTX PRO 6000: erster Clip 5-7 Minuten (die Modelle werden geladen), danach 1-4 Minuten pro
Stück.
./monta_video.sh ~/mein-video # → mein-video/video-finale.mp4 (1080x1920, 30 fps, -16 LUFS)
./monta_short.sh ~/mein-video # → mein-video/short-<name>.mp4, einer pro Clip, mit der Grafik darüber
monta_video.sh stoppt von selbst, wenn die Stimme Lücken über 1,5 Sekunden hat: lieber jetzt ein
Fehler als ein stummes Video online. Die fertige Datei wird auf die Systemplatte geschrieben und
dann kopiert: Auf einer in WSL gemounteten Windows-Platte kann das Zusammenfügen mit "No space
left on device" abbrechen.
Danach den Pod löschen.
Schon erlebte Fallstricke
- ComfyUI antwortet mit 403 (Fehler 1010) auf Aufrufe ohne Browser-User-Agent: Die Skripte
schicken einen mit; wenn Sie curl von Hand nutzen, fügen Sie
-A "Mozilla/5.0"hinzu. - Direktes SSH abgelehnt: Man geht über den Proxy
ssh.runpod.iomit-ttund den Befehlen über stdin (das machtlib_video.sh). - ComfyUI startet auf manchen Community-Maschinen nicht (dauerhaft 502, im Log "could not bind
on any address"): Die Maschine hat kein IPv6.
orchestrate.shstartet es von selbst auf0.0.0.0neu. - Speicher voll bei der RTX 5090: 62 GB RAM reichen nicht für zwei volle Modelle zu je 28 GB.
Entweder eine GPU mit mehr RAM oder die
fp8_scaled-Versionen der Modelle. - GPU nicht verfügbar beim Erstellen: Als Ausweichlösung hat eine RTX PRO 6000 Max-Q in
Community ohne Netzlaufwerk funktioniert, mit
download_wan22=true(lädt in 8 Minuten neu). Achte darauf, wo das Netzlaufwerk liegt: Der Pod entsteht zwangsläufig in dessen Rechenzentrum, und dort kann die PRO 6000 fehlen, auch wenn der Katalog sie anderswo führt. - Schwarze Sprechclips (ein Bild, dann dunkel, Ton ist da): Die GPU ist keine Blackwell. Das
passierte auf einer A100 80 GB, ohne einen einzigen Fehler in den Logs —
orchestrate.shschreibtDONEund lädt einen schwarzen Clip herunter. Prüfe vor dem Schnitt, dass die Sprechclips nicht dunkel sind:ffmpeg -i clip/shot-01.mp4 -vf "signalstats,metadata=print:key=lavfi.signalstats.YAVG" -f null -— bleibt YAVG nach dem ersten Bild bei etwa 16, sind sie schwarz. Neu erzeugen auf einer Blackwell, indem duclip.tsvnur mit denit-Zeilen neu schreibst: Die bereits geladenen Szenen bleiben unangetastet. - Der SSH-Schlüssel muss im Konto hinterlegt sein (Settings → SSH Public Keys), bevor du
den Pod erstellst: später hinzugefügte Schlüssel erreichen laufende Pods nicht, und der Proxy
antwortet
Permission denied (publickey). Ohne SSH scheitertorchestrate.shnicht sofort: Es kommt bis zu einem leerenPATCH output:und bleibt dort stehen. - ComfyUI stirbt und die Vorlage startet es nicht neu:
orchestrate.shstartet es neu; von Hand:python3 /ComfyUI/main.py --listen 0.0.0.0 --use-sage-attention --extra-model-paths-config /ComfyUI/extra_model_paths.yaml.
Meta-Regeln für Videos mit KI
- Im Ads Manager muss angegeben werden, dass der Inhalt mit KI erzeugt wurde.
- Die Figur tritt als Sprecher auf, nie als "echter Kunde": Meta hält das für irreführend.
- Immer Untertitel: Die meisten schauen ohne Ton.
Bereit, das umzusetzen?
Erstell dein RoyLead-Konto und leg in wenigen Minuten los.