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

Видео для рекламы на RunPod

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

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


💡 Рекомендуется, если вы работаете в Claude Code. Терминал, ssh и ffmpeg Claude использует за вас: вам нужен только аккаунт RunPod с привязанной картой и один раз настройка ниже. GPU оплачивается по часам, а не за клип, и при нескольких видео подряд это выгоднее. Если вы работаете в чате (claude.ai, ChatGPT, Claude Desktop), который не может пользоваться терминалом, выбирайте 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: с полными моделями может не хватить памяти
Сетевой диск (не обязателен, не рекомендуется)14 $ в месяц за 200 ГБ, постоянно
Одна немая сцена или один говорящий клип на PRO 6000около 2 минут, около 0,07 $
Одно видео из 8 сцен (под только что включён)около 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 ГБ хранит модели (около 176 ГБ) и избавляет от повторной загрузки, но стоит 14 $ в месяц и главное — привязывает вас к своему дата-центру: под создаётся только там, и если нужной видеокарты в этом дата-центре нет, вы застряли. Без диска шаблон сам скачивает модели при запуске: с download_wan22=true (немые сцены) и download_wan21=true (говорящие клипы) это занимает 1-3 минуты, несколько центов. А вот файлы InfiniteTalk шаблон не скачивает: если нужны говорящие клипы, добавьте их, как в шаге 3 (несколько минут). Так вы берёте видеокарту в любом дата-центре, где она есть. Проверено 2026-09-21 на поде без диска: немые сцены, говорящие клипы и изображения. Диск оправдан, только если вы генерируете каждый день или используете свои модели: тогда разместите его там, где RTX PRO 6000 бывает чаще всего, и никогда в дата-центре, где есть только видеокарты на 32 ГБ.

Шаг 2 — Под

💡 Доверьте это Claude. Если подключить ваш аккаунт RunPod к Claude Code, Claude сам создаёт под, останавливает его сразу после скачивания клипов и удаляет (только с вашего подтверждения): никаких забытых включённых подов. Официальное подключение RunPod, в терминале, с вашим API-ключом RunPod (Settings → API Keys): claude mcp add --transport http runpod -s user https://mcp.getrunpod.io/ --header "Authorization: Bearer <ваш API-ключ>", затем /mcp в Claude Code для перезагрузки. Полная инструкция и альтернативы: github.com/runpod/runpod-mcp. Без подключения под создаёте вы сами, как описано ниже.

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

  • GPU: RTX PRO 6000 Blackwell (96 ГБ) в Secure Cloud. С меньшим объёмом RAM полные модели (по 28 ГБ каждая) выбрасывают под из памяти при загрузке второй.
  • Видеокарта должна быть Blackwell, а не более старая. Если PRO 6000 недоступна, возьмите другую Blackwell в том же дата-центре (RTX PRO 4500 на 32 ГБ стоит 0,72 $ в час, но справляется только с немыми сценами: говорящим клипам не хватает памяти даже на 7 секунд). На прежних архитектурах — A100, 4090, 5090 — немые сцены на Wan выходят отлично, но InfiniteTalk выдаёт один кадр, а дальше чёрное: говорящая модель уходит в NaN и не показывает никакой ошибки — ни в логе ComfyUI, ни в orchestrate.sh, который пишет DONE и скачивает чёрный клип. Замечаешь, только открыв файл.
  • Диск: без него (рекомендуется). Если у вас есть network volume, смонтируйте его в /workspace.
  • Переменные шаблона: без диска, на каждом поде, download_wan22=true (немые сцены) и download_wan21=true (говорящие клипы): 1-3 минуты. С диском true только в первый раз, потом false: модели уже там, а повторная закачка его заполняет.
  • Порт 8188: это ComfyUI в браузере, по адресу https://<pod_id>-8188.proxy.runpod.net.

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

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

Одно лицо на клип. InfiniteTalk шевелит губами у всех лиц в кадре под один и тот же звук — включая лица на заднем плане и отражённые в зеркале. Двое в кадре превращаются в двоих, произносящих одну фразу одновременно. Диалоговые сцены разбивают на два клипа, по одной реплике, а тот, кто не говорит, остаётся спиной, не в фокусе или за кадром.

Шаблон (v29) не скачивает эти файлы: проверьте командой ls /workspace/ComfyUI/models/diffusion_models | grep -i 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 минут). Обратите внимание, где находится сетевой диск: под создаётся только в его дата-центре, и там PRO 6000 может отсутствовать, даже если каталог показывает её доступной в другом месте.
  • Чёрные говорящие клипы (один кадр, дальше темнота, звук на месте): видеокарта не Blackwell. Так было на A100 80 ГБ — ни одной ошибки в логах, orchestrate.sh пишет DONE и скачивает чёрный клип. Перед монтажом проверьте, что говорящие клипы не тёмные: ffmpeg -i clip/shot-01.mp4 -vf "signalstats,metadata=print:key=lavfi.signalstats.YAVG" -f null - — если после первого кадра YAVG держится около 16, они чёрные. Их перегенерируют на Blackwell, переписав clip.tsv только строками it: уже скачанные сцены не трогаются.
  • SSH-ключ должен быть зарегистрирован в аккаунте (Settings → SSH Public Keys) до создания пода: ключи, добавленные позже, в уже запущенные поды не попадают, и прокси отвечает Permission denied (publickey). Без SSH orchestrate.sh падает не сразу: он доходит до пустого PATCH output: и останавливается.
  • 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 и начните за пару минут.

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