Overview
SimliVideoService
integrates with Simli to create real-time AI avatar video experiences using WebRTC streaming. The service processes audio input to generate synchronized avatar video and audio output, handling real-time streaming, audio resampling, and conversation interruptions for engaging conversational AI applications.
API Reference
Complete API documentation and method details
Simli Docs
Official Simli API documentation and guides
Example Code
Working example with avatar streaming
Installation
To use Simli services, install the required dependency:SIMLI_API_KEY
- Your Simli API keySIMLI_FACE_ID
- ID of your avatar face
Sign up for a Simli account at Simli Platform to get
your API key and access avatar faces.
Frames
Input
TTSAudioRawFrame
- Text-to-speech audio for avatar to speakStartInterruptionFrame
- Signals conversation interruption (clears buffer)EndFrame
- Signals end of conversationCancelFrame
- Signals conversation cancellation
Output
OutputImageRawFrame
- Generated avatar video frames via WebRTCTTSAudioRawFrame
- Synchronized audio from the avatarStartInterruptionFrame
- Forwarded interruption signals
Service Features
- WebRTC Streaming: Real-time video streaming with low latency
- Audio Synchronization: Perfect lip-sync with generated speech
- Buffer Management: Smart audio buffer handling for smooth playback
- Interruption Handling: Clean conversation interruptions with buffer clearing
- Automatic Resampling: Handles audio format conversion seamlessly
Usage Example
Avatar Configuration
Face Selection
Simli supports various avatar faces and emotions:Session Settings
Configure session behavior and timeouts:Network Configuration
Configure WebRTC settings for different network environments:Integration Patterns
With Daily Transport
Simli works seamlessly with Daily for video conferencing:With WebRTC Transport
For peer-to-peer video communication:Additional Notes
- WebRTC Integration: Uses WebRTC for low-latency real-time streaming
- Network Requirements: Sufficient bandwidth needed for video streaming quality
- Session Limits: Configure appropriate session lengths based on use case