Replica Personas
Create Persona
Phoenix Replicas
Conversational Video Interface
Replica Personas
Replica Personas
Create Persona
Create and customize a digital replica’s personality for Conversational Video Interface (CVI). A persona defines the replica’s behavior and capabilities through configurable layers including:
Core Components:
- Replica - Choice of audio/visual appearance
- Context - Customizable contextual information, for use by LLM
- System Prompt - Customizable system prompt, for use by LLM
- Layers
- STT - Transcription, turn taking, and Sparrow-0 settings
- LLM - Language model settings
- TTS - Text-to-Speech settings
- Perception - Multimodal vision and understanding settings (Raven-0)
When creating a conversation, the persona configuration determines how the replica interacts, processes information, and responds to participants. Each layer can be fine-tuned to achieve the desired conversational experience.
POST
/
v2
/
personas
curl --request POST \
--url https://tavusapi.com/v2/personas \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '{
"persona_name": "Life Coach",
"system_prompt": "As a Life Coach, you are a dedicated professional who specializes in...",
"pipeline_mode": "full",
"context": "Here are a few times that you have helped an individual make a breakthrough in...",
"default_replica_id": "r79e1c033f",
"layers": {
"llm": {
"model": "<string>",
"base_url": "your-base-url",
"api_key": "your-api-key",
"tools": [
{
"type": "function",
"function": {
"name": "get_current_weather",
"description": "Get the current weather in a given location",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city and state, e.g. San Francisco, CA"
},
"unit": {
"type": "string",
"enum": [
"celsius",
"fahrenheit"
]
}
},
"required": [
"location"
]
}
}
}
]
},
"tts": {
"api_key": "your-api-key",
"tts_engine": "cartesia",
"external_voice_id": "external-voice-id",
"voice_settings": {
"speed": "normal",
"emotion": [
"positivity:high",
"curiosity"
]
},
"playht_user_id": "your-playht-user-id",
"tts_emotion_control": "false",
"tts_model_name": "sonic"
},
"perception": {
"perception_model": "raven-0",
"ambient_awareness_queries": [
"Is the user showing an ID card?",
"Does the user appear distressed or uncomfortable?"
],
"perception_tool_prompt": "You have a tool to notify the system when an ID card is detected, named `notify_if_id_shown`. You MUST use this tool when a form of ID is detected.",
"perception_tools": [
{
"type": "function",
"function": {
"name": "notify_if_id_shown",
"description": "Use this function when a drivers license or passport is detected in the image with high confidence. After collecting the ID, internally use final_ask()",
"parameters": {
"type": "object",
"properties": {
"id_type": {
"type": "string",
"description": "best guess on what type of ID it is"
}
},
"required": [
"id_type"
]
}
}
}
]
},
"stt": {
"stt_engine": "tavus-turbo",
"participant_pause_sensitivity": "high",
"participant_interrupt_sensitivity": "high",
"hotwords": "Roey is the name of the person you'\''re speaking with.",
"smart_turn_detection": true
}
}
}'
{
"persona_id": "p5317866",
"persona_name": "Life Coach",
"created_at": "<string>"
}
Authorizations
Body
application/json
Response
200 - application/json
The response is of type object
.
curl --request POST \
--url https://tavusapi.com/v2/personas \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '{
"persona_name": "Life Coach",
"system_prompt": "As a Life Coach, you are a dedicated professional who specializes in...",
"pipeline_mode": "full",
"context": "Here are a few times that you have helped an individual make a breakthrough in...",
"default_replica_id": "r79e1c033f",
"layers": {
"llm": {
"model": "<string>",
"base_url": "your-base-url",
"api_key": "your-api-key",
"tools": [
{
"type": "function",
"function": {
"name": "get_current_weather",
"description": "Get the current weather in a given location",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city and state, e.g. San Francisco, CA"
},
"unit": {
"type": "string",
"enum": [
"celsius",
"fahrenheit"
]
}
},
"required": [
"location"
]
}
}
}
]
},
"tts": {
"api_key": "your-api-key",
"tts_engine": "cartesia",
"external_voice_id": "external-voice-id",
"voice_settings": {
"speed": "normal",
"emotion": [
"positivity:high",
"curiosity"
]
},
"playht_user_id": "your-playht-user-id",
"tts_emotion_control": "false",
"tts_model_name": "sonic"
},
"perception": {
"perception_model": "raven-0",
"ambient_awareness_queries": [
"Is the user showing an ID card?",
"Does the user appear distressed or uncomfortable?"
],
"perception_tool_prompt": "You have a tool to notify the system when an ID card is detected, named `notify_if_id_shown`. You MUST use this tool when a form of ID is detected.",
"perception_tools": [
{
"type": "function",
"function": {
"name": "notify_if_id_shown",
"description": "Use this function when a drivers license or passport is detected in the image with high confidence. After collecting the ID, internally use final_ask()",
"parameters": {
"type": "object",
"properties": {
"id_type": {
"type": "string",
"description": "best guess on what type of ID it is"
}
},
"required": [
"id_type"
]
}
}
}
]
},
"stt": {
"stt_engine": "tavus-turbo",
"participant_pause_sensitivity": "high",
"participant_interrupt_sensitivity": "high",
"hotwords": "Roey is the name of the person you'\''re speaking with.",
"smart_turn_detection": true
}
}
}'
{
"persona_id": "p5317866",
"persona_name": "Life Coach",
"created_at": "<string>"
}