OpenSpline: ИИ аватар в реальном времени локально и заявка на 90+ FPS

19 октября пользователь Reddit под ником Mikasa0xdev показал говорящий аватар, который работает локально и, по его словам, выдаёт больше 90 кадров в секунду на RTX 4090. Воркфлоу открыт под MIT, но заявленная скорость пока не подтверждена ни замерами, ни ответом автора на вопросы о памяти.

Говорящий аватар в реальном времени: лицо поднимается из платы, изо рта летят кадры
01

Что показал автор

Пост появился в r/StableDiffusion 19 октября в 21:04 UTC (https://www.reddit.com/r/StableDiffusion/comments/1xa92dp/). Заголовок обещает реалистичного говорящего аватара, который работает локально в реальном времени и выдаёт 90+ FPS на RTX 4090.

Через две минуты автор добавил пояснение: весь воркфлоу открыт на GitHub (https://github.com/openspline/openspline). Логика простая — выбирается портрет, выбирается голос, на выходе идёт видео с синхронизированной артикуляцией. Считается всё локально, но есть и онлайн-демо на openspline.dev.

Там же автор оговаривается, что проект в очень ранней стадии, хотя результат называет многообещающим. Эта фраза в обсуждении важнее заголовка: она задаёт статус всему остальному.

02

Что лежит в репозитории

Репозиторий описывает продукт как живое лицо для любого голосового ИИ-агента: портрет и сгенерированная речь превращаются в синхронное видео и звук на собственной видеокарте.

Код открыт под MIT (встроенный код инференса — под Apache-2.0, у весов моделей свои условия), SDK на Python и Node, требования — Linux или WSL2 и карта NVIDIA. Работает как самостоятельный сервис: одна активная сессия на один GPU-воркер, для параллельных сессий добавляются карты.

Внутри — модели семейства SoulX-FlashHead для генерации говорящей головы и фреймворк LiveKit для реального времени. Готовые коннекторы есть под OpenAI Realtime, Gemini Live, OpenAI Agents, Pipecat, Google ADK, Vocode и TEN.

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

Как работает локальный аватар: портрет и речь проходят через видеокарту к экрану без облака
03

90 FPS: что подтверждено

Заявление про 90+ FPS — слова автора в заголовке поста. Методики в тексте нет: разрешение, длина сессии, качество модели и способ замера не указаны.

В README ситуация скромнее. Там написано, что короткие тесты на A100 дали около 64 FPS в низком качестве и 8 FPS в высоком, и это частота движка, а не задержка воспроизведения. Долгие прогоны, мульти-GPU и облачные конфигурации авторы репозитория называют непроверенными.

Свести эти два числа можно только одним способом: 90+ FPS на 4090 относится к конкретному режиму, который в посте не описан. Возможно, это низкое качество и короткий портрет. Проверить это по публичным материалам нельзя.

04

Лип-синк и дрейф

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

Ответа про VRAM в треде не появилось — автор дважды отправил собеседников на онлайн-демо. Зато про дрейф высказался MystikDragoon: синхронизировать видео и звук в реальном времени действительно тяжело, и в демо он видит расхождение.

Это мнение, а не замер. Но оно совпадает с тем, что написано в документации: плавность требует, чтобы инференс успевал за воспроизведением. Как только генерация отстаёт, синхронизация ломается.

05

Железо: 4090, 3060, 3050

В комментариях спрашивают про 3060 с 48 ГБ оперативной памяти, про 3050 на 12 ГБ и надеются хотя бы на 24 FPS. Прямого ответа нет.

Из README можно собрать ориентир: для старых карт до Ampere используется FP32, а это больше памяти и ниже скорость; Blackwell и pre-Ampere ещё требуют проверки на железе. AMD и Apple GPU бэкендом не поддерживаются вообще.

Практический вывод: 90 FPS — это про верхнюю карту поколения. Для 3060 и 3050 вопрос в другом: запустится ли вообще и в каком качестве.

06

Зачем это бизнесу

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

Именно поэтому изготовление видео с помощью нейросетей здесь уступает место инференсу в реальном времени: ролик не записывается заранее, он собирается на ходу под реплику собеседника.

Пока это эксперимент. Ни задержек, ни стоимости часа работы, ни качества на длинных сессиях в открытых материалах нет.

Одна деталь из документации всё же полезна для сценариев использования: аватару можно задать фон — картинку или видео до 60 секунд и 120 кадров в секунду, размером до 25 МБ и 16 мегапикселей. Фон держится всю сессию, а видео декодируется с запасом в один кадр, поэтому студия за спиной не съедает память.

07

Риски, о которых шутят в комментариях

Половина треда — шутки про звонки «внуков» и мошенников, которые говорят голосом родственника. За ними стоит реальная проблема: локальный синтез лица и голоса снижает порог для подделки видеозвонка.

В README есть только техническая оговорка про фотографии — использовать свои или те, на которые есть разрешение. Правил использования готового аватара документ не описывает, как и способа подтвердить согласие человека на такое видео.

08

Как подойти

Если задача — тест, самый короткий путь: открыть онлайн-демо, оценить задержку и дрейф на своей речи, а потом решать про локальную установку. Для продакшена нужен свой GPU-воркер на Linux, запас памяти под модель и понимание, что одна сессия занимает одну карту.

Для задач, где лицо должно быть под контролем и с приёмкой по кадру, ручные ролики остаются предсказуемее: от 16 000 ₽ за ролик до 90 секунд, срок около недели. А общий разбор про ИИ-аватары помогает выбрать между записью, синтезом и реальным временем.

частые вопросы

01Это правда 90+ FPS?
Так заявляет автор поста на RTX 4090 без методики замера. В README приводятся другие цифры: около 64 FPS в низком качестве и 8 FPS в высоком на A100, причём это частота движка, а не задержка.
02Работает ли на RTX 3060 или 3050?
Прямого ответа в треде нет. Документация предупреждает, что карты до Ampere считают в FP32, а это больше памяти и ниже скорость; AMD и Apple GPU не поддерживаются.
03Нужен ли API-ключ или облако?
Нет, проект self-hosted: портрет и голос обрабатываются на своей видеокарте под Linux или WSL2. Онлайн-демо существует отдельно и живёт на кредитах автора.
04Можно ли использовать для видеозвонков?
Технически да, коннекторы к голосовым агентам для этого и сделаны. Юридических и этических ограничений документация не описывает, кроме требования прав на фотографии.