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-стрімів у реальному часі відкрито під ліцензією MIT. Адреса: https://github.com/garycaogan/ai-live-avatar.

Цю статтю я написав за допомогою раніше опублікованої у відкритому доступі робочої панелі для контенту та Claude.

1. Розбір трансляції оригінального автора

Gary曹淦 - inline image

Це трансляція оригінальної авторки Сяоя.

Розкладемо її на внутрішній і зовнішній шари.

Внутрішній шар — це сама ведуча. Рухи, міміка та мова генеруються в реальному часі. Над екраном висить позначка Vidu S, з чого легко зрозуміти, що використовується модель Vidu S2 — найновіша модель цифрової людини від Vidu. Це практично виключає різноманітні здогадки про локальне розгортання open-source моделей.

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

Щодо внутрішнього шару, рішення Vidu для цифрових людей має три шляхи: перший — цифрова людина в реальному часі, де обличчя, голос і відповіді повністю делегуються їй; другий — підготовка аудіо та його подача на вхід, щоб модель займалася лише синхронізацією губ (вона навіть може співати); третій — використання відео реальної людини для керування цифровим аватаром, замінюючи людину всередині.

Балаканина нічого не варта. Надто довго розмірковувати над цими технічними оцінками безглуздо, тому я одразу взявся до справи й швидко запустив демо. Спираючись на свій досвід роботи з 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-відтінок. Дівчина, яка говорить з акцентом, підсвідомо сприймається як жива людина. Стався невеликий випадок: AI двічі сліпо прослухав голос і сказав, що це стандартна путунхуа, хоча я одразу почув північно-східний говір. Відтоді я обираю голоси сам.

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

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

Повторювані фрази під час простою

Після першого тестового стріму на 6 хвилин головним висновком стало те, що коли ніхто не писав, вона крутила по колу ті самі три-чотири фрази для розігріву. Було незручно навіть мені. Перед другим стрімом я швидко підготував 100 тем для холодного старту на основі її персонажа. Повтори тепер починаються лише тоді, коли всі вони вичерпані.

Зміна фону прибирала одяг

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

Gary曹淦 - inline image

Розбираючись у причинах: зміна одягу працює стабільно, бо кожен образ — це заздалегідь підготовлене повне фото, і сесія перезапускається. Зміна фону та реквізиту йде іншим шляхом: під час стріму Vidu передається референсне зображення, щоб перемалювати сцену. Але її поточний одяг не був включений у референс, і ми не просили зберегти його. Vidu могла перемалювати її тіло. Перші 8 разів вона намалювала правильно, а на 9-й стерла одяг. Найстрашніше тут — нестабільність. Те, що під час багатьох тестів проблем не було, не означає безпеки. Це підтверджена вразливість. Чи є вона єдиною причиною — невідомо, але дірку треба закрити. Раніше ми виявили, що зміна референсних зображень під час стріму призводить до дрейфу та незворотності, але не очікували, що це станеться на публічному ефірі.

Тепер зміна фону та реквізит із їжею/напоями вимкнені за замовчуванням. На картках з інструкціями їх перенесено до розділу «ще не працює», поки ми не перейдемо на «перезапуск із повного фото» або не додамо візуальні перевірки.

Vidu відключився, реальна людина тримала ефір

Одного разу Vidu відключився приблизно на 3 хвилини. У цей час Ванван зникла з екрана, і залишився лише я у вікні в лівому нижньому куті. Коментарі заполонили питання: «Чому закінчилося?», «Ґері зник». Це доводить, що вікно з реальною людиною потрібне не лише для присутності; коли щось ламається, хтось має тримати ефір.

Gary曹淦 - inline image

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

Для коментарів зараз використовується тимчасовий метод зчитування коментарів із вебсторінки.

Спочатку для подарунків була логіка проходження без черги, але я її прибрав, бо Douyin вважає це спонуканням до донатів. Технічно реалізувати пріоритет за подарунки цілком можливо.

Невирішені проблеми

  • Синхронізація губ під час співу та широкі рухи поки що неможливі.
  • Навіть із прописаним персонажем і темами відповіді іноді зберігають AI-відтінок.
  • Від моменту, коли глядач пише коментар, до її відповіді минає 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.

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

Текст можна блокувати ключовими словами; зображення — ні. Візуал, згенерований AI, може несподівано створити контент, заборонений платформою. Без нагляду він здатний порушити правила. Присутність реальної людини — це не лише вимога платформи, а й ваш захист.

Тим, хто сподівається на 24-годинний пасивний дохід із цифровими людьми, ще далеко до мети.

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

6. Примітки щодо відкритого коду

Фреймворк інструментів цього проєкту відкрито під ліцензією MIT: https://github.com/garycaogan/ai-live-avatar.

Він включає фільтрацію/чергу коментарів, розпізнавання намірів, гардероб, картки з інструкціями/накладання на екран, локальну робочу панель, інтеграцію з OBS/Douyin для горизонтальної трансляції. Ви можете запустити його без витрат, щоб подивитися, як працює фільтрація, черги та накладання. Парсинг вебсторінок виключено через ризики; ті, хто впроваджує, мають додати його самостійно.

Інструменти доступні всім, але персонажі мають бути вашими. Підставте своє обличчя, пропишіть свого персонажа — і все запрацює.

Якщо хочете створити такий стрім, беріть код, робіть свого персонажа, і ласкаво просимо в коментарі за допомогою або щоб поділитися успіхами.

Я Ґері. Якщо ця стаття була корисною, не забудьте поставити лайк, репост і вподобайку!

Переробити в YouMind

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

Збирайте джерела, розшифровуйте патерни, створюйте матеріали, пишіть чернетки та поширюйте контент в одному AI-робочому просторі.

Дослідити YouMind
Для авторів

Перетворіть свій Markdown на охайну статтю для 𝕏

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

Спробувати Markdown для 𝕏

Більше патернів для аналізу

Останні віральні статті

Переглянути більше віральних статей