YouMind
Войти

Я создал AI-стримера с открытым исходным кодом, похожего на вирусного аватара из Douyin

@GaryAIytb
УПРОЩЁННЫЙ КИТАЙСКИЙ20 окт. 2026 г.
183K
1.5K
239
74
2.7K

Суть

Гэри Каоган делится своим опытом создания хоста для прямых эфиров на базе AI с использованием Vidu, подробно описывая архитектуру, анализ затрат и конкретные технические проблемы, возникшие во время разработки.

Всем привет, я Гэри Цаоган — новичок в сфере независимых медиа, который уже два года исследует AI-видео и глобализацию контента.

Вечером 15 октября я случайно наткнулся на стрим под названием «Tiangong Kaizhen» (автор: Tiangong Kaizhen, GitHub: https://github.com/beiyege-01, X: @yijt1339303). Автор вел трансляцию уже какое-то время, и теперь каждый раз, когда он выходит в эфир, онлайн достигает нескольких тысяч человек. В X тоже появилось множество репостов и комментариев об этом стриме.

Gary曹淦 - inline image

Обычные стримы с цифровыми людьми часто выглядят неестественно: скованные движения, механический голос, заранее прописанные скрипты. Чтобы добиться хорошего результата, обычно нужен живой человек, управляющий аватаром из-за кулис. Но почему этот стрим выстрелил? Потому что качество действительно на голову выше предыдущих цифровых ведущих. За кадром никто им не управляет — реакции происходят в реальном времени. Зритель пишет сообщение, и она отвечает. Движения, мимика и взаимодействие генерируются прямо на лету. Моя первая мысль была такой: потенциал этого решения для фантазии просто огромен.

Игровые стримы, e-commerce, развлекательные трансляции, стримы-компаньоны — практически любой сценарий можно глубоко интегрировать с этой технологией. Отсюда возникает вопрос: как он это реализовал? Смогу ли я сам собрать такую студию?

После четырех дней исследований и доработок мой аватар «Ванван» уже официально вышел в эфир на моем аккаунте в Douyin. Во время стрима мы дважды ненадолго перезапускали сервис, общее время составило более 70 минут. Как думаете, на сколько баллов тянет этот результат?

Несколько записей экрана:

https://ncnmu5q1eqm9.feishu.cn/file/Z5Spb8GIlog8qlxaWWKcGB7Xnbg

Gary曹淦 - inline image

Итак, в этой статье я расскажу, как за несколько дней собрал и настроил AI-ведущую для стримов в реальном времени Ванван с нуля до единицы: как я разбирал решение на части, как его реализовывал, с какими граблями столкнулся и как их обошел.

При этом весь фреймворк инструментов для AI-стримов в реальном времени выложен в open source под лицензией MIT. Адрес: https://github.com/garycaogan/ai-live-avatar.

Эту статью я написал с помощью ранее опубликованной в открытом доступе рабочей среды для работы с контентом и Claude.

1. Разбираем стрим оригинального автора

Gary曹淦 - inline image

Это стрим оригинального автора — Сяоя.

Разделим его на внутренний и внешний слои.

Внутренний слой — сама ведущая. Движения, мимика и речь генерируются в реальном времени. Над экраном висит метка Vidu S, из чего легко понять, что используется модель Vidu S2 — новейшая модель цифрового человека от Vidu. Это практически исключает все догадки о локальном развертывании open-source моделей.

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

Что касается внутреннего слоя, у решения Vidu для цифровых людей есть три пути. Первый — цифровой человек в реальном времени, где лицо, голос и ответы полностью отдаются модели. Второй — подготовка аудио и передача его на вход, чтобы модель занималась только синхронизацией губ (она даже петь умеет). Третий — использование видео живого человека для управления цифровым аватаром, заменяя персонажа внутри.

Talk is cheap. Бесконечно анализировать технические детали бессмысленно, поэтому я сразу взялся за дело и быстро собрал демо. Опираясь на свой опыт с YouTube, я сначала замкнул цикл: стрим на YouTube плюс чтение комментариев из чата.

Желающие могут посмотреть запись: https://www.youtube.com/live/fG84tzLOxLc

Gary曹淦 - inline image

Но первый стрим получился откровенно слабым. Мой результат мало отличался от обычных технологий цифровых людей: роботизированные движения, роботизированные ответы, роботизированный голос. Если записать Сяоя на 9 баллов, то мои ранние попытки по всем трем путям не тянули даже на тройку.

Сравнивая три подхода: путь с заменой через видео дает самые естественные движения, но не принимает комментарии в реальном времени. Путь с подачей аудио требует сборки отдельной системы ответов и озвучки. Учитывая метку Vidu S на экране и скорость реакции Сяоя на чат, я решил, что она использовала путь реального времени. Значит, разрыв не в технологии, а в базовом изображении, голосе и образе персонажа.

Почему Сяоя кажется живым человеком? Думаю, дело в следующих моментах.

Во-первых, движения. Она большую часть времени смотрит вниз, словно читает чат с телефона, и улыбается, когда видит что-то забавное, показывая зубы. Руки то лежат на подбородке, то тянутся к снекам. Она выглядит как обычная девушка, которая пришла с работы и включила стрим, а не как «цифровой человек», стоящий по стойке смирно и читающий текст по бумажке.

Во-вторых, визуал. Сначала я подозревал, что на весь экран наложили размытый фильтр в Photoshop. Но при увеличении скриншотов выяснилось, что края текста поверх кадра четкие, маленькое окно с ведущей тоже резкое. Мягким было только ее лицо. То есть эта мягкость — не постобработка, а свойство самого изображения цифрового человека: мягкий свет падает только на лицо, фон затемнен, кожа выглядит белой, розоватой и гладкой, как в мобильном стриме с бьюти-фильтром. А в маленьком горизонтальном окне на телефоне детали сжимаются, скрывая недостатки AI. Этот эффект напоминает освещение у настоящих стримеров.

В-третьих, ритм. Субтитры прижаты к нижнему краю кадра, ответ на комментарий звучит примерно раз в 20 секунд. Кажется, что медленно, но эта пауза как раз маскирует те несколько секунд, которые нужны AI на реакцию. Настоящие ведущие ведь тоже не отвечают мгновенно, верно?

В-четвертых, окно с живым человеком. В углу сидит реальный человек. Из-за этого весь стрим не выглядит как брошенная без присмотра машина. Когда зрители общаются с ней, они понимают, что за кадром кто-то следит за процессом.

После такого разбора путь оптимизации стал очевиден. Для слоя ведущей используем готовое решение Vidu. А мне нужно сделать внешний слой: альбомный формат, карточки инструкций, окно с живым человеком и так далее, ориентируясь на настройку Сяоя.

2. Vidu отвечает за ведущую, я собираю слой режиссера эфира

Если объяснять простым языком: в настоящем стриме рядом с ведущей обычно сидит помощник-режиссер. Он следит за чатом, банит спамеров, передает вопросы зрителей ведущей, напоминает ей переодеться и подкидывает темы, если повисла тишина.

В стриме Ванван роль ведущей выполняет Vidu. Как Ванван выглядит, как открывает рот и что говорит — всё это генерируется Vidu в реальном времени.

Поэтому ключ к этому проекту — слой режиссуры эфира, а именно следующие задачи:

  • Фильтрация: пошлые или рекламные комментарии просто не зачитываются вслух.
  • Очередь: комментарии поступают один за другим. При необходимости можно добавить логику приоритета для тех, кто отправил подарки.
  • Понимание намерений: определение, хочет ли зритель просто поболтать, просит сменить одежду, запросить реквизит, поменять фон или показать сердечко и помахать рукой.
  • Предустановки: например, логика гардероба. Каждый наряд — это отдельная готовая фотография. Смена одежды означает переключение на новое фото и перезапуск сессии.
  • Команды простоя: Vidu поддерживает голос в режиме ожидания. Чтобы ведущая не пялилась в пустоту, когда нет комментариев, можно задать темы для пауз.
  • Карточки инструкций и метки: подсмотрено у Сяоя. Прямо на экране пишем, что можно делать, что нельзя и как правильно писать комментарии.
  • Локальная рабочая панель: смена образов, управление гардеробом, переключение голосов, настройка действий — всё через клики в браузере.
  • Настройка стрима: я использовал OBS, чтобы свести изображение цифрового человека, карточки инструкций и картинку с моей камеры, а затем пушил горизонтальный поток через Douyin Live Companion. Моя камера размещена в левом нижнем углу.
Gary曹淦 - inline image

Вся эта логика создавалась через циклы тестов, обсуждений и доработок с Claude. Он занимается техникой и продуктом, я даю идеи и требования.

AI может собрать первую версию за ночь, запустив смену одежды, очередь и пуш потока. Но он не услышит роботизированных интонаций в голосе и не поймет, насколько неловко звучат одни и те же три-четыре фразы, крутящиеся по кругу в тишине. Это чувствуешь только тогда, когда реально смотришь, как персонаж взаимодействует с тобой в эфире.

Что касается затрат, основные расходы приходятся на Vidu; остальное — копейки.

Цифровой человек Vidu в реальном времени тарифицируется посекундно: 1,5 кредита в секунду, что составляет около 169 юаней в час. Сегодняшний стрим длился 1 час 7 минут и обошелся в 191,47 юаня, включая разогрев до эфира, перезапуски сессий для смены одежды и рестарты во время трансляции. Для меня 100–200 юаней в час на этапе тестов — приемлемо, но затраты никуда не деваются. Если планируете монетизировать это решение, четко считайте ROI.

3. Грабли, на которые я наступил за эти дни

Внешность (по сути, базовое изображение)

Первый удачный запуск был с CG-версией Таши. Таша — персонаж из игры Ace Combat 8. Кто не любит розовые волосы? Но в эфире цифровой человек выглядел тяжеловесно, потому что фото было в CG-стиле, далеком от реализма.

Gary曹淦 - inline image

Затем появилась версия Таши в виде живого человека — нейросеть для генерации картинок перерисовала ее в реалистичное фото. Стало лучше. Я также сделал для нее горизонтальную композицию, копируя подход Сяоя: она сидела за столом, подперев подбородок, рядом горела лампа. Но всё равно чего-то не хватало, лицо явно выдавало AI.

Gary曹淦 - inline image

Когда я перешел к оригинальным персонажам, захотелось более живых, обычных образов. Я сделал четырех девушек с акцентами: Сяомань из Северо-Восточного Китая, Чэнцзы из Чанша, Авэнь из Миньнани и Аньань с тайваньским акцентом.

Gary曹淦 - inline image

Проблемы с ними касались в основном эстетики и базовых изображений. Если сравнить исходник Чэнцзы с экраном Сяоя: тон кожи слишком желтый и перенасыщенный, текстура прорисована чересчур детально, ракурс камеры — строго анфас на уровне глаз, руки расставлены как на фото для паспорта. Возникли проблемы и с образом: я прописал примеры фраз в промпте персонажа, и она начала читать их слово в слово.

В итоге, отчаявшись, я поискал вдохновение в постах блогера Доумяо в X (@nima2qisi2), сгенерировал похожий вариант по промптам — так появилась Ванван.

Gary曹淦 - inline image

Ее образ — 24-летняя девушка, работающая графическим дизайнером в небольшой компании в Ханчжоу. Возвращается домой после 22:00, включает стрим, чтобы поболтать. У нее есть черный кот Мэйцю (его не видно в кадре, но она жалуется на его проказы). Характер: долго привыкает к людям, слегка суховатый юмор. Если спросить, настоящая ли она, прямо отвечает, что она AI-ведущая.

Смена одежды

Сначала я пытался заставить AI менять одежду прямо на ней. Один раз прокатывало, но после второго лицо начинало ломаться. Позже я перешел к другому методу: заранее готовить цельное фото для каждого наряда, включая человека, одежду и комнату. Смена одежды означала перезапуск сессии с этой фотографии — так было быстрее и стабильнее. Сейчас в гардеробе 7 нарядов; черная водолазка — дефолтный. Одна смена занимает около 5 секунд.

Эта же логика позволяет переключать сцены и действия, если подготовить достаточно базовых изображений.

Gary曹淦 - inline image
Gary曹淦 - inline image

Тембр голоса

Изначально я сделал несколько персонажей с акцентами (северо-восточный, чаншаский, миньнаньский, тайваньский), потому что заметил: акцент отлично маскирует «роботизированность». Девушка, говорящая с акцентом, подсознательно воспринимается как живая. Был забавный случай: AI дважды прослушал голос вслепую и заявил, что это стандартный путунхуа, а я с первой секунды услышил северо-восточный говор. С тех пор голоса выбираю сам.

Позже обнаружилась критическая проблема: многие голоса звучат как живые люди в записи, но теряют весь шарм в стриме реального времени.

Финальный голос Ванван я спроектировал в Volcano Engine, передав сырые аудиоматериалы для клонирования в Vidu.

Повторяющиеся фразы в простое

После первого 6-минутного тестового стрима главный вывод был таким: когда никто не писал в чат, она крутила по кругу одни и те же три-четыре фразы для разогрева. Даже мне стало неловко. Перед вторым стримом я наспех подготовил 100 тем для холодного старта, основанных на ее образе. Повторы начинаются только после того, как исчерпаны все сто.

Смена фона сняла одежду

Сегодня вечером она сменила фон 9 раз. Первые 8 прошли нормально. В конце, будучи в черном топе на бретельках, она переключилась из комнаты в заснеженный домик, и одежда осталась на месте (см. картинку ниже). Но на 9-й раз, при переходе от заснеженного домика к ночному городу, бретельки и топ исчезли, и она оказалась голой. Я немедленно завершил стрим.

Gary曹淦 - inline image

Разбор причин: смена одежды работает стабильно, потому что каждый наряд — это заранее сделанное цельное фото, с которого перезапускается сессия. Смена фона и реквизита идет другим путем: во время стрима Vidu передается референсное изображение, чтобы перерисовать сцену. Но ее текущий наряд не был включен в референс, и мы не просили модель сохранить одежду. Vidu могла перерисовать ее тело. Первые 8 раз она рисовала правильно, на 9-й — стерла одежду. Самое страшное здесь — непредсказуемость. То, что тесты много раз проходят без проблем, не гарантирует безопасности. Это подтвержденная уязвимость. Является ли она единственной причиной — неизвестно, но дыру надо закрывать. Ранее мы выяснили, что изменение референсов прямо во время стрима вызывает дрейф и необратимость, но не ожидали, что это произойдет в публичном эфире.

Теперь смена фона и реквизит вроде еды и напитков отключены по умолчанию. На карточках инструкций они перенесены в раздел «пока недоступно», пока мы не перейдем на схему «перезапуск с полного фото» или не добавим визуальные проверки.

Отвал Vidu, живой человек спасает эфир

Один раз Vidu отвалился примерно на 3 минуты. В это время Ванван исчезла с экрана, в левом нижнем окне остался только я. Чат заполнился сообщениями: «Почему стрим закончился?», «Гэри пропал». Это доказывает, что окно с живым человеком нужно не только для атмосферы: когда всё ломается, кто-то должен держать оборону.

Gary曹淦 - inline image

Обработка комментариев и подарков

Для комментариев сейчас используется временный костыль — парсинг сообщений со страницы сайта.

У подарков изначально была логика прыжка вне очереди, но я ее убрал, потому что Douyin считает это склонением к донатам. Технически приоритет за подарки реализовать можно.

Нерешенные проблемы

  • Синхронизация губ при пении и амплитудные движения пока невозможны.
  • Даже с прописанным образом и темами ответы иногда отдают «роботизированностью».
  • От появления комментария зрителя до ответа проходит 10–20 секунд.
  • Длинные предложения прерываются новыми диалогами или командами на действие, хотя программно это можно оптимизировать.
  • Короткая память. После переподключения на вопрос, почему стрим прервался, она ответила: «Он не прерывался, разве мы не продолжаем болтать?»

4. Какой потенциал развития у этого формата?

Упомяну направления, в которых я хорошо разбираюсь и которые легко визуализировать. Очевидные вещи вроде e-commerce ведущих обсуждать не буду. Будущие эксперименты могут пойти по этим путям; результатами я поделюсь. Читатели могут поискать пересечения со своей экспертизой:

1. Игровые стримы. Как геймер с 20-летним стажем, я питаю слабость к игровым трансляциям. Раньше стримил Honor of Kings и LOL. Видели серию «Доубао учит играть» на Bilibili? Delta Force, LOL, Minecraft — многие ролики стали вирусными. Например, видео, где Доубао играет в Minecraft, набрало 16 миллионов просмотров. Представьте, если бы у Доубао был интерактивный в реальном времени и симпатичный аватар. Видео и стримы стали бы еще круче.

Gary曹淦 - inline image
  1. Стримы бесконечного цикла. MiniMax ранее делал стрим с генерируемой в реальном времени картинкой, что ощущалось как бесконечный цикл. Но из-за отсутствия заданной темы это не работало в рамках сюжета. Если связать решение Vidu с внешней оболочкой и генерировать сцены и диалоги на лету на основе комментариев, вполне можно запустить интерактивные сюжетные стримы. Живым ведущим такое и не снилось. Представьте эфир, где главная линия — путешествие ведущей: транспорт, попутчики, встречи, слова, выборы — всё режиссируется чатом. Разве не интересно?

3. Развлекательные стримы. Тут и объяснять нечего. Пример Сяоя доказывает потенциал AI в развлекательных трансляциях. Сильно подозреваю, что скоро, после выхода подобных моделей в open source, платформы для взрослых будут оккупированы AI.

О границах: Douyin требует маркировать AI-контент, обязывает присутствовать живому человеку и взаимодействовать с ним, не одобряет полностью автоматические стримы без участия людей. Поэтому на экране Ванван всегда висит надпись «Изображение сгенерировано AI в реальном времени», а моя камера остается в левом нижнем углу. Сегодняшний сбой — хорошее напоминание. Из 18 отфильтрованных комментариев несколько просили купальники, бикини и платья на бретельках — их заблокировали ключевые слова (кстати, ключевые слова ложно заблокировали и фразу «кто-то отлынивает от работы» как двусмысленную, позже исправили). Однако авария произошла не из-за них, а из-за обычной смены фона.

Текст можно блокировать ключевыми словами, картинку — нет. AI-графика может неожиданно выдать контент, запрещенный платформой. Без присмотра она способна создать нарушение. Присутствие живого человека — это не только требование платформы, но и ваша страховка.

Тем, кто надеется получать пассивный доход 24/7 с помощью цифровых людей, до реализации мечты еще далеко.

И пожалуйста, не используйте лица знаменитостей, чужих персонажей или чужие фотографии для цифровых аватаров. Создать своего собственного не так уж сложно.

6. Примечания к open source

Инструментальный фреймворк этого проекта выложен в open source под лицензией MIT: https://github.com/garycaogan/ai-live-avatar.

Включает фильтрацию и очередь комментариев, распознавание намерений, гардероб, карточки инструкций и экранные оверлеи, локальную рабочую панель, интеграцию с OBS и горизонтальный пуш в Douyin. Вы можете запустить всё вхолостую, не тратя деньги, чтобы посмотреть, как реализованы фильтрация, очередь и оверлеи. Часть с парсингом веб-страниц исключена из-за рисков; желающим придется дописать ее самостоятельно.

Инструменты доступны всем, но персонажи должны быть вашими. Подставьте свое лицо, пропишите свой образ — и всё заработает.

Если хотите собрать свой стрим, берите код, создавайте персонажа. Буду рад вопросам в комментариях или рассказам о ваших успехах.

Я Гэри. Если статья была полезной, не забудьте поставить лайк, добавить в избранное и поделиться!

Переделать в YouMind

Превратите одну вирусную статью в полноценный рабочий процесс создания контента

Собирайте источники, расшифровывайте паттерны, создавайте активы, пишите черновики и публикуйте контент из одного рабочего пространства ИИ.

Исследовать YouMind
Для авторов

Превратите ваш Markdown в аккуратную статью для 𝕏

Когда вы публикуете длинные тексты, изображения, таблицы и блоки кода, форматирование в 𝕏 становится мучением. YouMind превращает полный черновик в Markdown в чистую статью, готовую к публикации в 𝕏.

Попробовать Markdown для 𝕏

Другие паттерны для анализа

Недавние виральные статьи

Смотреть другие виральные статьи