Video-Ads mit RunPod (für Profis)
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 16. September 2026
⚠️ Für Profis. Sie müssen mit einem Terminal umgehen können (Linux, macOS oder WSL unter Windows), mit
sshundffmpeg, und Sie brauchen ein RunPod-Konto mit hinterlegter Karte. Wenn Sie sich darin nicht wiedererkennen, nutzen Sie fal.ai: dieselben Modelle, Bezahlung pro Clip, nichts zu installieren. Das ist der Weg, den das Launch-Playbook standardmäßig vorschlägt.
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 mit 200 GB und den Modellen | 14 $ im Monat, dauerhaft |
| Ein Durchlauf mit 6 Clips (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. Das Laufwerk bleibt, mit den Modellen darauf.
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. - Erstellen Sie ein Network Volume mit 200 GB in einem EU-Rechenzentrum (z. B. EU-RO-1). Das Laufwerk hält die Modelle (rund 176 GB): Sie laden sie nur einmal herunter. Das Rechenzentrum des Laufwerks bestimmt, wo Sie Pods erstellen können.
Schritt 2 — Der Pod
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.
- Laufwerk: Ihr Network Volume, gemountet auf
/workspace. - Variablen der Vorlage: beim ersten Mal
download_wan22=trueunddownload_wan21=true(lädt die Modelle auf das Laufwerk, 8-10 Minuten). Bei den folgenden Pods auffalsesetzen: Die Modelle liegen schon auf dem Laufwerk, 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)
Die Vorlage enthält InfiniteTalk nicht. Legen Sie einmalig auf dem Laufwerk, in
/workspace/ComfyUI/models/, diese Dateien ab (von Hugging Face):
| 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). - 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.