Главное за 30 секунд
С 22 мая по 6 июня 2026 в voiceover-режиме Welder закрылось восемь итераций подряд (iter-425 — iter-432), и каждая чинила то, что мешало владельцам серий-каналов масштабироваться на 3+ платформы. Это не релизные баннеры — это рутина, после которой автопостинг перестал быть «полу-ручным». Если коротко:
- заголовок и описание поста читаются из реального видео, а не из «превью-истории», которой не существовало;
- описание для соцсетей теперь отдельный тизер с эмодзи и хэштегами, а не сухие первые 200 символов закадра;
- кнопка «следующий канал» работает: каждая серия привязана к своему набору соцаккаунтов;
- YouTube показывает имя канала, а не e-mail — заодно диагностируется
scope_missing; - автопостинг не «застревает» на старых эпизодах и не блокирует свежие.
Если у вас 3–6 параллельных серий-каналов, эти восемь фиксов закрывают почти все «почему не запостилось» и «почему пост звучит как из 2024-го».
1. Заголовок и описание поста — из видео, а не из «превью» (iter-428)
До 5 июня 2026 пайплайн собирал заголовок и обложку из «превью-истории», сгенерированной до запуска рендера: модель сочиняла, «как могло бы выглядеть» это видео. Проблема в том, что storyboard в режиме voiceover свободно свингует собственный сюжет внутри ниши — и финальный ролик про русскую кухню вполне мог называться «10 фактов о Леонардо да Винчи», если так лёг превью-промпт.
iter-428 переписал шаг composite: заголовок и обложечный хедлайн читаются из реальных чанков (web_episodes.title и web_episodes.idea стампятся в момент сборки видео, из текста, который реально звучит). Превью-генератор остался в коде как заглушка — но из трёх точек вызова его убрали.
Что это меняет на практике:
- описание под видео в TikTok и YouTube Shorts отражает то, что зритель услышит — это поднимает CTR и удерживает алгоритм от штрафа за «misleading title»;
- редактор серии больше не правит руками каждый второй заголовок (раньше это была основная причина «не пощу пачкой»);
- кнопка «изменить идею» в дашборде больше не «мёртвая ручка» (storyboard её всё равно игнорировал — что и было сигналом проблемы).
Быстрый диагност: если кто-то в комьюнити пишет «заголовок не соответствует видео», спросите дату генерации эпизода. До 5 июня — да, расходится. После — нет.
2. Тизер ≠ первая фраза рассказа (iter-429, iter-430)
Следующий слой проблемы был тоньше. После iter-428 social_description был честной выдержкой из реального закадра — но это всё равно был сам закадр. Первые 150 символов сценария — это «затягивающее начало истории», а не «оптимизированный SMM-пост». В фиде, где соседи постят мемы, такой пост звучит как фрагмент аудиокниги.
iter-429 разделил «текст для рассказчика» и «текст для дистрибуции»:
- закадр (
narration) остаётся литературной прозой; - тизер (
social_description) генерируется отдельным шагом — короткий хук + 1–2 эмодзи + 2–3 тематических хэштега. Без оверкилла, в рамках норм TikTok и Reels.
iter-430 пошёл дальше: «премиса» в карточке поста (то, что показывается креатору в дашборде перед публикацией) перестала путаться с тизером. Раньше один и тот же текст ехал и в карточку, и в social_description — после iter-430 это два разных поля с разными правилами. Плюс self-heal: эпизоды, которые попали в очередь до iter-429, перегенерируются на новые поля, не дожидаясь следующего рендера.
Сравнение с конкурентами по этой одной механике:
| Платформа | Откуда description берётся | Хэштеги | Эмодзи |
|---|---|---|---|
| Welder voiceover (iter-430) | сгенерирован отдельным шагом из чанков | 2–3 RU/EN | 1–2 |
| HeyGen Avatar IV | первая строка скрипта | руками | руками |
| Submagic Clips 2026 | первые 220 символов транскрипта | автоформула 5–7 шт | нет |
| Captions AI Auto-publish | пустое description, добавляется руками | руками | руками |
| Opus Clip 2.0 | первые 280 символов транскрипта | автоформула, но en-only | редко |
Welder — единственный из пяти, кто генерирует description как отдельный текст под формат соцсетей, а не нарезает закадр. В обмен мы тратим один дополнительный LLM-вызов на эпизод. Стоимость в районе $0.0003 — копейка против повтора публикации руками.
3. Один аккаунт на серию — а не «всё в одну дверь» (iter-425, iter-432)
Самая дорогая ошибка в воркфлоу агентств с 3+ каналами на одного оператора — «посты улетели не на тот канал». До 22 мая мы исправили её один раз (iter-425), но не до конца.
Расклад был такой:
- функция
resolveBoundConnection()искала привязку серии к соцаккаунту, и при её отсутствии падала в fallback поconnected_at DESC; - это значит: подключаешь второй YouTube-канал — старые серии без явной привязки внезапно начинают постить на новый;
- те же штаны, только сбоку, у TikTok и Instagram Reels.
iter-425 поменял fallback с «самый новый» на «самый старый»: новые подключения больше не «крадут» серии. Плюс self-heal по platform_account_id: если бинд устаревший, движок чинит его в момент публикации, не дожидаясь ручного апдейта в визарде.
iter-432 закрыл вторую половину дыры: визард создания серии теперь сразу пишет per-series binding в web_series_social_bindings. До этого визард полагался на fallback, и новая серия наследовала «глобально подключённые» аккаунты — а у агентств это либо не тот канал, либо вообще не тот клиент. После iter-432 каждая серия с момента создания знает свой комплект каналов.
Кого это касается: если у вас в кабинете больше одного активного YouTube или TikTok аккаунта в одном провайдере — это про вас. Если ровно один на провайдер — иммунитет до момента, когда вы решите добавить второй. И агентствам с 4 faceless-каналами на одного оператора это правило применимо в первую очередь.
4. YouTube показывает имя канала, а не e-mail (iter-431)
Мелочь, которая ломала визард. YouTube OAuth идентифицирует пользователя по Google-аккаунту (sub), а не по каналу — поэтому до iter-431 в выпадашке привязки появлялся e-mail вместо названия канала. У оператора с тремя клиентскими аккаунтами интерфейс выглядел как client1@gmail.com / client2@gmail.com / vlad@… — и оператор регулярно промахивался.
iter-431 переключил отображение на реальное имя канала из эндпойнта channels.list. Подкол в том, что эндпойнт требует scope youtube.readonly, а Welder исторически просил только youtube.upload. Поэтому полный фикс двухходовый:
- backfill из ответа
videos.insertпри первой публикации — работает уже сейчас; - запрос дополнительного scope
youtube.readonlyна стороне OAuth consent screen в Google Cloud — отложен до апдейта приложения у Google (deferred).
Заодно теперь логируется scope_missing — если пользователь снимает галку youtube.upload при OAuth, мы видим это в логе и сразу даём осмысленную ошибку. До iter-431 был «непонятно почему publish 403».
5. Автопостинг больше не «застревает» (iter-427)
Самый болезненный баг во всей пачке. Cron каждые 10 минут дёргает findEligible(), который выбирает до 5 эпизодов на тик и пробует опубликовать. До 2 июня выборка делалась oldest-first без фильтра по уже опубликованным — и если у вас в серии вчера дострелились 5 готовых видео, они «забивали» окно, а свежий контент 6-го числа никогда не получал шанса.
Внешне это выглядело как «видео готово, статус Готов, расписание стоит, а публикаций нет». Cron возвращал 200, ноль новых строк в web_episode_publishes, серия мертвее некуда.
iter-427:
- добавил skip для эпизодов в терминальном статусе на всех активных провайдерах;
- увеличил over-fetch с 20 до 60, чтобы даже при «голове очереди» из 50 уже-опубликованных найти 5 живых эпизодов в окне.
Если у кого-то из вашего пула серий висит «не запостилось» с эпизодами, готовыми до 2 июня, — он автоматически разойдётся, как только cron-окно подгонит. Никакого ручного re-queue не нужно.
6. Что это значит для агентств
В мае 2026 voiceover-режим Welder работал как «полу-self-serve»: каждый второй пост нужно было поправить руками. После восьми фиксов он перешёл в категорию production-ready для агентских воркфлоу. Конкретно:
| Сценарий | Май 2026 | Июнь 2026 |
|---|---|---|
| 1 серия / 1 канал YouTube | работало | работает |
| 1 серия / 3 платформы (YT + TikTok + Reels) | работало с правками тизера | работает as-is |
| 3 серии / 3 разных канала клиента | ловило fallback-баг | работает as-is |
| 6 серий / 12 каналов клиентов | ручные правки на 30% постов | работает as-is при проверке привязок |
| Расписание + ручная правка слотов | сбивалось при рендере новых эпизодов | стабилизировано (iter-411, iter-420) |
Если ваш стек — Welder + ElevenLabs v3 + Submagic Clips 2026 для пост-обработки, то в части автопостинга вы теперь строите процессы поверх «оно работает», а не поверх «обычно работает».
И да: Submagic Clips 2026 и Captions AI Auto-publish всё ещё требуют ручной обвязки на стороне социальных сетей. Welder voiceover после iter-432 этой обвязки не требует — при условии, что у вас не больше одного аккаунта на провайдер для каждого клиента. Если больше, см. §3.
7. Что ещё на радаре до конца июня 2026
Восьми фиксов недостаточно, чтобы поставить voiceover-режим «на полный автопилот для агентства в 10 каналов». Открытые задачи, которые мы видим:
- запрос дополнительного scope
youtube.readonlyв Google Cloud — нужен для отображения имени канала до первой публикации; - расширение per-series binding на ВКонтакте и Дзен (сейчас покрыты YouTube, TikTok, Instagram; ВК и Дзен пока на старой модели);
- расписание поверх часовых поясов клиента — сейчас движок работает в UTC, а агентства с клиентами в разных регионах хотят местное время;
- алерты о failed-публикациях в Telegram-бот ops (сейчас ops-бот ловит платежи и саппорт-пинги, но не deployment-уровневые ошибки автопостинга для конкретного пользователя).
Если вы попадаете в один из этих кейсов — напишите в саппорт. Очерёдность задач во многом определяется тем, на кого реально упёрлись пользователи, а не «грандиозными релиз-планами».
8. Action: проверьте свою серию за 3 минуты
Если вы серьёзно полагаетесь на voiceover-режим Welder, вот короткий чек-лист на сегодня:
- Зайдите в кабинет и откройте дашборд серии.
- В выпадашке «YouTube канал» теперь должно стоять имя канала, а не e-mail. Если e-mail — серия публиковалась до iter-431; опубликуйте ещё один эпизод, чтобы backfill отработал.
- Откройте редактор серии → раздел «Соцсети». Убедитесь, что привязки заполнены и совпадают с клиентом, на которого вы льёте трафик. Если пусто — нажмите «сохранить» один раз: визард iter-432 запишет per-series binding в базу.
- Откройте любой эпизод после 5 июня. Сравните заголовок и описание поста с тем, что в видео реально звучит. Должны совпадать по смыслу. Если расходятся критически — пришлите episode_id в саппорт.
- Посмотрите расписание серии. Если до этого правили слоты руками — после iter-411 и iter-420 правки больше не сбрасываются при рендере новых эпизодов.
Если вы только думаете запустить серию на нескольких платформах — план Creator сейчас 3 100 ₽ в месяц, ≈50 видео с озвучкой и постингом в подключённые соцсети. Одного клиента-агентства этого хватает на месяц работы; на трёх клиентов берите Studio за 10 540 ₽.