Vapi · Schema

TavusConversationProperties

AIVoiceAgentsRealtimeCPaaS

Properties

Name Type Description
maxCallDuration number The maximum duration of the call in seconds. The default `maxCallDuration` is 3600 seconds (1 hour). Once the time limit specified by this parameter has been reached, the conversation will automatical
participantLeftTimeout number The duration in seconds after which the call will be automatically shut down once the last participant leaves.
participantAbsentTimeout number Starting from conversation creation, the duration in seconds after which the call will be automatically shut down if no participant joins the call. Default is 300 seconds (5 minutes).
enableRecording boolean If true, the user will be able to record the conversation.
enableTranscription boolean If true, the user will be able to transcribe the conversation. You can find more instructions on displaying transcriptions if you are using your custom DailyJS components here. You need to have an eve
applyGreenscreen boolean If true, the background will be replaced with a greenscreen (RGB values: `[0, 255, 155]`). You can use WebGL on the frontend to make the greenscreen transparent or change its color.
language string The language of the conversation. Please provide the **full language name**, not the two-letter code. If you are using your own TTS voice, please ensure it supports the language you provide. If you ar
recordingS3BucketName string The name of the S3 bucket where the recording will be stored.
recordingS3BucketRegion string The region of the S3 bucket where the recording will be stored.
awsAssumeRoleArn string The ARN of the role that will be assumed to access the S3 bucket.
View JSON Schema on GitHub

JSON Schema

vapi-tavusconversationproperties-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/TavusConversationProperties",
  "title": "TavusConversationProperties",
  "type": "object",
  "properties": {
    "maxCallDuration": {
      "type": "number",
      "description": "The maximum duration of the call in seconds. The default `maxCallDuration` is 3600 seconds (1 hour).\nOnce the time limit specified by this parameter has been reached, the conversation will automatically shut down."
    },
    "participantLeftTimeout": {
      "type": "number",
      "description": "The duration in seconds after which the call will be automatically shut down once the last participant leaves."
    },
    "participantAbsentTimeout": {
      "type": "number",
      "description": "Starting from conversation creation, the duration in seconds after which the call will be automatically shut down if no participant joins the call.\nDefault is 300 seconds (5 minutes)."
    },
    "enableRecording": {
      "type": "boolean",
      "description": "If true, the user will be able to record the conversation."
    },
    "enableTranscription": {
      "type": "boolean",
      "description": "If true, the user will be able to transcribe the conversation.\nYou can find more instructions on displaying transcriptions if you are using your custom DailyJS components here.\nYou need to have an event listener on Daily that listens for `app-messages`."
    },
    "applyGreenscreen": {
      "type": "boolean",
      "description": "If true, the background will be replaced with a greenscreen (RGB values: `[0, 255, 155]`).\nYou can use WebGL on the frontend to make the greenscreen transparent or change its color."
    },
    "language": {
      "type": "string",
      "description": "The language of the conversation. Please provide the **full language name**, not the two-letter code.\nIf you are using your own TTS voice, please ensure it supports the language you provide.\nIf you are using a stock replica or default persona, please note that only ElevenLabs and Cartesia supported languages are available.\nYou can find a full list of supported languages for Cartesia here, for ElevenLabs here, and for PlayHT here."
    },
    "recordingS3BucketName": {
      "type": "string",
      "description": "The name of the S3 bucket where the recording will be stored."
    },
    "recordingS3BucketRegion": {
      "type": "string",
      "description": "The region of the S3 bucket where the recording will be stored."
    },
    "awsAssumeRoleArn": {
      "type": "string",
      "description": "The ARN of the role that will be assumed to access the S3 bucket."
    }
  }
}