Creating a conversation immediately starts accumulating usage.
When you create a conversation CVI immediately starts running and the replica waits in the WebRTC/Daily room listening for your participant to join. Your billing/credit usage starts as soon as the conversation is creating and runs until the conversation timeout or when you end the conversation. This also uses up one of your concurrency spots.
Once you have a persona you’d like to use or a replica, starting a conversation is easy. You can use the Create Conversation endpoint to do so. Alternatively you can start a conversation on the developer app by visiting the Create Conversation page.
Creating a conversation is ‘starting the call’. Imagine you create a Zoom call and join the meeting- that’s what happens when you create a conversation.
In response to creating a conversation, you receive a meeting URL (that looks like this: https://tavus.daily.co/ca980e2e). You or your participant can directly join this link and be put into a video conferencing room where you can immediately start conversing with the replica. However, you do not have to use this meeting UI. You can create a completely custom UI or access the raw streams.
Learn about how to customize Daily UI
Use our examples as a starting point
Daily is our WebRTC provider. You do not have to create a Daily account. We have partnered with Daily to allow you to get an end to end solution without having to worry about WebRTC. You can build a completely custom application with CVI while accessing the Daily streams like you would with WebRTC.
Conversation specific customizations are focused on allowing personalization of a conversation to a specific participant. As an example you might want to have a custom introduction per person, or change the language the replica is listening for and responds in. Meanwhile persona level configurations are settings or defaults applied to all conversations so you do not have to configure them each time, such as setting up your LLM.
Here are the things you can customize per conversation:
In order to start a conversation you must provide a persona or replica. If you provide a replica with no persona, the default Tavus persona will be used. Providing a persona without a replica will use the default replica attached to the persona if it exists. Providing a replica ID will override the default one associated with the persona.
You can configure a conversation to be audio-only, meaning there will be no video stream involved. This setting is useful for voice-first experiences such as phone calls, smart speaker interactions, or any scenario where video is unnecessary or unavailable.
Set the audio_only
parameter to true
when creating the conversation to enable this mode. When enabled, the replica will operate entirely through audio, maintaining full conversational capabilities without requiring visual input or output.
Conversation context is specific information or instructions for the LLM related to this conversation. For example it can contain information on who is joining the call as well as any specific information on the point of the call, background information or current information.
Example of conversation context:
You are talking to Michael Seibel, who works at Y Combinator as a Group Partner and Managing Director of YC early stage. You are talking to him about your new startup idea for a pet rock delivery service. Get his advice and convince him to invest. It’s Monday, October 7th here in SF and the weather is clear and a crisp 68 degrees. Here’s a little more about Michael: He joined YC in 2013 as a Part-time Partner and in 2014 as a full-time Group Partner. Michael also serves on the board of two YC companies, Reddit and Dropbox. He moved to the bay area in 2006, and was a co-founder and CEO of two Y Combinator startups Justin.tv/Twitch (2007 - 2011) and Socialcam (2011 - 2012). In 2012 Socialcam sold to Autodesk Inc. for
$60m
(link) and in 2014, under the leadership of Emmett Shear (CEO) and Kevin Lin (COO) Twitch sold to Amazon for$970m
(link). Before getting into tech, Michael spent 2006 as the finance director for a US Senate campaign in Maryland. In 2005, he graduated from Yale University with a bachelor’s degree in political science. Today he spends the large majority of his free time cooking, reading, traveling, and going for long drives. Michael lives in San Francisco, CA with his wife Sarah, son Jonathan, and daughter Jessica. Michael can be direct but he is a giant teddy bear if you get to know him.
The conversation context will be appended to the system prompt and the persona context/knowledge base.
When a participant joins the replica will say a greeting that you can customize. You can use this to personalize a welcome message for someone or prompt them to start a conversation.
By default the replica will say “Hey there, how’s it going? What can I do for you today?”.
You can customize what language CVI understands and speaks in. For example you could set the conversation to be in Spanish, or multilingual
for dynamic multilingual support. Setting the language ensures the layers (ASR/TTS) are configured correctly to handle the language. If you are using your own TTS voice, you’ll need to make ensure it supports the language you specify.
You can specify duration and timeouts for conversations. This is important to prevent unnecessary usage that incurs billing and uses up your max concurrency spots, as well as makes sure your users only use the allocated time you provide them.
There are 3 timeouts you can configure:
If enabled, the background of the replica will be replaced with a green screen (RGB values: [0, 255, 155]). You can use WebGL on the frontend to make the green screen transparent or change its color.
Creating a conversation immediately starts accumulating usage.
When you create a conversation CVI immediately starts running and the replica waits in the WebRTC/Daily room listening for your participant to join. Your billing/credit usage starts as soon as the conversation is creating and runs until the conversation timeout or when you end the conversation. This also uses up one of your concurrency spots.
Once you have a persona you’d like to use or a replica, starting a conversation is easy. You can use the Create Conversation endpoint to do so. Alternatively you can start a conversation on the developer app by visiting the Create Conversation page.
Creating a conversation is ‘starting the call’. Imagine you create a Zoom call and join the meeting- that’s what happens when you create a conversation.
In response to creating a conversation, you receive a meeting URL (that looks like this: https://tavus.daily.co/ca980e2e). You or your participant can directly join this link and be put into a video conferencing room where you can immediately start conversing with the replica. However, you do not have to use this meeting UI. You can create a completely custom UI or access the raw streams.
Learn about how to customize Daily UI
Use our examples as a starting point
Daily is our WebRTC provider. You do not have to create a Daily account. We have partnered with Daily to allow you to get an end to end solution without having to worry about WebRTC. You can build a completely custom application with CVI while accessing the Daily streams like you would with WebRTC.
Conversation specific customizations are focused on allowing personalization of a conversation to a specific participant. As an example you might want to have a custom introduction per person, or change the language the replica is listening for and responds in. Meanwhile persona level configurations are settings or defaults applied to all conversations so you do not have to configure them each time, such as setting up your LLM.
Here are the things you can customize per conversation:
In order to start a conversation you must provide a persona or replica. If you provide a replica with no persona, the default Tavus persona will be used. Providing a persona without a replica will use the default replica attached to the persona if it exists. Providing a replica ID will override the default one associated with the persona.
You can configure a conversation to be audio-only, meaning there will be no video stream involved. This setting is useful for voice-first experiences such as phone calls, smart speaker interactions, or any scenario where video is unnecessary or unavailable.
Set the audio_only
parameter to true
when creating the conversation to enable this mode. When enabled, the replica will operate entirely through audio, maintaining full conversational capabilities without requiring visual input or output.
Conversation context is specific information or instructions for the LLM related to this conversation. For example it can contain information on who is joining the call as well as any specific information on the point of the call, background information or current information.
Example of conversation context:
You are talking to Michael Seibel, who works at Y Combinator as a Group Partner and Managing Director of YC early stage. You are talking to him about your new startup idea for a pet rock delivery service. Get his advice and convince him to invest. It’s Monday, October 7th here in SF and the weather is clear and a crisp 68 degrees. Here’s a little more about Michael: He joined YC in 2013 as a Part-time Partner and in 2014 as a full-time Group Partner. Michael also serves on the board of two YC companies, Reddit and Dropbox. He moved to the bay area in 2006, and was a co-founder and CEO of two Y Combinator startups Justin.tv/Twitch (2007 - 2011) and Socialcam (2011 - 2012). In 2012 Socialcam sold to Autodesk Inc. for
$60m
(link) and in 2014, under the leadership of Emmett Shear (CEO) and Kevin Lin (COO) Twitch sold to Amazon for$970m
(link). Before getting into tech, Michael spent 2006 as the finance director for a US Senate campaign in Maryland. In 2005, he graduated from Yale University with a bachelor’s degree in political science. Today he spends the large majority of his free time cooking, reading, traveling, and going for long drives. Michael lives in San Francisco, CA with his wife Sarah, son Jonathan, and daughter Jessica. Michael can be direct but he is a giant teddy bear if you get to know him.
The conversation context will be appended to the system prompt and the persona context/knowledge base.
When a participant joins the replica will say a greeting that you can customize. You can use this to personalize a welcome message for someone or prompt them to start a conversation.
By default the replica will say “Hey there, how’s it going? What can I do for you today?”.
You can customize what language CVI understands and speaks in. For example you could set the conversation to be in Spanish, or multilingual
for dynamic multilingual support. Setting the language ensures the layers (ASR/TTS) are configured correctly to handle the language. If you are using your own TTS voice, you’ll need to make ensure it supports the language you specify.
You can specify duration and timeouts for conversations. This is important to prevent unnecessary usage that incurs billing and uses up your max concurrency spots, as well as makes sure your users only use the allocated time you provide them.
There are 3 timeouts you can configure:
If enabled, the background of the replica will be replaced with a green screen (RGB values: [0, 255, 155]). You can use WebGL on the frontend to make the green screen transparent or change its color.