API Integration
Integrate rtAV directly into your applications with full control over the experience. OpenAI Realtime API compatible with real-time video avatar output.
Powerful API Features
Everything you need to build custom AI video experiences
OpenAI Compatible
Drop-in replacement for OpenAI Realtime API. Use existing SDKs and code with minimal changes.
Full Control
Complete control over the experience. Customize every aspect of the conversation and video output.
Low Latency
Optimized for real-time interaction with low end-to-end latency. GPU-accelerated processing.
Video Avatars
Real-time video avatar generation with custom faces and voices. Synchronized with audio output.
Secure
API key authentication with rate limiting. Enterprise-grade security and reliability.
Well Documented
Comprehensive documentation with examples in multiple languages. Active community support.
Integration Options
Choose the integration method that best fits your application
WebSocket API
Real-time bidirectional communication via WebSocket. Perfect for chat applications and interactive experiences.
// Connect to rtAV WebSocket
const ws = new WebSocket('wss://api.rtav.io/v1/realtime', {
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
});
ws.onopen = () => {
// Send session configuration
ws.send(JSON.stringify({
type: 'session.update',
session: {
model: 'gpt-5.2',
instructions: 'You are a helpful assistant.',
voice: 'default'
}
}));
};
ws.onmessage = (event) => {
const data = JSON.parse(event.data);
// Handle responses, audio, video events
};WebRTC API
Direct WebRTC connection for lowest latency. Ideal for video-first applications and custom UIs.
// Create WebRTC call
const response = await fetch('https://api.rtav.io/v1/realtime/calls', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'multipart/form-data'
},
body: formData // Contains SDP offer and session config
});
const { sdp, video_url } = await response.json();
// Set remote description and handle video stream
const pc = new RTCPeerConnection();
await pc.setRemoteDescription(new RTCSessionDescription({ type: 'answer', sdp }));
// Handle video stream from video_urlREST API
HTTP endpoints for session management, asset uploads, and configuration. Use for backend integration.
// Create a session
const response = await fetch('https://api.rtav.io/v1/realtime/sessions', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'gpt-5.2',
instructions: 'You are a helpful assistant.',
voice: 'default',
face_id: 'your-face-id'
})
});
const session = await response.json();Use Cases
Build powerful applications with rtAV API
Custom Chat Applications
Build your own chat interface with full control over UI/UX and conversation flow.
Video Conferencing
Integrate video avatars into existing video conferencing platforms and tools.
Gaming & Entertainment
Create interactive NPCs and characters with dynamic conversations and video output.
Customer Support
Build custom support systems with video avatars that match your brand perfectly.
Education Platforms
Create AI tutors and educational assistants with engaging video presentations.
Enterprise Applications
Integrate into existing enterprise systems with custom workflows and authentication.
Quick Start
Get started with rtAV API in minutes
2. Make Your First Request
Use the WebSocket or WebRTC API to start a conversation.
// Example: WebSocket connection
const ws = new WebSocket('wss://api.rtav.io/v1/realtime', {
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
});
ws.onopen = () => {
ws.send(JSON.stringify({
type: 'session.update',
session: {
model: 'gpt-5.2',
instructions: 'You are a helpful assistant.'
}
}));
};3. Handle Responses
Process audio, video, and text responses from the API.
ws.onmessage = (event) => {
const data = JSON.parse(event.data);
if (data.type === 'response.audio.delta') {
// Handle audio chunks
playAudio(data.delta);
}
if (data.type === 'response.video') {
// Handle video URL
displayVideo(data.video_url);
}
if (data.type === 'response.text.delta') {
// Handle text chunks
appendText(data.delta);
}
};Ready to Build with rtAV API?
Get started with 10 free minutes. No credit card required.