Перейти к содержимомуWelder 10 июня 2026: серии в свои аккаунты и Stripe-фикс
WWelder AI

Welder 10 июня 2026: серии в свои аккаунты и Stripe-фикс

Обновления9 минWelder AI

Welder 10 июня 2026: серии в свои аккаунты и Stripe-фикс

YouTube канал теперь подписан реальным именем, каждая серия посылает посты в нужный аккаунт, Stripe возвращает кредиты за минуту.

Главное за 30 секунд

10 июня 2026 в Welder ушло на прод три фикса, которые ломали сценарии агентств с несколькими каналами и платных подписок через Stripe. YouTube-аккаунт теперь подписан реальным именем канала — не e-mail'ом; каждая серия пишет в свою собственную привязку соцсетей — даже если у пользователя 8 соц-аккаунтов; кредиты по Stripe-подписке начисляются в кошелёк за минуту — без ручного триггера.

Если у вас один канал и одна карта, разницу не заметите. Если вы агентство с 4-6 faceless-каналами на одном операторе (гайд про эту модель) — это закрывает три самых громких бага последних трёх недель. Под катом разбор каждого: что было сломано, как чинили, что делать вашему пайплайну.

Контекст: почему агентства тонули в каналах-однофамильцах

Цикл «5 AI-каналов на одного SMM» работает, только когда инструмент явно различает, в какой именно аккаунт уходит конкретный ролик. У почти всего рынка коротких AI-видео с этим в 2026-м всё ещё проблема:

  • Submagic ограничивает подключение одним аккаунтом на платформу — если у клиента два TikTok-канала, второй вы привязать не сможете.
  • SendShort в июньском релизе 2026 тоже остановился на «один аккаунт на платформу».
  • OpusClip Pro даёт мульти-аккаунт, но без явной привязки серии к нужному — публикует в «дефолтный» и оставляет вас раскидывать черновики руками.

Welder в апреле-мае шёл по похожей развилке: подключений хранили сколько угодно, но при автопубликации серия резолвила «куда писать» по принципу «самое свежее по connected_at для платформы». Стоило подключить новый TikTok-аккаунт — и все ранее работавшие серии резко начинали постить в него же. На лог-уровне это выглядело как «всё стабильно», на уровне клиента — как «вы подменили мне канал».

Параллельно YouTube в подписи коннекта показывал e-mail сервисного аккаунта вместо настоящего имени канала: четыре под-канала на одном Google-аккаунте превращались в четыре строки vasya@gmail.com. Угадать, который из них «История Великих Битв», можно было только с третьей публикации.

И, наконец, оплаченные Stripe-подписки в редких случаях не зачисляли кредиты — ничего видимого, просто тишина после успешного платежа. На стороне Stripe всё было OK, на нашей — пустой обработчик.

Сегодняшний релиз закрывает все три симптома.

Фикс №1: YouTube подписан реальным именем канала

Раньше при подключении YouTube в личном кабинете рядом с иконкой стояло creator-account@gmail.com. Аккаунт с пятью под-каналами рендерился пятью одинаковыми строками — без видимой разницы, какой именно канал вы подключили.

С 10 июня в подписи стоит реальный channel.title. Welder читает его из videos.insert-ответа при первой публикации серии и подменяет лейбл в web_youtube_connections.channel_name. Если у вас уже было подключено десять YouTube-связок — после первого нового публикуемого ролика подпись обновится автоматически, без переподключения.

Чисто-API-нюанс. Чтение channels.list с mine=true или id требует scope https://www.googleapis.com/auth/youtube.readonly. Welder подписывает OAuth-запрос только youtube.upload (минимум на запись) — с ним channels.list возвращает 403 insufficientScopes. Поэтому имя приходит не на этапе коннекта, а на первой публикации: videos.insert всегда отдаёт snippet.channelTitle в ответе, и мы стэмпим его в БД.

Что вам делать. Ничего, если новые серии запускаются регулярно — имя проставится само через пару дней. Если хотите увидеть имя сразу — опубликуйте любой voiceover-ролик в этот канал руками из дашборда; первая успешная публикация перепишет лейбл. Полный переход на «имя из коробки на коннекте» требует ребилда OAuth consent screen в Google Cloud с добавлением youtube.readonly; это в плане на июль 2026 (см. предыдущий апдейт от 7 июня).

В лог-таблицу web_admin_events теперь пишется диагностический код scope_missing каждый раз, когда videos.insert отвечает 403 — это позволяет за минуту понять, что пользователь при коннекте снял галку с прав на загрузку. Раньше там было пусто, и саппорт догадывался по второй симптоматике.

Фикс №2: серии пишут в свои собственные привязки

Сценарий, который ломался в среднем у одного из десяти агентских юзеров:

  1. SMM-щик подключает TikTok-аккаунт «Канал A», создаёт пять серий.
  2. Через две недели подключает второй TikTok — «Канал B» (новый клиент).
  3. Все пять старых серий, плюс новые, внезапно начинают постить в «Канал B».

Корень — функция resolveBoundConnection. Если у серии не было явной привязки в web_series_social_bindings, fallback шёл «самый свежий connected_at для платформы». Любой новый коннект автоматически становился «дефолтом» для всех несвязанных серий.

С 10 июня правило другое:

  • Fallback теперь — OLDEST-first (connected_at ASC). Привычные серии остаются на том коннекте, под который они изначально запускались.
  • При первой публикации серия самопочиняет себя: если в web_episode_publishes уже есть строка с конкретным platform_account_id, серия привязывает себя к этому коннекту в web_series_social_bindings. Дальше она устойчива к любым новым подключениям.
  • Wizard серии теперь явно пишет per-series binding при первом запуске. Не надо лазить в SQL и пинить руками.

В сухом остатке: подключить 2-й/3-й/8-й аккаунт TikTok (или YouTube, или Reels) больше не уводит за собой существующие серии. Welder ведёт себя как «несколько каналов под одной крышей», а не как «всё пишет в самый свежий».

Если вы агентство с 4-6 каналами и хотите явно пин-нить серии (для аудита), используйте новый раздел «Соцсети серии» в карточке: один клик закрепляет нужный аккаунт. На уровне БД это пишется как row в web_series_social_bindings(series_id, platform, connection_id) — следующий ребилд резолвера читает оттуда первым.

Контекст рынка. По нашим тестам в мае-июне, на «один аккаунт на платформу» обламываются три из пяти агентств: средний клиент быстро вырастает в пять каналов, а SMM не готов покупать два аккаунта Submagic ради разделения. Параллельно кейс агентства с 14 клиентами и ₽2.1M MRR — именно про эту модель: 14 проектов, 18 соц-аккаунтов, один человек в проде. Чинить фундамент под такие команды было приоритетом.

Фикс №3: Stripe-кредиты возвращаются в кошелёк

Третий фикс уйдёт незамеченным у большинства, но был самым раздражающим у тех, кого касался. Симптом: пользователь оплачивает подписку (Starter или Pro), Stripe пишет invoice.paid, наша вебхук-функция отвечает 200 — а в кошельке кредиты не появляются. Поддержка чинила руками, средний lag — 2-4 часа.

Корень — изменение в форме события invoice.paid в API-версии 2026-04-22.dahlia. До апреля Stripe слал subscription_id в invoice.subscription — короткий путь, по которому мы матчили платёж с подпиской. С 2026-04-22.dahlia это поле задепрекейтили в пользу invoice.parent.subscription_details.subscription, а в 2026-05-27.dahlia (текущая стабильная) invoice.subscription начало уходить в null для новых вебхуков.

Наш обработчик месяц молча работал на null-пути: «нет subscription → не из подписки → выходим». Кредиты копились в журнале Stripe, а в нашей БД оставались на старом балансе.

С 10 июня:

  • stripe-webhook читает subscription id по новой иерархии: сначала invoice.parent.subscription_details.subscription, затем invoice.subscription_details.subscription, и только потом legacy invoice.subscription — для пользователей, чьи аккаунты ещё на старой API.
  • Все пропущенные начисления за май-июнь забэкфилены. Список — в web_admin_events по key='stripe_backfill_2026_06_10', всего 18 транзакций.
  • Тест добавлен в __tests__/payments/stripe-webhook-invoice-paid.test.ts — три фикстуры: legacy (до 2026-04-22), переходная (2026-04-22), новая (2026-05-27+).

Если вы платили Starter или Pro между 5 и 10 июня и не видите начисленные кредиты — напишите в саппорт со ссылкой на платёж, доначислим в течение 10 минут.

Сравнение с рынком и что это даёт командам

Коротко — где Welder сейчас на одной шкале с рынком по мульти-аккаунту:

СервисАккаунтов на платформуСерия → конкретный аккаунтЛейбл YouTube-канала
Welder (10 июня 2026)через web_series_social_bindings, OLDEST-fallbackимя канала из videos.insert
Submagic (июнь 2026)1нет, один на платформуимя аккаунта из OAuth
SendShort (июнь 2026)1нет, один на платформуe-mail
OpusClip Pro (июнь 2026)до 5«дефолтный», без явного bindingимя канала
HeyGen Publish (март 2026)до 3через тэгиимя аккаунта

Цифры сверены с официальной документацией каждого сервиса на 10 июня 2026.

Практический эффект:

  • Агентство с 4-6 клиентами, где SMM ведёт сразу несколько каналов из одного дашборда — фикс №2 закрывает риск, что 7-й клиент подменит вам историю публикаций по первым шести.
  • Сольный креатор с двумя ниша-каналами на одном Google-аккаунте (@kuhonnye-istorii + @russkaya-kuhnya, например) — теперь они различимы в подписи без лишних кликов.
  • Кросс-постер на 7 платформ (мы писали гайд про это) — fallback больше не угоняет ваши серии в свежий аккаунт. Можно явно прописать «эта серия пишет только в Reels Канал A и TikTok Канал B», и резолвер уважит.

Один SMM на 6 faceless-каналов теперь масштабируется до 10-12 без ручного аудита привязок. Это не маркетинговый слоган, а арифметика: если вы тратили 2 часа в неделю на «проверить, что куда ушло» — этот цикл закончился.

Что под капотом и куда движемся в июле

Для тех, кому интересны технические детали:

  • lib/social/resolve-binding.tsORDER BY connected_at ASC вместо DESC, плюс новый шаг self-heal: после первой публикации записывается явный binding в web_series_social_bindings.
  • lib/youtube/oauth-callback.ts — при ошибке insufficientScopes пишет код scope_missing в web_admin_events, чтобы саппорт видел проблему за минуту.
  • lib/payments/stripe-webhook.ts — новая утилита extractSubscriptionId(invoice) с тремя fallback-путями (parent.subscription_details.subscriptionsubscription_details.subscriptionsubscription).

Полный лог — в docs/STATE.md под iter-431, iter-432, iter-434.

Что запланировано на июль:

  • YouTube readonly scope в OAuth consent screen. Уберёт необходимость ждать первой публикации, чтобы получить имя канала. Требует ревью Google Cloud — ETA 18-22 июля.
  • Per-series биллинг. Сейчас кредиты тратятся из общего кошелька — для агентств это бухгалтерская боль. Появится возможность подключить к каждой серии свой metadata.client_id и видеть расходы по клиентам.
  • Bulk-релоад биндингов. Кнопка «перепривязать всё к выбранному аккаунту» — нужна тем, кто мигрирует со старого аккаунта на новый.

Если у вас есть конкретный сценарий, который мы не закрыли этим релизом — напишите в саппорт с тегом «agency-flow», такие кейсы попадают в backlog приоритетным цветом.

Сделать первое в свой аккаунт

Самый быстрый способ проверить, что у вас новая логика — открыть карточку любой серии и проверить блок «Соцсети серии». Если там стоят аккаунты по имени, а не e-mail, вы уже на новой версии.

Если тестируете Welder впервые — заведите серию через дашборд, привяжите TikTok и YouTube, запустите первый ролик в voiceover-режиме. Тариф Starter с 9 июня 2026 стоит 990 ₽/мес, и его хватает на 5-7 коротких роликов в неделю — этого достаточно, чтобы прогреть автопостинг и увидеть, что серии действительно различают аккаунты.

Welder закрывает одну болячку за раз, не «революционно меняя подход». Если это не то, что вам нужно — есть 12 альтернатив на рынке, мы их не скрываем.

#update#welder#voiceover#youtube-shorts#автопостинг#stripe#агентство#ai-shorts