Connect API
Establish a live chatbot session for your Convai character, enabling users to connect via audio or video and maintain conversational context.
Overview
The Connect API establishes a live interactive session between an end-user and a Convai character.
It allows developers to maintain conversational context using the character_session_id returned in each response and supports both audio and video connections.
Optionally, scene descriptions or dynamic information can be included to tailor the interaction.
Connecting to a Character
POST https://live.convai.com/connect
Headers
X-API-Key*
String
Your Convai API key.
Content-Type
String
Must be set to application/json.
Request Body
character_id*
String
Unique ID of the character to connect with.
connection_type
String
Connection mode for the session.
Supported values: "audio" (default) or "video".
character_session_id
String
Existing session ID for maintaining conversation continuity. If omitted, a new one is generated.
speaker_id
String
Speaker id of the user
{
"text": "string"
}[
{
"name": "string",
"description": "string"
}
]Response
{
"session_id": "<your temporary session id for the live session>",
"character_session_id": "<your session id. In case of a new session, it returns a newly generated value or returns the old one>",
"room_url": "<url of the room your client needs to join>",
"room_name": "<name of the room to join>",
"token": "<token for the client to join the room>",
"speaker_id": "<speaker id of the user in the session, null if not sent in request>"
}{
"detail": "Character not found or doesn't belong to user"
}{
"detail": [
{
"type": "<type_of_issue_with_the_request_body>",
"loc": [],
"msg": "<message>",
"input": "<input value>",
"ctx": {
"error": "more details about the error"
}
}
]
}Important Notes
Convai strictly follows OpenAI’s Content Policy for API usage. Users must not generate or distribute toxic, harmful, or inappropriate content. Repeated violations will result in your API key being blacklisted.
Example Requests
import requests
url = "https://live.convai.com/connect"
headers = {
"Content-Type": "application/json",
"X-API-Key": "<your api key>" # Replace with your actual Convai API key
}
data = {
"character_id": "<your character id>",
"connection_type": "audio", # or "video"
"character_session_id": "string" # optional
## if need to specify scene description
## "scene_description": [
## {
## "name": "string",
## "description": "string"
## }
## ],
##if need to specify dynamic information
## "dynamic_info": {
## "text": "string"
## },
}
response = requests.post(url, headers=headers, json=data)
print("Status Code:", response.status_code)
print("Response:", response.text)curl --location 'https://live.convai.com/connect' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <your api key>' \
--data '{
"character_id": "<your character id>",
"connection_type": "audio", // or "video" for video abilities
"character_session_id": "string" // optional
"dynamic_info": { // optional
"text": "string"
},
"scene_description": [
{
"name": "string",
"description": "string"
}
], // optional
}'Conclusion
The Connect API is a key component for integrating Convai’s real-time conversational capabilities into your applications. By maintaining session context and dynamically adapting scene or character information, developers can build seamless, context-aware voice or video interactions powered by Convai.
Last updated
Was this helpful?