Назад к руководствам

Видео для рекламы на RunPod (для опытных)

Генерация говорящих клипов и сцен с Wan 2.2 и InfiniteTalk на своём поде RunPod, где основную работу делают скрипты RoyLead. Стоимость, настройка, подводные камни.

Обновлено 16 сентября 2026 г.


⚠️ Для опытных. Нужно уметь работать в терминале (Linux, macOS или WSL на Windows), с ssh и ffmpeg, и иметь аккаунт RunPod с привязанной картой. Если это не про вас, используйте fal.ai: те же модели, оплата за клип, ничего устанавливать не надо. Именно этот путь по умолчанию предлагает плейбук запуска.

На RunPod вы арендуете GPU по часам и запускаете на ней открытые модели: Wan 2.2 для немых сцен (image-to-video) и InfiniteTalk для реплик с синхронной артикуляцией. Скучную часть берут на себя скрипты RoyLead: они ждут готовности ComfyUI, настраивают InfiniteTalk, загружают фото и голоса, генерируют клипы по очереди, скачивают их и монтируют итоговое видео.

Сколько это стоит

СтатьяСтоимость
GPU RTX PRO 6000 (96 ГБ), Secure Cloud2,09 $ в час, только пока включена
GPU RTX 5090 Community0,69 $ в час, но 62 ГБ RAM: с полными моделями может не хватить памяти
Сетевой диск на 200 ГБ с моделями14 $ в месяц, постоянно
Один прогон из 6 клипов (под только что включён)около 25 минут, меньше 1 $
Ролик на 60 с, 12 сцен по 3 попыткиоколо 2 часов GPU

Под удаляется в конце сессии: остановленный, но не удалённый под продолжает стоить денег. Диск остаётся, с моделями на нём.

Шаг 1 — Аккаунт, SSH-ключ, диск

  1. Создайте аккаунт на runpod.io и пополните баланс.
  2. В Settings → SSH Public Keys добавьте свой публичный ключ (~/.ssh/id_ed25519.pub; если его нет: ssh-keygen -t ed25519). Скрипты используют ~/.ssh/id_ed25519; для другого ключа задайте RUNPOD_SSH_KEY=/путь/к/ключу перед запуском.
  3. Создайте Network Volume на 200 ГБ в дата-центре EU (например, EU-RO-1). На диске лежат модели (около 176 ГБ): вы скачиваете их один раз. Дата-центр диска определяет, где вы сможете создавать поды.

Шаг 2 — Под

Рекомендуемый шаблон: «One Click - ComfyUI Wan2.1 - Wan 2.2» (автор Hearmeman, id 758dsjwiqz). При создании:

  • GPU: RTX PRO 6000 Blackwell (96 ГБ) в Secure Cloud. С меньшим объёмом RAM полные модели (по 28 ГБ каждая) выбрасывают под из памяти при загрузке второй.
  • Диск: ваш network volume, смонтированный в /workspace.
  • Переменные шаблона: в первый раз download_wan22=true и download_wan21=true (скачивает модели на диск, 8-10 минут). На следующих подах ставьте false: модели уже на диске, а повторная закачка его заполняет.
  • Порт 8188: это ComfyUI в браузере, по адресу https://<pod_id>-8188.proxy.runpod.net.

На странице пода, в разделе Connect, возьмите две вещи, нужные скриптам: pod id (он в URL) и SSH-пользователя прокси (<pod_id>-<код>@ssh.runpod.io).

Шаг 3 — InfiniteTalk (только для говорящих клипов)

В шаблон InfiniteTalk не входит. Один раз добавьте на диск, в /workspace/ComfyUI/models/, эти файлы (с Hugging Face):

ПапкаФайлРепозиторий
diffusion_modelsWan2_1-InfiniTetalk-Single_fp16.safetensorsKijai/WanVideo_comfy (папка InfiniteTalk)
wav2vec2wav2vec2-chinese-base_fp16.safetensorsKijai/wav2vec2_safetensors
text_encodersumt5-xxl-enc-bf16.safetensorsKijai/WanVideo_comfy
vaeWan2_1_VAE_bf16.safetensorsKijai/WanVideo_comfy
loraslightx2v_I2V_14B_480p_cfg_step_distill_rank64_bf16.safetensorsKijai/WanVideo_comfy (папка Lightx2v)

Базовую модель wan2.1_i2v_480p_14B_bf16.safetensors шаблон скачивает сам.

💡 Место. Диск «на 200 ГБ» вмещает реально около 186. Когда всё установлено, на видео остаётся примерно 20 ГБ: если закачки останавливаются без ошибок — диск полон. Файл wan2.1_t2v_14B_bf16.safetensors (27 ГБ, Wan из текста) не нужен: его можно удалить.

Две другие вещи, которые требует InfiniteTalk (ссылка на папку и патч для библиотеки transformers 5), orchestrate.sh делает сам на каждом новом поде, потому что они лежат на диске контейнера и теряются при удалении пода.

Шаг 4 — Скрипты на вашем компьютере

Скачайте их в одну папку, все вместе (они ищут друг друга):

В терминале:

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

Понадобятся также ffmpeg (с libx264 и libass), ffprobe, python3, curl, ssh.

Скрипты не меняют: они читают всё из файлов с данными в папке видео.

Шаг 5 — Папка одного видео

my-video/
  clip.tsv                 задания: имя, тип (it = с речью, wan = немая сцена), изображение, реплика или кадры, промпт
  immagini/                стартовые кадры (по одному на сцену, сделаны в ChatGPT из фото продукта)
  audio/battute/           реплики в mp3, по одной на говорящий клип
  montaggio.tsv            порядок клипов в видео, с mp3, который идёт под немыми сценами
  montaggio/sottotitoli.ass  субтитры (в Meta смотрят без звука)
  chiusura.txt             3 строки: оффер, строка 2, строка 3 (необязательно)
  prodotto.png             фото продукта для финальной заставки (необязательно, идёт вместе с chiusura.txt)

Голоса делаются в ElevenLabs: один сплошной текст на персонажа с [long pause] между репликами, затем он режется по паузам на отдельные mp3 (ffmpeg -af silencedetect). Если вы используете плейбук запуска в Claude Code, сценарий, clip.tsv, montaggio.tsv, субтитры и нарезку голосов он готовит сам.

Шаг 6 — Сгенерировать и смонтировать

# включите под, возьмите pod_id и ssh-пользователя из "Connect", затем:
nohup ./orchestrate.sh <pod_id> <ssh_пользователь> ~/my-video > ~/my-video/orchestrate.log 2>&1 &
tail -f ~/my-video/orchestrate.log        # READY, MODELS, UPLOADED, затем по DONE на клип, ALL_DONE

Клипы появляются в my-video/clip/. Руки с предметами часто выходят криво: закладывайте 2-3 попытки на сцену (меняйте зерно перезапуском или сам промпт). Замеры на RTX PRO 6000: первый клип 5-7 минут (загружаются модели), далее по 1-4 минуты.

./monta_video.sh ~/my-video      # → my-video/video-finale.mp4 (1080x1920, 30 fps, -16 LUFS)
./monta_short.sh ~/my-video      # → my-video/short-<имя>.mp4, по одному на клип, с графикой поверх

monta_video.sh сам останавливается, если в голосе есть паузы дольше 1,5 секунды: лучше ошибка сейчас, чем немое видео в сети. Итоговый файл пишется на системный диск и затем копируется: на диске Windows, смонтированном в WSL, склейка может остановиться с «No space left on device».

Потом удалите под.

Уже встреченные подводные камни

  • ComfyUI отвечает 403 (ошибка 1010) на запросы без браузерного User-Agent: скрипты его отправляют; если пользуетесь curl вручную, добавьте -A "Mozilla/5.0".
  • Прямой SSH отклонён: идём через прокси ssh.runpod.io с -tt и командами через stdin (это делает lib_video.sh).
  • ComfyUI не запускается на некоторых машинах Community (постоянный 502, в логе «could not bind on any address»): у машины нет IPv6. orchestrate.sh сам перезапускает его на 0.0.0.0.
  • Нехватка памяти на RTX 5090: 62 ГБ RAM не хватает для двух полных моделей по 28 ГБ. Или GPU с большим объёмом RAM, или версии моделей fp8_scaled.
  • GPU недоступна в момент создания: сработал запасной вариант — RTX PRO 6000 Max-Q в Community без сетевого диска, с download_wan22=true (перекачка за 8 минут).
  • ComfyUI падает, а шаблон его не перезапускает: orchestrate.sh перезапускает; вручную: python3 /ComfyUI/main.py --listen 0.0.0.0 --use-sage-attention --extra-model-paths-config /ComfyUI/extra_model_paths.yaml.

Правила Meta для видео с ИИ

  • В Ads Manager нужно указать, что контент создан с помощью ИИ.
  • Персонаж представляется как ведущий или представитель, никогда как «настоящий клиент»: Meta считает это вводящим в заблуждение.
  • Субтитры всегда: большинство смотрит без звука.

Готовы применить это на практике?

Создайте аккаунт RoyLead и начните за пару минут.

Начать бесплатно