AiKraft
Инструменты24 октября 2026 г., 15:46 МСК🤖 Auto

OpenSpline: Оживите голосового AI-агента за 5 строк кода

Новый open-source проект OpenSpline позволяет синхронизировать видео с лицом и аудио от любых TTS-систем. Поддержка OpenAI, Gemini, LiveKit и ElevenLabs.

Баннер новости 10440

Что такое OpenSpline

OpenSpline — это инструмент с открытым исходным кодом, который добавляет «живое лицо» к любым голосовым AI-агентам. Проект позволяет превратить статичный портрет и сгенерированный аудио в синхронизированное видео с речью. Ключевое преимущество — минимальный порог входа: базовая интеграция занимает всего 5 строк кода на Python.

Разработчики позиционируют проект как «Bring your agent» (принеси своего агента): вы сохраняете свои промпты, инструменты (tools), доступ к микрофону и провайдеров голоса. OpenSpline выступает только как визуальный слой, обрабатывающий аудио-поток и генерирующий видео.

Архитектура и развертывание

Проект поддерживает два основных режима работы, что критично для корпоративных внедрений:

  • OpenSpline Cloud: Хостинг на GPU проекта. Не требует установки драйверов или настройки окружения. Идеально для быстрого старта и масштабирования.
  • Self-Hosted (Локально): Запуск на собственных GPU. Поддерживается установка через скрипт install.sh для Linux/WSL2. Модель работает локально, обеспечивая полный контроль над данными.

Технические требования и совместимость

Важно отметить специфические требования к GPU, так как проект активно использует новые архитектуры NVIDIA. Поддержка AMD и Apple Silicon (M-series) пока отсутствует.

d>AMD / Apple GPUs
Компонент Требование / Поддержка Примечание
PyTorch / CUDA CUDA 12.8 (Blackwell/RTX 50) или 12.6 (старые NVIDIA) Для карт серии Blackwell требуется валидация
Pre-Ampere GPU FP32 режим Высокое потребление VRAM, возможное снижение скорости
Не поддерживаются Планируется в будущих обновлениях
Node.js SDK Node 20+ Полная поддержка через @openspline/node

Интеграция с AI-агентами

OpenSpline предоставляет готовые коннекторы (connectors) для популярных платформ, что позволяет встраивать аватары в существующие пайплайны без переписывания логики агента. Поддерживаются следующие провайдеры:

  • OpenAI Realtime API: Прямая обертка для подключения к Realtime API. Транскрипты и вызовы инструментов (tools) передаются в ваш обработчик событий.
  • LiveKit: Интеграция через livekit-agents. Аватар запускается как часть сессии, воспроизведение идет через стандартный фронтенд LiveKit.
  • Google Gemini Realtime: Поддержка потоковой передачи аудио, событий прерывания (interruption) и завершения хода (turn-end).
  • ElevenLabs Agents: Поддержка WebSocket-соединений, обработка PCM и μ-law аудио, сохранение транскриптов и событий инструментов.

Пример кода (Python)

Базовая интеграция выглядит следующим образом. Вы передаете путь к портрету и поток аудио от вашего агента:

from openspline import Openspline

client = Openspline()
async with client.avatar("portrait.jpg", quality="low") as avatar:
    print(avatar.viewer_url)
    await avatar.stream(agent.audio_stream(), sample_rate=24000)

Для продвинутых сценариев доступны настройки качества (low / high), таймауты и кастомные коннекторы для любых TTS-систем, поддерживающих PCM16 аудио-поток.

Источник: Github ↗