Create Realtime Assistant - Uplift AI API Docs
Example Request
JavaScript
curl -X POST https://api.upliftai.org/v1/realtime-assistants \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Customer Support Assistant",
"description": "24/7 voice support for customers",
"public": false,
"config": {
"session": {
"ttl": 3600,
"roomPrefix": "support"
},
"agent": {
"instructions": "You are a helpful customer support agent. Be friendly and professional.",
"initialGreeting": true,
"greetingInstructions": "Greet the customer and ask how you can help them today.",
"tools": []
},
"stt": {
"default": {
"provider": "groq",
"model": "whisper-large-v3",
"language": "en"
}
},
"tts": {
"default": {
"provider": "upliftai",
"voiceId": "v_meklc281",
"outputFormat": "MP3_22050_32"
}
},
"llm": {
"default": {
"provider": "groq",
"model": "openai/gpt-oss-120b"
}
}
}
}'
const response = await fetch('https://api.upliftai.org/v1/realtime-assistants', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: 'Customer Support Assistant',
description: '24/7 voice support for customers',
public: false,
config: {
agent: {
instructions: 'You are a helpful customer support agent.',
initialGreeting: true,
},
stt: {
default: {
provider: 'groq',
model: 'whisper-large-v3',
}
},
tts: {
default: {
provider: 'upliftai',
voiceId: 'v_meklc281',
outputFormat: 'MP3_22050_32',
}
},
llm: {
default: {
provider: 'groq',
model: 'openai/gpt-oss-120b',
}
}
}
})
});
const assistant = await response.json();
Response
{
"realtimeAssistantId": "550e8400-e29b-41d4-a716-446655440000",
"organizationId": "org_123",
"projectId": "proj_456",
"name": "Customer Support Assistant",
"description": "24/7 voice support for customers",
"config": {
"session": {
"ttl": 3600,
"roomPrefix": "support"
},
"agent": {
"instructions": "You are a helpful customer support agent. Be friendly and professional.",
"initialGreeting": true,
"greetingInstructions": "Greet the customer and ask how you can help them today.",
"tools": []
},
"stt": {
"default": {
"provider": "groq",
"model": "whisper-large-v3",
"language": "en"
}
},
"tts": {
"default": {
"provider": "upliftai",
"voiceId": "v_meklc281",
"outputFormat": "MP3_22050_32"
}
},
"llm": {
"default": {
"provider": "groq",
"model": "openai/gpt-oss-120b"
}
}
},
"public": false,
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:30:00Z",
"createdBy": "user_789",
"updatedBy": "user_789"
}
Parameters
name
string
required
A descriptive name for your assistant
description
string
Optional description of the assistant’s purpose
public
boolean
default:"false"
Whether this assistant can be accessed without authentication
config
object
required
Assistant configuration object
Show config properties
session
object
Session configuration
ttl
number
default:"3600"
Session time-to-live in seconds
roomPrefix
string
Custom room name prefix (max 32 characters)
agent
object
Agent behavior configuration
instructions
string
required
System instructions for the AI agent
initialGreeting
boolean
default:"false"
Whether the agent should greet users when they join
greetingInstructions
string
Custom greeting instructions
tools
array
Array of tool configurations
stt
object
Speech-to-text configuration
default
object
Default STT provider settings
provider
string
required
Provider name: deepgram, openai, groq, or upliftai
model
string
required
Model identifier
language
string
Language code (e.g., “ur”, “en”)
tts
object
Text-to-speech configuration
default
object
Default TTS provider settings
provider
string
required
Provider name: upliftai or openai
voiceId
string
required
Voice identifier
outputFormat
string
required
Audio format (e.g., “MP3_22050_32”)
llm
object
Language model configuration
default
object
Default LLM provider settings
provider
string
required
Provider name: groq or openai
model
string
required
Model identifier