{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/recall-ai/main/json-schema/recall-ai-bot-recording-config-request-schema.json", "title": "BotRecordingConfigRequest", "x-generated": "2026-10-14", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/recall-ai-api-openapi.yml#/components/schemas/BotRecordingConfigRequest", "type": "object", "properties": { "transcript": { "allOf": [ { "$ref": "#/$defs/BotRecordingConfigTranscriptArtifactRequest" } ], "nullable": true, "description": "Specify this to capture transcript of the meeting as part of the recording. Supports:\n- [Recall.ai Transcription](https://docs.recall.ai/docs/recallai-transcription)\n- [3rd-party AI transcription providers](https://docs.recall.ai/docs/ai-transcription)\n- [meeting caption transcription](https://docs.recall.ai/docs/meeting-caption-transcription)\n\n **[Read more about real-time transcription.](https://docs.recall.ai/docs/bot-real-time-transcription)**\n\nDefault: `null`\n\n" }, "realtime_endpoints": { "type": "array", "items": { "$ref": "#/$defs/BotRecordingConfigRealtimeEndpointRequest" }, "default": [], "description": "Add endpoints here to receive data (e.g transcript, participant events) from the recording in realtime during the meeting.\n\nDefault: `[]`\n\n" }, "retention": { "allOf": [ { "$ref": "#/$defs/BotRecordingConfigRetentionRequest" } ], "nullable": true, "description": "Specify the retention policy for the recording. **[Read more in this guide](https://docs.recall.ai/docs/storage-and-playback)**" }, "video_mixed_layout": { "allOf": [ { "$ref": "#/$defs/VideoMixedLayoutEnum" } ], "default": "speaker_view", "description": "The layout of the mixed video output.\n\n* `speaker_view` - speaker_view\n* `gallery_view` - gallery_view\n* `gallery_view_v2` - gallery_view_v2\n* `audio_only` - audio_only" }, "video_mixed_mp4": { "allOf": [ { "$ref": "#/$defs/BotRecordingConfigBaseArtifactRequest" } ], "nullable": true, "description": "Capture mixed video of the meeting as part of the recording. **This is enabled by default**.\n\nDefault: `{}`\n\n" }, "participant_events": { "allOf": [ { "$ref": "#/$defs/BotRecordingConfigBaseArtifactRequest" } ], "nullable": true, "default": {}, "description": "Capture participant events as part of the recording. **This is enabled by default**.\n\nDefault: `{}`\n\n" }, "meeting_metadata": { "allOf": [ { "$ref": "#/$defs/BotRecordingConfigBaseArtifactRequest" } ], "nullable": true, "default": {}, "description": "Capture meeting metadata as part of the recording. **This is enabled by default**.\n\nDefault: `{}`\n\n" }, "video_mixed_participant_video_when_screenshare": { "allOf": [ { "$ref": "#/$defs/VideoMixedParticipantVideoWhenScreenshareEnum" } ], "default": "overlap", "description": "The layout of participant video streams in mixed video output when screen is being shared. More docs: https://docs.recall.ai/docs/video-layouts\n\n* `hide` - hide\n* `beside` - beside\n* `overlap` - overlap" }, "start_recording_on": { "allOf": [ { "$ref": "#/$defs/StartRecordingOnEnum" } ], "default": "participant_join", "description": "Specify when automatic recording should start.\n*call_join* - Bot will start recording as soon as it joins the call.\n*participant_join* - Bot will start recording when the first participant joins the call. If a participant is already present when the bot joins, the bot will automatically start recording.\n*participant_speak* - Bot will start recording when the first participant starts talking.\n\n\n* `call_join` - call_join\n* `participant_join` - participant_join\n* `participant_speak` - participant_speak" }, "include_bot_in_recording": { "$ref": "#/$defs/BotIncludeInRecordingRequest" }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "audio_mixed_raw": { "allOf": [ { "$ref": "#/$defs/BotRecordingConfigBaseArtifactRequest" } ], "nullable": true, "description": "Specify this to capture mixed audio in raw format of the meeting.\n\nDefault: `null`\n\n" }, "audio_mixed_mp3": { "allOf": [ { "$ref": "#/$defs/BotRecordingConfigBaseArtifactRequest" } ], "nullable": true, "description": "Specify this to capture mixed audio in the mp3 format of the meeting\n\nDefault: `null`\n\n" }, "video_separate_mp4": { "allOf": [ { "$ref": "#/$defs/BotRecordingConfigBaseArtifactRequest" } ], "nullable": true, "description": "Specify this to capture separate video in mp4 format for each participant in the meeting. Only supported with video_mixed_layout='gallery_view_v2'. **[Read more in this guide](https://docs.recall.ai/docs/how-to-get-separate-videos-per-participant-async)**\n\nDefault: `null`\n\n" }, "audio_separate_raw": { "allOf": [ { "$ref": "#/$defs/BotRecordingConfigBaseArtifactRequest" } ], "nullable": true, "description": "Specify this to capture separate audio in raw format for each participant in the meeting(**limited support**). **[Read more in this guide](https://docs.recall.ai/docs/how-to-get-separate-audio-per-participant-async)**\n\nDefault: `null`\n\n" }, "audio_separate_mp3": { "allOf": [ { "$ref": "#/$defs/BotRecordingConfigBaseArtifactRequest" } ], "nullable": true, "description": "Specify this to capture separate audio in mp3 format for each participant in the meeting. **[Read more in this guide](https://docs.recall.ai/docs/how-to-get-separate-audio-per-participant-async)**\n\nDefault: `null`\n\n" }, "video_mixed_flv": { "allOf": [ { "$ref": "#/$defs/BotRecordingConfigBaseArtifactRequest" } ], "nullable": true, "description": "Specify this to capture mixed video in flv format(**required for rtmp streaming). \n\nDefault: `null`\n\n" }, "video_separate_png": { "allOf": [ { "$ref": "#/$defs/BotRecordingConfigBaseArtifactRequest" } ], "nullable": true, "description": "Specify this to capture separate video in png format for each participant in the meeting. Only supported with video_mixed_layout='gallery_view_v2'. **[Read more in this guide](https://docs.recall.ai/docs/how-to-get-separate-videos-per-participant-realtime)**\n\nDefault: `null`\n\n" }, "video_separate_h264": { "allOf": [ { "$ref": "#/$defs/BotRecordingConfigBaseArtifactRequest" } ], "nullable": true, "description": "Specify this to capture separate video in compressed h264 for each participant in the meeting. **[Read more in this guide](https://docs.recall.ai/docs/how-to-get-separate-videos-per-participant-realtime)**\n\nDefault: `null`\n\n" } }, "$defs": { "BotIncludeInRecordingRequest": { "type": "object", "properties": { "audio": { "type": "boolean", "default": false, "description": "Whether to record audio from the bot." } } }, "BotRecordingConfigBaseArtifactRequest": { "type": "object", "properties": { "metadata": { "type": "object", "additionalProperties": { "type": "string" } } } }, "BotRecordingConfigRealtimeEndpointBotRecordingConfigRealtimeEndpointDesktopSdkCallbackRequest": { "allOf": [ { "$ref": "#/$defs/BotRecordingConfigRealtimeEndpointShared" }, { "$ref": "#/$defs/BotRecordingConfigRealtimeEndpointDesktopSdkCallbackRequest" } ] }, "BotRecordingConfigRealtimeEndpointBotRecordingConfigRealtimeEndpointRtmpRequest": { "allOf": [ { "$ref": "#/$defs/BotRecordingConfigRealtimeEndpointShared" }, { "$ref": "#/$defs/BotRecordingConfigRealtimeEndpointRtmpRequest" } ] }, "BotRecordingConfigRealtimeEndpointBotRecordingConfigRealtimeEndpointWebhookRequest": { "allOf": [ { "$ref": "#/$defs/BotRecordingConfigRealtimeEndpointShared" }, { "$ref": "#/$defs/BotRecordingConfigRealtimeEndpointWebhookRequest" } ] }, "BotRecordingConfigRealtimeEndpointBotRecordingConfigRealtimeEndpointWebsocketRequest": { "allOf": [ { "$ref": "#/$defs/BotRecordingConfigRealtimeEndpointShared" }, { "$ref": "#/$defs/BotRecordingConfigRealtimeEndpointWebsocketRequest" } ] }, "BotRecordingConfigRealtimeEndpointDesktopSdkCallbackRequest": { "type": "object", "properties": { "events": { "type": "array", "items": { "type": "string", "enum": [ "participant_events.join", "participant_events.leave", "participant_events.update", "participant_events.speech_on", "participant_events.speech_off", "participant_events.webcam_on", "participant_events.webcam_off", "participant_events.microphone_on", "participant_events.microphone_off", "participant_events.screenshare_on", "participant_events.screenshare_off", "participant_events.chat_message", "transcript.data", "transcript.partial_data", "transcript.provider_data", "video_separate_png.data", "video_separate_h264.data", "audio_mixed_raw.data", "audio_separate_raw.data" ] }, "description": "The events to send to the realtime endpoint." } }, "required": [ "events" ] }, "BotRecordingConfigRealtimeEndpointRequest": { "oneOf": [ { "$ref": "#/$defs/BotRecordingConfigRealtimeEndpointBotRecordingConfigRealtimeEndpointRtmpRequest" }, { "$ref": "#/$defs/BotRecordingConfigRealtimeEndpointBotRecordingConfigRealtimeEndpointWebsocketRequest" }, { "$ref": "#/$defs/BotRecordingConfigRealtimeEndpointBotRecordingConfigRealtimeEndpointWebhookRequest" }, { "$ref": "#/$defs/BotRecordingConfigRealtimeEndpointBotRecordingConfigRealtimeEndpointDesktopSdkCallbackRequest" } ] }, "BotRecordingConfigRealtimeEndpointRtmpRequest": { "type": "object", "properties": { "url": { "type": "string", "minLength": 1, "description": "The URL of the realtime endpoint.", "format": "uri" }, "events": { "type": "array", "items": { "type": "string", "enum": [ "video_mixed_flv.data" ] }, "description": "The events to send to the realtime endpoint." } }, "required": [ "events", "url" ] }, "BotRecordingConfigRealtimeEndpointShared": { "type": "object", "properties": { "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "type": { "allOf": [ { "$ref": "#/$defs/BotRecordingConfigRealtimeEndpointSharedTypeEnum" } ], "description": "The type of the realtime endpoint.\n\n* `rtmp` - Rtmp\n* `websocket` - Websocket\n* `webhook` - Webhook\n* `desktop_sdk_callback` - Desktop Sdk Callback" } }, "required": [ "type" ] }, "BotRecordingConfigRealtimeEndpointSharedTypeEnum": { "enum": [ "rtmp", "websocket", "webhook", "desktop_sdk_callback" ], "type": "string", "description": "* `rtmp` - Rtmp\n* `websocket` - Websocket\n* `webhook` - Webhook\n* `desktop_sdk_callback` - Desktop Sdk Callback" }, "BotRecordingConfigRealtimeEndpointWebhookRequest": { "type": "object", "properties": { "url": { "type": "string", "minLength": 1, "description": "The URL of the realtime endpoint.", "format": "uri" }, "events": { "type": "array", "items": { "type": "string", "enum": [ "participant_events.join", "participant_events.leave", "participant_events.update", "participant_events.speech_on", "participant_events.speech_off", "participant_events.webcam_on", "participant_events.webcam_off", "participant_events.microphone_on", "participant_events.microphone_off", "participant_events.screenshare_on", "participant_events.screenshare_off", "participant_events.chat_message", "transcript.data", "transcript.partial_data", "transcript.provider_data" ] }, "description": "The events to send to the realtime endpoint." } }, "required": [ "events", "url" ] }, "BotRecordingConfigRealtimeEndpointWebsocketRequest": { "type": "object", "properties": { "url": { "type": "string", "minLength": 1, "description": "The URL of the realtime endpoint.", "format": "uri" }, "events": { "type": "array", "items": { "type": "string", "enum": [ "participant_events.join", "participant_events.leave", "participant_events.update", "participant_events.speech_on", "participant_events.speech_off", "participant_events.webcam_on", "participant_events.webcam_off", "participant_events.microphone_on", "participant_events.microphone_off", "participant_events.screenshare_on", "participant_events.screenshare_off", "participant_events.chat_message", "audio_mixed_raw.data", "transcript.data", "transcript.partial_data", "transcript.provider_data", "audio_separate_raw.data", "video_separate_png.data", "video_separate_h264.data" ] }, "description": "The events to send to the realtime endpoint." } }, "required": [ "events", "url" ] }, "BotRecordingConfigRetentionRequest": { "type": "object", "properties": { "type": { "allOf": [ { "$ref": "#/$defs/BotRecordingConfigRetentionSharedTypeEnum" } ], "description": "The type of the retention policy.\n\n* `timed` - Timed\n* `forever` - Forever" }, "hours": { "type": "integer", "minimum": 1, "default": 168, "description": "The number of hours to retain the recording." } }, "required": [ "type" ] }, "BotRecordingConfigRetentionSharedTypeEnum": { "enum": [ "timed", "forever" ], "type": "string", "description": "* `timed` - Timed\n* `forever` - Forever" }, "BotRecordingConfigTranscriptArtifactRequest": { "type": "object", "properties": { "metadata": { "type": "object", "additionalProperties": { "type": "string" } }, "provider": { "allOf": [ { "$ref": "#/$defs/BotRecordingConfigTranscriptProviderRequest" } ], "title": "Transcription Provider", "description": "The **[transcription method](https://docs.recall.ai//docs/bot-transcription)** to get the transcript of the meeting." }, "diarization": { "$ref": "#/$defs/BotRecordingConfigTranscriptDiarizationRequest" } }, "required": [ "provider" ] }, "BotRecordingConfigTranscriptDiarizationRequest": { "type": "object", "properties": { "use_separate_streams_when_available": { "type": "boolean", "description": "Use separate audio streams(a.k.a perfect diarization) when available. This feature has limted support. **[Read more in this guide](https://docs.recall.ai/docs/perfect-diarization)**" } } }, "BotRecordingConfigTranscriptProviderRequest": { "type": "object", "properties": { "recallai_streaming": { "allOf": [ { "$ref": "#/$defs/RecallaiStreamingTranscriptionRequest" } ], "title": "RecallAI Real-time Transcription Settings", "description": " **[Read more in this guide](https://docs.recall.ai/docs/recallai-transcription)**" }, "assembly_ai_async_chunked": { "properties": { "audio_end_at": { "x-label": "Audio end at", "description": "The point in time, in milliseconds, to stop transcribing in your media file. See [Set the start and end of the transcript](https://www.assemblyai.com/docs/pre-recorded-audio/set-the-start-and-end-of-the-transcript) for more details.", "type": "integer" }, "audio_start_from": { "x-label": "Audio start from", "description": "The point in time, in milliseconds, to begin transcribing in your media file. See [Set the start and end of the transcript](https://www.assemblyai.com/docs/pre-recorded-audio/set-the-start-and-end-of-the-transcript) for more details.", "type": "integer" }, "auto_chapters": { "x-label": "Auto chapters", "description": "Enable [Auto Chapters](https://www.assemblyai.com/docs/speech-understanding/auto-chapters), can be true or false", "type": "boolean", "default": false }, "auto_highlights": { "x-label": "Key phrases", "description": "Enable [Key Phrases](https://www.assemblyai.com/docs/speech-understanding/key-phrases), either true or false", "type": "boolean", "default": false }, "content_safety": { "x-label": "Content Moderation", "description": "Enable [Content Moderation](https://www.assemblyai.com/docs/content-moderation), can be true or false", "type": "boolean", "default": false }, "content_safety_confidence": { "x-label": "Content Moderation confidence", "description": "The confidence threshold for the [Content Moderation](https://www.assemblyai.com/docs/content-moderation) model. Values must be between 25 and 100.", "type": "integer", "default": 50, "minimum": 25, "maximum": 100 }, "custom_spelling": { "x-label": "Custom spellings", "description": "Customize how words are spelled and formatted using to and from values. See [Custom Spelling](https://www.assemblyai.com/docs/pre-recorded-audio/custom-spelling) for more details.", "type": "array", "items": { "x-label": "Custom spelling", "description": "Object containing words or phrases to replace, and the word or phrase to replace with", "x-fern-sdk-group-name": "transcripts", "type": "object", "additionalProperties": false, "properties": { "from": { "x-label": "From", "description": "Words or phrases to replace", "type": "array", "items": { "x-label": "Word or phrase", "description": "Word or phrase to replace", "type": "string" } }, "to": { "x-label": "To", "description": "Word to replace with", "type": "string" } }, "required": [ "from", "to" ] } }, "disfluencies": { "x-label": "Disfluencies", "description": "Transcribe [Filler Words](https://www.assemblyai.com/docs/pre-recorded-audio/filler-words), like \"umm\", in your media file; can be true or false", "type": "boolean", "default": false }, "entity_detection": { "x-label": "Entity Detection", "description": "Enable [Entity Detection](https://www.assemblyai.com/docs/speech-understanding/entity-detection), can be true or false", "type": "boolean", "default": false }, "filter_profanity": { "x-label": "Filter profanity", "description": "Filter profanity from the transcribed text, can be true or false. See [Profanity Filtering](https://www.assemblyai.com/docs/profanity-filtering) for more details.", "type": "boolean", "default": false }, "format_text": { "x-label": "Format text", "description": "Enable [Text Formatting](https://www.assemblyai.com/docs/pre-recorded-audio), can be true or false", "type": "boolean", "default": true }, "iab_categories": { "x-label": "Topic Detection", "description": "Enable [Topic Detection](https://www.assemblyai.com/docs/speech-understanding/topic-detection), can be true or false", "type": "boolean", "default": false }, "keyterms_prompt": { "x-label": "Keyterms prompt", "description": "Improve accuracy with up to 200 (for Universal-2) or 1000 (for Universal-3-Pro) domain-specific words or phrases (maximum 6 words per phrase). See [Keyterms Prompting](https://www.assemblyai.com/docs/pre-recorded-audio/keyterms-prompting) for more details.\n", "type": "array", "items": { "x-label": "Keyterm", "type": "string" } }, "language_code": { "x-label": "Language code", "description": "The language of your audio file. Possible values are found in [Supported Languages](https://www.assemblyai.com/docs/pre-recorded-audio/supported-languages).\nThe default value is 'en_us'.\n", "oneOf": [ { "anyOf": [ { "x-label": "Language code", "type": "string", "description": "The language of your audio file. Possible values are found in [Supported Languages](https://www.assemblyai.com/docs/pre-recorded-audio/supported-languages).\nThe default value is 'en_us'.\n", "x-fern-sdk-group-name": "transcripts", "enum": [ "en", "en_au", "en_uk", "en_us", "es", "fr", "de", "it", "pt", "nl", "af", "sq", "am", "ar", "hy", "as", "az", "ba", "eu", "be", "bn", "bs", "br", "bg", "my", "ca", "zh", "hr", "cs", "da", "et", "fo", "fi", "gl", "ka", "el", "gu", "ht", "ha", "haw", "he", "hi", "hu", "is", "id", "ja", "jw", "kn", "kk", "km", "ko", "lo", "la", "lv", "ln", "lt", "lb", "mk", "mg", "ms", "ml", "mt", "mi", "mr", "mn", "ne", "no", "nn", "oc", "pa", "ps", "fa", "pl", "ro", "ru", "sa", "sr", "sn", "sd", "si", "sk", "sl", "so", "su", "sw", "sv", "tl", "tg", "ta", "tt", "te", "th", "bo", "tr", "tk", "uk", "ur", "uz", "vi", "cy", "yi", "yo" ], "x-aai-enum": { "en": { "label": "English (global)" }, "en_au": { "label": "English (Australian)" }, "en_uk": { "label": "English (British)" }, "en_us": { "label": "English (US)" }, "es": { "label": "Spanish" }, "fr": { "label": "French" }, "de": { "label": "German" }, "it": { "label": "Italian" }, "pt": { "label": "Portuguese" }, "nl": { "label": "Dutch" }, "af": { "label": "Afrikaans" }, "sq": { "label": "Albanian" }, "am": { "label": "Amharic" }, "ar": { "label": "Arabic" }, "hy": { "label": "Armenian" }, "as": { "label": "Assamese" }, "az": { "label": "Azerbaijani" }, "ba": { "label": "Bashkir" }, "eu": { "label": "Basque" }, "be": { "label": "Belarusian" }, "bn": { "label": "Bengali" }, "bs": { "label": "Bosnian" }, "br": { "label": "Breton" }, "bg": { "label": "Bulgarian" }, "my": { "label": "Burmese" }, "ca": { "label": "Catalan" }, "zh": { "label": "Chinese" }, "hr": { "label": "Croatian" }, "cs": { "label": "Czech" }, "da": { "label": "Danish" }, "et": { "label": "Estonian" }, "fo": { "label": "Faroese" }, "fi": { "label": "Finnish" }, "gl": { "label": "Galician" }, "ka": { "label": "Georgian" }, "el": { "label": "Greek" }, "gu": { "label": "Gujarati" }, "ht": { "label": "Haitian" }, "ha": { "label": "Hausa" }, "haw": { "label": "Hawaiian" }, "he": { "label": "Hebrew" }, "hi": { "label": "Hindi" }, "hu": { "label": "Hungarian" }, "is": { "label": "Icelandic" }, "id": { "label": "Indonesian" }, "ja": { "label": "Japanese" }, "jw": { "label": "Javanese" }, "kn": { "label": "Kannada" }, "kk": { "label": "Kazakh" }, "km": { "label": "Khmer" }, "ko": { "label": "Korean" }, "lo": { "label": "Lao" }, "la": { "label": "Latin" }, "lv": { "label": "Latvian" }, "ln": { "label": "Lingala" }, "lt": { "label": "Lithuanian" }, "lb": { "label": "Luxembourgish" }, "mk": { "label": "Macedonian" }, "mg": { "label": "Malagasy" }, "ms": { "label": "Malay" }, "ml": { "label": "Malayalam" }, "mt": { "label": "Maltese" }, "mi": { "label": "Maori" }, "mr": { "label": "Marathi" }, "mn": { "label": "Mongolian" }, "ne": { "label": "Nepali" }, "no": { "label": "Norwegian" }, "nn": { "label": "Norwegian Nynorsk" }, "oc": { "label": "Occitan" }, "pa": { "label": "Panjabi" }, "ps": { "label": "Pashto" }, "fa": { "label": "Persian" }, "pl": { "label": "Polish" }, "ro": { "label": "Romanian" }, "ru": { "label": "Russian" }, "sa": { "label": "Sanskrit" }, "sr": { "label": "Serbian" }, "sn": { "label": "Shona" }, "sd": { "label": "Sindhi" }, "si": { "label": "Sinhala" }, "sk": { "label": "Slovak" }, "sl": { "label": "Slovenian" }, "so": { "label": "Somali" }, "su": { "label": "Sundanese" }, "sw": { "label": "Swahili" }, "sv": { "label": "Swedish" }, "tl": { "label": "Tagalog" }, "tg": { "label": "Tajik" }, "ta": { "label": "Tamil" }, "tt": { "label": "Tatar" }, "te": { "label": "Telugu" }, "th": { "label": "Thai" }, "bo": { "label": "Tibetan" }, "tr": { "label": "Turkish" }, "tk": { "label": "Turkmen" }, "uk": { "label": "Ukrainian" }, "ur": { "label": "Urdu" }, "uz": { "label": "Uzbek" }, "vi": { "label": "Vietnamese" }, "cy": { "label": "Welsh" }, "yi": { "label": "Yiddish" }, "yo": { "label": "Yoruba" } } }, { "type": "string" } ] }, { "type": [ "string", "null" ] } ], "default": "en_us", "x-ts-type": "LiteralUnion | null", "x-go-type": "TranscriptLanguageCode" }, "language_codes": { "description": "The language codes of your audio file. Used for [Code switching](https://www.assemblyai.com/docs/speech-to-text/pre-recorded-audio/code-switching)\nOne of the values specified must be `en`.\n", "type": [ "array", "null" ], "items": { "x-label": "Language code", "type": "string", "description": "The language of your audio file. Possible values are found in [Supported Languages](https://www.assemblyai.com/docs/pre-recorded-audio/supported-languages).\nThe default value is 'en_us'.\n", "x-fern-sdk-group-name": "transcripts", "enum": [ "en", "en_au", "en_uk", "en_us", "es", "fr", "de", "it", "pt", "nl", "af", "sq", "am", "ar", "hy", "as", "az", "ba", "eu", "be", "bn", "bs", "br", "bg", "my", "ca", "zh", "hr", "cs", "da", "et", "fo", "fi", "gl", "ka", "el", "gu", "ht", "ha", "haw", "he", "hi", "hu", "is", "id", "ja", "jw", "kn", "kk", "km", "ko", "lo", "la", "lv", "ln", "lt", "lb", "mk", "mg", "ms", "ml", "mt", "mi", "mr", "mn", "ne", "no", "nn", "oc", "pa", "ps", "fa", "pl", "ro", "ru", "sa", "sr", "sn", "sd", "si", "sk", "sl", "so", "su", "sw", "sv", "tl", "tg", "ta", "tt", "te", "th", "bo", "tr", "tk", "uk", "ur", "uz", "vi", "cy", "yi", "yo" ], "x-aai-enum": { "en": { "label": "English (global)" }, "en_au": { "label": "English (Australian)" }, "en_uk": { "label": "English (British)" }, "en_us": { "label": "English (US)" }, "es": { "label": "Spanish" }, "fr": { "label": "French" }, "de": { "label": "German" }, "it": { "label": "Italian" }, "pt": { "label": "Portuguese" }, "nl": { "label": "Dutch" }, "af": { "label": "Afrikaans" }, "sq": { "label": "Albanian" }, "am": { "label": "Amharic" }, "ar": { "label": "Arabic" }, "hy": { "label": "Armenian" }, "as": { "label": "Assamese" }, "az": { "label": "Azerbaijani" }, "ba": { "label": "Bashkir" }, "eu": { "label": "Basque" }, "be": { "label": "Belarusian" }, "bn": { "label": "Bengali" }, "bs": { "label": "Bosnian" }, "br": { "label": "Breton" }, "bg": { "label": "Bulgarian" }, "my": { "label": "Burmese" }, "ca": { "label": "Catalan" }, "zh": { "label": "Chinese" }, "hr": { "label": "Croatian" }, "cs": { "label": "Czech" }, "da": { "label": "Danish" }, "et": { "label": "Estonian" }, "fo": { "label": "Faroese" }, "fi": { "label": "Finnish" }, "gl": { "label": "Galician" }, "ka": { "label": "Georgian" }, "el": { "label": "Greek" }, "gu": { "label": "Gujarati" }, "ht": { "label": "Haitian" }, "ha": { "label": "Hausa" }, "haw": { "label": "Hawaiian" }, "he": { "label": "Hebrew" }, "hi": { "label": "Hindi" }, "hu": { "label": "Hungarian" }, "is": { "label": "Icelandic" }, "id": { "label": "Indonesian" }, "ja": { "label": "Japanese" }, "jw": { "label": "Javanese" }, "kn": { "label": "Kannada" }, "kk": { "label": "Kazakh" }, "km": { "label": "Khmer" }, "ko": { "label": "Korean" }, "lo": { "label": "Lao" }, "la": { "label": "Latin" }, "lv": { "label": "Latvian" }, "ln": { "label": "Lingala" }, "lt": { "label": "Lithuanian" }, "lb": { "label": "Luxembourgish" }, "mk": { "label": "Macedonian" }, "mg": { "label": "Malagasy" }, "ms": { "label": "Malay" }, "ml": { "label": "Malayalam" }, "mt": { "label": "Maltese" }, "mi": { "label": "Maori" }, "mr": { "label": "Marathi" }, "mn": { "label": "Mongolian" }, "ne": { "label": "Nepali" }, "no": { "label": "Norwegian" }, "nn": { "label": "Norwegian Nynorsk" }, "oc": { "label": "Occitan" }, "pa": { "label": "Panjabi" }, "ps": { "label": "Pashto" }, "fa": { "label": "Persian" }, "pl": { "label": "Polish" }, "ro": { "label": "Romanian" }, "ru": { "label": "Russian" }, "sa": { "label": "Sanskrit" }, "sr": { "label": "Serbian" }, "sn": { "label": "Shona" }, "sd": { "label": "Sindhi" }, "si": { "label": "Sinhala" }, "sk": { "label": "Slovak" }, "sl": { "label": "Slovenian" }, "so": { "label": "Somali" }, "su": { "label": "Sundanese" }, "sw": { "label": "Swahili" }, "sv": { "label": "Swedish" }, "tl": { "label": "Tagalog" }, "tg": { "label": "Tajik" }, "ta": { "label": "Tamil" }, "tt": { "label": "Tatar" }, "te": { "label": "Telugu" }, "th": { "label": "Thai" }, "bo": { "label": "Tibetan" }, "tr": { "label": "Turkish" }, "tk": { "label": "Turkmen" }, "uk": { "label": "Ukrainian" }, "ur": { "label": "Urdu" }, "uz": { "label": "Uzbek" }, "vi": { "label": "Vietnamese" }, "cy": { "label": "Welsh" }, "yi": { "label": "Yiddish" }, "yo": { "label": "Yoruba" } } } }, "language_confidence_threshold": { "x-label": "Language confidence threshold", "description": "The confidence threshold for the automatically detected language.\nAn error will be returned if the language confidence is below this threshold.\nDefaults to 0. See [Automatic Language Detection](https://www.assemblyai.com/docs/pre-recorded-audio/language-detection) for more details.\n", "type": "number", "format": "float", "minimum": 0, "maximum": 1, "default": 0 }, "language_detection": { "x-label": "Language detection", "description": "Enable [Automatic language detection](https://www.assemblyai.com/docs/pre-recorded-audio/language-detection), either true or false.", "type": "boolean", "default": false }, "language_detection_options": { "x-label": "Specify options for Automatic Language Detection.", "description": "Specify options for [Automatic Language Detection](https://www.assemblyai.com/docs/pre-recorded-audio/language-detection).", "type": "object", "additionalProperties": false, "properties": { "expected_languages": { "x-label": "Expected languages", "description": "List of languages expected in the audio file. Defaults to `[\"all\"]` when unspecified. See [Automatic Language Detection](https://www.assemblyai.com/docs/pre-recorded-audio/language-detection) for more details.", "type": "array", "items": { "x-label": "language", "type": "string" } }, "fallback_language": { "x-label": "Fallback language", "description": "If the detected language of the audio file is not in the list of expected languages, the `fallback_language` is used. Specify `[\"auto\"]` to let our model choose the fallback language from `expected_languages` with the highest confidence score. See [Automatic Language Detection](https://www.assemblyai.com/docs/pre-recorded-audio/language-detection) for more details.\n", "type": "string", "default": "auto" }, "code_switching": { "x-label": "Code switching", "description": "Whether [code switching](https://www.assemblyai.com/docs/speech-to-text/pre-recorded-audio/code-switching) should be detected.\n", "type": "boolean", "default": false }, "code_switching_confidence_threshold": { "x-label": "Code switching confidence threshold", "description": "The confidence threshold for [code switching](https://www.assemblyai.com/docs/speech-to-text/pre-recorded-audio/code-switching) detection. If the code switching confidence is below this threshold, the transcript will be processed in the language with the highest `language_detection_confidence` score.\n", "type": "number", "minimum": 0, "maximum": 1, "default": 0.3 } } }, "multichannel": { "x-label": "Multichannel", "description": "Enable [Multichannel](https://www.assemblyai.com/docs/pre-recorded-audio/multichannel) transcription, can be true or false.", "type": "boolean", "default": false }, "prompt": { "x-label": "Prompt", "description": "Provide natural language prompting of up to 1,500 words of contextual information to the model. See the [Prompting Guide](https://www.assemblyai.com/docs/pre-recorded-audio/prompting) for best practices.\n\nNote: This parameter is only supported for the Universal-3-Pro model.\n", "type": "string" }, "punctuate": { "x-label": "Punctuate", "description": "Enable [Automatic Punctuation](https://www.assemblyai.com/docs/pre-recorded-audio), can be true or false", "type": "boolean", "default": true }, "redact_pii": { "x-label": "Redact PII", "description": "Redact PII from the transcribed text using the Redact PII model, can be true or false. See [PII Redaction](https://www.assemblyai.com/docs/pii-redaction) for more details.", "type": "boolean", "default": false }, "redact_pii_audio": { "x-label": "Redact PII audio", "description": "Generate a copy of the original media file with spoken PII \"beeped\" out, can be true or false. See [PII redaction](https://www.assemblyai.com/docs/pii-redaction#request-for-redacted-audio) for more details.", "type": "boolean", "default": false }, "redact_pii_audio_options": { "x-label": "Specify options for PII redacted audio files.", "description": "Specify options for [PII redacted audio](https://www.assemblyai.com/docs/pii-redaction#request-for-redacted-audio) files.", "type": "object", "additionalProperties": false, "properties": { "return_redacted_no_speech_audio": { "x-label": "Return redacted no speech audio", "description": "By default, audio redaction provides redacted audio URLs only when speech is detected. However, if your use-case specifically requires redacted audio files even for silent audio files without any dialogue, you can opt to receive these URLs by setting this parameter to `true`.", "type": "boolean", "default": false } } }, "redact_pii_audio_quality": { "x-label": "Redact PII audio quality", "type": "string", "description": "Controls the filetype of the audio created by redact_pii_audio. Currently supports mp3 (default) and wav. See [PII redaction](https://www.assemblyai.com/docs/pii-redaction#request-for-redacted-audio) for more details.", "x-fern-sdk-group-name": "transcripts", "enum": [ "mp3", "wav" ], "x-fern-enum": { "mp3": { "description": "MP3 audio format is lower quality and lower size than WAV.", "casing": { "camel": "mp3", "snake": "mp3", "pascal": "Mp3", "screamingSnake": "MP3" } }, "wav": { "description": "WAV audio format is the highest quality (no compression) and larger size than MP3." } }, "x-aai-enum": { "mp3": { "label": "MP3" }, "wav": { "label": "WAV" } } }, "redact_pii_policies": { "x-label": "Redact PII policies", "description": "The list of PII Redaction policies to enable. See [PII redaction](https://www.assemblyai.com/docs/pii-redaction) for more details.", "type": "array", "items": { "x-label": "PII policy", "description": "The type of PII to redact", "x-fern-sdk-group-name": "transcripts", "type": "string", "enum": [ "account_number", "banking_information", "blood_type", "credit_card_cvv", "credit_card_expiration", "credit_card_number", "date", "date_interval", "date_of_birth", "drivers_license", "drug", "duration", "email_address", "event", "filename", "gender_sexuality", "healthcare_number", "injury", "ip_address", "language", "location", "marital_status", "medical_condition", "medical_process", "money_amount", "nationality", "number_sequence", "occupation", "organization", "passport_number", "password", "person_age", "person_name", "phone_number", "physical_attribute", "political_affiliation", "religion", "statistics", "time", "url", "us_social_security_number", "username", "vehicle_id", "zodiac_sign" ], "x-fern-enum": { "account_number": { "description": "Customer account or membership identification number (e.g., Policy No. 10042992, Member ID: HZ-5235-001)" }, "banking_information": { "description": "Banking information, including account and routing numbers" }, "blood_type": { "description": "Blood type (e.g., O-, AB positive)" }, "credit_card_cvv": { "description": "Credit card verification code (e.g., CVV: 080)" }, "credit_card_expiration": { "description": "Expiration date of a credit card" }, "credit_card_number": { "description": "Credit card number" }, "date": { "description": "Specific calendar date (e.g., December 18)" }, "date_interval": { "description": "Broader time periods, including date ranges, months, seasons, years, and decades (e.g., 2020-2021, 5-9 May, January 1984)" }, "date_of_birth": { "description": "Date of birth (e.g., Date of Birth: March 7,1961)" }, "drivers_license": { "description": "Driver's license number. (e.g., DL# 356933-540)" }, "drug": { "description": "Medications, vitamins, or supplements (e.g., Advil, Acetaminophen, Panadol)" }, "duration": { "description": "Periods of time, specified as a number and a unit of time (e.g., 8 months, 2 years)" }, "email_address": { "description": "Email address (e.g., support@assemblyai.com)" }, "event": { "description": "Name of an event or holiday (e.g., Olympics, Yom Kippur)" }, "filename": { "description": "Names of computer files, including the extension or filepath (e.g., Taxes/2012/brad-tax-returns.pdf)" }, "gender_sexuality": { "description": "Terms indicating gender identity or sexual orientation, including slang terms (e.g., female, bisexual, trans)" }, "healthcare_number": { "description": "Healthcare numbers and health plan beneficiary numbers (e.g., Policy No.: 5584-486-674-YM)" }, "injury": { "description": "Bodily injury (e.g., I broke my arm, I have a sprained wrist)" }, "ip_address": { "description": "Internet IP address, including IPv4 and IPv6 formats (e.g., 192.168.0.1)" }, "language": { "description": "Name of a natural language (e.g., Spanish, French)" }, "location": { "description": "Any Location reference including mailing address, postal code, city, state, province, country, or coordinates. (e.g., Lake Victoria, 145 Windsor St., 90210)" }, "marital_status": { "description": "Terms indicating marital status (e.g., Single, common-law, ex-wife, married)" }, "medical_condition": { "description": "Name of a medical condition, disease, syndrome, deficit, or disorder (e.g., chronic fatigue syndrome, arrhythmia, depression)" }, "medical_process": { "description": "Medical process, including treatments, procedures, and tests (e.g., heart surgery, CT scan)" }, "money_amount": { "description": "Name and/or amount of currency (e.g., 15 pesos, $94.50)" }, "nationality": { "description": "Terms indicating nationality, ethnicity, or race (e.g., American, Asian, Caucasian)" }, "number_sequence": { "description": "Numerical PII (including alphanumeric strings) that doesn't fall under other categories" }, "occupation": { "description": "Job title or profession (e.g., professor, actors, engineer, CPA)" }, "organization": { "description": "Name of an organization (e.g., CNN, McDonalds, University of Alaska, Northwest General Hospital)" }, "passport_number": { "description": "Passport numbers, issued by any country (e.g., PA4568332, NU3C6L86S12)" }, "password": { "description": "Account passwords, PINs, access keys, or verification answers (e.g., 27%alfalfa, temp1234, My mother's maiden name is Smith)" }, "person_age": { "description": "Number associated with an age (e.g., 27, 75)" }, "person_name": { "description": "Name of a person (e.g., Bob, Doug Jones, Dr. Kay Martinez, MD)" }, "phone_number": { "description": "Telephone or fax number" }, "physical_attribute": { "description": "Distinctive bodily attributes, including terms indicating race (e.g., I'm 190cm tall, He belongs to the Black students' association)" }, "political_affiliation": { "description": "Terms referring to a political party, movement, or ideology (e.g., Republican, Liberal)" }, "religion": { "description": "Terms indicating religious affiliation (e.g., Hindu, Catholic)" }, "statistics": { "description": "Medical statistics (e.g., 18%, 18 percent)" }, "time": { "description": "Expressions indicating clock times (e.g., 19:37:28, 10pm EST)" }, "url": { "description": "Internet addresses (e.g., https://www.assemblyai.com/)" }, "us_social_security_number": { "description": "Social Security Number or equivalent" }, "username": { "description": "Usernames, login names, or handles (e.g., @AssemblyAI)" }, "vehicle_id": { "description": "Vehicle identification numbers (VINs), vehicle serial numbers, and license plate numbers (e.g., 5FNRL38918B111818, BIF7547)" }, "zodiac_sign": { "description": "Names of Zodiac signs (e.g., Aries, Taurus)" } }, "x-aai-enum": { "account_number": { "label": "Account number" }, "banking_information": { "label": "Banking information" }, "blood_type": { "label": "Blood type" }, "credit_card_cvv": { "label": "Credit card CVV" }, "credit_card_expiration": { "label": "Credit card expiration" }, "credit_card_number": { "label": "Credit card number" }, "date": { "label": "Date" }, "date_interval": { "label": "Date interval" }, "date_of_birth": { "label": "Date of birth" }, "drivers_license": { "label": "Driver's license" }, "drug": { "label": "Drug" }, "duration": { "label": "Duration" }, "email_address": { "label": "Email address" }, "event": { "label": "Event" }, "filename": { "label": "Filename" }, "gender_sexuality": { "label": "Gender sexuality" }, "healthcare_number": { "label": "Healthcare number" }, "injury": { "label": "Injury" }, "ip_address": { "label": "IP address" }, "language": { "label": "Language" }, "location": { "label": "Location" }, "marital_status": { "label": "Marital status" }, "medical_condition": { "label": "Medical condition" }, "medical_process": { "label": "Medical process" }, "money_amount": { "label": "Money amount" }, "nationality": { "label": "Nationality" }, "number_sequence": { "label": "Number sequence" }, "occupation": { "label": "Occupation" }, "organization": { "label": "Organization" }, "passport_number": { "label": "Passport number" }, "password": { "label": "Password" }, "person_age": { "label": "Person age" }, "person_name": { "label": "Person name" }, "phone_number": { "label": "Phone number" }, "physical_attribute": { "label": "Physical attribute" }, "political_affiliation": { "label": "Political affiliation" }, "religion": { "label": "Religion" }, "statistics": { "label": "Statistics" }, "time": { "label": "Time" }, "url": { "label": "URL" }, "us_social_security_number": { "label": "US Social Security Number" }, "username": { "label": "Username" }, "vehicle_id": { "label": "Vehicle ID" }, "zodiac_sign": { "label": "Zodiac sign" } } } }, "redact_pii_sub": { "x-label": "Redact PII substitution", "description": "The replacement logic for detected PII, can be `entity_type` or `hash`. See [PII redaction](https://www.assemblyai.com/docs/pii-redaction) for more details.", "oneOf": [ { "x-label": "Redact PII substitution", "type": "string", "x-fern-sdk-group-name": "transcripts", "description": "The replacement logic for detected PII, can be `entity_name` or `hash`. See [PII redaction](https://www.assemblyai.com/docs/pii-redaction) for more details.", "enum": [ "entity_name", "hash" ], "x-aai-enum": { "entity_name": { "label": "Entity name" }, "hash": { "label": "Hash" } } }, { "type": [ "string", "null" ] } ], "default": "hash" }, "sentiment_analysis": { "x-label": "Sentiment Analysis", "description": "Enable [Sentiment Analysis](https://www.assemblyai.com/docs/speech-understanding/sentiment-analysis), can be true or false", "type": "boolean", "default": false }, "speaker_labels": { "x-label": "Speaker labels", "description": "Enable [Speaker diarization](https://www.assemblyai.com/docs/pre-recorded-audio/speaker-diarization), can be true or false", "type": "boolean", "default": false }, "speaker_options": { "x-label": "Specify options for speaker diarization.", "description": "Specify options for [Speaker diarization](https://www.assemblyai.com/docs/pre-recorded-audio/speaker-diarization#set-a-range-of-possible-speakers). Use this to set a range of possible speakers.", "type": "object", "additionalProperties": false, "properties": { "min_speakers_expected": { "x-label": "Minimum speakers expected", "description": "The minimum number of speakers expected in the audio file. See [Set a range of possible speakers](https://www.assemblyai.com/docs/pre-recorded-audio/speaker-diarization#set-a-range-of-possible-speakers) for more details.", "type": "integer", "default": 1 }, "max_speakers_expected": { "x-label": "Maximum speakers expected", "description": "Setting this parameter too high may hurt model accuracy\nThe maximum number of speakers expected in the audio file. See [Set a range of possible speakers](https://www.assemblyai.com/docs/pre-recorded-audio/speaker-diarization#set-a-range-of-possible-speakers) for more details.\n", "type": "integer", "default": 10 } } }, "speakers_expected": { "x-label": "Speakers expected", "description": "Tells the speaker label model how many speakers it should attempt to identify. See [Set number of speakers expected](https://www.assemblyai.com/docs/pre-recorded-audio/speaker-diarization#set-number-of-speakers-expected) for more details.", "type": [ "integer", "null" ], "default": null }, "speech_models": { "x-label": "Speech models", "description": "List multiple speech models in priority order, allowing our system to automatically route your audio to the best available option. See [Model Selection](https://www.assemblyai.com/docs/pre-recorded-audio/select-the-speech-model) for available models and routing behavior.\n", "type": "array", "items": { "x-label": "Speech model", "type": "string", "description": "The speech model to use for the transcription. See [Model Selection](https://www.assemblyai.com/docs/pre-recorded-audio/select-the-speech-model) for available models.", "x-fern-sdk-group-name": "transcripts" } }, "speech_threshold": { "x-label": "Speech threshold", "description": "Reject audio files that contain less than this fraction of speech.\nValid values are in the range [0, 1] inclusive. See [Speech Threshold](https://www.assemblyai.com/docs/speech-threshold) for more details.\n", "type": [ "number", "null" ], "format": "float", "minimum": 0, "maximum": 1, "default": 0 }, "speech_understanding": { "x-label": "Speech Understanding", "description": "Enable speech understanding tasks like [Translation](https://www.assemblyai.com/docs/speech-understanding/translation), [Speaker Identification](https://www.assemblyai.com/docs/speech-understanding/speaker-identification), and [Custom Formatting](https://www.assemblyai.com/docs/speech-understanding/custom-formatting). See the task-specific docs for available options and configuration.\n", "type": "object", "properties": { "request": { "oneOf": [ { "x-label": "Translation request body", "description": "Request body for [Translation](https://www.assemblyai.com/docs/speech-understanding/translation).", "type": "object", "properties": { "translation": { "type": "object", "properties": { "target_languages": { "type": "array", "items": { "type": "string" }, "description": "List of target language codes (e.g., `[\"es\", \"de\"]`). See [Translation](https://www.assemblyai.com/docs/speech-understanding/translation) for supported languages." }, "formal": { "type": "boolean", "description": "Use formal language style. See [Translation](https://www.assemblyai.com/docs/speech-understanding/translation) for more details.", "default": true }, "match_original_utterance": { "type": "boolean", "description": "When enabled with Speaker Labels, returns translated text in the utterances array. Each utterance will include a `translated_texts` key containing translations for each target language.", "default": false } }, "required": [ "target_languages" ] } }, "required": [ "translation" ] }, { "type": "object", "description": "Request body for [Speaker Identification](https://www.assemblyai.com/docs/speech-understanding/speaker-identification).", "properties": { "speaker_identification": { "type": "object", "properties": { "speaker_type": { "type": "string", "enum": [ "role", "name" ], "description": "Type of speaker identification. See [Speaker Identification](https://www.assemblyai.com/docs/speech-understanding/speaker-identification) for details on each type." }, "known_values": { "type": "array", "items": { "type": "string" }, "description": "Required if speaker_type is \"role\". Each value must be 35 characters or less." }, "speakers": { "type": "array", "description": "An array of speaker objects with metadata to improve identification accuracy. Each object should include a `role` or `name` (depending on `speaker_type`) and an optional `description` to help the model identify the speaker. You can also include any additional custom properties (e.g., `company`, `title`) to provide more context. Use this as an alternative to `known_values` when you want to provide additional context about each speaker.", "items": { "type": "object", "properties": { "role": { "type": "string", "description": "The role of the speaker. Required when `speaker_type` is \"role\"." }, "name": { "type": "string", "description": "The name of the speaker. Required when `speaker_type` is \"name\"." }, "description": { "type": "string", "description": "A description of the speaker to help the model identify them based on conversational context." } }, "additionalProperties": true } } }, "required": [ "speaker_type" ] } }, "required": [ "speaker_identification" ] }, { "type": "object", "description": "Request body for [Custom Formatting](https://www.assemblyai.com/docs/speech-understanding/custom-formatting).", "properties": { "custom_formatting": { "type": "object", "properties": { "date": { "type": "string", "description": "Date format pattern (e.g., `\"mm/dd/yyyy\"`). See [Custom Formatting](https://www.assemblyai.com/docs/speech-understanding/custom-formatting) for more details." }, "phone_number": { "type": "string", "description": "Phone number format pattern (e.g., `\"(xxx)xxx-xxxx\"`). See [Custom Formatting](https://www.assemblyai.com/docs/speech-understanding/custom-formatting) for more details." }, "email": { "type": "string", "description": "Email format pattern (e.g., `\"username@domain.com\"`). See [Custom Formatting](https://www.assemblyai.com/docs/speech-understanding/custom-formatting) for more details." } } } }, "required": [ "custom_formatting" ] } ] } }, "required": [ "request" ] }, "summarization": { "x-label": "Enable Summarization", "description": "Enable [Summarization](https://www.assemblyai.com/docs/speech-understanding/summarization), can be true or false", "type": "boolean", "default": false }, "summary_model": { "type": "string", "x-label": "Summary model", "description": "The model to summarize the transcript", "x-fern-sdk-group-name": "transcripts", "enum": [ "informative", "conversational", "catchy" ], "x-aai-enum": { "informative": { "label": "Informative" }, "conversational": { "label": "Conversational" }, "catchy": { "label": "Catchy" } } }, "summary_type": { "type": "string", "x-label": "Summary type", "description": "The type of summary", "x-fern-sdk-group-name": "transcripts", "enum": [ "bullets", "bullets_verbose", "gist", "headline", "paragraph" ], "x-aai-enum": { "bullets": { "label": "Bullets" }, "bullets_verbose": { "label": "Bullets verbose" }, "gist": { "label": "Gist" }, "headline": { "label": "Headline" }, "paragraph": { "label": "Paragraph" } } }, "temperature": { "x-label": "Temperature", "description": "Control the amount of randomness injected into the model's response. See the [Prompting Guide](https://www.assemblyai.com/docs/pre-recorded-audio/prompting) for more details.\n\nNote: This parameter can only be used with the Universal-3-Pro model.\n", "type": "number", "minimum": 0, "maximum": 1, "default": 0 }, "custom_topics": { "x-label": "Enable custom topics", "description": "This parameter does not currently have any functionality attached to it.", "type": "boolean", "default": false, "deprecated": true }, "speech_model": { "x-label": "Speech model", "description": "This parameter has been replaced with the `speech_models` parameter, learn more about the `speech_models` parameter [here](https://www.assemblyai.com/docs/pre-recorded-audio/select-the-speech-model).\n", "oneOf": [ { "x-label": "Speech model", "type": "string", "description": "The speech model to use for the transcription. See [Model Selection](https://www.assemblyai.com/docs/pre-recorded-audio/select-the-speech-model) for available models.", "x-fern-sdk-group-name": "transcripts" }, { "type": [ "string", "null" ] } ], "deprecated": true }, "topics": { "x-label": "Custom topics", "description": "This parameter does not currently have any functionality attached to it.", "type": "array", "items": { "x-label": "Topic", "type": "string" }, "deprecated": true } }, "type": "object", "additionalProperties": false, "x-label": "Optional transcript parameters", "description": "Docs: https://www.assemblyai.com/docs/api-reference/transcripts/submit", "x-fern-sdk-group-name": "transcripts", "title": "AssemblyAi async chunked transcription Settings" }, "assembly_ai_v3_streaming": { "type": "object", "properties": { "speech_model": { "description": "The speech model used for your Streaming session.", "enum": [ "universal-streaming-english", "universal-streaming-multilingual", "whisper-rt", "u3-rt-pro", "universal-3-5-pro" ] }, "format_turns": { "description": "Whether to return formatted final transcripts.", "default": false, "type": "boolean" }, "inactivity_timeout": { "description": "Optional time in seconds of inactivity before session is terminated. If not set, no inactivity timeout is applied.", "default": "None", "format": "s", "type": "integer", "minimum": 5, "maximum": 3600 }, "keyterms_prompt": { "description": "A list of words and phrases to improve recognition accuracy for. See [Keyterms Prompting](https://www.assemblyai.com/docs/streaming/keyterms-prompting) for more details.", "type": "array", "items": { "x-label": "Word", "type": "string" } }, "language_detection": { "description": "Whether to detect the language and return language metadata on utterances and final turns. Only available for the multilingual model.", "enum": [ "true", "false", true, false ], "default": "false" }, "max_turn_silence": { "description": "The maximum amount of silence in milliseconds allowed in a turn before end of turn is triggered. See [Turn Detection](https://www.assemblyai.com/docs/streaming/universal-streaming/turn-detection) for configuration details.", "type": "integer", "default": 1280 }, "min_turn_silence": { "description": "The minimum amount of silence in milliseconds required to detect end of turn when confident. See [Turn Detection](https://www.assemblyai.com/docs/streaming/universal-streaming/turn-detection) for configuration details.", "type": "integer", "default": 400 }, "vad_threshold": { "description": "The confidence threshold (0.0 to 1.0) for classifying audio frames as silence. Frames with VAD confidence below this value are considered silent. Increase for noisy environments to reduce false speech detection.", "default": 0.4, "type": "number" }, "end_of_turn_confidence_threshold": { "description": "The confidence threshold (0.0 to 1.0) to use when determining if the end of a turn has been reached. See [Turn Detection](https://www.assemblyai.com/docs/streaming/universal-streaming/turn-detection) for configuration details.", "deprecated": true, "type": "number", "default": 0.4 }, "language": { "description": "The language of your audio stream.", "enum": [ "en", "multi" ], "default": "en", "deprecated": true } }, "title": "AssemblyAi Real-time Transcription Settings", "description": "Docs: https://www.assemblyai.com/docs/api-reference/streaming-api/streaming-api" }, "deepgram_streaming": { "type": "object", "properties": { "diarize": { "description": "Defaults to `false`. Recognize speaker changes. Each word in the transcript will be assigned a speaker number starting at 0", "default": "false", "enum": [ "true", "false", true, false ] }, "dictation": { "description": "Identify and extract key entities from content in submitted audio", "default": "false", "enum": [ "true", "false", true, false ] }, "endpointing": { "description": "Indicates how long Deepgram will wait to detect whether a speaker has finished speaking or pauses for a significant period of time. When set to a value, the streaming endpoint immediately finalizes the transcription for the processed time range and returns the transcript with a speech_final parameter set to true. Can also be set to false to disable endpointing", "default": "10" }, "extra": { "description": "Arbitrary key-value pairs that are attached to the API response for usage in downstream processing" }, "filler_words": { "description": "Filler Words can help transcribe interruptions in your audio, like \"uh\" and \"um\"", "default": "false", "enum": [ "true", "false", true, false ] }, "interim_results": { "description": "Specifies whether the streaming endpoint should provide ongoing transcription updates as more audio is received. When set to true, the endpoint sends continuous updates, meaning transcription results may evolve over time", "default": "false", "enum": [ "true", "false", true, false ] }, "keyterm": { "description": "Key term prompting can boost or suppress specialized terminology and brands. Only compatible with Nova-3" }, "keywords": { "description": "Keywords can boost or suppress specialized terminology and brands" }, "language": { "description": "The [BCP-47 language tag](https://tools.ietf.org/html/bcp47) that hints at the primary spoken language. Depending on the Model you choose only certain languages are available", "default": "en", "enum": [ "bg", "ca", "cs", "da", "da-DK", "de", "de-CH", "el", "en", "en-AU", "en-GB", "en-IN", "en-NZ", "en-US", "es", "es-419", "es-LATAM", "et", "fi", "fr", "fr-CA", "hi", "hi-Latn", "hu", "id", "it", "ja", "ko", "ko-KR", "lt", "lv", "ms", "multi", "nl", "nl-BE", "no", "pl", "pt", "pt-BR", "pt-PT", "ro", "ru", "sk", "sv", "sv-SE", "taq", "th", "th-TH", "tr", "uk", "vi", "zh", "zh-CN", "zh-HK", "zh-Hans", "zh-Hant", "zh-TW" ] }, "mip_opt_out": { "description": "Opts out requests from the Deepgram Model Improvement Program. Refer to our Docs for pricing impacts before setting this to true. https://dpgr.am/deepgram-mip", "default": "false" }, "model": { "description": "AI model to use for the transcription", "enum": [ "nova-3", "nova-3-general", "nova-3-medical", "nova-2", "nova-2-general", "nova-2-meeting", "nova-2-finance", "nova-2-conversationalai", "nova-2-voicemail", "nova-2-video", "nova-2-medical", "nova-2-drivethru", "nova-2-automotive", "nova", "nova-general", "nova-phonecall", "nova-medical", "enhanced", "enhanced-general", "enhanced-meeting", "enhanced-phonecall", "enhanced-finance", "base", "meeting", "phonecall", "finance", "conversationalai", "voicemail", "video", "custom" ] }, "multichannel": { "description": "Transcribe each audio channel independently", "default": "false", "enum": [ "true", "false", true, false ] }, "numerals": { "description": "Convert numbers from written format to numerical format", "default": "false", "enum": [ "true", "false", true, false ] }, "profanity_filter": { "description": "Profanity Filter looks for recognized profanity and converts it to the nearest recognized non-profane word or removes it from the transcript completely", "default": "false", "enum": [ "true", "false", true, false ] }, "punctuate": { "description": "Add punctuation and capitalization to the transcript", "default": "false", "enum": [ "true", "false", true, false ] }, "redact": { "description": "Redaction removes sensitive information from your transcripts", "default": "false", "oneOf": [ { "type": "string" }, { "type": "array", "items": { "type": "string" } } ] }, "replace": { "description": "Search for terms or phrases in submitted audio and replaces them" }, "search": { "description": "Search for terms or phrases in submitted audio" }, "smart_format": { "description": "Apply formatting to transcript output. When set to true, additional formatting will be applied to transcripts to improve readability", "default": "false", "enum": [ "true", "false", true, false ] }, "tag": { "description": "Label your requests for the purpose of identification during usage reporting" }, "utterance_end_ms": { "description": "Indicates how long Deepgram will wait to send an UtteranceEnd message after a word has been transcribed. Use with interim_results" }, "vad_events": { "description": "Indicates that speech has started. You'll begin receiving Speech Started messages upon speech starting", "default": "false", "enum": [ "true", "false", true, false ] }, "version": { "description": "Version of an AI model to use", "default": "latest" } }, "title": "Deepgram Real-time Transcription Settings", "description": "Docs: https://developers.deepgram.com/reference/streaming" }, "gladia_v2_streaming": { "type": "object", "properties": { "custom_metadata": { "type": "object", "description": "Custom metadata you can attach to this live transcription" }, "model": { "type": "string", "description": "The model used to process the audio. \"solaria-1\" is used by default.", "default": "solaria-1", "enum": [ "solaria-1" ] }, "endpointing": { "type": "number", "description": "The endpointing duration in seconds. Endpointing is the duration of silence which will cause an utterance to be considered as finished", "default": 0.05, "minimum": 0.01, "maximum": 10 }, "maximum_duration_without_endpointing": { "type": "number", "description": "The maximum duration in seconds without endpointing. If endpointing is not detected after this duration, current utterance will be considered as finished", "default": 5, "minimum": 5, "maximum": 60 }, "language_config": { "properties": { "languages": { "type": "array", "description": "If one language is set, it will be used for the transcription. Otherwise, language will be auto-detected by the model.", "default": [], "items": { "type": "string", "enum": [ "af", "sq", "am", "ar", "hy", "as", "az", "ba", "eu", "be", "bn", "bs", "br", "bg", "ca", "zh", "hr", "cs", "da", "nl", "en", "et", "fo", "fi", "fr", "gl", "ka", "de", "el", "gu", "ht", "ha", "haw", "he", "hi", "hu", "is", "id", "it", "ja", "jv", "kn", "kk", "km", "ko", "lo", "la", "lv", "ln", "lt", "lb", "mk", "mg", "ms", "ml", "mt", "mi", "mr", "mn", "mymr", "ne", "no", "nn", "oc", "ps", "fa", "pl", "pt", "pa", "ro", "ru", "sa", "sr", "sn", "sd", "si", "sk", "sl", "so", "es", "su", "sw", "sv", "tl", "tg", "ta", "tt", "te", "th", "bo", "tr", "tk", "uk", "ur", "uz", "vi", "cy", "yi", "yo", "jp" ] } }, "code_switching": { "type": "boolean", "description": "If true, language will be auto-detected on each utterance. Otherwise, language will be auto-detected on first utterance and then used for the rest of the transcription. If one language is set, this option will be ignored.", "default": false } }, "type": "object", "description": "Specify the language configuration" }, "pre_processing": { "properties": { "audio_enhancer": { "type": "boolean", "description": "If true, apply pre-processing to the audio stream to enhance the quality.", "default": false }, "speech_threshold": { "type": "number", "description": "Sensitivity configuration for Speech Threshold. A value close to 1 will apply stricter thresholds, making it less likely to detect background sounds as speech.", "default": 0.6, "minimum": 0, "maximum": 1 } }, "type": "object", "description": "Specify the pre-processing configuration" }, "realtime_processing": { "properties": { "custom_vocabulary": { "type": "boolean", "description": "If true, enable custom vocabulary for the transcription.", "default": false }, "custom_vocabulary_config": { "properties": { "vocabulary": { "description": "Specific vocabulary list to feed the transcription model with. Each item can be a string or an object with the following properties: value, intensity, pronunciations, language.", "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "value": { "type": "string", "description": "The text used to replace in the transcription." }, "intensity": { "type": "number", "description": "The global intensity of the feature.", "minimum": 0, "maximum": 1 }, "pronunciations": { "description": "The pronunciations used in the transcription.", "type": "array", "items": { "type": "string" } }, "language": { "type": "string", "description": "Specify the language in which it will be pronounced when sound comparison occurs. Default to transcription language." } }, "required": [ "value" ] }, { "type": "string" } ] } }, "default_intensity": { "type": "number", "description": "Default intensity for the custom vocabulary", "minimum": 0, "maximum": 1 } }, "required": [ "vocabulary" ], "type": "object", "description": "Custom vocabulary configuration, if `custom_vocabulary` is enabled" }, "custom_spelling": { "type": "boolean", "description": "If true, enable custom spelling for the transcription.", "default": false }, "custom_spelling_config": { "properties": { "spelling_dictionary": { "type": "object", "description": "The list of spelling applied on the audio transcription" } }, "required": [ "spelling_dictionary" ], "type": "object", "description": "Custom spelling configuration, if `custom_spelling` is enabled" }, "translation": { "type": "boolean", "description": "If true, enable translation for the transcription", "default": false }, "translation_config": { "properties": { "target_languages": { "type": "array", "minItems": 1, "items": { "type": "string", "description": "The target language in `iso639-1` format", "enum": [ "af", "sq", "am", "ar", "hy", "as", "ast", "az", "ba", "eu", "be", "bn", "bs", "br", "bg", "my", "ca", "ceb", "zh", "hr", "cs", "da", "nl", "en", "et", "fo", "fi", "nl", "fr", "fy", "ff", "gd", "gl", "lg", "ka", "de", "el", "gu", "ht", "ha", "haw", "he", "hi", "hu", "is", "ig", "ilo", "id", "ga", "it", "ja", "jp", "jv", "kn", "kk", "km", "ko", "lo", "la", "lv", "ln", "lt", "lb", "mk", "mg", "ms", "ml", "mt", "mi", "mr", "mo", "mn", "mymr", "ne", "no", "nn", "oc", "or", "pa", "ps", "fa", "pl", "pt", "pa", "ro", "ru", "sa", "sr", "sn", "sd", "si", "sk", "sl", "so", "es", "su", "sw", "ss", "sv", "tl", "tg", "ta", "tt", "te", "th", "bo", "tn", "tr", "tk", "uk", "ur", "uz", "vi", "cy", "wo", "xh", "yi", "yo", "zu" ] } }, "model": { "type": "string", "description": "Model you want the translation model to use to translate", "default": "base", "enum": [ "base", "enhanced" ] }, "match_original_utterances": { "type": "boolean", "description": "Align translated utterances with the original ones", "default": true }, "lipsync": { "type": "boolean", "description": "Whether to apply lipsync to the translated transcription. ", "default": true }, "context_adaptation": { "type": "boolean", "description": "Enables or disables context-aware translation features that allow the model to adapt translations based on provided context.", "default": true }, "context": { "type": "string", "description": "Context information to improve translation accuracy" }, "informal": { "type": "boolean", "description": "Forces the translation to use informal language forms when available in the target language.", "default": false } }, "required": [ "target_languages" ], "type": "object", "description": "Translation configuration, if `translation` is enabled" }, "named_entity_recognition": { "type": "boolean", "description": "If true, enable named entity recognition for the transcription.", "default": false }, "sentiment_analysis": { "type": "boolean", "description": "If true, enable sentiment analysis for the transcription.", "default": false } }, "type": "object", "description": "Specify the realtime processing configuration" }, "post_processing": { "properties": { "summarization": { "type": "boolean", "description": "If true, generates summarization for the whole transcription.", "default": false }, "summarization_config": { "properties": { "type": { "type": "string", "description": "The type of summarization to apply", "default": "general", "enum": [ "general", "bullet_points", "concise" ] } }, "type": "object", "description": "Summarization configuration, if `summarization` is enabled" }, "chapterization": { "type": "boolean", "description": "If true, generates chapters for the whole transcription.", "default": false } }, "type": "object", "description": "Specify the post-processing configuration" }, "messages_config": { "properties": { "receive_final_transcripts": { "type": "boolean", "description": "If true, final utterance will be sent to websocket.", "default": true }, "receive_speech_events": { "type": "boolean", "description": "If true, begin and end speech events will be sent to websocket.", "default": true }, "receive_pre_processing_events": { "type": "boolean", "description": "If true, pre-processing events will be sent to websocket.", "default": true }, "receive_realtime_processing_events": { "type": "boolean", "description": "If true, realtime processing events will be sent to websocket.", "default": true }, "receive_post_processing_events": { "type": "boolean", "description": "If true, post-processing events will be sent to websocket.", "default": true }, "receive_acknowledgments": { "type": "boolean", "description": "If true, acknowledgments will be sent to websocket.", "default": true }, "receive_errors": { "type": "boolean", "description": "If true, errors will be sent to websocket.", "default": true }, "receive_lifecycle_events": { "type": "boolean", "description": "If true, lifecycle events will be sent to websocket.", "default": false } }, "type": "object", "description": "Specify the websocket messages configuration" }, "callback": { "type": "boolean", "description": "If true, messages will be sent to configured url.", "default": false }, "callback_config": { "properties": { "url": { "type": "string", "description": "URL on which we will do a `POST` request with configured messages", "format": "uri" }, "receive_final_transcripts": { "type": "boolean", "description": "If true, final utterance will be sent to the defined callback.", "default": true }, "receive_speech_events": { "type": "boolean", "description": "If true, begin and end speech events will be sent to the defined callback.", "default": false }, "receive_pre_processing_events": { "type": "boolean", "description": "If true, pre-processing events will be sent to the defined callback.", "default": true }, "receive_realtime_processing_events": { "type": "boolean", "description": "If true, realtime processing events will be sent to the defined callback.", "default": true }, "receive_post_processing_events": { "type": "boolean", "description": "If true, post-processing events will be sent to the defined callback.", "default": true }, "receive_acknowledgments": { "type": "boolean", "description": "If true, acknowledgments will be sent to the defined callback.", "default": false }, "receive_errors": { "type": "boolean", "description": "If true, errors will be sent to the defined callback.", "default": false }, "receive_lifecycle_events": { "type": "boolean", "description": "If true, lifecycle events will be sent to the defined callback.", "default": true } }, "type": "object", "description": "Specify the callback configuration" } }, "title": "Gladia Real-time Transcription Settings", "description": "Docs: https://docs.gladia.io/reference/live-audio" }, "rev_streaming": { "type": "object", "properties": { "obscure_expletives": { "type": "boolean" }, "delete_after": { "type": "string", "format": "date-span" }, "audio_options._content_type": { "type": "string" }, "audio_options._layout": { "type": "string" }, "audio_options._rate": { "type": "integer", "format": "int32" }, "audio_options._format": { "type": "string" }, "audio_options._channels": { "type": "integer", "format": "int32" }, "transcriber": { "enum": [ 0, 1 ], "type": "integer", "format": "int32" }, "language": { "type": "string" }, "metadata": { "maxLength": 512, "minLength": 0, "type": "string" }, "filter_profanity": { "type": "boolean" }, "remove_disfluencies": { "type": "boolean" }, "detailed_partials": { "type": "boolean" }, "custom_vocabulary_id": { "type": "string" }, "delete_after_seconds": { "type": "integer", "format": "int32" }, "max_segment_duration_seconds": { "maximum": 30, "minimum": 5, "type": "integer", "format": "int32" }, "max_connection_wait_seconds": { "maximum": 600, "minimum": 60, "type": "integer", "format": "int32" }, "allow_interruption": { "type": "boolean" }, "enable_speaker_switch": { "type": "boolean" }, "start_ts": { "type": "string", "format": "date-span" }, "skip_postprocessing": { "type": "boolean" }, "priority": { "enum": [ 0, 1 ], "type": "integer", "format": "int32" }, "user_agent": { "type": "string" } }, "title": "Rev Real-time Transcription Settings", "description": "Docs: https://docs.rev.ai/api/streaming/requests/" }, "aws_transcribe_streaming": { "type": "object", "description": "You must specify either:\n- `language_code`(e.g `en-US`) OR\n- Set `language_identification` to `true` AND specify `language_options`(e.g `en-US,fr-FR,es-US,de-DE,it-IT`).\n\nDocs: https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_StartStreamTranscription.html", "properties": { "language_code": { "type": "string", "description": "Specify the language code that represents the language spoken. If you're unsure of the language spoken in your audio, consider using IdentifyLanguage to enable automatic language identification." }, "vocabulary_filter_method": { "type": "string", "description": "Specify how you want your vocabulary filter applied to your transcript. To replace words with ***, choose mask. To delete words, choose remove. To flag words without changing them, choose tag." }, "vocabulary_filter_name": { "type": "string", "description": "Specify the name of the custom vocabulary filter that you want to use when processing your transcription. Note that vocabulary filter names are case sensitive. If you use Amazon Transcribe in multiple Regions, the vocabulary filter must be available in Amazon Transcribe in each Region. If you include IdentifyLanguage and want to use one or more vocabulary filters with your transcription, use the VocabularyFilterNames parameter instead." }, "vocabulary_name": { "type": "string", "description": "Specify the name of the custom vocabulary that you want to use when processing your transcription. Note that vocabulary names are case sensitive. If you use Amazon Transcribe multiple Regions, the vocabulary must be available in Amazon Transcribe in each Region. If you include IdentifyLanguage and want to use one or more custom vocabularies with your transcription, use the VocabularyNames parameter instead." }, "region": { "type": "string", "description": "The Amazon Web Services Region in which to use Amazon Transcribe. If you don't specify a Region, then the MediaRegion of the meeting is used. However, if Amazon Transcribe is not available in the MediaRegion, then a TranscriptFailed event is sent. Use auto to use Amazon Transcribe in a Region near the meeting’s MediaRegion. For more information, refer to Choosing a transcription Region in the Amazon Chime SDK Developer Guide." }, "enable_partial_results_stabilization": { "type": "boolean", "description": "Enables partial result stabilization for your transcription. Partial result stabilization can reduce latency in your output, but may impact accuracy." }, "partial_results_stability": { "type": "string", "description": "Specify the level of stability to use when you enable partial results stabilization (EnablePartialResultsStabilization). Low stability provides the highest accuracy. High stability transcribes faster, but with slightly lower accuracy." }, "content_identification_type": { "type": "string", "description": "Labels all personally identifiable information (PII) identified in your transcript. If you don't include PiiEntityTypes, all PII is identified. You can’t set ContentIdentificationType and ContentRedactionType. " }, "content_redaction_type": { "type": "string", "description": "Content redaction is performed at the segment level. If you don't include PiiEntityTypes, all PII is redacted. You can’t set ContentRedactionType and ContentIdentificationType. " }, "pii_entity_types": { "type": "string", "description": "Specify which types of personally identifiable information (PII) you want to redact in your transcript. You can include as many types as you'd like, or you can select ALL. Values must be comma-separated and can include: ADDRESS, BANK_ACCOUNT_NUMBER, BANK_ROUTING, CREDIT_DEBIT_CVV, CREDIT_DEBIT_EXPIRY CREDIT_DEBIT_NUMBER, EMAIL,NAME, PHONE, PIN, SSN, or ALL. Note that if you include PiiEntityTypes, you must also include ContentIdentificationType or ContentRedactionType. If you include ContentRedactionType or ContentIdentificationType, but do not include PiiEntityTypes, all PII is redacted or identified." }, "language_model_name": { "type": "string", "description": "Specify the name of the custom language model that you want to use when processing your transcription. Note that language model names are case sensitive. The language of the specified language model must match the language code. If the languages don't match, the custom language model isn't applied. There are no errors or warnings associated with a language mismatch. If you use Amazon Transcribe in multiple Regions, the custom language model must be available in Amazon Transcribe in each Region." }, "identify_language": { "type": "boolean", "description": "Enables automatic language identification for your transcription. If you include IdentifyLanguage, you can optionally use LanguageOptions to include a list of language codes that you think may be present in your audio stream. Including language options can improve transcription accuracy. You can also use PreferredLanguage to include a preferred language. Doing so can help Amazon Transcribe identify the language faster. You must include either LanguageCode or IdentifyLanguage. Language identification can't be combined with custom language models or redaction." }, "language_options": { "type": "string", "description": "Specify two or more language codes that represent the languages you think may be present in your media; including more than five is not recommended. If you're unsure what languages are present, do not include this parameter. Including language options can improve the accuracy of language identification. If you include LanguageOptions, you must also include IdentifyLanguage. You can only include one language dialect per language. For example, you cannot include en-US and en-AU. " }, "preferred_language": { "type": "string", "description": "Specify a preferred language from the subset of languages codes you specified in LanguageOptions. You can only use this parameter if you include IdentifyLanguage and LanguageOptions." }, "vocabulary_names": { "type": "string", "description": "Specify the names of the custom vocabularies that you want to use when processing your transcription. Note that vocabulary names are case sensitive. If you use Amazon Transcribe in multiple Regions, the vocabulary must be available in Amazon Transcribe in each Region. If you don't include IdentifyLanguage and want to use a custom vocabulary with your transcription, use the VocabularyName parameter instead." }, "vocabulary_filter_names": { "type": "string", "description": "Specify the names of the custom vocabulary filters that you want to use when processing your transcription. Note that vocabulary filter names are case sensitive. If you use Amazon Transcribe in multiple Regions, the vocabulary filter must be available in Amazon Transcribe in each Region. If you're not including IdentifyLanguage and want to use a custom vocabulary filter with your transcription, use the VocabularyFilterName parameter instead." } }, "oneOf": [ { "required": [ "language_code" ] }, { "required": [ "identify_language", "language_options" ], "properties": { "identify_language": { "type": "boolean", "enum": [ true ] } } } ], "title": "AWS Transcribe Streaming Transcription Settings" }, "speechmatics_streaming": { "type": "object", "properties": { "language": { "type": "string" }, "domain": { "type": "string", "description": "Request a specialized model based on 'language' but optimized for a particular field, e.g. \"finance\" or \"medical\"." }, "output_locale": { "type": "string", "minLength": 1 }, "additional_vocab": { "type": "array", "items": { "type": "object", "oneOf": [ { "type": "string", "minLength": 1 }, { "type": "object", "properties": { "content": { "type": "string", "minLength": 1 }, "sounds_like": { "type": "array", "items": { "type": "string", "minLength": 1 }, "minItems": 1 } }, "required": [ "content" ] } ] } }, "diarization": { "type": "string", "enum": [ "none", "speaker" ] }, "max_delay": { "type": "number", "minimum": 0 }, "max_delay_mode": { "type": "string", "enum": [ "flexible", "fixed" ] }, "speaker_diarization_config": { "type": "object", "properties": { "max_speakers": { "type": "number", "format": "integer", "minimum": 2, "maximum": 100 }, "prefer_current_speaker": { "type": "boolean" }, "speaker_sensitivity": { "type": "number", "format": "float", "minimum": 0, "maximum": 1 }, "get_speakers": { "type": "boolean" }, "speakers": { "type": "array", "items": { "type": "object", "properties": { "label": { "type": "string", "minLength": 1 }, "speaker_identifiers": { "type": "array", "items": { "type": "string", "format": "byte" }, "minItems": 1 } }, "required": [ "label", "speaker_identifiers" ] }, "maxItems": 50 } } }, "audio_filtering_config": { "type": "object", "properties": { "volume_threshold": { "type": "number", "format": "float", "minimum": 0, "maximum": 100 } } }, "transcript_filtering_config": { "type": "object", "properties": { "remove_disfluencies": { "type": "boolean" }, "replacements": { "type": "array", "items": { "type": "object", "properties": { "from": { "type": "string" }, "to": { "type": "string" } }, "required": [ "from", "to" ] } } } }, "enable_partials": { "type": "boolean", "default": false }, "enable_entities": { "type": "boolean", "default": true }, "operating_point": { "type": "string", "enum": [ "standard", "enhanced" ] }, "punctuation_overrides": { "type": "object", "properties": { "permitted_marks": { "type": "array", "description": "The punctuation marks which the client is prepared to accept in transcription output, or the special value 'all' (the default). Unsupported marks are ignored. This value is used to guide the transcription process.", "items": { "pattern": "^(.|all)$", "type": "string" } }, "sensitivity": { "type": "number", "description": "Ranges between zero and one. Higher values will produce more punctuation. The default is 0.5.", "format": "float", "maximum": 1, "minimum": 0 } } }, "conversation_config": { "type": "object", "properties": { "end_of_utterance_silence_trigger": { "type": "number", "format": "float", "minimum": 0, "maximum": 2, "default": 0 } }, "description": "This mode will detect when a speaker has stopped talking. The end_of_utterance_silence_trigger is the time in seconds after which the server will assume that the speaker has finished speaking, and will emit an EndOfUtterance message. A value of 0 disables the feature." } }, "required": [ "language" ], "title": "Speechmatics Real-time Transcription Settings", "description": "You must specify `language` (e.g `en`)\n\nDocs: https://docs.speechmatics.com/rt-api-ref#transcription-config" }, "elevenlabs_streaming": { "type": "object", "properties": { "model_id": { "description": "The model to use for transcription.", "type": "string", "default": "eleven_whisper_v2_realtime" }, "language_code": { "description": "ISO 639-1 two-letter language code. When not specified, the model auto-detects the language.", "type": "string" }, "previous_text": { "description": "Text from a previous transcription session to provide context for the model. Sent in the first message to the WebSocket.", "type": "string" } }, "title": "ElevenLabs Real-time Transcription Settings", "description": "Docs: https://elevenlabs.io/docs/api-reference/speech-to-text" }, "meeting_captions": { "allOf": [ { "$ref": "#/$defs/MeetingCaptionsRequest" } ], "title": "Closed captions from the meeting platform", "description": "Captures native meeting platform's built-in closed captions. **[Pros, cons, and supported platforms listed in the following guide.](https://docs.recall.ai/docs/meeting-caption-transcription)**" } } }, "LanguageCodeC40Enum": { "enum": [ "auto", "bg", "ca", "cs", "da", "de", "el", "en", "en_au", "en_uk", "en_us", "es", "et", "fi", "fr", "he", "hi", "hr", "hu", "id", "it", "ja", "ko", "lt", "lv", "ms", "nl", "no", "pl", "pt", "ro", "ru", "sk", "sv", "th", "tr", "uk", "vi", "zh" ], "type": "string", "description": "* `auto` - auto\n* `bg` - bg\n* `ca` - ca\n* `cs` - cs\n* `da` - da\n* `de` - de\n* `el` - el\n* `en` - en\n* `en_au` - en_au\n* `en_uk` - en_uk\n* `en_us` - en_us\n* `es` - es\n* `et` - et\n* `fi` - fi\n* `fr` - fr\n* `he` - he\n* `hi` - hi\n* `hr` - hr\n* `hu` - hu\n* `id` - id\n* `it` - it\n* `ja` - ja\n* `ko` - ko\n* `lt` - lt\n* `lv` - lv\n* `ms` - ms\n* `nl` - nl\n* `no` - no\n* `pl` - pl\n* `pt` - pt\n* `ro` - ro\n* `ru` - ru\n* `sk` - sk\n* `sv` - sv\n* `th` - th\n* `tr` - tr\n* `uk` - uk\n* `vi` - vi\n* `zh` - zh" }, "MeetingCaptionsLanguageCodeEnum": { "enum": [ "cs", "de", "en", "es", "fil", "fr", "he", "hi", "it", "ja", "ko", "nl", "pl", "pt", "pt-BR", "ro", "ru", "sv", "th", "tr", "uk", "vi", "zh" ], "type": "string", "description": "* `cs` - Czech\n* `de` - German\n* `en` - English\n* `es` - Spanish\n* `fil` - Filipino\n* `fr` - French\n* `he` - Hebrew\n* `hi` - Hindi\n* `it` - Italian\n* `ja` - Japanese\n* `ko` - Korean\n* `nl` - Dutch\n* `pl` - Polish\n* `pt` - Portuguese\n* `pt-BR` - Portuguese (Brazil)\n* `ro` - Romanian\n* `ru` - Russian\n* `sv` - Swedish\n* `th` - Thai\n* `tr` - Turkish\n* `uk` - Ukrainian\n* `vi` - Vietnamese\n* `zh` - Chinese" }, "MeetingCaptionsRequest": { "type": "object", "properties": { "language_code": { "nullable": true, "title": "Language for captions. If not specified, the selection is meeting platform-specific.", "allOf": [ { "$ref": "#/$defs/MeetingCaptionsLanguageCodeEnum" } ] } } }, "RecallaiSpellingEntryRequest": { "type": "object", "properties": { "find": { "type": "array", "items": { "type": "string", "minLength": 1 }, "description": "Find any of these items in the source transcript" }, "replace": { "type": "string", "minLength": 1, "description": "Replace found matches with this exact string (will not change case)" } }, "required": [ "find", "replace" ] }, "RecallaiStreamingTranscriptionModeEnum": { "enum": [ "prioritize_low_latency", "prioritize_accuracy" ], "type": "string", "description": "* `prioritize_low_latency` - prioritize_low_latency\n* `prioritize_accuracy` - prioritize_accuracy" }, "RecallaiStreamingTranscriptionRequest": { "type": "object", "properties": { "language_code": { "allOf": [ { "$ref": "#/$defs/LanguageCodeC40Enum" } ], "default": "auto", "description": "Must be `en` in low latency mode. Docs: https://docs.recall.ai/docs/recallai-transcription\n\n* `auto` - auto\n* `bg` - bg\n* `ca` - ca\n* `cs` - cs\n* `da` - da\n* `de` - de\n* `el` - el\n* `en` - en\n* `en_au` - en_au\n* `en_uk` - en_uk\n* `en_us` - en_us\n* `es` - es\n* `et` - et\n* `fi` - fi\n* `fr` - fr\n* `he` - he\n* `hi` - hi\n* `hr` - hr\n* `hu` - hu\n* `id` - id\n* `it` - it\n* `ja` - ja\n* `ko` - ko\n* `lt` - lt\n* `lv` - lv\n* `ms` - ms\n* `nl` - nl\n* `no` - no\n* `pl` - pl\n* `pt` - pt\n* `ro` - ro\n* `ru` - ru\n* `sk` - sk\n* `sv` - sv\n* `th` - th\n* `tr` - tr\n* `uk` - uk\n* `vi` - vi\n* `zh` - zh" }, "spelling": { "type": "array", "items": { "$ref": "#/$defs/RecallaiSpellingEntryRequest" }, "description": "List of text strings to find/replace in the transcript." }, "key_terms": { "type": "array", "items": { "type": "string", "minLength": 1 }, "description": "Increases the chances that these terms appear in the transcript over some sound-alikes." }, "filter_profanity": { "type": "boolean", "default": false }, "mode": { "allOf": [ { "$ref": "#/$defs/RecallaiStreamingTranscriptionModeEnum" } ], "default": "prioritize_accuracy", "description": "The mode of the transcription algorithm. If you just want the transcript very quickly after the call is over, use `prioritize_accuracy`. If you need the words on realtime endpoints within seconds of utterance, use `prioritize_low_latency`, with the caveat that most features are unsupported in low latency mode.\n\n* `prioritize_low_latency` - prioritize_low_latency\n* `prioritize_accuracy` - prioritize_accuracy" } } }, "StartRecordingOnEnum": { "enum": [ "call_join", "participant_join", "participant_speak" ], "type": "string", "description": "* `call_join` - call_join\n* `participant_join` - participant_join\n* `participant_speak` - participant_speak" }, "VideoMixedLayoutEnum": { "enum": [ "speaker_view", "gallery_view", "gallery_view_v2", "audio_only" ], "type": "string", "description": "* `speaker_view` - speaker_view\n* `gallery_view` - gallery_view\n* `gallery_view_v2` - gallery_view_v2\n* `audio_only` - audio_only" }, "VideoMixedParticipantVideoWhenScreenshareEnum": { "enum": [ "hide", "beside", "overlap" ], "type": "string", "description": "* `hide` - hide\n* `beside` - beside\n* `overlap` - overlap" } } }