Documentation Index
Fetch the complete documentation index at: https://docs.tavus.io/llms.txt
Use this file to discover all available pages before exploring further.
Create a Private Conversation
Step 1: Create Your Conversation
To create a private room, set require_auth to true:curl --request POST \
--url https://tavusapi.com/v2/conversations \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api_key>' \
--data '{
"persona_id": "pcb7a34da5fe",
"replica_id": "r90bbd427f71",
"require_auth": true
}'
Step 2: Join the Conversation
The response includes a meeting_token:{
"conversation_id": "ca4301628cb9",
"conversation_url": "https://tavus.daily.co/ca4301628cb9",
"meeting_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"status": "active"
}
Use the token by appending it to the URL:https://tavus.daily.co/ca4301628cb9?t=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Or pass it to the Daily SDK:callFrame.join({ url: conversation_url, token: meeting_token });
Optional: Tighten your join windowYou can set properties.participant_absent_timeout when creating the conversation to control how long the conversation stays alive before a participant joins.For conversations created with require_auth: true, the meeting token’s expiry duration is set to the value of participant_absent_timeout. If no one joins within that window, the conversation is automatically ended and the token expires.See Call Duration and Timeout for more details.