Message Glossary
Complete glossary of all message types available in Convai's Live APIs for real-time communication between clients and the server.
Overview
This glossary provides a comprehensive reference for all message types used in Convai's Live APIs. Messages flow bidirectionally between your client application and the Convai server over WebRTC data channels.
Message Directions
Client → Server
Messages you send to trigger actions, update state, or control the bot
Server → Client
Messages you receive for events, state changes, and real-time data
Message Format
Client → Server Messages
Messages sent from the client to the server use this structure:
{
"type": "<message-type>",
"data": { ... }
}type(string, required): The message type identifierdata(object, optional): Message payload (structure varies by type)
Server → Client Messages
Messages sent from the server to the client are wrapped in an RTVI envelope:
label(string): Always"rtvi-ai"type(string): Always"server-message"for custom server messagesdata(object): Contains the actual message with its owntypeand payload fields
In the detailed message documentation pages, examples show only the inner data payload for clarity.
Server Response Messages
For every client-to-server message, the server automatically sends a server-response message to acknowledge receipt and indicate the processing status. This is similar to HTTP response codes in REST APIs.
Example Response:
event_type
string
The original client message type that triggered this response
status
string
Processing status: "success", "error", "processing", "pending"
message
string
Human-readable description of the result (optional)
extras
object
Additional event-specific data (optional)
Status Values:
"success"- Message processed successfully"error"- An error occurred (seemessagefor details)"processing"- Message is being processed asynchronously"pending"- Message received but processing delayed
Client → Server Messages
Server → Client Messages
chunked-neurosync-blendshapes
Batched facial animation
Server-message wrapped
audio-data
Audio chunks via data channel (custom mode)
Server-message wrapped
Format Key:
Server-message wrapped: Uses the full RTVI envelope format with
"type": "server-message"and event data nested indata.typeand subsequent fieldsDirect (legacy): Uses
dataas a flat object with the event type and fields at the top level
All client messages receive a server-response acknowledgment with success/error status and additional data.
Common Response Extras by Event Type
When you receive a server-response message, the extras field may contain event-specific data:
context-update
token_count, max_tokens, remaining_tokens, content
tts-toggle
enabled
stt-toggle
muted
trigger-message
trigger_name, has_speak_tag
user_text_message
text
Error Response Examples
Invalid JSON
Missing Type Field
Unknown Message Type
Message Categories
Context & State Management
Messages for managing conversation context and bot state:
context-update- Unified context updates with mode controlupdate-dynamic-info- Basic dynamic context updatesupdate-template-keys- Update prompt template variablesupdate-scene-metadata- Update scene object descriptions
Audio Control
Messages for controlling audio input and output:
tts-toggle- Enable/disable text-to-speech outputstt-toggle- Mute/unmute speech-to-text inputinterrupt-bot- Interrupt current bot speechforce-user-stopped-speaking- Signal end of user speech
Interaction & Events
Messages for triggering events and sending user input:
trigger-message- Trigger narrative events or contextual actionsuser_text_message- Send text as user input
Session Management
Messages for managing the session lifecycle:
reset-idle-timer- Reset idle timeout
Animation & Visual Feedback
Messages containing animation and visual data:
bot-emotion- Emotion data for avatar expressionsvisemes- Lip-sync blendshape dataneurosync-blendshapes- Facial animation blendshapes (single frame)chunked-neurosync-blendshapes- Batched facial animation blendshapesaction-response- Actions and animations to perform
Transcription & Text
Messages containing text and transcription data:
final-user-transcription- Final transcription of user speech
System Events
Messages about system state and events:
server-response- Acknowledgment of client messagesinteraction-created- Session interaction ID createdbot-turn-completed- Bot turn finishedusage-limit-reached- Usage quota exceededuser-idle-warning- User idle timeout warningllm-no-response- LLM chose not to respond
Voice Activity Detection
Messages from the VAD-based STT gating system:
vad-stt-started- STT service started transcribingvad-stt-stopped- STT service stopped transcribingvad-stt-debug- VAD debug events (debug mode only)
Related Documentation
Connect API - Establish a live session
Client to Server Messages - Detailed client message reference
Server to Client Messages - Detailed server message reference
Audio Data via Data Channel - Custom audio handling
Metrics - Performance metrics and monitoring
Last updated
Was this helpful?