{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-docs/voice-2.0/sidebars.yaml","api-docs-docs/voice-2.0/api-reference/voice.yaml":"api-docs-docs/voice-2.0/api-reference/voice.yaml"},"props":{"metadata":{"markdoc":{"tagList":["partial","openapi-code-sample","json-schema","json-example"]},"product":"Voice v2 (preview)","type":"markdown"},"seo":{"title":"Sinch Voice API Markup Language | Voice API v2 API | Sinch","siteUrl":"https://developers.sinch.com","llmstxt":{"title":"Sinch Developer Documentation","description":"LLMs.txt containing a map of all the documentation files for Sinch.","sections":[{"title":"Numbers API","description":"The Numbers API enables you to search for, view, and activate numbers. It's considered a precursor to other APIs in the Sinch product family. The numbers API can be used in tandem with any of our APIs that perform messaging or calling.","includeFiles":["docs/numbers/**/*.md","docs/numbers/**/*.yaml"],"excludeFiles":["docs/numbers/index.md"]},{"title":"Conversation API","description":"Send and receive messages globally on many popular channels with ease and confidence when using Sinch's Conversation API. Conversation API is the preferred API for sending mobile messages on SMS and other social channels with Sinch. It is a simple API with unified error messages, consistent request payloads, and common webhook payloads that are channel-agnostic.","includeFiles":["docs/conversation/**/*.md","docs/conversation/**/*.yaml"],"excludeFiles":["docs/conversation/index.md"]},{"title":"Voice API (legacy/GA)","description":"Which Voice API? If you are building something using voice AI agents, use the Voice API v2. To learn more, you can read [Why migrate to v2?](/docs/voice-2.0/migration.md) or [What's new?](/docs/voice-2.0/whatsnew.md).\n\nThe Voice API works as a big telephony switch. The Voice API handles incoming phone calls (also known as incoming call “legs”), sets up outgoing phone calls (or outgoing call “legs”), and bridges the two. The incoming call leg may come in over a data connection (from a smartphone or web application using the Sinch SDKs) or through a local phone number (from the PSTN network). Similarly, the outgoing call leg can be over data (to another smartphone or web application using the Sinch SDKs) or the PSTN network.","includeFiles":["docs/voice/**/*.md"],"excludeFiles":["docs/voice/index.md"]},{"title":"Voice API v2 (recommended for new builds/preview)","description":"Which Voice API? If you are building something using voice AI agents, use the Voice API v2. To learn more, you can read [Why migrate to v2?](/docs/voice-2.0/migration.md) or [What's new?](/docs/voice-2.0/whatsnew.md).\n\nThe Voice API v2 enables embedding voice calling into applications for virtually limitless use cases. From voice-enabling AI agents to allow real-time conversational AI workflows over the phone, to number masking for privacy, automated appointment reminders, and outreach campaigns with answering machine detection, to bridging calls between PSTN and SIP endpoints, the API offers the flexibility and control needed for modern communications. The Sinch Programmable Voice is a cloud-native global voice platform, composed by multiple Inbound and Outbound voice channels. All these channels can be combined using our powerful markup language called SVAML v2, creating a toolbox capable of building almost limitless use cases. Our SVAML uses the concept of commands, and customers can use a combination of our commands to interact with calls in all channels, in order to model from the most basic to highly complex scenarios, required to fulfill their voice calling needs.","includeFiles":["docs/voice-2.0/**/*.md"],"excludeFiles":["docs/voice-2.0/index.md"]},{"title":"Verification API","description":"The Verification API is a platform for phone number verification. It consists of the API and different software development kits (the Sinch SDKs) that you integrate with your smartphone or web application and cloud based back-end services. Together they enable SMS, Flashcall, Phone Call and Data verification in your application.","includeFiles":["docs/verification/**/*.md","docs/verification/**/*.yaml"],"excludeFiles":["docs/verification/index.md"]},{"title":"Provisioning API","description":"Provisioning API allows you to programmatically set up your senders, accounts and templates on your favorite messaging platforms on the Conversation API. For now, you can create your first WhatsApp channel through Meta's Embedded sign up, you can configure your first SMS App and configure your webhooks. As development continues, we will be adding the most commonly used channels.","includeFiles":["docs/provisioning-api/**/*.md","docs/provisioning-api/**/*.json"],"excludeFiles":["docs/provisioning-api/index.md"]},{"title":"Elastic SIP Trunking API","description":"With Elastic SIP Trunking you can create and manage your SIP trunks and phone numbers programmatically.","includeFiles":["docs/est/**/*.md","docs/est/**/*.yaml"],"excludeFiles":["docs/est/index.md"]},{"title":"Fax API","description":"Send and receive HIPAA compliant faxes on our modern fax platform using our developer-friendly API.","includeFiles":["docs/fax/**/*.md","docs/fax/**/*.yaml"],"excludeFiles":["docs/fax/index.md"]},{"title":"In-app Voice and Video SDK","description":"The In-app Voice and Video SDK enables you to add voice and video calling capabilities directly into your mobile or web application using the Sinch SDKs.","includeFiles":["docs/in-app-calling/**/*.md"],"excludeFiles":["docs/in-app-calling/index.md"]},{"title":"Number Lookup API","description":"The Number Lookup API is designed to provide in-depth information about phone numbers, helping enterprises enhance their communication strategies and prevent fraud. By identifying the type of phone line (for example, mobile, landline, VoIP) and the associated carrier, the API allows businesses to optimize routing, reduce unnecessary costs, and improve customer engagement.","includeFiles":["docs/number-lookup-api-v2/**/*.md","docs/number-lookup-api-v2/**/*.yaml"],"excludeFiles":["docs/number-lookup-api-v2/index.md"]},{"title":"Functions","description":"Serverless compute for voice and messaging. Deploy your code and Sinch routes live calls and messages to it — no infrastructure to run.","includeFiles":["docs/functions/functions/**/*.md","docs/functions/concepts/**/*.md","docs/functions/ai-support.md","docs/functions/reference/**/*.md"],"excludeFiles":["docs/functions/functions/index.md"]},{"title":"CLI","description":"One command line for Sinch numbers, messaging, voice, fax, SIP trunking and porting, and the full Functions lifecycle — scaffold, run locally, deploy, and manage.","includeFiles":["docs/functions/cli/**/*.md"],"excludeFiles":["docs/functions/cli/index.md"]}]},"description":"Read about how SVAML commands work in the the Voice API v2 API."},"dynamicMarkdocComponents":["openapi"],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Accordion","attributes":{"title":"Sinch Voice API: Choosing between v1 and v2","expanded":false},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For all new projects, please use Voice API v2. This is especially important for projects involving:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["AI capabilities like Streams and Voice Relay"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Voice campaigns like Batch calling"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You should only use the older Voice API v1 if one of the following is a strict requirement:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The project must be in General Availability (GA)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The project requires In-App voice or Conferencing (until these features are available in v2)."]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"controlling-calls-svaml-v2","__idx":0},"children":["Controlling Calls (SVAML v2)"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["SVAML (Sinch Voice API Markup Language) v2 is a powerful command language for controlling call flows. It consists of a list of commands sent to the API to manage calls, either as part of call setup or dynamically during a call."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"command-structure","__idx":1},"children":["Command Structure"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["SVAML commands are sent as a JSON array of objects, each representing an action to be performed on the call."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Each command has a type (e.g., ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["dial"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["message"]},", etc.) and may include parameters specific to it as well as related event handlers."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Commands can be nested or chained, allowing for complex call flows (e.g., gather input, then play audio, then dial out)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Commands can be sent as part of the initial call setup or in response to events (e.g., call answered)."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A SVAML command has the following basic structure:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"command\": \"command_type\",\n  \"parameter1\": \"command_specific_parameter_value\",\n  \"parameter2\": \"command_specific_parameter_value\",\n  \"events\": [\n    {\n      \"on_event_name\": [\n        {\n          \"command\": \"another_command_type\",\n          \"parameter\": \"another_value\"\n        }\n      ]\n    }\n  ]\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"common-command-types","__idx":2},"children":["Common Command Types"]},{"$$mdtype":"Tag","name":"OpenApiCodeSample","attributes":{"descriptionFile":"api-docs-docs/voice-2.0/api-reference/voice.yaml","operationId":"createCall","language":"Payload","parameters":{},"environments":{},"codeSamplesResolved":[{"lang":"json","title":"Payload application/json","source":"{\n  \"commands\": [\n    {\n      \"command\": \"dial\",\n      \"callName\": \"origin\",\n      \"from\": {\n        \"type\": \"PHONE\",\n        \"phone\": {\n          \"number\": \"+15551234567\"\n        }\n      },\n      \"to\": {\n        \"type\": \"PHONE\",\n        \"phone\": {\n          \"number\": \"+15559876543\"\n        }\n      },\n      \"dialTimeoutDurationSeconds\": 30,\n      \"maxCallDurationSeconds\": 3600,\n      \"events\": {\n        \"onAnswer\": [\n          {\n            \"command\": \"messages\",\n            \"messages\": [\n              {\n                \"type\": \"SAY\",\n                \"say\": {\n                  \"text\": \"Hello, your call is now connected.\",\n                  \"voiceName\": \"Emma_3\"\n                }\n              }\n            ]\n          }\n        ],\n        \"onHangup\": [\n          {\n            \"command\": \"hangup\"\n          }\n        ]\n      }\n    }\n  ]\n}"}]},"children":[]},{"$$mdtype":"Tag","name":"JsonSchema","attributes":{"schema":{"$ref":"./voice.yaml#/components/schemas/svamlCommands"},"options":{},"schemaResolved":{"openapi":"3.1.0","components":{"schemas":{"__root":{"$ref":"#/components/schemas/svamlCommands"},"svamlCommands":{"type":"array","title":"SVAML Commands","description":"An ordered list of SVAML v2 (Sinch Voice Application Markup Language) commands that describe a call flow. Commands are executed sequentially in the order they are defined.\n\n**Blocking vs. non-blocking:** Some commands block execution until they complete (`pause`, `webhook`, `menu`, `gotoMenu`), while others return immediately and run in parallel (`dial`, `messages`, `amd`, `answer`, `hangup`, `startRecording`, `stopRecording`, `bridgeCall`, `stopMessages`). Each command's description specifies its behavior.\n\n**Nesting scope:** Commands that appear inside event handlers (e.g., `dial.events.onAnswer`, `messages.events.onFinish`) form independent sequences and execute in their own context — they are not continuations of the parent sequence.\n\n**Nesting depth:** A SVAML payload can be nested at most 128 levels deep, counting every JSON object and array from the root of the document. Each command nested inside an event handler adds three levels (the command object, its `events` object and the handler array), which allows roughly 40 levels of nested commands. A request that exceeds the limit is rejected with `400 Bad Request`; a webhook response that exceeds it counts as a failed delivery.","items":{"$ref":"#/components/schemas/svamlCommand"}},"amdEvents":{"type":"object","additionalProperties":false,"title":"AMD Events","description":"SVAML commands to execute based on the answering machine detection result. These events define different call flows depending on whether a human, machine, beep, or unknown entity answers the call, or whether a machine answered without a beep being detected.","properties":{"onHuman":{"description":"SVAML commands to be executed when a human is detected","$ref":"#/components/schemas/svamlCommands"},"onMachine":{"description":"SVAML commands to be executed when a machine is detected","$ref":"#/components/schemas/svamlCommands"},"onBeep":{"description":"SVAML commands to be executed when a beep is detected","$ref":"#/components/schemas/svamlCommands"},"onNoBeep":{"description":"SVAML commands to be executed when a machine is detected, but no beep is detected. This event follows `onMachine` and is mutually exclusive with `onBeep`.","$ref":"#/components/schemas/svamlCommands"},"onUnknown":{"description":"SVAML commands to be executed when an unknown event is detected","$ref":"#/components/schemas/svamlCommands"}}},"amd":{"type":"object","additionalProperties":false,"title":"Answering Machine Detection","description":"AMD (Answering Machine Detection) command to detect what answered the call. Possible outcomes are: human, machine, beep, no beep, or unknown.\n\nThis is a non-blocking command — the next command in the sequence executes immediately while detection runs in parallel. Results are delivered via the `events` property.","required":["command"],"properties":{"command":{"type":"string","const":"amd","description":"Command to run Answering Machine Detection on the call"},"events":{"$ref":"#/components/schemas/amdEvents"}},"examples":[{"command":"amd","events":{"onHuman":[{"command":"pause","durationMilliseconds":1000},{"command":"bridgeCall","bridgeName":"my-bridge"}],"onBeep":[{"command":"messages","messagesName":"my-amd-messages","messages":[{"type":"SAY","say":{"text":"Hello, this is a test message","voiceName":"Emma_3"}}]}]}}]},"phoneNumber":{"title":"Phone Number","type":"string","pattern":"^\\+[1-9]\\d{1,14}$","minLength":3,"maxLength":16,"description":"E.164 Phone number","examples":["+4673522488"]},"phone":{"type":"object","additionalProperties":false,"title":"Phone","description":"Routes the call to a phone number on the Public Switched Telephone Network (PSTN).","required":["type","phone"],"properties":{"type":{"type":"string","const":"PHONE","description":"Routes the call to a phone number on the Public Switched Telephone Network (PSTN). The number must be in E.164 format."},"phone":{"type":"object","additionalProperties":false,"required":["number"],"properties":{"number":{"$ref":"#/components/schemas/phoneNumber"}}}},"examples":[{"type":"PHONE","phone":{"number":"+4673522488"}}]},"sipFrom":{"type":"object","additionalProperties":false,"title":"SIP Origin","required":["type","sip"],"properties":{"type":{"type":"string","const":"SIP","description":"Indicates the call originated from a SIP (Session Initiation Protocol) endpoint."},"sip":{"type":"object","additionalProperties":false,"required":["endpoint"],"properties":{"endpoint":{"type":"string","description":"SIP URI of the originating endpoint. Both `sip:` (unencrypted) and `sips:` (TLS-encrypted) schemes are supported.","format":"uri","pattern":"^sips?:.*\\S$","maxLength":192},"displayName":{"type":"string","description":"Display name presented to the called party as the caller identity. Transmitted as the display name part of the SIP `From` header (for example, `Alice <sip:alice@example.com>`).","maxLength":64,"example":"Alice"}}}},"examples":[{"type":"SIP","sip":{"endpoint":"sip:user@example.com","displayName":"Alice"}}]},"from":{"description":"Call origin - Phone Number or SIP endpoint","oneOf":[{"$ref":"#/components/schemas/phone"},{"$ref":"#/components/schemas/sipFrom"}],"discriminator":{"propertyName":"type","mapping":{"PHONE":"#/components/schemas/phone","SIP":"#/components/schemas/sipFrom"}}},"sipCallHeaders":{"type":"array","description":"Custom SIP headers to be sent in the call setup.","maxItems":16,"items":{"type":"object","additionalProperties":false,"required":["key"],"properties":{"key":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[-A-Za-z0-9.!%*_+`'~]+$","description":"Name of the SIP header.","example":"X-Correlation-Id"},"value":{"type":"string","maxLength":255,"description":"Value of the SIP header.","example":"12345"}}},"examples":[[{"key":"X-Correlation-Id","value":"12345"},{"key":"X-Call-Routing","value":"forwarded"}]]},"sip":{"type":"object","additionalProperties":false,"title":"SIP Endpoint","required":["type","sip"],"properties":{"type":{"type":"string","const":"SIP","description":"Routes the call to a SIP (Session Initiation Protocol) endpoint."},"sip":{"type":"object","additionalProperties":false,"required":["endpoint"],"properties":{"endpoint":{"type":"string","description":"SIP URI of the destination endpoint. Both `sip:` (unencrypted) and `sips:` (TLS-encrypted) schemes are supported.","format":"uri","maxLength":256,"pattern":"^sips?:.*\\S$"},"transport":{"type":"string","description":"Transport protocol to use for the SIP signalling channel.\n\nIf omitted, the platform selects a default based on the URI scheme: `UDP` for `sip:` and `TLS` for `sips:`. Setting this explicitly overrides that default — for example, to force `TCP` for a `sip:` URI or to use `TLS` without switching to the `sips:` scheme.","enum":["UDP","TCP","TLS"],"x-enumDescriptions":{"UDP":"Connectionless transport. Lowest overhead; suitable for most standard SIP deployments.","TCP":"Connection-oriented transport. More reliable for large SIP messages or NAT traversal scenarios.","TLS":"Encrypted transport. Provides confidentiality and integrity for SIP signalling."}},"callHeaders":{"$ref":"#/components/schemas/sipCallHeaders"}}}},"examples":[{"type":"SIP","sip":{"endpoint":"sip:user@example.com","transport":"TCP","callHeaders":[{"key":"X-Correlation-Id","value":"12345"},{"key":"X-Call-Routing","value":"forwarded"}]}}]},"callHeaders":{"type":"array","description":"Custom headers to be sent in the call setup.","maxItems":16,"items":{"type":"object","additionalProperties":false,"required":["key"],"properties":{"key":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[\\x21-\\x7e]+([\\x20\\t]+[\\x21-\\x7e]+)*$","description":"Name of the header. No leading or trailing whitespaces allowed.","example":"headerKey"},"value":{"type":"string","maxLength":255,"pattern":"^([\\x21-\\x7e]+([\\x20\\t]+[\\x21-\\x7e]+)*)?$","description":"Value of the header. No leading or trailing whitespaces allowed.","example":"headerValue"}}},"examples":[[{"key":"headerKey","value":"headerValue"},{"key":"anotherKey","value":"anotherValue"}]]},"stream":{"type":"object","additionalProperties":false,"title":"Stream","description":"Routes the call to a WebSocket stream endpoint for real-time audio processing.","required":["type","stream"],"properties":{"type":{"type":"string","const":"STREAM","description":"Routes the call to a WebSocket stream endpoint for real-time audio processing."},"stream":{"type":"object","additionalProperties":false,"required":["endpoint"],"properties":{"endpoint":{"type":"string","description":"WebSocket endpoint that will accept the incoming connection for real-time audio streaming. Must be a valid WebSocket URL using either `ws://` or `wss://` (recommended). The URL must be reachable from the public internet and capable of handling the negotiated stream protocol.","example":"wss://example.com"},"streamOptions":{"type":"object","additionalProperties":false,"properties":{"version":{"type":"integer","const":1,"description":"Defines the version of the stream protocol, which determines the format of the binary audio messages exchanged over the WebSocket connection.\n\nCurrently, only version `1` is supported: binary messages contain only audio data, and audio received from the WebSocket server is played as soon as it is received.","default":1,"example":1},"codec":{"type":"string","const":"PCM","description":"Defines the audio codec/format used for the stream audio payload.\n\nCurrently, only `PCM` is supported (uncompressed raw audio). Use `sampleRate` to configure the sampling rate for the stream."},"sampleRate":{"type":"integer","description":"Defines the audio sampling rate (Hz) used for the stream.\n\nFor calls that traverse the PSTN, audio is typically sampled at 8 kHz, so using a higher value will not improve perceived quality. \nHigher sample rates can be useful for non-PSTN scenarios (for example, SIP/streaming paths), but will increase bandwidth usage and processing load.","enum":[8000,16000,24000,44100,48000,96000],"x-enumDescriptions":{"8000":"8 kHz (standard for PSTN calls)","16000":"16 kHz (wideband audio)","24000":"24 kHz (super-wideband audio)","44100":"44.1 kHz (CD quality audio)","48000":"48 kHz (professional audio quality)","96000":"96 kHz (high-resolution audio)"},"default":8000,"example":16000}}},"callHeaders":{"$ref":"#/components/schemas/callHeaders"}},"examples":[{"endpoint":"wss://example.com","streamOptions":{"version":1,"codec":"PCM","sampleRate":8000},"callHeaders":[{"key":"my-key","value":"my-key-value"}]}]}},"examples":[{"type":"STREAM","stream":{"endpoint":"wss://example.com","streamOptions":{"version":1,"codec":"PCM","sampleRate":16000},"callHeaders":[{"key":"my-key","value":"my-key-value"}]}}]},"voiceName":{"type":"string","description":"Sinch Voice Name to use for text-to-speech. Each voice is tied to a specific language variant, gender, and pricing model (Free/Standard or Paid/Generative). See [https://developers.sinch.com/docs/voice-2.0/api-reference/text-to-speech-voices#text-to-speech-voices](https://developers.sinch.com/docs/voice-2.0/api-reference/text-to-speech-voices#currently-available-languages) for details","example":"Emma_3","enum":["Aarav","Aarav_2","Aarohi","Aarti","Aarti_2","Aarti_3","Aashi","Abbi","Abdullah","Abeo","Abril","Achara","Ada","Ada_2","Adam","Adam_2","Aditi","Adri","Adriano","Agnieszka","Ahmet","Aigul","Ainhoa","Alain","Alba","Aled","Aleksandar","Alessio","Alessio_2","Alex","Alfie","Ali","Alina","Alloy","Alloy_2","Alonso","Alvaro","Amal","Amala","Amanda","Amany","Amber","Ambre","Ameha","Amina","Amy","Amy_2","Amy_3","Ana","Anahit","Ananya","Ananya_2","Anbu","Ander","Andre","Andre_2","Andrea","Andres","Andrew","Andrew_2","Andrew_3","Angelo","Anila","Annette","Antoine","Antonin","Antonio","Anu","Aoi","Arabella","Ardi","Aria","Aria_2","Ariane","Arjun","Arjun_2","Arjun_3","Arlet","Arnau","Arnaud","Arthur","Arya","Arya_2","Asad","Ashley","Asilia","Astrid","Athina","Ava","Ava_2","Ava_3","Avri","Ayanda","Ayanda_2","Aysha","Babek","Banu","Bashkar","Bassel","Bataa","Beatrice","Beatriz","Belkys","Bella","Benigno","Bernd","Bianca","Bianca_2","Bianca_3","Blessica","BongJin","Borislav","Brandon","Brandon_2","Bree","Brenda","Brian","Brian_2","Brian_3","Brigitte","Bryan","Bryan_2","Bryan_3","Burcu","Calimero","Camila","Camilla","Camilla_2","Camilla_3","Candela","Carla","Carlos","Carlota","Carly","Carmen","Cataldo","Catalina","Cecilio","Celeste","Celine","Celine_2","Chantal","Chanthavong","Charline","Chilemba","Christel","Christoph","Christopher","Christopher_2","Clara","Claude","Colette","Colm","Conchita","Connor","Conrad","Cora","Cora_2","Coralie","Cristiano","Daichi","Dalia","Dalia_2","Daniel","Daniel_2","Danielle","Danielle_2","Dario","Dariya","Darren","Daudi","Daulet","Davis","Davis_2","Davis_3","Dena","Denise","Derek","Dhwani","Diego","Dilara","Dimas","Dmitry","Donato","Dora","Duarte","Duncan","Dustin","Echo","Eka","Elena","Elias","Elimu","Elin","Elizabeth","Elke","Elliot","Eloise","Elsa","Elsie","Elvira","Elza","Emel","Emil","Emilio","Emily","Emma","Emma_2","Emma_3","Enric","Enrique","Eric","Estrella","Ethan","Evelyn","Everita","Ewa","Ewa_2","Ezinne","Fabio","Fabiola","Fable","Fabrice","Fahed","Farid","Fatima","Federico","Fenna","Fernanda","Fiamma","Filiz","Finn","Florian","Florian_2","Florin","Francisca","Freya","Gabrielle","Gabrielle_2","Gabrijela","Gadis","Gagan","Gemma","Gemma_2","Geraint","Gerard","Gerardo","Gianni","Giorgi","Giorgio","Giovanna","Gisela","Giuseppe","Giuseppe_2","Gonzalo","GookMin","Goran","Grace","Gregory","Gudrun","Gul","GulNawaz","Gunnar","Guy","Gwyneth","Hala","Hamdan","Hamed","Hannah","Hannah_2","Hans","Harri","Hayk","Hedi","Hemkala","Henri","Hila","Hillevi","HiuGaai","Hiujin","HiuMaan","HoaiMy","Hollie","HsiaoChen","HsiaoYu","Humberto","Hyunsu","Hyunsu_2","Hyunsu_3","Ida","Ilir","Iman","Imani","Imelda","Ines","Ines_2","Ingrid","InJoon","Irene","Irma","Isabella","Isabella_2","Isabella_3","Isabelle","Isabelle_2","Iselin","Isidora","Ismael","Ivy","Ivy_2","Jacek","Jacob","Jacqueline","Jajang","Jamal","James","Jan","Jane","Jane_2","Jann","Jasmine","Jasmine_2","Jason","Javier","Jean","Jenny","Jenny_2","Jenny_3","Jeppe","Jerome","Jihye","JiMin","Jimmie","Jitka","Joana","Joanna","Joanna_2","Joanna_3","Joanne","Joey","Joey_2","Jonas","Jorge","Jorge_2","Joseph","Josephine","Juan","Julio","Justin","Justin_2","Kai","Kajal","Kajal_2","Kalina","Kani","Karina","Karl","Karla","Kasper","Katja","Kavya","Kavya_2","Kazuha","Keita","Ken","Kendra","Kendra_2","Keomany","Kert","Kevin","Killian","Kim","Kimberly","Kimberly_2","Klarissa","Klaus","Kumar","Kunal","Kunal_2","Laia","Laila","Laith","Larissa","Latifa","Laura","Laura_2","Layla","Lea","Lea_2","Lea_3","Leah","Leila","Leni","Lennart","Leonas","Leticia","Lewis","Lia","Liam","Lian","Lian_2","Libby","Liberto","Lisa","Lisa_2","Lisandro","Liv","Livia","Livia_2","Lola","Lorena","Lorenzio","Lorenzo","Lotte","Louisa","Lucia","Lucia_2","Lucia_3","Luciano","Lucien","Luis","Lukas","Luke","Luna","Luna_2","Lupe","Lupe_2","Lupe_3","Maarten","Macerio","Macerio_2","Madhur","Madina","Mads","Maisie","Maja","Manohar","Manuel","Manuela","Marcello","Marcelo","Marek","Margarita","Maria","Marija","Marina","Mario","Marlene","Marta","Maryam","Masaru","Mateo","Mathieu","Matthew","Matthew_2","Matthew_3","Mattias","Maurice","Maxim","Maya","Mayu","Mekdes","Mia","Mia_2","Mia_3","Michelle","Midhun","Miguel","Mitchell","Mizuki","Moaz","Mohan","Molly","Monica","Mouna","Muuse","Nabanita","Naja","NamMinh","Nanami","Nanami_2","Nancy","Nancy_2","Naoki","Natasha","Neerja","Neerja_2","Neil","Nestoras","Nia","Niamh","Niamh_2","Nicholas","Nicholas_2","Nicolau","Nicole","Nil","Nilar","Nils","Niranjan","Niwat","Noah","Noemi","Noora","Noura","Nova","Nova_2","Nuria","Ojas","Ola","Ola_2","Oliver","Olivia","Ollie","Ollie_2","Omar","Ona","Onyx","Orla","Osman","Ostap","Pallavi","Palmira","Paloma","Paola","Pedro","Pedro_2","Pelayo","Penelope","Pernille","Petra","Phoebe","Phoebe_2","Pierina","Piseth","Polina","Prabhat","Prabhat_2","Pradeep","Premwadee","Priyom","Rafiki","Ralf","Rami","Ramona","Rana","Raquel","Raveena","Reem","Rehaan","Rehaan_2","Rehema","Remi","Remi_2","Remy","Remy_2","Renata","Ricardo","Rinaldo","Roberto","Rodrigo","Roger","Roi","Rok","Rosa","Ruben","Russell","Ruth","Ruth_2","Ryan","Ryan_2","Sabela","Sabrina","Sabrina_2","Sagar","Saleh","Salli","Salli_2","Salli_3","Salma","Salman","Salome","Sam","Sameera","Samuel","Sana","Sapna","Sara","Saranya","Sardor","Saul","Sebastian","Selma","SeoHyeon","Seoyeon","Seoyeon_2","Seoyeon_3","Seraphina","Seraphina_2","Serena","Serena_2","Sergio","Sergio_2","Shakir","Shimmer","Shiori","Shruti","Siqiniq","Siqiniq_2","Siti","Sobhana","Soffie","Sofia","Sofie","Sonia","SoonBok","Sophie","Sophie_2","Srecko","Sreymom","Steffan","Steffan_2","Steffan_3","Stephen","Stephen_2","Subhasini","Sukant","SunHi","SunHi_2","Surya","Suvi","Svetlana","Swara","Sylvie","Sylvie_2","Taim","Takumi","Takumi_2","Tamas","Tania","Tanishaa","Tanja","Taqqiq","Taqqiq_2","Tatyana","Teo","Teresa","Thalita","Thalita_2","Thalita_3","Thando","Themba","Thiago","Thierry","Thierry_2","Thiha","Thilini","Thomas","Tiana","Tiffany","Tim","Tina","Tomas","Tomoko","Tony","Triana","Tristan_ES","Tristan_ES_2","Tuti","Tyler","Ubax","Uzma","Vaani","Valentina","Valerio","Valluvar","Venba","Vera","Vesna","Vicki","Vicki_2","Vicki_3","Victor","Viktoria","Vitoria","Vitoria_2","Vivienne","Vivienne_2","Vlasta","WanLung","Wayne","Willem","William","William_2","Xiaochen","Xiaochen_2","Xiaochen_3","Xiaochen_4","Xiaohan","Xiaohan_2","Xiaomeng","XiaoMin","Xiaomo","Xiaoqiu","Xiaorou","Xiaorui","Xiaoshuang","Xiaoshuang_2","Xiaoshuang_3","Xiaotong","Xiaoxiao","Xiaoxiao_2","Xiaoxiao_3","Xiaoxiao_4","Xiaoxiao_5","Xiaoyan","Xiaoyi","Xiaoyi_2","Xiaoyou","Xiaoyou_2","Xiaoyou_3","Xiaoyu","Xiaoyu_2","Xiaozhen","Ximena_ES","Ximena_ES_2","Ximena_ES_3","Yago","Yan","Yara","Yashica","Yasmin","Yesui","Yolanda","YuJin","Yundeng","Yunfan","Yunfan_2","Yunfeng","Yunhan","Yunhao","YunJhe","Yunjian","Yunjie","YunSong","Yunxi","Yunxi_2","Yunxia","Yunxia_2","Yunxiang","Yunxiao","Yunxiao_2","Yunyang","Yunye","Yunye_2","Yunyi","Yunyi_2","Yunze","Yunzhe","Yves","Yvette","Zariyah","Zayd","Zeina","Zhiyu","Zhiyu_2","Zofia","Zuri"],"x-enumDescriptions":{"Aarav":"Male voice for Hindi (India) (Free voice)","Aarav_2":"Male voice for English (India) (Free voice)","Aarohi":"Female voice for Marathi (India) (Free voice)","Aarti":"Female voice for Hindi (India) (Free voice)","Aarti_2":"Female voice for English (India) (Free voice)","Aarti_3":"Female voice for English (India) (Free voice)","Aashi":"Female voice for English (India) (Free voice)","Abbi":"Female voice for English (United Kingdom) (Free voice)","Abdullah":"Male voice for Arabic (Oman) (Free voice)","Abeo":"Male voice for English (Nigeria) (Free voice)","Abril":"Female voice for Spanish (Spain) (Free voice)","Achara":"Female voice for Thai (Thailand) (Free voice)","Ada":"Female voice for English (United Kingdom) (Free voice)","Ada_2":"Female voice for English (United Kingdom) (Paid voice)","Adam":"Male voice for English (United States) (Free voice)","Adam_2":"Male voice for English (United States) (Paid voice)","Aditi":"Female voice for English (India) (Free voice)","Adri":"Female voice for Afrikaans (South Africa) (Free voice)","Adriano":"Male voice for Italian (Italy) (Free voice)","Agnieszka":"Female voice for Polish (Poland) (Free voice)","Ahmet":"Male voice for Turkish (Türkiye) (Free voice)","Aigul":"Female voice for Kazakh (Kazakhstan) (Free voice)","Ainhoa":"Female voice for Basque (Free voice)","Alain":"Male voice for French (France) (Free voice)","Alba":"Female voice for Catalan (Free voice)","Aled":"Male voice for Welsh (United Kingdom) (Free voice)","Aleksandar":"Male voice for Macedonian (North Macedonia) (Free voice)","Alessio":"Male voice for Italian (Italy) (Free voice)","Alessio_2":"Male voice for Italian (Italy) (Paid voice)","Alex":"Male voice for Spanish (Peru) (Free voice)","Alfie":"Male voice for English (United Kingdom) (Free voice)","Ali":"Male voice for Arabic (Bahrain) (Free voice)","Alina":"Female voice for Romanian (Romania) (Free voice)","Alloy":"Male voice for English (United States) (Free voice)","Alloy_2":"Male voice for English (United States) (Paid voice)","Alonso":"Male voice for Spanish (United States) (Free voice)","Alvaro":"Male voice for Spanish (Spain) (Free voice)","Amal":"Female voice for Arabic (Qatar) (Free voice)","Amala":"Female voice for German (Germany) (Free voice)","Amanda":"Female voice for English (United States) (Free voice)","Amany":"Female voice for Arabic (Syria) (Free voice)","Amber":"Female voice for English (United States) (Free voice)","Ambre":"Female voice for French (France) (Paid voice)","Ameha":"Male voice for Amharic (Ethiopia) (Free voice)","Amina":"Female voice for Arabic (Algeria) (Free voice)","Amy":"Female voice for English (United Kingdom) (Free voice)","Amy_2":"Female voice for English (United Kingdom) (Free voice)","Amy_3":"Female voice for English (United Kingdom) (Paid voice)","Ana":"Female voice for English (United States) (Free voice)","Anahit":"Female voice for Armenian (Armenia) (Free voice)","Ananya":"Female voice for Hindi (India) (Free voice)","Ananya_2":"Female voice for English (India) (Free voice)","Anbu":"Male voice for Tamil (Singapore) (Free voice)","Ander":"Male voice for Basque (Free voice)","Andre":"Male voice for Spanish (Mexico) (Free voice)","Andre_2":"Male voice for Spanish (Mexico) (Paid voice)","Andrea":"Female voice for Spanish (Ecuador) (Free voice)","Andres":"Male voice for Spanish (Guatemala) (Free voice)","Andrew":"Male voice for English (United States) (Free voice)","Andrew_2":"Male voice for English (United States) (Free voice)","Andrew_3":"Male voice for English (United States) (Paid voice)","Angelo":"Male voice for Filipino (Philippines) (Free voice)","Anila":"Female voice for Albanian (Albania) (Free voice)","Annette":"Female voice for English (Australia) (Free voice)","Antoine":"Male voice for French (Canada) (Free voice)","Antonin":"Male voice for Czech (Czechia) (Free voice)","Antonio":"Male voice for Portuguese (Brazil) (Free voice)","Anu":"Female voice for Estonian (Estonia) (Free voice)","Aoi":"Female voice for Japanese (Japan) (Free voice)","Arabella":"Female voice for Spanish (Spain) (Free voice)","Ardi":"Male voice for Indonesian (Indonesia) (Free voice)","Aria":"Female voice for English (United States) (Free voice)","Aria_2":"Female voice for English (United States) (Paid voice)","Ariane":"Female voice for French (Switzerland) (Free voice)","Arjun":"Male voice for English (India) (Free voice)","Arjun_2":"Male voice for English (India) (Free voice)","Arjun_3":"Male voice for Hindi (India) (Free voice)","Arlet":"Female voice for Catalan (Free voice)","Arnau":"Male voice for Spanish (Spain) (Free voice)","Arnaud":"Male voice for Dutch (Belgium) (Free voice)","Arthur":"Male voice for English (United Kingdom) (Free voice)","Arya":"Female voice for English (New Zealand) (Free voice)","Arya_2":"Female voice for English (New Zealand) (Paid voice)","Asad":"Male voice for Urdu (Pakistan) (Free voice)","Ashley":"Female voice for English (United States) (Free voice)","Asilia":"Female voice for English (Kenya) (Free voice)","Astrid":"Female voice for Swedish (Sweden) (Free voice)","Athina":"Female voice for Greek (Greece) (Free voice)","Ava":"Female voice for English (United States) (Free voice)","Ava_2":"Female voice for English (United States) (Free voice)","Ava_3":"Female voice for English (United States) (Paid voice)","Avri":"Male voice for Hebrew (Israel) (Free voice)","Ayanda":"Female voice for English (South Africa) (Free voice)","Ayanda_2":"Female voice for English (South Africa) (Paid voice)","Aysha":"Female voice for Arabic (Oman) (Free voice)","Babek":"Male voice for Azerbaijani (Latin, Azerbaijan) (Free voice)","Banu":"Female voice for Azerbaijani (Latin, Azerbaijan) (Free voice)","Bashkar":"Male voice for Bengali (India) (Free voice)","Bassel":"Male voice for Arabic (Iraq) (Free voice)","Bataa":"Male voice for Mongolian (Mongolia) (Free voice)","Beatrice":"Female voice for Italian (Italy) (Paid voice)","Beatriz":"Female voice for Spanish (Mexico) (Free voice)","Belkys":"Female voice for Spanish (Cuba) (Free voice)","Bella":"Female voice for English (United Kingdom) (Free voice)","Benigno":"Male voice for Italian (Italy) (Free voice)","Bernd":"Male voice for German (Germany) (Free voice)","Bianca":"Female voice for Italian (Italy) (Free voice)","Bianca_2":"Female voice for Italian (Italy) (Free voice)","Bianca_3":"Female voice for Italian (Italy) (Paid voice)","Blessica":"Female voice for Filipino (Philippines) (Free voice)","BongJin":"Male voice for Korean (Korea) (Free voice)","Borislav":"Male voice for Bulgarian (Bulgaria) (Free voice)","Brandon":"Male voice for English (United States) (Free voice)","Brandon_2":"Male voice for English (United States) (Free voice)","Bree":"Female voice for English (United States) (Paid voice)","Brenda":"Female voice for Portuguese (Brazil) (Free voice)","Brian":"Male voice for English (United States) (Free voice)","Brian_2":"Male voice for English (United States) (Free voice)","Brian_3":"Male voice for English (United States) (Paid voice)","Brigitte":"Female voice for French (France) (Free voice)","Bryan":"Male voice for English (United Kingdom) (Free voice)","Bryan_2":"Male voice for English (United Kingdom) (Free voice)","Bryan_3":"Male voice for English (United Kingdom) (Paid voice)","Burcu":"Female voice for Turkish (Türkiye) (Free voice)","Calimero":"Male voice for Italian (Italy) (Free voice)","Camila":"Female voice for Spanish (Peru) (Free voice)","Camilla":"Female voice for Portuguese (Brazil) (Free voice)","Camilla_2":"Female voice for Portuguese (Brazil) (Free voice)","Camilla_3":"Female voice for Portuguese (Brazil) (Paid voice)","Candela":"Female voice for Spanish (Mexico) (Free voice)","Carla":"Female voice for Italian (Italy) (Free voice)","Carlos":"Male voice for Spanish (Honduras) (Free voice)","Carlota":"Female voice for Spanish (Mexico) (Free voice)","Carly":"Female voice for English (Australia) (Free voice)","Carmen":"Female voice for Romanian (Romania) (Free voice)","Cataldo":"Male voice for Italian (Italy) (Free voice)","Catalina":"Female voice for Spanish (Chile) (Free voice)","Cecilio":"Male voice for Spanish (Mexico) (Free voice)","Celeste":"Female voice for French (France) (Free voice)","Celine":"Female voice for French (France) (Free voice)","Celine_2":"Female voice for French (France) (Paid voice)","Chantal":"Female voice for French (Canada) (Free voice)","Chanthavong":"Male voice for Lao (Laos) (Free voice)","Charline":"Female voice for French (Belgium) (Free voice)","Chilemba":"Male voice for English (Kenya) (Free voice)","Christel":"Female voice for Danish (Denmark) (Free voice)","Christoph":"Male voice for German (Germany) (Free voice)","Christopher":"Male voice for English (United States) (Free voice)","Christopher_2":"Male voice for English (United States) (Free voice)","Clara":"Female voice for English (Canada) (Free voice)","Claude":"Male voice for French (France) (Free voice)","Colette":"Female voice for Dutch (Netherlands) (Free voice)","Colm":"Male voice for Irish (Ireland) (Free voice)","Conchita":"Female voice for Spanish (Castilian) (Free voice)","Connor":"Male voice for English (Ireland) (Free voice)","Conrad":"Male voice for German (Germany) (Free voice)","Cora":"Female voice for English (United States) (Free voice)","Cora_2":"Female voice for English (United States) (Free voice)","Coralie":"Female voice for French (France) (Free voice)","Cristiano":"Male voice for Portuguese (Brazil) (Free voice)","Daichi":"Male voice for Japanese (Japan) (Free voice)","Dalia":"Female voice for Spanish (Mexico) (Free voice)","Dalia_2":"Female voice for Spanish (Mexico) (Free voice)","Daniel":"Male voice for German (Germany) (Free voice)","Daniel_2":"Male voice for German (Germany) (Paid voice)","Danielle":"Female voice for English (United States) (Free voice)","Danielle_2":"Female voice for English (United States) (Paid voice)","Dario":"Male voice for Spanish (Spain) (Free voice)","Dariya":"Female voice for Russian (Russia) (Free voice)","Darren":"Male voice for English (Australia) (Free voice)","Daudi":"Male voice for Swahili (Tanzania) (Free voice)","Daulet":"Male voice for Kazakh (Kazakhstan) (Free voice)","Davis":"Male voice for English (United States) (Free voice)","Davis_2":"Male voice for English (United States) (Free voice)","Davis_3":"Male voice for English (United States) (Paid voice)","Dena":"Female voice for Dutch (Belgium) (Free voice)","Denise":"Female voice for French (France) (Free voice)","Derek":"Male voice for English (United States) (Free voice)","Dhwani":"Female voice for Gujarati (India) (Free voice)","Diego":"Male voice for Italian (Italy) (Free voice)","Dilara":"Female voice for Persian (Iran) (Free voice)","Dimas":"Male voice for Javanese (Latin, Indonesia) (Free voice)","Dmitry":"Male voice for Russian (Russia) (Free voice)","Donato":"Male voice for Portuguese (Brazil) (Free voice)","Dora":"Female voice for Icelandic (Iceland) (Free voice)","Duarte":"Male voice for Portuguese (Portugal) (Free voice)","Duncan":"Male voice for English (Australia) (Free voice)","Dustin":"Male voice for English (United States) (Free voice)","Echo":"Male voice for English (United States) (Free voice)","Eka":"Female voice for Georgian (Georgia) (Free voice)","Elena":"Female voice for Spanish (Argentina) (Free voice)","Elias":"Male voice for Spanish (Spain) (Free voice)","Elimu":"Male voice for English (Tanzania) (Free voice)","Elin":"Female voice for Swedish (Sweden) (Free voice)","Elizabeth":"Female voice for English (United States) (Free voice)","Elke":"Female voice for German (Germany) (Free voice)","Elliot":"Male voice for English (United Kingdom) (Free voice)","Eloise":"Female voice for French (France) (Free voice)","Elsa":"Female voice for Italian (Italy) (Free voice)","Elsie":"Female voice for English (Australia) (Free voice)","Elvira":"Female voice for Spanish (Spain) (Free voice)","Elza":"Female voice for Portuguese (Brazil) (Free voice)","Emel":"Female voice for Turkish (Türkiye) (Free voice)","Emil":"Male voice for Romanian (Romania) (Free voice)","Emilio":"Male voice for Spanish (Dominican Republic) (Free voice)","Emily":"Female voice for English (Ireland) (Free voice)","Emma":"Female voice for English (United States) (Free voice)","Emma_2":"Female voice for English (United States) (Free voice)","Emma_3":"Female voice for English (United States) (Paid voice)","Enric":"Male voice for Catalan (Free voice)","Enrique":"Male voice for Spanish (Castilian) (Free voice)","Eric":"Male voice for English (United States) (Free voice)","Estrella":"Female voice for Spanish (Spain) (Free voice)","Ethan":"Male voice for English (United Kingdom) (Free voice)","Evelyn":"Female voice for English (United States) (Free voice)","Everita":"Female voice for Latvian (Latvia) (Free voice)","Ewa":"Female voice for Polish (Poland) (Free voice)","Ewa_2":"Female voice for Polish (Poland) (Paid voice)","Ezinne":"Female voice for English (Nigeria) (Free voice)","Fabio":"Male voice for Portuguese (Brazil) (Free voice)","Fabiola":"Female voice for Italian (Italy) (Free voice)","Fable":"Neutral voice for English (United States) (Free voice)","Fabrice":"Male voice for French (Switzerland) (Free voice)","Fahed":"Male voice for Arabic (Kuwait) (Free voice)","Farid":"Male voice for Persian (Iran) (Free voice)","Fatima":"Female voice for Arabic (United Arab Emirates) (Free voice)","Federico":"Male voice for Spanish (Nicaragua) (Free voice)","Fenna":"Female voice for Dutch (Netherlands) (Free voice)","Fernanda":"Female voice for Portuguese (Portugal) (Free voice)","Fiamma":"Female voice for Italian (Italy) (Free voice)","Filiz":"Female voice for Turkish (Türkiye) (Free voice)","Finn":"Male voice for Norwegian (Norway) (Free voice)","Florian":"Male voice for German (Germany) (Free voice)","Florian_2":"Male voice for German (Germany) (Paid voice)","Florin":"Male voice for French (France) (Paid voice)","Francisca":"Female voice for Portuguese (Brazil) (Free voice)","Freya":"Female voice for English (Australia) (Free voice)","Gabrielle":"Female voice for French (Canada) (Free voice)","Gabrielle_2":"Female voice for French (Canada) (Paid voice)","Gabrijela":"Female voice for Croatian (Croatia) (Free voice)","Gadis":"Female voice for Indonesian (Indonesia) (Free voice)","Gagan":"Male voice for Kannada (India) (Free voice)","Gemma":"Female voice for English (United Kingdom) (Free voice)","Gemma_2":"Female voice for English (United Kingdom) (Free voice)","Geraint":"Male voice for Welsh (United Kingdom) (Free voice)","Gerard":"Male voice for French (Belgium) (Free voice)","Gerardo":"Male voice for Spanish (Mexico) (Free voice)","Gianni":"Male voice for Italian (Italy) (Free voice)","Giorgi":"Male voice for Georgian (Georgia) (Free voice)","Giorgio":"Male voice for Italian (Italy) (Free voice)","Giovanna":"Female voice for Portuguese (Brazil) (Free voice)","Gisela":"Female voice for German (Germany) (Free voice)","Giuseppe":"Male voice for Italian (Italy) (Free voice)","Giuseppe_2":"Male voice for Italian (Italy) (Free voice)","Gonzalo":"Male voice for Spanish (Colombia) (Free voice)","GookMin":"Male voice for Korean (Korea) (Free voice)","Goran":"Male voice for Bosnian (Bosnia and Herzegovina) (Free voice)","Grace":"Female voice for Maltese (Malta) (Free voice)","Gregory":"Male voice for English (United States) (Free voice)","Gudrun":"Female voice for Icelandic (Iceland) (Free voice)","Gul":"Female voice for Urdu (India) (Free voice)","GulNawaz":"Male voice for Pashto (Afghanistan) (Free voice)","Gunnar":"Male voice for Icelandic (Iceland) (Free voice)","Guy":"Male voice for English (United States) (Free voice)","Gwyneth":"Female voice for Welsh (United Kingdom) (Free voice)","Hala":"Female voice for Arabic (Saudi Arabia) (Free voice)","Hamdan":"Male voice for Arabic (United Arab Emirates) (Free voice)","Hamed":"Male voice for Arabic (Saudi Arabia) (Free voice)","Hannah":"Female voice for German (Austria) (Free voice)","Hannah_2":"Female voice for German (Austria) (Paid voice)","Hans":"Male voice for German (Germany) (Free voice)","Harri":"Male voice for Finnish (Finland) (Free voice)","Hayk":"Male voice for Armenian (Armenia) (Free voice)","Hedi":"Male voice for Arabic (Tunisia) (Free voice)","Hemkala":"Female voice for Nepali (Nepal) (Free voice)","Henri":"Male voice for French (France) (Free voice)","Hila":"Female voice for Hebrew (Israel) (Free voice)","Hillevi":"Female voice for Swedish (Sweden) (Free voice)","HiuGaai":"Female voice for Chinese (Cantonese, Traditional) (Free voice)","Hiujin":"Female voice for Chinese (Cantonese) (Free voice)","HiuMaan":"Female voice for Chinese (Cantonese, Traditional) (Free voice)","HoaiMy":"Female voice for Vietnamese (Vietnam) (Free voice)","Hollie":"Female voice for English (United Kingdom) (Free voice)","HsiaoChen":"Female voice for Chinese (Taiwanese Mandarin, Traditional) (Free voice)","HsiaoYu":"Female voice for Chinese (Taiwanese Mandarin, Traditional) (Free voice)","Humberto":"Male voice for Portuguese (Brazil) (Free voice)","Hyunsu":"Male voice for Korean (Korea) (Free voice)","Hyunsu_2":"Male voice for Korean (Korea) (Free voice)","Hyunsu_3":"Male voice for Korean (Korea) (Paid voice)","Ida":"Female voice for Norwegian (Norway) (Free voice)","Ilir":"Male voice for Albanian (Albania) (Free voice)","Iman":"Female voice for Arabic (Libya) (Free voice)","Imani":"Female voice for English (Tanzania) (Free voice)","Imelda":"Female voice for Italian (Italy) (Free voice)","Ines":"Female voice for Portuguese (Brazil) (Free voice)","Ines_2":"Female voice for Portuguese (Brazil) (Free voice)","Ingrid":"Female voice for German (Austria) (Free voice)","InJoon":"Male voice for Korean (Korea) (Free voice)","Irene":"Female voice for Spanish (Spain) (Free voice)","Irma":"Female voice for Italian (Italy) (Free voice)","Isabella":"Female voice for Italian (Italy) (Free voice)","Isabella_2":"Female voice for Italian (Italy) (Free voice)","Isabella_3":"Female voice for Italian (Italy) (Paid voice)","Isabelle":"Female voice for French (Belgium) (Free voice)","Isabelle_2":"Female voice for French (Belgium) (Paid voice)","Iselin":"Female voice for Norwegian (Norway) (Free voice)","Isidora":"Female voice for Spanish (Spain) (Free voice)","Ismael":"Male voice for Arabic (Algeria) (Free voice)","Ivy":"Female voice for English (United States) (Free voice)","Ivy_2":"Female voice for English (United States) (Free voice)","Jacek":"Male voice for Polish (Poland) (Free voice)","Jacob":"Male voice for English (United States) (Free voice)","Jacqueline":"Female voice for French (France) (Free voice)","Jajang":"Male voice for Sundanese (Indonesia) (Free voice)","Jamal":"Male voice for Arabic (Morocco) (Free voice)","James":"Male voice for English (Philippines) (Free voice)","Jan":"Male voice for German (Switzerland) (Free voice)","Jane":"Female voice for English (United States) (Free voice)","Jane_2":"Female voice for English (United States) (Paid voice)","Jann":"Male voice for Polish (Poland) (Free voice)","Jasmine":"Female voice for English (Singapore) (Free voice)","Jasmine_2":"Female voice for English (Singapore) (Paid voice)","Jason":"Male voice for English (United States) (Free voice)","Javier":"Male voice for Spanish (Equatorial Guinea) (Free voice)","Jean":"Male voice for French (Canada) (Free voice)","Jenny":"Female voice for English (United States) (Free voice)","Jenny_2":"Female voice for English (United States) (Free voice)","Jenny_3":"Female voice for English (United States) (Paid voice)","Jeppe":"Male voice for Danish (Denmark) (Free voice)","Jerome":"Male voice for French (France) (Free voice)","Jihye":"Female voice for Korean (Korea) (Free voice)","JiMin":"Female voice for Korean (Korea) (Free voice)","Jimmie":"Male voice for English (United States) (Free voice)","Jitka":"Female voice for Czech (Czechia) (Free voice)","Joana":"Female voice for Catalan (Free voice)","Joanna":"Female voice for English (United States) (Free voice)","Joanna_2":"Female voice for English (United States) (Free voice)","Joanna_3":"Female voice for English (United States) (Paid voice)","Joanne":"Female voice for English (Australia) (Free voice)","Joey":"Male voice for English (United States) (Free voice)","Joey_2":"Male voice for English (United States) (Free voice)","Jonas":"Male voice for German (Austria) (Free voice)","Jorge":"Male voice for Spanish (Mexico) (Free voice)","Jorge_2":"Male voice for Spanish (Mexico) (Free voice)","Joseph":"Male voice for Maltese (Malta) (Free voice)","Josephine":"Female voice for French (France) (Free voice)","Juan":"Male voice for Spanish (Costa Rica) (Free voice)","Julio":"Male voice for Portuguese (Brazil) (Free voice)","Justin":"Male voice for English (United States) (Free voice)","Justin_2":"Male voice for English (United States) (Free voice)","Kai":"Male voice for English (United States) (Free voice)","Kajal":"Female voice for English (India) (Free voice)","Kajal_2":"Female voice for English (India) (Paid voice)","Kalina":"Female voice for Bulgarian (Bulgaria) (Free voice)","Kani":"Female voice for Tamil (Malaysia) (Free voice)","Karina":"Female voice for Spanish (Puerto Rico) (Free voice)","Karl":"Male voice for Icelandic (Iceland) (Free voice)","Karla":"Female voice for Spanish (Honduras) (Free voice)","Kasper":"Male voice for German (Germany) (Free voice)","Katja":"Female voice for German (Germany) (Free voice)","Kavya":"Female voice for Hindi (India) (Free voice)","Kavya_2":"Female voice for English (India) (Free voice)","Kazuha":"Female voice for Japanese (Japan) (Free voice)","Keita":"Male voice for Japanese (Japan) (Free voice)","Ken":"Male voice for English (Australia) (Free voice)","Kendra":"Female voice for English (United States) (Free voice)","Kendra_2":"Female voice for English (United States) (Free voice)","Keomany":"Female voice for Lao (Laos) (Free voice)","Kert":"Male voice for Estonian (Estonia) (Free voice)","Kevin":"Male voice for English (United States) (Free voice)","Killian":"Male voice for German (Germany) (Free voice)","Kim":"Female voice for English (Australia) (Free voice)","Kimberly":"Female voice for English (United States) (Free voice)","Kimberly_2":"Female voice for English (United States) (Free voice)","Klarissa":"Female voice for German (Germany) (Free voice)","Klaus":"Male voice for German (Germany) (Free voice)","Kumar":"Male voice for Tamil (Sri Lanka) (Free voice)","Kunal":"Male voice for Hindi (India) (Free voice)","Kunal_2":"Male voice for English (India) (Free voice)","Laia":"Female voice for Spanish (Spain) (Free voice)","Laila":"Female voice for Arabic (Bahrain) (Free voice)","Laith":"Male voice for Arabic (Syria) (Free voice)","Larissa":"Female voice for Spanish (Mexico) (Free voice)","Latifa":"Female voice for Pashto (Afghanistan) (Free voice)","Laura":"Female voice for Dutch (Netherlands) (Free voice)","Laura_2":"Female voice for Dutch (Netherlands) (Paid voice)","Layla":"Female voice for Arabic (Lebanon) (Free voice)","Lea":"Female voice for French (France) (Free voice)","Lea_2":"Female voice for French (France) (Free voice)","Lea_3":"Female voice for French (France) (Paid voice)","Leah":"Female voice for English (South Africa) (Free voice)","Leila":"Female voice for Portuguese (Brazil) (Free voice)","Leni":"Female voice for German (Switzerland) (Free voice)","Lennart":"Male voice for German (Germany) (Paid voice)","Leonas":"Male voice for Lithuanian (Lithuania) (Free voice)","Leticia":"Female voice for Portuguese (Brazil) (Free voice)","Lewis":"Male voice for English (United States) (Free voice)","Lia":"Female voice for Spanish (Spain) (Free voice)","Liam":"Male voice for English (Canada) (Free voice)","Lian":"Male voice for French (Canada) (Free voice)","Lian_2":"Male voice for French (Canada) (Paid voice)","Libby":"Female voice for English (United Kingdom) (Free voice)","Liberto":"Male voice for Spanish (Mexico) (Free voice)","Lisa":"Female voice for Dutch (Belgium) (Free voice)","Lisa_2":"Female voice for Dutch (Belgium) (Paid voice)","Lisandro":"Male voice for Italian (Italy) (Free voice)","Liv":"Female voice for Norwegian (Norway) (Free voice)","Livia":"Female voice for English (Australia) (Free voice)","Livia_2":"Female voice for English (Australia) (Paid voice)","Lola":"Female voice for English (United States) (Free voice)","Lorena":"Female voice for Spanish (El Salvador) (Free voice)","Lorenzio":"Male voice for Italian (Italy) (Paid voice)","Lorenzo":"Male voice for Spanish (Chile) (Free voice)","Lotte":"Female voice for Dutch (Netherlands) (Free voice)","Louisa":"Female voice for German (Germany) (Free voice)","Lucia":"Female voice for Spanish (Castilian) (Free voice)","Lucia_2":"Female voice for Spanish (Castilian) (Free voice)","Lucia_3":"Female voice for Spanish (Castilian) (Paid voice)","Luciano":"Male voice for Spanish (Mexico) (Free voice)","Lucien":"Male voice for French (France) (Free voice)","Luis":"Male voice for Spanish (Ecuador) (Free voice)","Lukas":"Male voice for Slovak (Slovakia) (Free voice)","Luke":"Male voice for English (South Africa) (Free voice)","Luna":"Female voice for English (Singapore) (Free voice)","Luna_2":"Female voice for English (United States) (Free voice)","Lupe":"Female voice for Spanish (United States) (Free voice)","Lupe_2":"Female voice for Spanish (United States) (Free voice)","Lupe_3":"Female voice for Spanish (United States) (Paid voice)","Maarten":"Male voice for Dutch (Netherlands) (Free voice)","Macerio":"Male voice for Portuguese (Brazil) (Free voice)","Macerio_2":"Male voice for Portuguese (Brazil) (Paid voice)","Madhur":"Male voice for Hindi (India) (Free voice)","Madina":"Female voice for Uzbek (Latin, Uzbekistan) (Free voice)","Mads":"Male voice for Danish (Denmark) (Free voice)","Maisie":"Female voice for English (United Kingdom) (Free voice)","Maja":"Female voice for German (Germany) (Free voice)","Manohar":"Male voice for Marathi (India) (Free voice)","Manuel":"Male voice for Spanish (Cuba) (Free voice)","Manuela":"Female voice for Portuguese (Brazil) (Free voice)","Marcello":"Male voice for Italian (Italy) (Free voice)","Marcelo":"Male voice for Spanish (Bolivia) (Free voice)","Marek":"Male voice for Polish (Poland) (Free voice)","Margarita":"Female voice for Spanish (Panama) (Free voice)","Maria":"Female voice for Spanish (Costa Rica) (Free voice)","Marija":"Female voice for Macedonian (North Macedonia) (Free voice)","Marina":"Female voice for Spanish (Mexico) (Free voice)","Mario":"Male voice for Spanish (Paraguay) (Free voice)","Marlene":"Female voice for German (Germany) (Free voice)","Marta":"Female voice for Spanish (Guatemala) (Free voice)","Maryam":"Female voice for Arabic (Yemen) (Free voice)","Masaru":"Male voice for Japanese (Japan) (Paid voice)","Mateo":"Male voice for Spanish (Uruguay) (Free voice)","Mathieu":"Male voice for French (France) (Free voice)","Matthew":"Male voice for English (United States) (Free voice)","Matthew_2":"Male voice for English (United States) (Free voice)","Matthew_3":"Male voice for English (United States) (Paid voice)","Mattias":"Male voice for Swedish (Sweden) (Free voice)","Maurice":"Male voice for French (France) (Free voice)","Maxim":"Male voice for Russian (Russia) (Free voice)","Maya":"Female voice for Polish (Poland) (Free voice)","Mayu":"Female voice for Japanese (Japan) (Free voice)","Mekdes":"Female voice for Amharic (Ethiopia) (Free voice)","Mia":"Female voice for Spanish (Mexico) (Free voice)","Mia_2":"Female voice for Spanish (Mexico) (Free voice)","Mia_3":"Female voice for Spanish (Mexico) (Paid voice)","Michelle":"Female voice for English (United States) (Free voice)","Midhun":"Male voice for Malayalam (India) (Free voice)","Miguel":"Male voice for Spanish (United States) (Free voice)","Mitchell":"Male voice for English (New Zealand) (Free voice)","Mizuki":"Female voice for Japanese (Japan) (Free voice)","Moaz":"Male voice for Arabic (Qatar) (Free voice)","Mohan":"Male voice for Telugu (India) (Free voice)","Molly":"Female voice for English (New Zealand) (Free voice)","Monica":"Female voice for English (United States) (Free voice)","Mouna":"Female voice for Arabic (Morocco) (Free voice)","Muuse":"Male voice for Somali (Somalia) (Free voice)","Nabanita":"Female voice for Bangla (Bangladesh) (Free voice)","Naja":"Female voice for Danish (Denmark) (Free voice)","NamMinh":"Male voice for Vietnamese (Vietnam) (Free voice)","Nanami":"Female voice for Japanese (Japan) (Free voice)","Nanami_2":"Female voice for Japanese (Japan) (Paid voice)","Nancy":"Female voice for English (United States) (Free voice)","Nancy_2":"Female voice for English (United States) (Free voice)","Naoki":"Male voice for Japanese (Japan) (Free voice)","Natasha":"Female voice for English (Australia) (Free voice)","Neerja":"Female voice for English (India) (Free voice)","Neerja_2":"Female voice for English (India) (Free voice)","Neil":"Male voice for English (Australia) (Free voice)","Nestoras":"Male voice for Greek (Greece) (Free voice)","Nia":"Female voice for Welsh (United Kingdom) (Free voice)","Niamh":"Female voice for English (Ireland) (Free voice)","Niamh_2":"Female voice for English (Ireland) (Paid voice)","Nicholas":"Male voice for Serbian (Cyrillic, Serbia) (Free voice)","Nicholas_2":"Male voice for Serbian (Latin, Serbia) (Free voice)","Nicolau":"Male voice for Portuguese (Brazil) (Free voice)","Nicole":"Female voice for English (Australia) (Free voice)","Nil":"Male voice for Spanish (Spain) (Free voice)","Nilar":"Female voice for Burmese (Myanmar) (Free voice)","Nils":"Male voice for Latvian (Latvia) (Free voice)","Niranjan":"Male voice for Gujarati (India) (Free voice)","Niwat":"Male voice for Thai (Thailand) (Free voice)","Noah":"Male voice for English (United Kingdom) (Free voice)","Noemi":"Female voice for Hungarian (Hungary) (Free voice)","Noora":"Female voice for Finnish (Finland) (Free voice)","Noura":"Female voice for Arabic (Kuwait) (Free voice)","Nova":"Female voice for English (United States) (Free voice)","Nova_2":"Female voice for English (United States) (Paid voice)","Nuria":"Female voice for Spanish (Mexico) (Free voice)","Ojas":"Male voice for Punjabi (India) (Free voice)","Ola":"Female voice for Polish (Poland) (Free voice)","Ola_2":"Female voice for Polish (Poland) (Paid voice)","Oliver":"Male voice for English (United Kingdom) (Free voice)","Olivia":"Female voice for English (United Kingdom) (Free voice)","Ollie":"Male voice for English (United Kingdom) (Free voice)","Ollie_2":"Male voice for English (United Kingdom) (Paid voice)","Omar":"Male voice for Arabic (Libya) (Free voice)","Ona":"Female voice for Lithuanian (Lithuania) (Free voice)","Onyx":"Male voice for English (United States) (Free voice)","Orla":"Female voice for Irish (Ireland) (Free voice)","Osman":"Male voice for Malay (Malaysia) (Free voice)","Ostap":"Male voice for Ukrainian (Ukraine) (Free voice)","Pallavi":"Female voice for Tamil (India) (Free voice)","Palmira":"Female voice for Italian (Italy) (Free voice)","Paloma":"Female voice for Spanish (United States) (Free voice)","Paola":"Female voice for Spanish (Venezuela) (Free voice)","Pedro":"Male voice for Spanish (United States) (Free voice)","Pedro_2":"Male voice for Spanish (United States) (Paid voice)","Pelayo":"Male voice for Spanish (Mexico) (Free voice)","Penelope":"Female voice for Spanish (United States) (Free voice)","Pernille":"Female voice for Norwegian (Norway) (Free voice)","Petra":"Female voice for Slovenian (Slovenia) (Free voice)","Phoebe":"Female voice for English (United States) (Free voice)","Phoebe_2":"Female voice for English (United States) (Paid voice)","Pierina":"Female voice for Italian (Italy) (Free voice)","Piseth":"Male voice for Khmer (Cambodia) (Free voice)","Polina":"Female voice for Ukrainian (Ukraine) (Free voice)","Prabhat":"Male voice for English (India) (Free voice)","Prabhat_2":"Male voice for English (India) (Free voice)","Pradeep":"Male voice for Bangla (Bangladesh) (Free voice)","Premwadee":"Female voice for Thai (Thailand) (Free voice)","Priyom":"Male voice for Assamese (India) (Free voice)","Rafiki":"Male voice for Swahili (Kenya) (Free voice)","Ralf":"Male voice for German (Germany) (Free voice)","Rami":"Male voice for Arabic (Lebanon) (Free voice)","Ramona":"Female voice for Spanish (Dominican Republic) (Free voice)","Rana":"Female voice for Arabic (Iraq) (Free voice)","Raquel":"Female voice for Portuguese (Portugal) (Free voice)","Raveena":"Female voice for English (India) (Free voice)","Reem":"Female voice for Arabic (Tunisia) (Free voice)","Rehaan":"Male voice for Hindi (India) (Free voice)","Rehaan_2":"Male voice for English (India) (Free voice)","Rehema":"Female voice for Swahili (Tanzania) (Free voice)","Remi":"Male voice for French (France) (Free voice)","Remi_2":"Male voice for French (France) (Paid voice)","Remy":"Male voice for French (France) (Free voice)","Remy_2":"Male voice for French (France) (Paid voice)","Renata":"Female voice for Spanish (Mexico) (Free voice)","Ricardo":"Male voice for Portuguese (Brazil) (Free voice)","Rinaldo":"Male voice for Italian (Italy) (Free voice)","Roberto":"Male voice for Spanish (Panama) (Free voice)","Rodrigo":"Male voice for Spanish (El Salvador) (Free voice)","Roger":"Male voice for English (United States) (Free voice)","Roi":"Male voice for Galician (Free voice)","Rok":"Male voice for Slovenian (Slovenia) (Free voice)","Rosa":"Female voice for English (Philippines) (Free voice)","Ruben":"Male voice for Dutch (Netherlands) (Free voice)","Russell":"Male voice for English (Australia) (Free voice)","Ruth":"Female voice for English (United States) (Free voice)","Ruth_2":"Female voice for English (United States) (Paid voice)","Ryan":"Male voice for English (United States) (Free voice)","Ryan_2":"Male voice for English (United Kingdom) (Free voice)","Sabela":"Female voice for Galician (Free voice)","Sabrina":"Female voice for German (Switzerland) (Free voice)","Sabrina_2":"Female voice for German (Switzerland) (Paid voice)","Sagar":"Male voice for Nepali (Nepal) (Free voice)","Saleh":"Male voice for Arabic (Yemen) (Free voice)","Salli":"Female voice for English (United States) (Free voice)","Salli_2":"Female voice for English (United States) (Free voice)","Salli_3":"Female voice for English (United States) (Paid voice)","Salma":"Female voice for Arabic (Egypt) (Free voice)","Salman":"Male voice for Urdu (India) (Free voice)","Salome":"Female voice for Spanish (Colombia) (Free voice)","Sam":"Male voice for English (Hong Kong SAR) (Free voice)","Sameera":"Male voice for Sinhala (Sri Lanka) (Free voice)","Samuel":"Male voice for English (United States) (Free voice)","Sana":"Female voice for Arabic (Jordan) (Free voice)","Sapna":"Female voice for Kannada (India) (Free voice)","Sara":"Female voice for English (United States) (Free voice)","Saranya":"Female voice for Tamil (Sri Lanka) (Free voice)","Sardor":"Male voice for Uzbek (Latin, Uzbekistan) (Free voice)","Saul":"Male voice for Spanish (Spain) (Free voice)","Sebastian":"Male voice for Spanish (Venezuela) (Free voice)","Selma":"Female voice for Finnish (Finland) (Free voice)","SeoHyeon":"Female voice for Korean (Korea) (Free voice)","Seoyeon":"Female voice for Korean (Korea) (Free voice)","Seoyeon_2":"Female voice for Korean (Korea) (Free voice)","Seoyeon_3":"Female voice for Korean (Korea) (Paid voice)","Seraphina":"Female voice for German (Germany) (Free voice)","Seraphina_2":"Female voice for German (Germany) (Paid voice)","Serena":"Female voice for English (United States) (Free voice)","Serena_2":"Female voice for English (United States) (Paid voice)","Sergio":"Male voice for Spanish (Castilian) (Free voice)","Sergio_2":"Male voice for Spanish (Castilian) (Paid voice)","Shakir":"Male voice for Arabic (Egypt) (Free voice)","Shimmer":"Female voice for English (United States) (Free voice)","Shiori":"Female voice for Japanese (Japan) (Free voice)","Shruti":"Female voice for Telugu (India) (Free voice)","Siqiniq":"Female voice for Inuktitut (Syllabics, Canada) (Free voice)","Siqiniq_2":"Female voice for Inuktitut (Latin, Canada) (Free voice)","Siti":"Female voice for Javanese (Latin, Indonesia) (Free voice)","Sobhana":"Female voice for Malayalam (India) (Free voice)","Soffie":"Female voice for Danish (Denmark) (Free voice)","Sofia":"Female voice for Spanish (Bolivia) (Free voice)","Sofie":"Female voice for Swedish (Sweden) (Free voice)","Sonia":"Female voice for English (United Kingdom) (Free voice)","SoonBok":"Female voice for Korean (Korea) (Free voice)","Sophie":"Female voice for Serbian (Cyrillic, Serbia) (Free voice)","Sophie_2":"Female voice for Serbian (Latin, Serbia) (Free voice)","Srecko":"Male voice for Croatian (Croatia) (Free voice)","Sreymom":"Female voice for Khmer (Cambodia) (Free voice)","Steffan":"Male voice for English (United States) (Free voice)","Steffan_2":"Male voice for English (United States) (Free voice)","Steffan_3":"Male voice for English (United States) (Paid voice)","Stephen":"Male voice for English (United States) (Free voice)","Stephen_2":"Male voice for English (United States) (Paid voice)","Subhasini":"Female voice for Odia (India) (Free voice)","Sukant":"Male voice for Odia (India) (Free voice)","SunHi":"Female voice for Korean (Korea) (Free voice)","SunHi_2":"Female voice for Korean (Korea) (Paid voice)","Surya":"Male voice for Tamil (Malaysia) (Free voice)","Suvi":"Female voice for Finnish (Finland) (Free voice)","Svetlana":"Female voice for Russian (Russia) (Free voice)","Swara":"Female voice for Hindi (India) (Free voice)","Sylvie":"Female voice for French (Canada) (Free voice)","Sylvie_2":"Female voice for French (Canada) (Paid voice)","Taim":"Male voice for Arabic (Jordan) (Free voice)","Takumi":"Male voice for Japanese (Japan) (Free voice)","Takumi_2":"Male voice for Japanese (Japan) (Free voice)","Tamas":"Male voice for Hungarian (Hungary) (Free voice)","Tania":"Female voice for Spanish (Paraguay) (Free voice)","Tanishaa":"Female voice for Bengali (India) (Free voice)","Tanja":"Female voice for German (Germany) (Free voice)","Taqqiq":"Male voice for Inuktitut (Syllabics, Canada) (Free voice)","Taqqiq_2":"Male voice for Inuktitut (Latin, Canada) (Free voice)","Tatyana":"Female voice for Russian (Russia) (Free voice)","Teo":"Male voice for Spanish (Spain) (Free voice)","Teresa":"Female voice for Spanish (Equatorial Guinea) (Free voice)","Thalita":"Female voice for Portuguese (Brazil) (Free voice)","Thalita_2":"Female voice for Portuguese (Brazil) (Free voice)","Thalita_3":"Female voice for Portuguese (Brazil) (Paid voice)","Thando":"Female voice for Zulu (South Africa) (Free voice)","Themba":"Male voice for Zulu (South Africa) (Free voice)","Thiago":"Male voice for Portuguese (Brazil) (Free voice)","Thierry":"Male voice for French (Canada) (Free voice)","Thierry_2":"Male voice for French (Canada) (Paid voice)","Thiha":"Male voice for Burmese (Myanmar) (Free voice)","Thilini":"Female voice for Sinhala (Sri Lanka) (Free voice)","Thomas":"Male voice for English (United Kingdom) (Free voice)","Tiana":"Female voice for English (United States) (Free voice)","Tiffany":"Female voice for English (United States) (Paid voice)","Tim":"Male voice for English (Australia) (Free voice)","Tina":"Female voice for English (Australia) (Free voice)","Tomas":"Male voice for Spanish (Argentina) (Free voice)","Tomoko":"Female voice for Japanese (Japan) (Free voice)","Tony":"Male voice for English (United States) (Free voice)","Triana":"Female voice for Spanish (Spain) (Free voice)","Tristan_ES":"Male voice for Spanish (Spain) (Free voice)","Tristan_ES_2":"Male voice for Spanish (Spain) (Paid voice)","Tuti":"Female voice for Sundanese (Indonesia) (Free voice)","Tyler":"Male voice for English (United States) (Free voice)","Ubax":"Female voice for Somali (Somalia) (Free voice)","Uzma":"Female voice for Urdu (Pakistan) (Free voice)","Vaani":"Female voice for Punjabi (India) (Free voice)","Valentina":"Female voice for Spanish (Uruguay) (Free voice)","Valerio":"Male voice for Portuguese (Brazil) (Free voice)","Valluvar":"Male voice for Tamil (India) (Free voice)","Venba":"Female voice for Tamil (Singapore) (Free voice)","Vera":"Female voice for Spanish (Spain) (Free voice)","Vesna":"Female voice for Bosnian (Bosnia and Herzegovina) (Free voice)","Vicki":"Female voice for German (Germany) (Free voice)","Vicki_2":"Female voice for German (Germany) (Free voice)","Vicki_3":"Female voice for German (Germany) (Paid voice)","Victor":"Male voice for Spanish (Puerto Rico) (Free voice)","Viktoria":"Female voice for Slovak (Slovakia) (Free voice)","Vitoria":"Female voice for Portuguese (Brazil) (Free voice)","Vitoria_2":"Female voice for Portuguese (Brazil) (Free voice)","Vivienne":"Female voice for French (France) (Free voice)","Vivienne_2":"Female voice for French (France) (Paid voice)","Vlasta":"Female voice for Czech (Czechia) (Free voice)","WanLung":"Male voice for Chinese (Cantonese, Traditional) (Free voice)","Wayne":"Male voice for English (Singapore) (Free voice)","Willem":"Male voice for Afrikaans (South Africa) (Free voice)","William":"Male voice for English (Australia) (Free voice)","William_2":"Male voice for English (Australia) (Free voice)","Xiaochen":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaochen_2":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaochen_3":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaochen_4":"Female voice for Chinese (Mandarin, Simplified) (Paid voice)","Xiaohan":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaohan_2":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaomeng":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","XiaoMin":"Female voice for Chinese (Cantonese, Simplified) (Free voice)","Xiaomo":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoqiu":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaorou":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaorui":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoshuang":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoshuang_2":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoshuang_3":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaotong":"Female voice for Chinese (Wu, Simplified) (Free voice)","Xiaoxiao":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoxiao_2":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoxiao_3":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoxiao_4":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoxiao_5":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyan":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyi":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyi_2":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyou":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyou_2":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyou_3":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyu":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyu_2":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaozhen":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Ximena_ES":"Female voice for Spanish (Spain) (Free voice)","Ximena_ES_2":"Female voice for Spanish (Spain) (Free voice)","Ximena_ES_3":"Female voice for Spanish (Spain) (Paid voice)","Yago":"Male voice for Spanish (Mexico) (Free voice)","Yan":"Female voice for English (Hong Kong SAR) (Free voice)","Yara":"Female voice for Portuguese (Brazil) (Free voice)","Yashica":"Female voice for Assamese (India) (Free voice)","Yasmin":"Female voice for Malay (Malaysia) (Free voice)","Yesui":"Female voice for Mongolian (Mongolia) (Free voice)","Yolanda":"Female voice for Spanish (Nicaragua) (Free voice)","YuJin":"Female voice for Korean (Korea) (Free voice)","Yundeng":"Male voice for Chinese (Zhongyuan Mandarin Henan, Simplified) (Free voice)","Yunfan":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunfan_2":"Male voice for Chinese (Mandarin, Simplified) (Paid voice)","Yunfeng":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunhan":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunhao":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","YunJhe":"Male voice for Chinese (Taiwanese Mandarin, Traditional) (Free voice)","Yunjian":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunjie":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","YunSong":"Male voice for Chinese (Cantonese, Simplified) (Free voice)","Yunxi":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunxi_2":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunxia":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunxia_2":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunxiang":"Male voice for Chinese (Jilu Mandarin, Simplified) (Free voice)","Yunxiao":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunxiao_2":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunyang":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunye":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunye_2":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunyi":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunyi_2":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunze":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunzhe":"Male voice for Chinese (Wu, Simplified) (Free voice)","Yves":"Male voice for French (France) (Free voice)","Yvette":"Female voice for French (France) (Free voice)","Zariyah":"Female voice for Arabic (Saudi Arabia) (Free voice)","Zayd":"Male voice for Arabic (Saudi Arabia) (Free voice)","Zeina":"Female voice for Arabic (Saudi Arabia) (Free voice)","Zhiyu":"Female voice for Chinese (Mandarin) (Free voice)","Zhiyu_2":"Female voice for Chinese (Mandarin) (Free voice)","Zofia":"Female voice for Polish (Poland) (Free voice)","Zuri":"Female voice for Swahili (Kenya) (Free voice)"}},"voiceRelay":{"type":"object","additionalProperties":false,"title":"Voice Relay","description":"Routes the call through the Voice Relay service, enabling real-time speech-to-text (STT) and text-to-speech (TTS) via a WebSocket connection to the application backend.","required":["type","voiceRelay"],"properties":{"type":{"type":"string","const":"VOICE_RELAY","description":"Connects to the Voice Relay service to enable STT and TTS services..."},"voiceRelay":{"type":"object","additionalProperties":false,"required":["endpoint","ttsVoice","sttLanguage"],"properties":{"endpoint":{"type":"string","format":"uri","description":"URL to the server that will accept the web-socket request","example":"wss://acme.com/agent"},"enableInterruptions":{"type":"boolean","description":"Allow \"barge-in\" during text-to-speech (TTS) playback.\n\nWhen `true`, TTS playback is interrupted as soon as inbound speech is detected, unless the currently playing content is marked as uninterruptible.\n\nWhen `false`, TTS playback continues uninterrupted, but an interruption signal is still sent over the WebSocket so the client application can choose to stop playback manually if needed.","default":true,"example":true},"ttsVoice":{"description":"Name of the voice to be used when synthesizing speech. \n\nThis is the default voice used, if no override voice is provided in the web-socket TTS message.","$ref":"#/components/schemas/voiceName"},"sttLanguage":{"type":"string","pattern":"^[a-z]{2,3}(-[A-Z][a-z]{3})?(-([A-Z]{2}|[0-9]{3}))?$","description":"BCP-47 language tag used for speech-to-text transcription of the inbound audio.\n\nThis value determines which language model is used for transcription.","example":"en-US"},"callHeaders":{"$ref":"#/components/schemas/callHeaders"}}}},"examples":[{"type":"VOICE_RELAY","voiceRelay":{"endpoint":"wss://acme.com/agent","enableInterruptions":true,"ttsVoice":"Emma_3","sttLanguage":"en-US","callHeaders":[{"key":"my-key","value":"my-key-value"}]}}]},"to":{"title":"To","description":"Call destination - Phone Number or Stream URI","oneOf":[{"$ref":"#/components/schemas/phone"},{"$ref":"#/components/schemas/sip"},{"$ref":"#/components/schemas/stream"},{"$ref":"#/components/schemas/voiceRelay"}],"discriminator":{"propertyName":"type","mapping":{"PHONE":"#/components/schemas/phone","SIP":"#/components/schemas/sip","STREAM":"#/components/schemas/stream","VOICE_RELAY":"#/components/schemas/voiceRelay"}}},"callEvents":{"type":"object","additionalProperties":false,"title":"Call Events Webhook","description":"Webhook to handle call events, used when callBehaviors are set to WEBHOOK","properties":{"onAnswer":{"description":"SVAML commands to be executed when the call is answered","$ref":"#/components/schemas/svamlCommands"},"onBusy":{"description":"SVAML commands to be executed when the call is busy","$ref":"#/components/schemas/svamlCommands"},"onReject":{"description":"SVAML commands to be executed when the call is rejected","$ref":"#/components/schemas/svamlCommands"},"onTimeout":{"description":"SVAML commands to be executed when the call is timed out","$ref":"#/components/schemas/svamlCommands"},"onHangup":{"description":"SVAML commands to be executed when the call is hung up","$ref":"#/components/schemas/svamlCommands"},"onFailure":{"description":"SVAML commands to be executed when the call fails","$ref":"#/components/schemas/svamlCommands"}}},"dial":{"type":"object","additionalProperties":false,"title":"Dial","description":"Initiates a new outbound call leg within the current session.\n\nThis is a non-blocking command — the next command in the sequence executes immediately while the call is being established in parallel. Call lifecycle events (answer, busy, reject, timeout, hangup, failure) are handled via the `events` property.\n\nThe `from` and `to` endpoint types should ideally match. If they differ, the platform attempts to convert the `from` value to be compatible with the `to` type. For example, PSTN supports only E.164 phone numbers, so a SIP address such as `sip:46701234567@acme.se` can be converted to an E.164 number. If the `from` value cannot be converted, it defaults to null (anonymous).","required":["command","to"],"properties":{"command":{"type":"string","const":"dial","description":"Command to initiate a new call"},"callName":{"type":"string","minLength":1,"maxLength":32,"pattern":"^\\S+$","example":"outgoing","description":"Identifier for this call leg within the session. Must be unique across all active call legs in the session.\n\nOther commands (e.g., `hangup`) can reference this name to target this specific leg."},"from":{"$ref":"#/components/schemas/from"},"to":{"$ref":"#/components/schemas/to"},"dialTimeoutDurationSeconds":{"type":"integer","minimum":1,"maximum":60,"description":"Maximum time in seconds to wait for the call to be answered. If the timeout expires without an answer, the `onTimeout` event is triggered.","example":15},"maxCallDurationSeconds":{"type":"integer","minimum":1,"maximum":14400,"description":"Maximum duration of the call in seconds. The call is terminated automatically when this limit is reached.","example":3600},"events":{"$ref":"#/components/schemas/callEvents"}},"examples":[{"command":"dial","callName":"destination","from":{"type":"PHONE","phone":{"number":"+15551234567"}},"to":{"type":"PHONE","phone":{"number":"+15559876543"}},"dialTimeoutDurationSeconds":30,"maxCallDurationSeconds":3600,"events":{"onAnswer":[{"command":"messages","messages":[{"type":"SAY","say":{"text":"Your call has connected.","voiceName":"Emma_3"}}]}]}}]},"messageSay":{"type":"object","title":"Say Message","description":"A text-to-speech (TTS) message item. The platform synthesizes the provided text into speech and plays it on the call.","additionalProperties":false,"required":["type","say"],"properties":{"type":{"type":"string","const":"SAY","description":"Text-to-speech message to be played during the call."},"say":{"type":"object","additionalProperties":false,"title":"Say","required":["text","voiceName"],"properties":{"text":{"type":"string","description":"The text to be synthesized into speech.\n\nIf `format` is `TEXT` (default), provide plain text.\nIf `format` is `SSML`, provide a valid SSML document (for example, `<speak>...</speak>`).","maxLength":600,"example":"Hello world"},"format":{"type":"string","description":"Format of the message","enum":["TEXT","SSML"],"x-enumDescriptions":{"TEXT":"Plain text format for the message.","SSML":"Speech Synthesis Markup Language format for advanced text-to-speech control."},"default":"TEXT"},"voiceName":{"description":"The name of the voice to use for text-to-speech synthesis.","$ref":"#/components/schemas/voiceName"}}}},"examples":[{"type":"SAY","say":{"text":"Hello, this is a test message","voiceName":"Emma_3"}},{"type":"SAY","say":{"text":"<speak><prosody volume=\"-6dB\">Hello, this is a test message</prosody></speak>","format":"SSML","voiceName":"Brian"}}]},"messagePlay":{"type":"object","title":"Play Message","description":"An audio file playback message item. The platform fetches and plays the audio file at the provided URL on the call.","additionalProperties":false,"required":["type","play"],"properties":{"type":{"type":"string","const":"PLAY","description":"Audio file playback during the call."},"play":{"type":"object","additionalProperties":false,"title":"Play","required":["url"],"properties":{"url":{"type":"string","description":"URL of the media to send"}}}},"examples":[{"type":"PLAY","play":{"url":"https://example.com/media.mp3"}}]},"message":{"type":"object","title":"Message","description":"A single message item. The required payload depends on `type`.","oneOf":[{"$ref":"#/components/schemas/messageSay"},{"$ref":"#/components/schemas/messagePlay"}],"discriminator":{"propertyName":"type","mapping":{"SAY":"#/components/schemas/messageSay","PLAY":"#/components/schemas/messagePlay"}}},"typesOfMessages":{"type":"array","title":"Message List","description":"Ordered list of messages to play.","minItems":1,"maxItems":10,"items":{"$ref":"#/components/schemas/message"}},"messageEvents":{"type":"object","additionalProperties":false,"title":"Message Events","description":"SVAML commands to execute based on message playback outcomes.\n","properties":{"onFinish":{"description":"Commands to execute when all messages in the sequence have finished playing.\n","$ref":"#/components/schemas/svamlCommands"}}},"messages":{"type":"object","additionalProperties":false,"title":"Messages","description":"Plays one or more messages on the call. Multiple messages in the array are played sequentially in order.\n\nThis is a non-blocking command — the next command in the sequence executes immediately while messages play in parallel. \nPlayback outcomes are handled via the `events` property. The `onFinish` event can be used to run a command after all messages complete.","required":["command","messages"],"properties":{"command":{"type":"string","const":"messages","description":"Command to play a message on the channel"},"messagesName":{"type":"string","description":"Name of the message for identification and reference within the call session.\n\nThis name is used to uniquely identify the message and must be unique within the current call session.\nThis name can be referenced in other commands (e.g., `stopMessages`) to control this specific message.","minLength":1,"maxLength":32,"pattern":"^\\S+$","example":"my-messages"},"messages":{"$ref":"#/components/schemas/typesOfMessages"},"events":{"$ref":"#/components/schemas/messageEvents"}},"examples":[{"command":"messages","messagesName":"greeting-sequence","messages":[{"type":"SAY","say":{"text":"Hello! Your call is being connected.","voiceName":"Emma_3"}},{"type":"PLAY","play":{"url":"https://example.com/audio/hold-music.mp3"}},{"type":"SAY","say":{"text":"<speak><prosody volume=\"-6dB\">Thank you for waiting.</prosody></speak>","format":"SSML","voiceName":"Emma_3"}}]}]},"stopMessages":{"type":"object","additionalProperties":false,"title":"Stop Messages","description":"Stops a message sequence started by a `messages` command. It will also cancel any messages with specified `messagesName` that will appear in the call session in the future.\n\nThis is a non-blocking command.","required":["command","messagesName"],"properties":{"command":{"type":"string","const":"stopMessages","description":"Command to stop playing messages"},"messagesName":{"type":"string","description":"Name of the message sequence to stop, as set by `messagesName` in the `messages` command.","minLength":1,"maxLength":32,"pattern":"^\\S+$"}},"examples":[{"command":"stopMessages","messagesName":"my-messages"}]},"webhookFallbackUrl":{"title":"Webhook Fallback URL","type":"string","format":"uri","description":"Fallback webhook URL used when the primary webhook URL fails.\n\nA failed request is re-sent to this URL immediately. After repeated consecutive failures of the primary URL, requests are sent only here until the primary URL recovers.\n\nSee *Timeouts and failover* in the **Webhooks** section for the authoritative algorithm.","examples":["https://example.com/fallback"]},"webhook":{"type":"object","additionalProperties":false,"title":"Webhook","description":"Triggers a mid-call webhook to the application backend, allowing it to return a new set of SVAML commands that control the remainder of the call flow.\n\nThis is a blocking command — execution pauses until a response is received from the webhook endpoint. The next command in the sequence runs only after the backend responds. Webhook requests use a 5-second timeout. If a `fallbackUrl` is provided, a failed request is re-sent to it — see *Timeouts and failover* in the **Webhooks** section for the authoritative algorithm.","required":["command","webhookName","url"],"properties":{"command":{"type":"string","const":"webhook","description":"Command to trigger a mid-call webhook"},"webhookName":{"type":"string","minLength":1,"maxLength":64,"pattern":"^\\S+$","description":"Name for this webhook event. When triggered, the webhook request's `event` property will contain this name prepended with `call.webhook.`.\n\nFor example, if `webhookName` is set to `\"my.custom.event\"`, the event will be delivered as `\"call.webhook.my.custom.event\"`."},"url":{"type":"string","description":"URL of the webhook endpoint to send the mid-call event to.","format":"uri"},"fallbackUrl":{"$ref":"#/components/schemas/webhookFallbackUrl"}},"examples":[{"command":"webhook","webhookName":"my.custom.event","url":"https://example.com/webhook","fallbackUrl":"https://example.com/fallback"}]},"hangup":{"type":"object","additionalProperties":false,"description":"Ends a call leg. This is a non-blocking command — execution continues to the next command in the sequence even though the call has been ended. The `onHangup` event is triggered for the call leg that was ended.\n\nAny subsequent commands that target the ended call leg (such as `messages` or other media commands) are valid but will not be executed. Commands that operate independently — such as initiating a new call with `dial` — will execute normally. This makes it possible, for example, to end one call and immediately start another within the same sequence.","title":"Hangup","required":["command"],"properties":{"command":{"type":"string","const":"hangup","description":"Hangup call"},"callName":{"type":"string","description":"Name of the call leg to end, as set by `callName` in the `dial` command.\n\nIf omitted, the current call leg is ended.","minLength":1,"maxLength":32,"pattern":"^\\S+$","example":"origin"}},"examples":[{"command":"hangup","callName":"origin"}]},"answer":{"type":"object","additionalProperties":false,"title":"Answer","description":"Answers an inbound call leg. This is a non-blocking command — execution continues to the next command in the sequence immediately after the answer is initiated.","required":["command"],"properties":{"command":{"type":"string","const":"answer","description":"Answer call"}},"examples":[{"command":"answer"}]},"pause":{"type":"object","additionalProperties":false,"title":"Pause","description":"Delays execution of the next command in the sequence for a specified duration. This is a blocking command — no further commands execute until the pause completes.\n\nThe pause does not affect call audio; the call remains connected and audio continues uninterrupted.","required":["command","durationMilliseconds"],"properties":{"command":{"type":"string","const":"pause","description":"Pause execution."},"durationMilliseconds":{"type":"integer","minimum":1,"description":"Duration of the pause in milliseconds.","example":1000}},"examples":[{"command":"pause","durationMilliseconds":1500}]},"recordingFormat":{"title":"Recording Format","description":"Audio format for this recording.","type":"string","enum":["MP3","WAV"],"x-enumDescriptions":{"MP3":"MPEG Audio Layer III compressed audio format.","WAV":"Waveform Audio File Format, uncompressed audio."},"default":"MP3","examples":["MP3"]},"recordingType":{"title":"Recording Type","description":"The type of recording to perform.","type":"string","enum":["COMBINED","INBOUND","OUTBOUND"],"x-enumDescriptions":{"COMBINED":"Record inbound and outbound voice streams.","INBOUND":"Record inbound voice stream only.","OUTBOUND":"Record outbound voice stream only."},"default":"COMBINED"},"recordingDestination":{"title":"Recording Destination","type":"string","description":"Select target service to receive recorded and transcribed files","enum":["AWS","GCP","AZURE"],"x-enumDescriptions":{"AWS":"Store recordings in Amazon Web Services S3 bucket. Use `s3` as schema for the URL.","GCP":"Store recordings in Google Cloud Platform Storage. Use `gs` as schema for the URL.","AZURE":"Store recordings in Microsoft Azure Blob Storage.  Use `azure` as schema for the URL."},"default":"AWS","examples":["AWS"]},"transcriptionOptions":{"title":"Transcription Options","description":"Configuration for automatic speech-to-text transcription of the recording.","type":"object","additionalProperties":false,"required":["isEnabled"],"properties":{"isEnabled":{"type":"boolean","description":"If true, the recording will be transcribed to text.","example":true},"locale":{"type":"string","description":"Language code in BCP-47 format.","default":"en-US","example":"en-US"}}},"recordingOptions":{"title":"Recording Options","type":"object","additionalProperties":false,"description":"Recording options for this recording.","required":["destination","destinationUrl","credentials"],"properties":{"format":{"$ref":"#/components/schemas/recordingFormat"},"recordingType":{"$ref":"#/components/schemas/recordingType"},"destination":{"$ref":"#/components/schemas/recordingDestination"},"destinationUrl":{"type":"string","description":"Destination URL for the recording.","example":"s3://voice-recordings-prod/calls"},"credentials":{"type":"string","description":"Credentials to third party storage. The format depends on the scheme of `destinationUrl`:\n\n- `s3` (Amazon S3): `accessKeyId:secretAccessKey:region`. `accessKeyId` and `secretAccessKey` are an AWS access key pair of an IAM user that is allowed to upload objects to the bucket. `region` is the AWS region code of the bucket, for example `eu-central-1`. Access keys are created in the AWS Management Console under **IAM** > **Users** > **Security credentials**.\n- `gs` (Google Cloud Storage): `accessKey:secret`. `accessKey` and `secret` are a Cloud Storage HMAC key of a service account that is allowed to create objects in the bucket. HMAC keys are created in the Google Cloud console under **Cloud Storage** > **Settings** > **Interoperability**.\n- `azure` (Azure Blob Storage): `accountKey`. `accountKey` is an access key of the storage account named in `destinationUrl`, which has the form `azure://{storageAccountName}/{containerName}/{path}`. Account keys are listed in the Azure portal under **Security + networking** > **Access keys** of the storage account. Shared access signature (SAS) tokens and connection strings are not supported as credentials.","example":"accessKeyId:secretAccessKey:eu-central-1","format":"password"},"transcriptionOptions":{"$ref":"#/components/schemas/transcriptionOptions"}}},"recordingEvents":{"type":"object","additionalProperties":false,"title":"Recording Events","description":"SVAML commands to execute based on recording lifecycle outcomes.\n","properties":{"onFinish":{"description":"Commands to execute when the recording is successfully stopped. Note that this does not mean that the file is delivered to the configured destination yet.\n","$ref":"#/components/schemas/svamlCommands"},"onFailure":{"description":"Commands to execute if the recording fails to start. If omitted, failures are silently ignored and the call flow continues.\n","$ref":"#/components/schemas/svamlCommands"}}},"startRecording":{"type":"object","additionalProperties":false,"title":"Start Recording","required":["command","recordingOptions"],"description":"Starts recording the call. This is a non-blocking command — execution continues to the next command in the sequence immediately after recording begins.","properties":{"command":{"type":"string","const":"startRecording","description":"Command to start recording on the channel"},"recordingName":{"type":"string","description":"Identifier for this recording within the session. Must be unique across active recordings in the session.\n\nOther commands (e.g., `stopRecording`) reference this name to target a specific recording.\n\nSetting the recording name is useful for stopping the recording using the `stopRecording` command. If name is not set, recording can only be stopped when the call is disconnected.","minLength":1,"maxLength":32,"pattern":"^\\S+$","example":"my-recording"},"recordingOptions":{"$ref":"#/components/schemas/recordingOptions"},"events":{"$ref":"#/components/schemas/recordingEvents"}},"examples":[{"command":"startRecording","recordingName":"customer-support-recording","recordingOptions":{"format":"MP3","recordingType":"COMBINED","destination":"AWS","destinationUrl":"s3://voice-recordings-prod/calls","credentials":"accessKeyId:secretAccessKey:eu-central-1","transcriptionOptions":{"isEnabled":true,"locale":"en-US"}},"events":{"onFinish":[{"command":"hangup"}],"onFailure":[{"command":"messages","messages":[{"type":"SAY","say":{"text":"Recording could not be started for this call.","voiceName":"Emma_3"}}]}]}}]},"stopRecording":{"type":"object","additionalProperties":false,"title":"Stop Recording","description":"Stops a recording previously started by a `startRecording` command. This is a non-blocking command — execution continues to the next command in the sequence immediately after the stop is initiated.","required":["command","recordingName"],"properties":{"command":{"type":"string","const":"stopRecording","description":"Command to stop recording on the channel"},"recordingName":{"type":"string","description":"Name of the recording to stop, as set by `recordingName` in the `startRecording` command.","minLength":1,"maxLength":32,"pattern":"^\\S+$","example":"my-recording"}}},"bridgeCall":{"type":"object","additionalProperties":false,"title":"Add call to bridge","description":"Adds the current call to a bridge, enabling bidirectional audio communication with other calls in the same session. This is a non-blocking command — execution continues to the next command in the sequence immediately after the call joins the bridge.\n\nBridges are created automatically when referenced by name. If a bridge with the specified name already exists, the call joins that bridge; otherwise, a new bridge is created.","required":["command","bridgeName"],"properties":{"command":{"type":"string","const":"bridgeCall","description":"Command to add the call to a bridge"},"bridgeName":{"type":"string","minLength":1,"maxLength":32,"pattern":"^\\S+$","description":"Name of the bridge to join. If no bridge with this name exists in the session, a new one is created automatically."}},"examples":[{"command":"bridgeCall","bridgeName":"my_bridge"}]},"menuPrompt":{"type":"object","additionalProperties":false,"title":"Menu Prompt","description":"Prompt configuration for menu playback, including prompt messages and barge-in behavior.","required":["messages"],"properties":{"allowBargeIn":{"type":"boolean","description":"Controls whether input can interrupt prompt playback.\n\nWhen enabled, playback stops as soon as input is detected and the input is evaluated immediately if matching conditions are met.\n\nWhen disabled, input is still collected during playback and evaluated after playback finishes.","default":true},"messages":{"$ref":"#/components/schemas/typesOfMessages"}}},"menuItem":{"type":"object","additionalProperties":false,"title":"Menu Item","description":"Defines a single menu step, including prompts, input handling rules, input-to-command matches, and failure handling.\n\nEach collected input is matched against the values in the `matches` property.\nIf no match succeeds, the `onFailure` commands are executed.\n\nIf no match succeeds and `onFailure` is not defined, a `call.menu` webhook request including the collected input is sent when the service call behavior is set to `WEBHOOK`.","properties":{"prompt":{"$ref":"#/components/schemas/menuPrompt","description":"Prompt played when this menu starts.\n\nThis prompt is also used as the repeat prompt when repeatPrompt is not defined for the menu."},"repeatPrompt":{"$ref":"#/components/schemas/menuPrompt","description":"Prompt played when the menu is repeated.\n\nRepeats occur when input times out or when the provided input does not match any menu match item. If not specified, the initial prompt is used as the repeat prompt.\n\nA repeat prompt can only be defined when a prompt is also defined for this menu item."},"inputTimeoutDurationSeconds":{"type":"integer","description":"Maximum number of seconds to wait for user input before the input attempt times out.","minimum":1,"maximum":60,"default":5,"example":10},"repeatCount":{"type":"integer","description":"Maximum number of times the menu is repeated.\n\nA repeat occurs when input times out or when the provided input does not match any menu match item.","minimum":0,"maximum":10,"default":2,"example":3},"minimumInputLength":{"type":"integer","description":"Minimum number of input characters required before the menu evaluates the collected input.","minimum":1,"maximum":100,"default":1,"example":3},"maximumInputLength":{"type":"integer","description":"Maximum number of input characters that triggers the menu to evaluate the collected input.","minimum":1,"maximum":100,"default":1,"example":10},"terminatingSequence":{"type":"string","pattern":"^[0-9*#]+$","description":"Character sequence that signals the end of input and triggers immediate evaluation.\n\nUseful when variable-length input is allowed and shorter valid options should be submitted without waiting for timeout or maximum length.\n\nThe terminating sequence value is included in the evaluated input.","maxLength":10},"inputMethods":{"type":"array","description":"Input methods accepted for this menu when collecting user input.","default":["DTMF"],"items":{"type":"string","enum":["DTMF"],"x-enumDescriptions":{"DTMF":"Collect input from keypad tones (Dual-Tone Multi-Frequency)."}}},"matches":{"type":"object","description":"Items matched against the collected input. Maximum number of allowed match expressions is 50.\n\nDefined as a dictionary where each property name is a literal or a regular expression string.\n\nValues are evaluated in the order they are defined.","maxProperties":50,"propertyNames":{"type":"string","minLength":1,"maxLength":256,"description":"A regular expression or literal string to match against the collected user input. Must not be empty.\n\nProperty keys are evaluated sequentially in the order defined. The first key that matches the input will trigger its associated SVAML commands.\n\n**Note**: Use `\\\\*` to match the DTMF star tone (*)."},"additionalProperties":{"$ref":"#/components/schemas/svamlCommands"}},"onFailure":{"$ref":"#/components/schemas/svamlCommands","description":"SVAML commands executed when the menu fails to collect a matching input.\n\nThis handler runs after the repeat limit is reached without any input matching a menu match item."}}},"menu":{"type":"object","additionalProperties":false,"title":"Run menus","description":"Defines a set of named menus and executes them starting from startMenu. This is a blocking command — execution waits for the menu to complete before proceeding to the next command.\n\nEach menu item configures prompts, input collection, timeout handling, and repeat behavior.","required":["command","startMenu","menus"],"properties":{"command":{"type":"string","const":"menu","description":"Executes menu-based input collection using the configured menu definitions."},"startMenu":{"type":"string","minLength":1,"maxLength":16,"description":"Name of the menu to execute first. Must match a key in menus."},"menus":{"type":"object","propertyNames":{"type":"string","maxLength":16},"description":"Map of menu definitions keyed by menu name.","additionalProperties":{"$ref":"#/components/schemas/menuItem"}}},"examples":[{"command":"menu","startMenu":"main","menus":{"main":{"prompt":{"allowBargeIn":true,"messages":[{"type":"SAY","say":{"text":"Press 1 for sales or 2 for support.","voiceName":"Emma_3"}}]},"repeatPrompt":{"allowBargeIn":true,"messages":[{"type":"SAY","say":{"text":"Invalid option. Press 1 for sales or 2 for support.","voiceName":"Emma_3"}}]},"inputTimeoutDurationSeconds":5,"repeatCount":2,"minimumInputLength":1,"maximumInputLength":1,"inputMethods":["DTMF"],"matches":{"1":[{"command":"messages","messages":[{"type":"SAY","say":{"text":"Connecting to sales.","voiceName":"Emma_3"}}]},{"command":"dial","callName":"sales","to":{"type":"PHONE","phone":{"number":"+15551234567"}}}],"2":[{"command":"messages","messages":[{"type":"SAY","say":{"text":"Connecting to support.","voiceName":"Emma_3"}}]},{"command":"dial","callName":"support","to":{"type":"PHONE","phone":{"number":"+15557654321"}}}]},"onFailure":[{"command":"messages","messages":[{"type":"SAY","say":{"text":"Sorry, no valid selection was received.","voiceName":"Emma_3"}}]},{"command":"hangup"}]}}}]},"gotoMenu":{"type":"object","additionalProperties":false,"title":"Goto Menu","description":"Switches execution to another menu within the current menu context. The menu name must be a menu defined in the `menu` command. This is a blocking command — execution waits for the menu to complete before proceeding to the next command.\n\n**Important**: this command can only be called within a menu execution context.","required":["command","menuName"],"properties":{"command":{"type":"string","const":"gotoMenu","description":"Switch execution to another menu within the current menu context."},"menuName":{"type":"string","description":"Name of the target menu to execute next. Must match a key in menus.","minLength":1,"maxLength":16}}},"svamlCommand":{"title":"SVAML Command","type":"object","description":"A single SVAML (Sinch Voice Application Markup Language) command that controls call behavior.\n\nThe `command` property acts as a discriminator and determines which command schema applies. When multiple commands appear in a `svamlCommands` array, they execute sequentially in order.\n\n**Available commands:**\n- `dial` — Initiate an outbound call leg within the session.\n- `messages` — Play one or more TTS or audio messages on the call.\n- `stopMessages` — Stop a currently playing message sequence.\n- `webhook` — Trigger a mid-call webhook to the application backend for dynamic call control.\n- `amd` — Detect whether the call was answered by a human or an answering machine.\n- `hangup` — End the call or a specific call leg within the session.\n- `answer` — Explicitly answer an incoming call leg before executing further commands.\n- `pause` — Delay script execution without affecting call audio.\n- `startRecording` — Begin recording the call.\n- `stopRecording` — Stop an active call recording.\n- `bridgeCall` — Add the call to a named bridge for multi-party audio.\n- `menu` — Run menu-based input collection and route the call based on collected input.\n- `gotoMenu` — Switch execution to another named menu within the current menu context.","oneOf":[{"$ref":"#/components/schemas/amd"},{"$ref":"#/components/schemas/dial"},{"$ref":"#/components/schemas/messages"},{"$ref":"#/components/schemas/stopMessages"},{"$ref":"#/components/schemas/webhook"},{"$ref":"#/components/schemas/hangup"},{"$ref":"#/components/schemas/answer"},{"$ref":"#/components/schemas/pause"},{"$ref":"#/components/schemas/startRecording"},{"$ref":"#/components/schemas/stopRecording"},{"$ref":"#/components/schemas/bridgeCall"},{"$ref":"#/components/schemas/menu"},{"$ref":"#/components/schemas/gotoMenu"}],"discriminator":{"propertyName":"command","mapping":{"amd":"#/components/schemas/amd","dial":"#/components/schemas/dial","messages":"#/components/schemas/messages","stopMessages":"#/components/schemas/stopMessages","webhook":"#/components/schemas/webhook","hangup":"#/components/schemas/hangup","answer":"#/components/schemas/answer","pause":"#/components/schemas/pause","startRecording":"#/components/schemas/startRecording","stopRecording":"#/components/schemas/stopRecording","bridgeCall":"#/components/schemas/bridgeCall","menu":"#/components/schemas/menu","gotoMenu":"#/components/schemas/gotoMenu"}}}}}},"schemaResolvedErrors":[]},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"answer","__idx":3},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["answer"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Accept an incoming call."]},{"$$mdtype":"Tag","name":"JsonExample","attributes":{"json":{"command":"answer"},"errors":[]},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Schema:"]}]},{"$$mdtype":"Tag","name":"JsonSchema","attributes":{"schema":{"$ref":"./voice.yaml#/components/schemas/answer"},"options":{},"schemaResolved":{"openapi":"3.1.0","components":{"schemas":{"__root":{"$ref":"#/components/schemas/answer"},"answer":{"type":"object","additionalProperties":false,"title":"Answer","description":"Answers an inbound call leg. This is a non-blocking command — execution continues to the next command in the sequence immediately after the answer is initiated.","required":["command"],"properties":{"command":{"type":"string","const":"answer","description":"Answer call"}},"examples":[{"command":"answer"}]}}}},"schemaResolvedErrors":[]},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"dial","__idx":4},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["dial"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Initiate outbound calls to phone numbers, SIP endpoints, streams, or conferences."]},{"$$mdtype":"Tag","name":"JsonExample","attributes":{"json":{"command":"dial","callName":"destination","from":{"type":"PHONE","phone":{"number":"+15551234567"}},"to":{"type":"PHONE","phone":{"number":"+15559876543"}},"dialTimeoutDurationSeconds":30,"maxCallDurationSeconds":3600,"events":{"onAnswer":[{"command":"messages","messages":[{"type":"SAY","say":{"text":"Your call has connected.","voiceName":"Emma_3"}}]}]}},"errors":[]},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Schema:"]}]},{"$$mdtype":"Tag","name":"JsonSchema","attributes":{"schema":{"$ref":"./voice.yaml#/components/schemas/dial"},"options":{},"schemaResolved":{"openapi":"3.1.0","components":{"schemas":{"__root":{"$ref":"#/components/schemas/dial"},"phoneNumber":{"title":"Phone Number","type":"string","pattern":"^\\+[1-9]\\d{1,14}$","minLength":3,"maxLength":16,"description":"E.164 Phone number","examples":["+4673522488"]},"phone":{"type":"object","additionalProperties":false,"title":"Phone","description":"Routes the call to a phone number on the Public Switched Telephone Network (PSTN).","required":["type","phone"],"properties":{"type":{"type":"string","const":"PHONE","description":"Routes the call to a phone number on the Public Switched Telephone Network (PSTN). The number must be in E.164 format."},"phone":{"type":"object","additionalProperties":false,"required":["number"],"properties":{"number":{"$ref":"#/components/schemas/phoneNumber"}}}},"examples":[{"type":"PHONE","phone":{"number":"+4673522488"}}]},"sipFrom":{"type":"object","additionalProperties":false,"title":"SIP Origin","required":["type","sip"],"properties":{"type":{"type":"string","const":"SIP","description":"Indicates the call originated from a SIP (Session Initiation Protocol) endpoint."},"sip":{"type":"object","additionalProperties":false,"required":["endpoint"],"properties":{"endpoint":{"type":"string","description":"SIP URI of the originating endpoint. Both `sip:` (unencrypted) and `sips:` (TLS-encrypted) schemes are supported.","format":"uri","pattern":"^sips?:.*\\S$","maxLength":192},"displayName":{"type":"string","description":"Display name presented to the called party as the caller identity. Transmitted as the display name part of the SIP `From` header (for example, `Alice <sip:alice@example.com>`).","maxLength":64,"example":"Alice"}}}},"examples":[{"type":"SIP","sip":{"endpoint":"sip:user@example.com","displayName":"Alice"}}]},"from":{"description":"Call origin - Phone Number or SIP endpoint","oneOf":[{"$ref":"#/components/schemas/phone"},{"$ref":"#/components/schemas/sipFrom"}],"discriminator":{"propertyName":"type","mapping":{"PHONE":"#/components/schemas/phone","SIP":"#/components/schemas/sipFrom"}}},"sipCallHeaders":{"type":"array","description":"Custom SIP headers to be sent in the call setup.","maxItems":16,"items":{"type":"object","additionalProperties":false,"required":["key"],"properties":{"key":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[-A-Za-z0-9.!%*_+`'~]+$","description":"Name of the SIP header.","example":"X-Correlation-Id"},"value":{"type":"string","maxLength":255,"description":"Value of the SIP header.","example":"12345"}}},"examples":[[{"key":"X-Correlation-Id","value":"12345"},{"key":"X-Call-Routing","value":"forwarded"}]]},"sip":{"type":"object","additionalProperties":false,"title":"SIP Endpoint","required":["type","sip"],"properties":{"type":{"type":"string","const":"SIP","description":"Routes the call to a SIP (Session Initiation Protocol) endpoint."},"sip":{"type":"object","additionalProperties":false,"required":["endpoint"],"properties":{"endpoint":{"type":"string","description":"SIP URI of the destination endpoint. Both `sip:` (unencrypted) and `sips:` (TLS-encrypted) schemes are supported.","format":"uri","maxLength":256,"pattern":"^sips?:.*\\S$"},"transport":{"type":"string","description":"Transport protocol to use for the SIP signalling channel.\n\nIf omitted, the platform selects a default based on the URI scheme: `UDP` for `sip:` and `TLS` for `sips:`. Setting this explicitly overrides that default — for example, to force `TCP` for a `sip:` URI or to use `TLS` without switching to the `sips:` scheme.","enum":["UDP","TCP","TLS"],"x-enumDescriptions":{"UDP":"Connectionless transport. Lowest overhead; suitable for most standard SIP deployments.","TCP":"Connection-oriented transport. More reliable for large SIP messages or NAT traversal scenarios.","TLS":"Encrypted transport. Provides confidentiality and integrity for SIP signalling."}},"callHeaders":{"$ref":"#/components/schemas/sipCallHeaders"}}}},"examples":[{"type":"SIP","sip":{"endpoint":"sip:user@example.com","transport":"TCP","callHeaders":[{"key":"X-Correlation-Id","value":"12345"},{"key":"X-Call-Routing","value":"forwarded"}]}}]},"callHeaders":{"type":"array","description":"Custom headers to be sent in the call setup.","maxItems":16,"items":{"type":"object","additionalProperties":false,"required":["key"],"properties":{"key":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[\\x21-\\x7e]+([\\x20\\t]+[\\x21-\\x7e]+)*$","description":"Name of the header. No leading or trailing whitespaces allowed.","example":"headerKey"},"value":{"type":"string","maxLength":255,"pattern":"^([\\x21-\\x7e]+([\\x20\\t]+[\\x21-\\x7e]+)*)?$","description":"Value of the header. No leading or trailing whitespaces allowed.","example":"headerValue"}}},"examples":[[{"key":"headerKey","value":"headerValue"},{"key":"anotherKey","value":"anotherValue"}]]},"stream":{"type":"object","additionalProperties":false,"title":"Stream","description":"Routes the call to a WebSocket stream endpoint for real-time audio processing.","required":["type","stream"],"properties":{"type":{"type":"string","const":"STREAM","description":"Routes the call to a WebSocket stream endpoint for real-time audio processing."},"stream":{"type":"object","additionalProperties":false,"required":["endpoint"],"properties":{"endpoint":{"type":"string","description":"WebSocket endpoint that will accept the incoming connection for real-time audio streaming. Must be a valid WebSocket URL using either `ws://` or `wss://` (recommended). The URL must be reachable from the public internet and capable of handling the negotiated stream protocol.","example":"wss://example.com"},"streamOptions":{"type":"object","additionalProperties":false,"properties":{"version":{"type":"integer","const":1,"description":"Defines the version of the stream protocol, which determines the format of the binary audio messages exchanged over the WebSocket connection.\n\nCurrently, only version `1` is supported: binary messages contain only audio data, and audio received from the WebSocket server is played as soon as it is received.","default":1,"example":1},"codec":{"type":"string","const":"PCM","description":"Defines the audio codec/format used for the stream audio payload.\n\nCurrently, only `PCM` is supported (uncompressed raw audio). Use `sampleRate` to configure the sampling rate for the stream."},"sampleRate":{"type":"integer","description":"Defines the audio sampling rate (Hz) used for the stream.\n\nFor calls that traverse the PSTN, audio is typically sampled at 8 kHz, so using a higher value will not improve perceived quality. \nHigher sample rates can be useful for non-PSTN scenarios (for example, SIP/streaming paths), but will increase bandwidth usage and processing load.","enum":[8000,16000,24000,44100,48000,96000],"x-enumDescriptions":{"8000":"8 kHz (standard for PSTN calls)","16000":"16 kHz (wideband audio)","24000":"24 kHz (super-wideband audio)","44100":"44.1 kHz (CD quality audio)","48000":"48 kHz (professional audio quality)","96000":"96 kHz (high-resolution audio)"},"default":8000,"example":16000}}},"callHeaders":{"$ref":"#/components/schemas/callHeaders"}},"examples":[{"endpoint":"wss://example.com","streamOptions":{"version":1,"codec":"PCM","sampleRate":8000},"callHeaders":[{"key":"my-key","value":"my-key-value"}]}]}},"examples":[{"type":"STREAM","stream":{"endpoint":"wss://example.com","streamOptions":{"version":1,"codec":"PCM","sampleRate":16000},"callHeaders":[{"key":"my-key","value":"my-key-value"}]}}]},"voiceName":{"type":"string","description":"Sinch Voice Name to use for text-to-speech. Each voice is tied to a specific language variant, gender, and pricing model (Free/Standard or Paid/Generative). See [https://developers.sinch.com/docs/voice-2.0/api-reference/text-to-speech-voices#text-to-speech-voices](https://developers.sinch.com/docs/voice-2.0/api-reference/text-to-speech-voices#currently-available-languages) for details","example":"Emma_3","enum":["Aarav","Aarav_2","Aarohi","Aarti","Aarti_2","Aarti_3","Aashi","Abbi","Abdullah","Abeo","Abril","Achara","Ada","Ada_2","Adam","Adam_2","Aditi","Adri","Adriano","Agnieszka","Ahmet","Aigul","Ainhoa","Alain","Alba","Aled","Aleksandar","Alessio","Alessio_2","Alex","Alfie","Ali","Alina","Alloy","Alloy_2","Alonso","Alvaro","Amal","Amala","Amanda","Amany","Amber","Ambre","Ameha","Amina","Amy","Amy_2","Amy_3","Ana","Anahit","Ananya","Ananya_2","Anbu","Ander","Andre","Andre_2","Andrea","Andres","Andrew","Andrew_2","Andrew_3","Angelo","Anila","Annette","Antoine","Antonin","Antonio","Anu","Aoi","Arabella","Ardi","Aria","Aria_2","Ariane","Arjun","Arjun_2","Arjun_3","Arlet","Arnau","Arnaud","Arthur","Arya","Arya_2","Asad","Ashley","Asilia","Astrid","Athina","Ava","Ava_2","Ava_3","Avri","Ayanda","Ayanda_2","Aysha","Babek","Banu","Bashkar","Bassel","Bataa","Beatrice","Beatriz","Belkys","Bella","Benigno","Bernd","Bianca","Bianca_2","Bianca_3","Blessica","BongJin","Borislav","Brandon","Brandon_2","Bree","Brenda","Brian","Brian_2","Brian_3","Brigitte","Bryan","Bryan_2","Bryan_3","Burcu","Calimero","Camila","Camilla","Camilla_2","Camilla_3","Candela","Carla","Carlos","Carlota","Carly","Carmen","Cataldo","Catalina","Cecilio","Celeste","Celine","Celine_2","Chantal","Chanthavong","Charline","Chilemba","Christel","Christoph","Christopher","Christopher_2","Clara","Claude","Colette","Colm","Conchita","Connor","Conrad","Cora","Cora_2","Coralie","Cristiano","Daichi","Dalia","Dalia_2","Daniel","Daniel_2","Danielle","Danielle_2","Dario","Dariya","Darren","Daudi","Daulet","Davis","Davis_2","Davis_3","Dena","Denise","Derek","Dhwani","Diego","Dilara","Dimas","Dmitry","Donato","Dora","Duarte","Duncan","Dustin","Echo","Eka","Elena","Elias","Elimu","Elin","Elizabeth","Elke","Elliot","Eloise","Elsa","Elsie","Elvira","Elza","Emel","Emil","Emilio","Emily","Emma","Emma_2","Emma_3","Enric","Enrique","Eric","Estrella","Ethan","Evelyn","Everita","Ewa","Ewa_2","Ezinne","Fabio","Fabiola","Fable","Fabrice","Fahed","Farid","Fatima","Federico","Fenna","Fernanda","Fiamma","Filiz","Finn","Florian","Florian_2","Florin","Francisca","Freya","Gabrielle","Gabrielle_2","Gabrijela","Gadis","Gagan","Gemma","Gemma_2","Geraint","Gerard","Gerardo","Gianni","Giorgi","Giorgio","Giovanna","Gisela","Giuseppe","Giuseppe_2","Gonzalo","GookMin","Goran","Grace","Gregory","Gudrun","Gul","GulNawaz","Gunnar","Guy","Gwyneth","Hala","Hamdan","Hamed","Hannah","Hannah_2","Hans","Harri","Hayk","Hedi","Hemkala","Henri","Hila","Hillevi","HiuGaai","Hiujin","HiuMaan","HoaiMy","Hollie","HsiaoChen","HsiaoYu","Humberto","Hyunsu","Hyunsu_2","Hyunsu_3","Ida","Ilir","Iman","Imani","Imelda","Ines","Ines_2","Ingrid","InJoon","Irene","Irma","Isabella","Isabella_2","Isabella_3","Isabelle","Isabelle_2","Iselin","Isidora","Ismael","Ivy","Ivy_2","Jacek","Jacob","Jacqueline","Jajang","Jamal","James","Jan","Jane","Jane_2","Jann","Jasmine","Jasmine_2","Jason","Javier","Jean","Jenny","Jenny_2","Jenny_3","Jeppe","Jerome","Jihye","JiMin","Jimmie","Jitka","Joana","Joanna","Joanna_2","Joanna_3","Joanne","Joey","Joey_2","Jonas","Jorge","Jorge_2","Joseph","Josephine","Juan","Julio","Justin","Justin_2","Kai","Kajal","Kajal_2","Kalina","Kani","Karina","Karl","Karla","Kasper","Katja","Kavya","Kavya_2","Kazuha","Keita","Ken","Kendra","Kendra_2","Keomany","Kert","Kevin","Killian","Kim","Kimberly","Kimberly_2","Klarissa","Klaus","Kumar","Kunal","Kunal_2","Laia","Laila","Laith","Larissa","Latifa","Laura","Laura_2","Layla","Lea","Lea_2","Lea_3","Leah","Leila","Leni","Lennart","Leonas","Leticia","Lewis","Lia","Liam","Lian","Lian_2","Libby","Liberto","Lisa","Lisa_2","Lisandro","Liv","Livia","Livia_2","Lola","Lorena","Lorenzio","Lorenzo","Lotte","Louisa","Lucia","Lucia_2","Lucia_3","Luciano","Lucien","Luis","Lukas","Luke","Luna","Luna_2","Lupe","Lupe_2","Lupe_3","Maarten","Macerio","Macerio_2","Madhur","Madina","Mads","Maisie","Maja","Manohar","Manuel","Manuela","Marcello","Marcelo","Marek","Margarita","Maria","Marija","Marina","Mario","Marlene","Marta","Maryam","Masaru","Mateo","Mathieu","Matthew","Matthew_2","Matthew_3","Mattias","Maurice","Maxim","Maya","Mayu","Mekdes","Mia","Mia_2","Mia_3","Michelle","Midhun","Miguel","Mitchell","Mizuki","Moaz","Mohan","Molly","Monica","Mouna","Muuse","Nabanita","Naja","NamMinh","Nanami","Nanami_2","Nancy","Nancy_2","Naoki","Natasha","Neerja","Neerja_2","Neil","Nestoras","Nia","Niamh","Niamh_2","Nicholas","Nicholas_2","Nicolau","Nicole","Nil","Nilar","Nils","Niranjan","Niwat","Noah","Noemi","Noora","Noura","Nova","Nova_2","Nuria","Ojas","Ola","Ola_2","Oliver","Olivia","Ollie","Ollie_2","Omar","Ona","Onyx","Orla","Osman","Ostap","Pallavi","Palmira","Paloma","Paola","Pedro","Pedro_2","Pelayo","Penelope","Pernille","Petra","Phoebe","Phoebe_2","Pierina","Piseth","Polina","Prabhat","Prabhat_2","Pradeep","Premwadee","Priyom","Rafiki","Ralf","Rami","Ramona","Rana","Raquel","Raveena","Reem","Rehaan","Rehaan_2","Rehema","Remi","Remi_2","Remy","Remy_2","Renata","Ricardo","Rinaldo","Roberto","Rodrigo","Roger","Roi","Rok","Rosa","Ruben","Russell","Ruth","Ruth_2","Ryan","Ryan_2","Sabela","Sabrina","Sabrina_2","Sagar","Saleh","Salli","Salli_2","Salli_3","Salma","Salman","Salome","Sam","Sameera","Samuel","Sana","Sapna","Sara","Saranya","Sardor","Saul","Sebastian","Selma","SeoHyeon","Seoyeon","Seoyeon_2","Seoyeon_3","Seraphina","Seraphina_2","Serena","Serena_2","Sergio","Sergio_2","Shakir","Shimmer","Shiori","Shruti","Siqiniq","Siqiniq_2","Siti","Sobhana","Soffie","Sofia","Sofie","Sonia","SoonBok","Sophie","Sophie_2","Srecko","Sreymom","Steffan","Steffan_2","Steffan_3","Stephen","Stephen_2","Subhasini","Sukant","SunHi","SunHi_2","Surya","Suvi","Svetlana","Swara","Sylvie","Sylvie_2","Taim","Takumi","Takumi_2","Tamas","Tania","Tanishaa","Tanja","Taqqiq","Taqqiq_2","Tatyana","Teo","Teresa","Thalita","Thalita_2","Thalita_3","Thando","Themba","Thiago","Thierry","Thierry_2","Thiha","Thilini","Thomas","Tiana","Tiffany","Tim","Tina","Tomas","Tomoko","Tony","Triana","Tristan_ES","Tristan_ES_2","Tuti","Tyler","Ubax","Uzma","Vaani","Valentina","Valerio","Valluvar","Venba","Vera","Vesna","Vicki","Vicki_2","Vicki_3","Victor","Viktoria","Vitoria","Vitoria_2","Vivienne","Vivienne_2","Vlasta","WanLung","Wayne","Willem","William","William_2","Xiaochen","Xiaochen_2","Xiaochen_3","Xiaochen_4","Xiaohan","Xiaohan_2","Xiaomeng","XiaoMin","Xiaomo","Xiaoqiu","Xiaorou","Xiaorui","Xiaoshuang","Xiaoshuang_2","Xiaoshuang_3","Xiaotong","Xiaoxiao","Xiaoxiao_2","Xiaoxiao_3","Xiaoxiao_4","Xiaoxiao_5","Xiaoyan","Xiaoyi","Xiaoyi_2","Xiaoyou","Xiaoyou_2","Xiaoyou_3","Xiaoyu","Xiaoyu_2","Xiaozhen","Ximena_ES","Ximena_ES_2","Ximena_ES_3","Yago","Yan","Yara","Yashica","Yasmin","Yesui","Yolanda","YuJin","Yundeng","Yunfan","Yunfan_2","Yunfeng","Yunhan","Yunhao","YunJhe","Yunjian","Yunjie","YunSong","Yunxi","Yunxi_2","Yunxia","Yunxia_2","Yunxiang","Yunxiao","Yunxiao_2","Yunyang","Yunye","Yunye_2","Yunyi","Yunyi_2","Yunze","Yunzhe","Yves","Yvette","Zariyah","Zayd","Zeina","Zhiyu","Zhiyu_2","Zofia","Zuri"],"x-enumDescriptions":{"Aarav":"Male voice for Hindi (India) (Free voice)","Aarav_2":"Male voice for English (India) (Free voice)","Aarohi":"Female voice for Marathi (India) (Free voice)","Aarti":"Female voice for Hindi (India) (Free voice)","Aarti_2":"Female voice for English (India) (Free voice)","Aarti_3":"Female voice for English (India) (Free voice)","Aashi":"Female voice for English (India) (Free voice)","Abbi":"Female voice for English (United Kingdom) (Free voice)","Abdullah":"Male voice for Arabic (Oman) (Free voice)","Abeo":"Male voice for English (Nigeria) (Free voice)","Abril":"Female voice for Spanish (Spain) (Free voice)","Achara":"Female voice for Thai (Thailand) (Free voice)","Ada":"Female voice for English (United Kingdom) (Free voice)","Ada_2":"Female voice for English (United Kingdom) (Paid voice)","Adam":"Male voice for English (United States) (Free voice)","Adam_2":"Male voice for English (United States) (Paid voice)","Aditi":"Female voice for English (India) (Free voice)","Adri":"Female voice for Afrikaans (South Africa) (Free voice)","Adriano":"Male voice for Italian (Italy) (Free voice)","Agnieszka":"Female voice for Polish (Poland) (Free voice)","Ahmet":"Male voice for Turkish (Türkiye) (Free voice)","Aigul":"Female voice for Kazakh (Kazakhstan) (Free voice)","Ainhoa":"Female voice for Basque (Free voice)","Alain":"Male voice for French (France) (Free voice)","Alba":"Female voice for Catalan (Free voice)","Aled":"Male voice for Welsh (United Kingdom) (Free voice)","Aleksandar":"Male voice for Macedonian (North Macedonia) (Free voice)","Alessio":"Male voice for Italian (Italy) (Free voice)","Alessio_2":"Male voice for Italian (Italy) (Paid voice)","Alex":"Male voice for Spanish (Peru) (Free voice)","Alfie":"Male voice for English (United Kingdom) (Free voice)","Ali":"Male voice for Arabic (Bahrain) (Free voice)","Alina":"Female voice for Romanian (Romania) (Free voice)","Alloy":"Male voice for English (United States) (Free voice)","Alloy_2":"Male voice for English (United States) (Paid voice)","Alonso":"Male voice for Spanish (United States) (Free voice)","Alvaro":"Male voice for Spanish (Spain) (Free voice)","Amal":"Female voice for Arabic (Qatar) (Free voice)","Amala":"Female voice for German (Germany) (Free voice)","Amanda":"Female voice for English (United States) (Free voice)","Amany":"Female voice for Arabic (Syria) (Free voice)","Amber":"Female voice for English (United States) (Free voice)","Ambre":"Female voice for French (France) (Paid voice)","Ameha":"Male voice for Amharic (Ethiopia) (Free voice)","Amina":"Female voice for Arabic (Algeria) (Free voice)","Amy":"Female voice for English (United Kingdom) (Free voice)","Amy_2":"Female voice for English (United Kingdom) (Free voice)","Amy_3":"Female voice for English (United Kingdom) (Paid voice)","Ana":"Female voice for English (United States) (Free voice)","Anahit":"Female voice for Armenian (Armenia) (Free voice)","Ananya":"Female voice for Hindi (India) (Free voice)","Ananya_2":"Female voice for English (India) (Free voice)","Anbu":"Male voice for Tamil (Singapore) (Free voice)","Ander":"Male voice for Basque (Free voice)","Andre":"Male voice for Spanish (Mexico) (Free voice)","Andre_2":"Male voice for Spanish (Mexico) (Paid voice)","Andrea":"Female voice for Spanish (Ecuador) (Free voice)","Andres":"Male voice for Spanish (Guatemala) (Free voice)","Andrew":"Male voice for English (United States) (Free voice)","Andrew_2":"Male voice for English (United States) (Free voice)","Andrew_3":"Male voice for English (United States) (Paid voice)","Angelo":"Male voice for Filipino (Philippines) (Free voice)","Anila":"Female voice for Albanian (Albania) (Free voice)","Annette":"Female voice for English (Australia) (Free voice)","Antoine":"Male voice for French (Canada) (Free voice)","Antonin":"Male voice for Czech (Czechia) (Free voice)","Antonio":"Male voice for Portuguese (Brazil) (Free voice)","Anu":"Female voice for Estonian (Estonia) (Free voice)","Aoi":"Female voice for Japanese (Japan) (Free voice)","Arabella":"Female voice for Spanish (Spain) (Free voice)","Ardi":"Male voice for Indonesian (Indonesia) (Free voice)","Aria":"Female voice for English (United States) (Free voice)","Aria_2":"Female voice for English (United States) (Paid voice)","Ariane":"Female voice for French (Switzerland) (Free voice)","Arjun":"Male voice for English (India) (Free voice)","Arjun_2":"Male voice for English (India) (Free voice)","Arjun_3":"Male voice for Hindi (India) (Free voice)","Arlet":"Female voice for Catalan (Free voice)","Arnau":"Male voice for Spanish (Spain) (Free voice)","Arnaud":"Male voice for Dutch (Belgium) (Free voice)","Arthur":"Male voice for English (United Kingdom) (Free voice)","Arya":"Female voice for English (New Zealand) (Free voice)","Arya_2":"Female voice for English (New Zealand) (Paid voice)","Asad":"Male voice for Urdu (Pakistan) (Free voice)","Ashley":"Female voice for English (United States) (Free voice)","Asilia":"Female voice for English (Kenya) (Free voice)","Astrid":"Female voice for Swedish (Sweden) (Free voice)","Athina":"Female voice for Greek (Greece) (Free voice)","Ava":"Female voice for English (United States) (Free voice)","Ava_2":"Female voice for English (United States) (Free voice)","Ava_3":"Female voice for English (United States) (Paid voice)","Avri":"Male voice for Hebrew (Israel) (Free voice)","Ayanda":"Female voice for English (South Africa) (Free voice)","Ayanda_2":"Female voice for English (South Africa) (Paid voice)","Aysha":"Female voice for Arabic (Oman) (Free voice)","Babek":"Male voice for Azerbaijani (Latin, Azerbaijan) (Free voice)","Banu":"Female voice for Azerbaijani (Latin, Azerbaijan) (Free voice)","Bashkar":"Male voice for Bengali (India) (Free voice)","Bassel":"Male voice for Arabic (Iraq) (Free voice)","Bataa":"Male voice for Mongolian (Mongolia) (Free voice)","Beatrice":"Female voice for Italian (Italy) (Paid voice)","Beatriz":"Female voice for Spanish (Mexico) (Free voice)","Belkys":"Female voice for Spanish (Cuba) (Free voice)","Bella":"Female voice for English (United Kingdom) (Free voice)","Benigno":"Male voice for Italian (Italy) (Free voice)","Bernd":"Male voice for German (Germany) (Free voice)","Bianca":"Female voice for Italian (Italy) (Free voice)","Bianca_2":"Female voice for Italian (Italy) (Free voice)","Bianca_3":"Female voice for Italian (Italy) (Paid voice)","Blessica":"Female voice for Filipino (Philippines) (Free voice)","BongJin":"Male voice for Korean (Korea) (Free voice)","Borislav":"Male voice for Bulgarian (Bulgaria) (Free voice)","Brandon":"Male voice for English (United States) (Free voice)","Brandon_2":"Male voice for English (United States) (Free voice)","Bree":"Female voice for English (United States) (Paid voice)","Brenda":"Female voice for Portuguese (Brazil) (Free voice)","Brian":"Male voice for English (United States) (Free voice)","Brian_2":"Male voice for English (United States) (Free voice)","Brian_3":"Male voice for English (United States) (Paid voice)","Brigitte":"Female voice for French (France) (Free voice)","Bryan":"Male voice for English (United Kingdom) (Free voice)","Bryan_2":"Male voice for English (United Kingdom) (Free voice)","Bryan_3":"Male voice for English (United Kingdom) (Paid voice)","Burcu":"Female voice for Turkish (Türkiye) (Free voice)","Calimero":"Male voice for Italian (Italy) (Free voice)","Camila":"Female voice for Spanish (Peru) (Free voice)","Camilla":"Female voice for Portuguese (Brazil) (Free voice)","Camilla_2":"Female voice for Portuguese (Brazil) (Free voice)","Camilla_3":"Female voice for Portuguese (Brazil) (Paid voice)","Candela":"Female voice for Spanish (Mexico) (Free voice)","Carla":"Female voice for Italian (Italy) (Free voice)","Carlos":"Male voice for Spanish (Honduras) (Free voice)","Carlota":"Female voice for Spanish (Mexico) (Free voice)","Carly":"Female voice for English (Australia) (Free voice)","Carmen":"Female voice for Romanian (Romania) (Free voice)","Cataldo":"Male voice for Italian (Italy) (Free voice)","Catalina":"Female voice for Spanish (Chile) (Free voice)","Cecilio":"Male voice for Spanish (Mexico) (Free voice)","Celeste":"Female voice for French (France) (Free voice)","Celine":"Female voice for French (France) (Free voice)","Celine_2":"Female voice for French (France) (Paid voice)","Chantal":"Female voice for French (Canada) (Free voice)","Chanthavong":"Male voice for Lao (Laos) (Free voice)","Charline":"Female voice for French (Belgium) (Free voice)","Chilemba":"Male voice for English (Kenya) (Free voice)","Christel":"Female voice for Danish (Denmark) (Free voice)","Christoph":"Male voice for German (Germany) (Free voice)","Christopher":"Male voice for English (United States) (Free voice)","Christopher_2":"Male voice for English (United States) (Free voice)","Clara":"Female voice for English (Canada) (Free voice)","Claude":"Male voice for French (France) (Free voice)","Colette":"Female voice for Dutch (Netherlands) (Free voice)","Colm":"Male voice for Irish (Ireland) (Free voice)","Conchita":"Female voice for Spanish (Castilian) (Free voice)","Connor":"Male voice for English (Ireland) (Free voice)","Conrad":"Male voice for German (Germany) (Free voice)","Cora":"Female voice for English (United States) (Free voice)","Cora_2":"Female voice for English (United States) (Free voice)","Coralie":"Female voice for French (France) (Free voice)","Cristiano":"Male voice for Portuguese (Brazil) (Free voice)","Daichi":"Male voice for Japanese (Japan) (Free voice)","Dalia":"Female voice for Spanish (Mexico) (Free voice)","Dalia_2":"Female voice for Spanish (Mexico) (Free voice)","Daniel":"Male voice for German (Germany) (Free voice)","Daniel_2":"Male voice for German (Germany) (Paid voice)","Danielle":"Female voice for English (United States) (Free voice)","Danielle_2":"Female voice for English (United States) (Paid voice)","Dario":"Male voice for Spanish (Spain) (Free voice)","Dariya":"Female voice for Russian (Russia) (Free voice)","Darren":"Male voice for English (Australia) (Free voice)","Daudi":"Male voice for Swahili (Tanzania) (Free voice)","Daulet":"Male voice for Kazakh (Kazakhstan) (Free voice)","Davis":"Male voice for English (United States) (Free voice)","Davis_2":"Male voice for English (United States) (Free voice)","Davis_3":"Male voice for English (United States) (Paid voice)","Dena":"Female voice for Dutch (Belgium) (Free voice)","Denise":"Female voice for French (France) (Free voice)","Derek":"Male voice for English (United States) (Free voice)","Dhwani":"Female voice for Gujarati (India) (Free voice)","Diego":"Male voice for Italian (Italy) (Free voice)","Dilara":"Female voice for Persian (Iran) (Free voice)","Dimas":"Male voice for Javanese (Latin, Indonesia) (Free voice)","Dmitry":"Male voice for Russian (Russia) (Free voice)","Donato":"Male voice for Portuguese (Brazil) (Free voice)","Dora":"Female voice for Icelandic (Iceland) (Free voice)","Duarte":"Male voice for Portuguese (Portugal) (Free voice)","Duncan":"Male voice for English (Australia) (Free voice)","Dustin":"Male voice for English (United States) (Free voice)","Echo":"Male voice for English (United States) (Free voice)","Eka":"Female voice for Georgian (Georgia) (Free voice)","Elena":"Female voice for Spanish (Argentina) (Free voice)","Elias":"Male voice for Spanish (Spain) (Free voice)","Elimu":"Male voice for English (Tanzania) (Free voice)","Elin":"Female voice for Swedish (Sweden) (Free voice)","Elizabeth":"Female voice for English (United States) (Free voice)","Elke":"Female voice for German (Germany) (Free voice)","Elliot":"Male voice for English (United Kingdom) (Free voice)","Eloise":"Female voice for French (France) (Free voice)","Elsa":"Female voice for Italian (Italy) (Free voice)","Elsie":"Female voice for English (Australia) (Free voice)","Elvira":"Female voice for Spanish (Spain) (Free voice)","Elza":"Female voice for Portuguese (Brazil) (Free voice)","Emel":"Female voice for Turkish (Türkiye) (Free voice)","Emil":"Male voice for Romanian (Romania) (Free voice)","Emilio":"Male voice for Spanish (Dominican Republic) (Free voice)","Emily":"Female voice for English (Ireland) (Free voice)","Emma":"Female voice for English (United States) (Free voice)","Emma_2":"Female voice for English (United States) (Free voice)","Emma_3":"Female voice for English (United States) (Paid voice)","Enric":"Male voice for Catalan (Free voice)","Enrique":"Male voice for Spanish (Castilian) (Free voice)","Eric":"Male voice for English (United States) (Free voice)","Estrella":"Female voice for Spanish (Spain) (Free voice)","Ethan":"Male voice for English (United Kingdom) (Free voice)","Evelyn":"Female voice for English (United States) (Free voice)","Everita":"Female voice for Latvian (Latvia) (Free voice)","Ewa":"Female voice for Polish (Poland) (Free voice)","Ewa_2":"Female voice for Polish (Poland) (Paid voice)","Ezinne":"Female voice for English (Nigeria) (Free voice)","Fabio":"Male voice for Portuguese (Brazil) (Free voice)","Fabiola":"Female voice for Italian (Italy) (Free voice)","Fable":"Neutral voice for English (United States) (Free voice)","Fabrice":"Male voice for French (Switzerland) (Free voice)","Fahed":"Male voice for Arabic (Kuwait) (Free voice)","Farid":"Male voice for Persian (Iran) (Free voice)","Fatima":"Female voice for Arabic (United Arab Emirates) (Free voice)","Federico":"Male voice for Spanish (Nicaragua) (Free voice)","Fenna":"Female voice for Dutch (Netherlands) (Free voice)","Fernanda":"Female voice for Portuguese (Portugal) (Free voice)","Fiamma":"Female voice for Italian (Italy) (Free voice)","Filiz":"Female voice for Turkish (Türkiye) (Free voice)","Finn":"Male voice for Norwegian (Norway) (Free voice)","Florian":"Male voice for German (Germany) (Free voice)","Florian_2":"Male voice for German (Germany) (Paid voice)","Florin":"Male voice for French (France) (Paid voice)","Francisca":"Female voice for Portuguese (Brazil) (Free voice)","Freya":"Female voice for English (Australia) (Free voice)","Gabrielle":"Female voice for French (Canada) (Free voice)","Gabrielle_2":"Female voice for French (Canada) (Paid voice)","Gabrijela":"Female voice for Croatian (Croatia) (Free voice)","Gadis":"Female voice for Indonesian (Indonesia) (Free voice)","Gagan":"Male voice for Kannada (India) (Free voice)","Gemma":"Female voice for English (United Kingdom) (Free voice)","Gemma_2":"Female voice for English (United Kingdom) (Free voice)","Geraint":"Male voice for Welsh (United Kingdom) (Free voice)","Gerard":"Male voice for French (Belgium) (Free voice)","Gerardo":"Male voice for Spanish (Mexico) (Free voice)","Gianni":"Male voice for Italian (Italy) (Free voice)","Giorgi":"Male voice for Georgian (Georgia) (Free voice)","Giorgio":"Male voice for Italian (Italy) (Free voice)","Giovanna":"Female voice for Portuguese (Brazil) (Free voice)","Gisela":"Female voice for German (Germany) (Free voice)","Giuseppe":"Male voice for Italian (Italy) (Free voice)","Giuseppe_2":"Male voice for Italian (Italy) (Free voice)","Gonzalo":"Male voice for Spanish (Colombia) (Free voice)","GookMin":"Male voice for Korean (Korea) (Free voice)","Goran":"Male voice for Bosnian (Bosnia and Herzegovina) (Free voice)","Grace":"Female voice for Maltese (Malta) (Free voice)","Gregory":"Male voice for English (United States) (Free voice)","Gudrun":"Female voice for Icelandic (Iceland) (Free voice)","Gul":"Female voice for Urdu (India) (Free voice)","GulNawaz":"Male voice for Pashto (Afghanistan) (Free voice)","Gunnar":"Male voice for Icelandic (Iceland) (Free voice)","Guy":"Male voice for English (United States) (Free voice)","Gwyneth":"Female voice for Welsh (United Kingdom) (Free voice)","Hala":"Female voice for Arabic (Saudi Arabia) (Free voice)","Hamdan":"Male voice for Arabic (United Arab Emirates) (Free voice)","Hamed":"Male voice for Arabic (Saudi Arabia) (Free voice)","Hannah":"Female voice for German (Austria) (Free voice)","Hannah_2":"Female voice for German (Austria) (Paid voice)","Hans":"Male voice for German (Germany) (Free voice)","Harri":"Male voice for Finnish (Finland) (Free voice)","Hayk":"Male voice for Armenian (Armenia) (Free voice)","Hedi":"Male voice for Arabic (Tunisia) (Free voice)","Hemkala":"Female voice for Nepali (Nepal) (Free voice)","Henri":"Male voice for French (France) (Free voice)","Hila":"Female voice for Hebrew (Israel) (Free voice)","Hillevi":"Female voice for Swedish (Sweden) (Free voice)","HiuGaai":"Female voice for Chinese (Cantonese, Traditional) (Free voice)","Hiujin":"Female voice for Chinese (Cantonese) (Free voice)","HiuMaan":"Female voice for Chinese (Cantonese, Traditional) (Free voice)","HoaiMy":"Female voice for Vietnamese (Vietnam) (Free voice)","Hollie":"Female voice for English (United Kingdom) (Free voice)","HsiaoChen":"Female voice for Chinese (Taiwanese Mandarin, Traditional) (Free voice)","HsiaoYu":"Female voice for Chinese (Taiwanese Mandarin, Traditional) (Free voice)","Humberto":"Male voice for Portuguese (Brazil) (Free voice)","Hyunsu":"Male voice for Korean (Korea) (Free voice)","Hyunsu_2":"Male voice for Korean (Korea) (Free voice)","Hyunsu_3":"Male voice for Korean (Korea) (Paid voice)","Ida":"Female voice for Norwegian (Norway) (Free voice)","Ilir":"Male voice for Albanian (Albania) (Free voice)","Iman":"Female voice for Arabic (Libya) (Free voice)","Imani":"Female voice for English (Tanzania) (Free voice)","Imelda":"Female voice for Italian (Italy) (Free voice)","Ines":"Female voice for Portuguese (Brazil) (Free voice)","Ines_2":"Female voice for Portuguese (Brazil) (Free voice)","Ingrid":"Female voice for German (Austria) (Free voice)","InJoon":"Male voice for Korean (Korea) (Free voice)","Irene":"Female voice for Spanish (Spain) (Free voice)","Irma":"Female voice for Italian (Italy) (Free voice)","Isabella":"Female voice for Italian (Italy) (Free voice)","Isabella_2":"Female voice for Italian (Italy) (Free voice)","Isabella_3":"Female voice for Italian (Italy) (Paid voice)","Isabelle":"Female voice for French (Belgium) (Free voice)","Isabelle_2":"Female voice for French (Belgium) (Paid voice)","Iselin":"Female voice for Norwegian (Norway) (Free voice)","Isidora":"Female voice for Spanish (Spain) (Free voice)","Ismael":"Male voice for Arabic (Algeria) (Free voice)","Ivy":"Female voice for English (United States) (Free voice)","Ivy_2":"Female voice for English (United States) (Free voice)","Jacek":"Male voice for Polish (Poland) (Free voice)","Jacob":"Male voice for English (United States) (Free voice)","Jacqueline":"Female voice for French (France) (Free voice)","Jajang":"Male voice for Sundanese (Indonesia) (Free voice)","Jamal":"Male voice for Arabic (Morocco) (Free voice)","James":"Male voice for English (Philippines) (Free voice)","Jan":"Male voice for German (Switzerland) (Free voice)","Jane":"Female voice for English (United States) (Free voice)","Jane_2":"Female voice for English (United States) (Paid voice)","Jann":"Male voice for Polish (Poland) (Free voice)","Jasmine":"Female voice for English (Singapore) (Free voice)","Jasmine_2":"Female voice for English (Singapore) (Paid voice)","Jason":"Male voice for English (United States) (Free voice)","Javier":"Male voice for Spanish (Equatorial Guinea) (Free voice)","Jean":"Male voice for French (Canada) (Free voice)","Jenny":"Female voice for English (United States) (Free voice)","Jenny_2":"Female voice for English (United States) (Free voice)","Jenny_3":"Female voice for English (United States) (Paid voice)","Jeppe":"Male voice for Danish (Denmark) (Free voice)","Jerome":"Male voice for French (France) (Free voice)","Jihye":"Female voice for Korean (Korea) (Free voice)","JiMin":"Female voice for Korean (Korea) (Free voice)","Jimmie":"Male voice for English (United States) (Free voice)","Jitka":"Female voice for Czech (Czechia) (Free voice)","Joana":"Female voice for Catalan (Free voice)","Joanna":"Female voice for English (United States) (Free voice)","Joanna_2":"Female voice for English (United States) (Free voice)","Joanna_3":"Female voice for English (United States) (Paid voice)","Joanne":"Female voice for English (Australia) (Free voice)","Joey":"Male voice for English (United States) (Free voice)","Joey_2":"Male voice for English (United States) (Free voice)","Jonas":"Male voice for German (Austria) (Free voice)","Jorge":"Male voice for Spanish (Mexico) (Free voice)","Jorge_2":"Male voice for Spanish (Mexico) (Free voice)","Joseph":"Male voice for Maltese (Malta) (Free voice)","Josephine":"Female voice for French (France) (Free voice)","Juan":"Male voice for Spanish (Costa Rica) (Free voice)","Julio":"Male voice for Portuguese (Brazil) (Free voice)","Justin":"Male voice for English (United States) (Free voice)","Justin_2":"Male voice for English (United States) (Free voice)","Kai":"Male voice for English (United States) (Free voice)","Kajal":"Female voice for English (India) (Free voice)","Kajal_2":"Female voice for English (India) (Paid voice)","Kalina":"Female voice for Bulgarian (Bulgaria) (Free voice)","Kani":"Female voice for Tamil (Malaysia) (Free voice)","Karina":"Female voice for Spanish (Puerto Rico) (Free voice)","Karl":"Male voice for Icelandic (Iceland) (Free voice)","Karla":"Female voice for Spanish (Honduras) (Free voice)","Kasper":"Male voice for German (Germany) (Free voice)","Katja":"Female voice for German (Germany) (Free voice)","Kavya":"Female voice for Hindi (India) (Free voice)","Kavya_2":"Female voice for English (India) (Free voice)","Kazuha":"Female voice for Japanese (Japan) (Free voice)","Keita":"Male voice for Japanese (Japan) (Free voice)","Ken":"Male voice for English (Australia) (Free voice)","Kendra":"Female voice for English (United States) (Free voice)","Kendra_2":"Female voice for English (United States) (Free voice)","Keomany":"Female voice for Lao (Laos) (Free voice)","Kert":"Male voice for Estonian (Estonia) (Free voice)","Kevin":"Male voice for English (United States) (Free voice)","Killian":"Male voice for German (Germany) (Free voice)","Kim":"Female voice for English (Australia) (Free voice)","Kimberly":"Female voice for English (United States) (Free voice)","Kimberly_2":"Female voice for English (United States) (Free voice)","Klarissa":"Female voice for German (Germany) (Free voice)","Klaus":"Male voice for German (Germany) (Free voice)","Kumar":"Male voice for Tamil (Sri Lanka) (Free voice)","Kunal":"Male voice for Hindi (India) (Free voice)","Kunal_2":"Male voice for English (India) (Free voice)","Laia":"Female voice for Spanish (Spain) (Free voice)","Laila":"Female voice for Arabic (Bahrain) (Free voice)","Laith":"Male voice for Arabic (Syria) (Free voice)","Larissa":"Female voice for Spanish (Mexico) (Free voice)","Latifa":"Female voice for Pashto (Afghanistan) (Free voice)","Laura":"Female voice for Dutch (Netherlands) (Free voice)","Laura_2":"Female voice for Dutch (Netherlands) (Paid voice)","Layla":"Female voice for Arabic (Lebanon) (Free voice)","Lea":"Female voice for French (France) (Free voice)","Lea_2":"Female voice for French (France) (Free voice)","Lea_3":"Female voice for French (France) (Paid voice)","Leah":"Female voice for English (South Africa) (Free voice)","Leila":"Female voice for Portuguese (Brazil) (Free voice)","Leni":"Female voice for German (Switzerland) (Free voice)","Lennart":"Male voice for German (Germany) (Paid voice)","Leonas":"Male voice for Lithuanian (Lithuania) (Free voice)","Leticia":"Female voice for Portuguese (Brazil) (Free voice)","Lewis":"Male voice for English (United States) (Free voice)","Lia":"Female voice for Spanish (Spain) (Free voice)","Liam":"Male voice for English (Canada) (Free voice)","Lian":"Male voice for French (Canada) (Free voice)","Lian_2":"Male voice for French (Canada) (Paid voice)","Libby":"Female voice for English (United Kingdom) (Free voice)","Liberto":"Male voice for Spanish (Mexico) (Free voice)","Lisa":"Female voice for Dutch (Belgium) (Free voice)","Lisa_2":"Female voice for Dutch (Belgium) (Paid voice)","Lisandro":"Male voice for Italian (Italy) (Free voice)","Liv":"Female voice for Norwegian (Norway) (Free voice)","Livia":"Female voice for English (Australia) (Free voice)","Livia_2":"Female voice for English (Australia) (Paid voice)","Lola":"Female voice for English (United States) (Free voice)","Lorena":"Female voice for Spanish (El Salvador) (Free voice)","Lorenzio":"Male voice for Italian (Italy) (Paid voice)","Lorenzo":"Male voice for Spanish (Chile) (Free voice)","Lotte":"Female voice for Dutch (Netherlands) (Free voice)","Louisa":"Female voice for German (Germany) (Free voice)","Lucia":"Female voice for Spanish (Castilian) (Free voice)","Lucia_2":"Female voice for Spanish (Castilian) (Free voice)","Lucia_3":"Female voice for Spanish (Castilian) (Paid voice)","Luciano":"Male voice for Spanish (Mexico) (Free voice)","Lucien":"Male voice for French (France) (Free voice)","Luis":"Male voice for Spanish (Ecuador) (Free voice)","Lukas":"Male voice for Slovak (Slovakia) (Free voice)","Luke":"Male voice for English (South Africa) (Free voice)","Luna":"Female voice for English (Singapore) (Free voice)","Luna_2":"Female voice for English (United States) (Free voice)","Lupe":"Female voice for Spanish (United States) (Free voice)","Lupe_2":"Female voice for Spanish (United States) (Free voice)","Lupe_3":"Female voice for Spanish (United States) (Paid voice)","Maarten":"Male voice for Dutch (Netherlands) (Free voice)","Macerio":"Male voice for Portuguese (Brazil) (Free voice)","Macerio_2":"Male voice for Portuguese (Brazil) (Paid voice)","Madhur":"Male voice for Hindi (India) (Free voice)","Madina":"Female voice for Uzbek (Latin, Uzbekistan) (Free voice)","Mads":"Male voice for Danish (Denmark) (Free voice)","Maisie":"Female voice for English (United Kingdom) (Free voice)","Maja":"Female voice for German (Germany) (Free voice)","Manohar":"Male voice for Marathi (India) (Free voice)","Manuel":"Male voice for Spanish (Cuba) (Free voice)","Manuela":"Female voice for Portuguese (Brazil) (Free voice)","Marcello":"Male voice for Italian (Italy) (Free voice)","Marcelo":"Male voice for Spanish (Bolivia) (Free voice)","Marek":"Male voice for Polish (Poland) (Free voice)","Margarita":"Female voice for Spanish (Panama) (Free voice)","Maria":"Female voice for Spanish (Costa Rica) (Free voice)","Marija":"Female voice for Macedonian (North Macedonia) (Free voice)","Marina":"Female voice for Spanish (Mexico) (Free voice)","Mario":"Male voice for Spanish (Paraguay) (Free voice)","Marlene":"Female voice for German (Germany) (Free voice)","Marta":"Female voice for Spanish (Guatemala) (Free voice)","Maryam":"Female voice for Arabic (Yemen) (Free voice)","Masaru":"Male voice for Japanese (Japan) (Paid voice)","Mateo":"Male voice for Spanish (Uruguay) (Free voice)","Mathieu":"Male voice for French (France) (Free voice)","Matthew":"Male voice for English (United States) (Free voice)","Matthew_2":"Male voice for English (United States) (Free voice)","Matthew_3":"Male voice for English (United States) (Paid voice)","Mattias":"Male voice for Swedish (Sweden) (Free voice)","Maurice":"Male voice for French (France) (Free voice)","Maxim":"Male voice for Russian (Russia) (Free voice)","Maya":"Female voice for Polish (Poland) (Free voice)","Mayu":"Female voice for Japanese (Japan) (Free voice)","Mekdes":"Female voice for Amharic (Ethiopia) (Free voice)","Mia":"Female voice for Spanish (Mexico) (Free voice)","Mia_2":"Female voice for Spanish (Mexico) (Free voice)","Mia_3":"Female voice for Spanish (Mexico) (Paid voice)","Michelle":"Female voice for English (United States) (Free voice)","Midhun":"Male voice for Malayalam (India) (Free voice)","Miguel":"Male voice for Spanish (United States) (Free voice)","Mitchell":"Male voice for English (New Zealand) (Free voice)","Mizuki":"Female voice for Japanese (Japan) (Free voice)","Moaz":"Male voice for Arabic (Qatar) (Free voice)","Mohan":"Male voice for Telugu (India) (Free voice)","Molly":"Female voice for English (New Zealand) (Free voice)","Monica":"Female voice for English (United States) (Free voice)","Mouna":"Female voice for Arabic (Morocco) (Free voice)","Muuse":"Male voice for Somali (Somalia) (Free voice)","Nabanita":"Female voice for Bangla (Bangladesh) (Free voice)","Naja":"Female voice for Danish (Denmark) (Free voice)","NamMinh":"Male voice for Vietnamese (Vietnam) (Free voice)","Nanami":"Female voice for Japanese (Japan) (Free voice)","Nanami_2":"Female voice for Japanese (Japan) (Paid voice)","Nancy":"Female voice for English (United States) (Free voice)","Nancy_2":"Female voice for English (United States) (Free voice)","Naoki":"Male voice for Japanese (Japan) (Free voice)","Natasha":"Female voice for English (Australia) (Free voice)","Neerja":"Female voice for English (India) (Free voice)","Neerja_2":"Female voice for English (India) (Free voice)","Neil":"Male voice for English (Australia) (Free voice)","Nestoras":"Male voice for Greek (Greece) (Free voice)","Nia":"Female voice for Welsh (United Kingdom) (Free voice)","Niamh":"Female voice for English (Ireland) (Free voice)","Niamh_2":"Female voice for English (Ireland) (Paid voice)","Nicholas":"Male voice for Serbian (Cyrillic, Serbia) (Free voice)","Nicholas_2":"Male voice for Serbian (Latin, Serbia) (Free voice)","Nicolau":"Male voice for Portuguese (Brazil) (Free voice)","Nicole":"Female voice for English (Australia) (Free voice)","Nil":"Male voice for Spanish (Spain) (Free voice)","Nilar":"Female voice for Burmese (Myanmar) (Free voice)","Nils":"Male voice for Latvian (Latvia) (Free voice)","Niranjan":"Male voice for Gujarati (India) (Free voice)","Niwat":"Male voice for Thai (Thailand) (Free voice)","Noah":"Male voice for English (United Kingdom) (Free voice)","Noemi":"Female voice for Hungarian (Hungary) (Free voice)","Noora":"Female voice for Finnish (Finland) (Free voice)","Noura":"Female voice for Arabic (Kuwait) (Free voice)","Nova":"Female voice for English (United States) (Free voice)","Nova_2":"Female voice for English (United States) (Paid voice)","Nuria":"Female voice for Spanish (Mexico) (Free voice)","Ojas":"Male voice for Punjabi (India) (Free voice)","Ola":"Female voice for Polish (Poland) (Free voice)","Ola_2":"Female voice for Polish (Poland) (Paid voice)","Oliver":"Male voice for English (United Kingdom) (Free voice)","Olivia":"Female voice for English (United Kingdom) (Free voice)","Ollie":"Male voice for English (United Kingdom) (Free voice)","Ollie_2":"Male voice for English (United Kingdom) (Paid voice)","Omar":"Male voice for Arabic (Libya) (Free voice)","Ona":"Female voice for Lithuanian (Lithuania) (Free voice)","Onyx":"Male voice for English (United States) (Free voice)","Orla":"Female voice for Irish (Ireland) (Free voice)","Osman":"Male voice for Malay (Malaysia) (Free voice)","Ostap":"Male voice for Ukrainian (Ukraine) (Free voice)","Pallavi":"Female voice for Tamil (India) (Free voice)","Palmira":"Female voice for Italian (Italy) (Free voice)","Paloma":"Female voice for Spanish (United States) (Free voice)","Paola":"Female voice for Spanish (Venezuela) (Free voice)","Pedro":"Male voice for Spanish (United States) (Free voice)","Pedro_2":"Male voice for Spanish (United States) (Paid voice)","Pelayo":"Male voice for Spanish (Mexico) (Free voice)","Penelope":"Female voice for Spanish (United States) (Free voice)","Pernille":"Female voice for Norwegian (Norway) (Free voice)","Petra":"Female voice for Slovenian (Slovenia) (Free voice)","Phoebe":"Female voice for English (United States) (Free voice)","Phoebe_2":"Female voice for English (United States) (Paid voice)","Pierina":"Female voice for Italian (Italy) (Free voice)","Piseth":"Male voice for Khmer (Cambodia) (Free voice)","Polina":"Female voice for Ukrainian (Ukraine) (Free voice)","Prabhat":"Male voice for English (India) (Free voice)","Prabhat_2":"Male voice for English (India) (Free voice)","Pradeep":"Male voice for Bangla (Bangladesh) (Free voice)","Premwadee":"Female voice for Thai (Thailand) (Free voice)","Priyom":"Male voice for Assamese (India) (Free voice)","Rafiki":"Male voice for Swahili (Kenya) (Free voice)","Ralf":"Male voice for German (Germany) (Free voice)","Rami":"Male voice for Arabic (Lebanon) (Free voice)","Ramona":"Female voice for Spanish (Dominican Republic) (Free voice)","Rana":"Female voice for Arabic (Iraq) (Free voice)","Raquel":"Female voice for Portuguese (Portugal) (Free voice)","Raveena":"Female voice for English (India) (Free voice)","Reem":"Female voice for Arabic (Tunisia) (Free voice)","Rehaan":"Male voice for Hindi (India) (Free voice)","Rehaan_2":"Male voice for English (India) (Free voice)","Rehema":"Female voice for Swahili (Tanzania) (Free voice)","Remi":"Male voice for French (France) (Free voice)","Remi_2":"Male voice for French (France) (Paid voice)","Remy":"Male voice for French (France) (Free voice)","Remy_2":"Male voice for French (France) (Paid voice)","Renata":"Female voice for Spanish (Mexico) (Free voice)","Ricardo":"Male voice for Portuguese (Brazil) (Free voice)","Rinaldo":"Male voice for Italian (Italy) (Free voice)","Roberto":"Male voice for Spanish (Panama) (Free voice)","Rodrigo":"Male voice for Spanish (El Salvador) (Free voice)","Roger":"Male voice for English (United States) (Free voice)","Roi":"Male voice for Galician (Free voice)","Rok":"Male voice for Slovenian (Slovenia) (Free voice)","Rosa":"Female voice for English (Philippines) (Free voice)","Ruben":"Male voice for Dutch (Netherlands) (Free voice)","Russell":"Male voice for English (Australia) (Free voice)","Ruth":"Female voice for English (United States) (Free voice)","Ruth_2":"Female voice for English (United States) (Paid voice)","Ryan":"Male voice for English (United States) (Free voice)","Ryan_2":"Male voice for English (United Kingdom) (Free voice)","Sabela":"Female voice for Galician (Free voice)","Sabrina":"Female voice for German (Switzerland) (Free voice)","Sabrina_2":"Female voice for German (Switzerland) (Paid voice)","Sagar":"Male voice for Nepali (Nepal) (Free voice)","Saleh":"Male voice for Arabic (Yemen) (Free voice)","Salli":"Female voice for English (United States) (Free voice)","Salli_2":"Female voice for English (United States) (Free voice)","Salli_3":"Female voice for English (United States) (Paid voice)","Salma":"Female voice for Arabic (Egypt) (Free voice)","Salman":"Male voice for Urdu (India) (Free voice)","Salome":"Female voice for Spanish (Colombia) (Free voice)","Sam":"Male voice for English (Hong Kong SAR) (Free voice)","Sameera":"Male voice for Sinhala (Sri Lanka) (Free voice)","Samuel":"Male voice for English (United States) (Free voice)","Sana":"Female voice for Arabic (Jordan) (Free voice)","Sapna":"Female voice for Kannada (India) (Free voice)","Sara":"Female voice for English (United States) (Free voice)","Saranya":"Female voice for Tamil (Sri Lanka) (Free voice)","Sardor":"Male voice for Uzbek (Latin, Uzbekistan) (Free voice)","Saul":"Male voice for Spanish (Spain) (Free voice)","Sebastian":"Male voice for Spanish (Venezuela) (Free voice)","Selma":"Female voice for Finnish (Finland) (Free voice)","SeoHyeon":"Female voice for Korean (Korea) (Free voice)","Seoyeon":"Female voice for Korean (Korea) (Free voice)","Seoyeon_2":"Female voice for Korean (Korea) (Free voice)","Seoyeon_3":"Female voice for Korean (Korea) (Paid voice)","Seraphina":"Female voice for German (Germany) (Free voice)","Seraphina_2":"Female voice for German (Germany) (Paid voice)","Serena":"Female voice for English (United States) (Free voice)","Serena_2":"Female voice for English (United States) (Paid voice)","Sergio":"Male voice for Spanish (Castilian) (Free voice)","Sergio_2":"Male voice for Spanish (Castilian) (Paid voice)","Shakir":"Male voice for Arabic (Egypt) (Free voice)","Shimmer":"Female voice for English (United States) (Free voice)","Shiori":"Female voice for Japanese (Japan) (Free voice)","Shruti":"Female voice for Telugu (India) (Free voice)","Siqiniq":"Female voice for Inuktitut (Syllabics, Canada) (Free voice)","Siqiniq_2":"Female voice for Inuktitut (Latin, Canada) (Free voice)","Siti":"Female voice for Javanese (Latin, Indonesia) (Free voice)","Sobhana":"Female voice for Malayalam (India) (Free voice)","Soffie":"Female voice for Danish (Denmark) (Free voice)","Sofia":"Female voice for Spanish (Bolivia) (Free voice)","Sofie":"Female voice for Swedish (Sweden) (Free voice)","Sonia":"Female voice for English (United Kingdom) (Free voice)","SoonBok":"Female voice for Korean (Korea) (Free voice)","Sophie":"Female voice for Serbian (Cyrillic, Serbia) (Free voice)","Sophie_2":"Female voice for Serbian (Latin, Serbia) (Free voice)","Srecko":"Male voice for Croatian (Croatia) (Free voice)","Sreymom":"Female voice for Khmer (Cambodia) (Free voice)","Steffan":"Male voice for English (United States) (Free voice)","Steffan_2":"Male voice for English (United States) (Free voice)","Steffan_3":"Male voice for English (United States) (Paid voice)","Stephen":"Male voice for English (United States) (Free voice)","Stephen_2":"Male voice for English (United States) (Paid voice)","Subhasini":"Female voice for Odia (India) (Free voice)","Sukant":"Male voice for Odia (India) (Free voice)","SunHi":"Female voice for Korean (Korea) (Free voice)","SunHi_2":"Female voice for Korean (Korea) (Paid voice)","Surya":"Male voice for Tamil (Malaysia) (Free voice)","Suvi":"Female voice for Finnish (Finland) (Free voice)","Svetlana":"Female voice for Russian (Russia) (Free voice)","Swara":"Female voice for Hindi (India) (Free voice)","Sylvie":"Female voice for French (Canada) (Free voice)","Sylvie_2":"Female voice for French (Canada) (Paid voice)","Taim":"Male voice for Arabic (Jordan) (Free voice)","Takumi":"Male voice for Japanese (Japan) (Free voice)","Takumi_2":"Male voice for Japanese (Japan) (Free voice)","Tamas":"Male voice for Hungarian (Hungary) (Free voice)","Tania":"Female voice for Spanish (Paraguay) (Free voice)","Tanishaa":"Female voice for Bengali (India) (Free voice)","Tanja":"Female voice for German (Germany) (Free voice)","Taqqiq":"Male voice for Inuktitut (Syllabics, Canada) (Free voice)","Taqqiq_2":"Male voice for Inuktitut (Latin, Canada) (Free voice)","Tatyana":"Female voice for Russian (Russia) (Free voice)","Teo":"Male voice for Spanish (Spain) (Free voice)","Teresa":"Female voice for Spanish (Equatorial Guinea) (Free voice)","Thalita":"Female voice for Portuguese (Brazil) (Free voice)","Thalita_2":"Female voice for Portuguese (Brazil) (Free voice)","Thalita_3":"Female voice for Portuguese (Brazil) (Paid voice)","Thando":"Female voice for Zulu (South Africa) (Free voice)","Themba":"Male voice for Zulu (South Africa) (Free voice)","Thiago":"Male voice for Portuguese (Brazil) (Free voice)","Thierry":"Male voice for French (Canada) (Free voice)","Thierry_2":"Male voice for French (Canada) (Paid voice)","Thiha":"Male voice for Burmese (Myanmar) (Free voice)","Thilini":"Female voice for Sinhala (Sri Lanka) (Free voice)","Thomas":"Male voice for English (United Kingdom) (Free voice)","Tiana":"Female voice for English (United States) (Free voice)","Tiffany":"Female voice for English (United States) (Paid voice)","Tim":"Male voice for English (Australia) (Free voice)","Tina":"Female voice for English (Australia) (Free voice)","Tomas":"Male voice for Spanish (Argentina) (Free voice)","Tomoko":"Female voice for Japanese (Japan) (Free voice)","Tony":"Male voice for English (United States) (Free voice)","Triana":"Female voice for Spanish (Spain) (Free voice)","Tristan_ES":"Male voice for Spanish (Spain) (Free voice)","Tristan_ES_2":"Male voice for Spanish (Spain) (Paid voice)","Tuti":"Female voice for Sundanese (Indonesia) (Free voice)","Tyler":"Male voice for English (United States) (Free voice)","Ubax":"Female voice for Somali (Somalia) (Free voice)","Uzma":"Female voice for Urdu (Pakistan) (Free voice)","Vaani":"Female voice for Punjabi (India) (Free voice)","Valentina":"Female voice for Spanish (Uruguay) (Free voice)","Valerio":"Male voice for Portuguese (Brazil) (Free voice)","Valluvar":"Male voice for Tamil (India) (Free voice)","Venba":"Female voice for Tamil (Singapore) (Free voice)","Vera":"Female voice for Spanish (Spain) (Free voice)","Vesna":"Female voice for Bosnian (Bosnia and Herzegovina) (Free voice)","Vicki":"Female voice for German (Germany) (Free voice)","Vicki_2":"Female voice for German (Germany) (Free voice)","Vicki_3":"Female voice for German (Germany) (Paid voice)","Victor":"Male voice for Spanish (Puerto Rico) (Free voice)","Viktoria":"Female voice for Slovak (Slovakia) (Free voice)","Vitoria":"Female voice for Portuguese (Brazil) (Free voice)","Vitoria_2":"Female voice for Portuguese (Brazil) (Free voice)","Vivienne":"Female voice for French (France) (Free voice)","Vivienne_2":"Female voice for French (France) (Paid voice)","Vlasta":"Female voice for Czech (Czechia) (Free voice)","WanLung":"Male voice for Chinese (Cantonese, Traditional) (Free voice)","Wayne":"Male voice for English (Singapore) (Free voice)","Willem":"Male voice for Afrikaans (South Africa) (Free voice)","William":"Male voice for English (Australia) (Free voice)","William_2":"Male voice for English (Australia) (Free voice)","Xiaochen":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaochen_2":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaochen_3":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaochen_4":"Female voice for Chinese (Mandarin, Simplified) (Paid voice)","Xiaohan":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaohan_2":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaomeng":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","XiaoMin":"Female voice for Chinese (Cantonese, Simplified) (Free voice)","Xiaomo":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoqiu":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaorou":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaorui":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoshuang":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoshuang_2":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoshuang_3":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaotong":"Female voice for Chinese (Wu, Simplified) (Free voice)","Xiaoxiao":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoxiao_2":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoxiao_3":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoxiao_4":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoxiao_5":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyan":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyi":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyi_2":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyou":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyou_2":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyou_3":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyu":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyu_2":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaozhen":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Ximena_ES":"Female voice for Spanish (Spain) (Free voice)","Ximena_ES_2":"Female voice for Spanish (Spain) (Free voice)","Ximena_ES_3":"Female voice for Spanish (Spain) (Paid voice)","Yago":"Male voice for Spanish (Mexico) (Free voice)","Yan":"Female voice for English (Hong Kong SAR) (Free voice)","Yara":"Female voice for Portuguese (Brazil) (Free voice)","Yashica":"Female voice for Assamese (India) (Free voice)","Yasmin":"Female voice for Malay (Malaysia) (Free voice)","Yesui":"Female voice for Mongolian (Mongolia) (Free voice)","Yolanda":"Female voice for Spanish (Nicaragua) (Free voice)","YuJin":"Female voice for Korean (Korea) (Free voice)","Yundeng":"Male voice for Chinese (Zhongyuan Mandarin Henan, Simplified) (Free voice)","Yunfan":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunfan_2":"Male voice for Chinese (Mandarin, Simplified) (Paid voice)","Yunfeng":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunhan":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunhao":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","YunJhe":"Male voice for Chinese (Taiwanese Mandarin, Traditional) (Free voice)","Yunjian":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunjie":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","YunSong":"Male voice for Chinese (Cantonese, Simplified) (Free voice)","Yunxi":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunxi_2":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunxia":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunxia_2":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunxiang":"Male voice for Chinese (Jilu Mandarin, Simplified) (Free voice)","Yunxiao":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunxiao_2":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunyang":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunye":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunye_2":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunyi":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunyi_2":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunze":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunzhe":"Male voice for Chinese (Wu, Simplified) (Free voice)","Yves":"Male voice for French (France) (Free voice)","Yvette":"Female voice for French (France) (Free voice)","Zariyah":"Female voice for Arabic (Saudi Arabia) (Free voice)","Zayd":"Male voice for Arabic (Saudi Arabia) (Free voice)","Zeina":"Female voice for Arabic (Saudi Arabia) (Free voice)","Zhiyu":"Female voice for Chinese (Mandarin) (Free voice)","Zhiyu_2":"Female voice for Chinese (Mandarin) (Free voice)","Zofia":"Female voice for Polish (Poland) (Free voice)","Zuri":"Female voice for Swahili (Kenya) (Free voice)"}},"voiceRelay":{"type":"object","additionalProperties":false,"title":"Voice Relay","description":"Routes the call through the Voice Relay service, enabling real-time speech-to-text (STT) and text-to-speech (TTS) via a WebSocket connection to the application backend.","required":["type","voiceRelay"],"properties":{"type":{"type":"string","const":"VOICE_RELAY","description":"Connects to the Voice Relay service to enable STT and TTS services..."},"voiceRelay":{"type":"object","additionalProperties":false,"required":["endpoint","ttsVoice","sttLanguage"],"properties":{"endpoint":{"type":"string","format":"uri","description":"URL to the server that will accept the web-socket request","example":"wss://acme.com/agent"},"enableInterruptions":{"type":"boolean","description":"Allow \"barge-in\" during text-to-speech (TTS) playback.\n\nWhen `true`, TTS playback is interrupted as soon as inbound speech is detected, unless the currently playing content is marked as uninterruptible.\n\nWhen `false`, TTS playback continues uninterrupted, but an interruption signal is still sent over the WebSocket so the client application can choose to stop playback manually if needed.","default":true,"example":true},"ttsVoice":{"description":"Name of the voice to be used when synthesizing speech. \n\nThis is the default voice used, if no override voice is provided in the web-socket TTS message.","$ref":"#/components/schemas/voiceName"},"sttLanguage":{"type":"string","pattern":"^[a-z]{2,3}(-[A-Z][a-z]{3})?(-([A-Z]{2}|[0-9]{3}))?$","description":"BCP-47 language tag used for speech-to-text transcription of the inbound audio.\n\nThis value determines which language model is used for transcription.","example":"en-US"},"callHeaders":{"$ref":"#/components/schemas/callHeaders"}}}},"examples":[{"type":"VOICE_RELAY","voiceRelay":{"endpoint":"wss://acme.com/agent","enableInterruptions":true,"ttsVoice":"Emma_3","sttLanguage":"en-US","callHeaders":[{"key":"my-key","value":"my-key-value"}]}}]},"to":{"title":"To","description":"Call destination - Phone Number or Stream URI","oneOf":[{"$ref":"#/components/schemas/phone"},{"$ref":"#/components/schemas/sip"},{"$ref":"#/components/schemas/stream"},{"$ref":"#/components/schemas/voiceRelay"}],"discriminator":{"propertyName":"type","mapping":{"PHONE":"#/components/schemas/phone","SIP":"#/components/schemas/sip","STREAM":"#/components/schemas/stream","VOICE_RELAY":"#/components/schemas/voiceRelay"}}},"svamlCommands":{"type":"array","title":"SVAML Commands","description":"An ordered list of SVAML v2 (Sinch Voice Application Markup Language) commands that describe a call flow. Commands are executed sequentially in the order they are defined.\n\n**Blocking vs. non-blocking:** Some commands block execution until they complete (`pause`, `webhook`, `menu`, `gotoMenu`), while others return immediately and run in parallel (`dial`, `messages`, `amd`, `answer`, `hangup`, `startRecording`, `stopRecording`, `bridgeCall`, `stopMessages`). Each command's description specifies its behavior.\n\n**Nesting scope:** Commands that appear inside event handlers (e.g., `dial.events.onAnswer`, `messages.events.onFinish`) form independent sequences and execute in their own context — they are not continuations of the parent sequence.\n\n**Nesting depth:** A SVAML payload can be nested at most 128 levels deep, counting every JSON object and array from the root of the document. Each command nested inside an event handler adds three levels (the command object, its `events` object and the handler array), which allows roughly 40 levels of nested commands. A request that exceeds the limit is rejected with `400 Bad Request`; a webhook response that exceeds it counts as a failed delivery.","items":{"$ref":"#/components/schemas/svamlCommand"}},"amdEvents":{"type":"object","additionalProperties":false,"title":"AMD Events","description":"SVAML commands to execute based on the answering machine detection result. These events define different call flows depending on whether a human, machine, beep, or unknown entity answers the call, or whether a machine answered without a beep being detected.","properties":{"onHuman":{"description":"SVAML commands to be executed when a human is detected","$ref":"#/components/schemas/svamlCommands"},"onMachine":{"description":"SVAML commands to be executed when a machine is detected","$ref":"#/components/schemas/svamlCommands"},"onBeep":{"description":"SVAML commands to be executed when a beep is detected","$ref":"#/components/schemas/svamlCommands"},"onNoBeep":{"description":"SVAML commands to be executed when a machine is detected, but no beep is detected. This event follows `onMachine` and is mutually exclusive with `onBeep`.","$ref":"#/components/schemas/svamlCommands"},"onUnknown":{"description":"SVAML commands to be executed when an unknown event is detected","$ref":"#/components/schemas/svamlCommands"}}},"amd":{"type":"object","additionalProperties":false,"title":"Answering Machine Detection","description":"AMD (Answering Machine Detection) command to detect what answered the call. Possible outcomes are: human, machine, beep, no beep, or unknown.\n\nThis is a non-blocking command — the next command in the sequence executes immediately while detection runs in parallel. Results are delivered via the `events` property.","required":["command"],"properties":{"command":{"type":"string","const":"amd","description":"Command to run Answering Machine Detection on the call"},"events":{"$ref":"#/components/schemas/amdEvents"}},"examples":[{"command":"amd","events":{"onHuman":[{"command":"pause","durationMilliseconds":1000},{"command":"bridgeCall","bridgeName":"my-bridge"}],"onBeep":[{"command":"messages","messagesName":"my-amd-messages","messages":[{"type":"SAY","say":{"text":"Hello, this is a test message","voiceName":"Emma_3"}}]}]}}]},"dial":{"type":"object","additionalProperties":false,"title":"Dial","description":"Initiates a new outbound call leg within the current session.\n\nThis is a non-blocking command — the next command in the sequence executes immediately while the call is being established in parallel. Call lifecycle events (answer, busy, reject, timeout, hangup, failure) are handled via the `events` property.\n\nThe `from` and `to` endpoint types should ideally match. If they differ, the platform attempts to convert the `from` value to be compatible with the `to` type. For example, PSTN supports only E.164 phone numbers, so a SIP address such as `sip:46701234567@acme.se` can be converted to an E.164 number. If the `from` value cannot be converted, it defaults to null (anonymous).","required":["command","to"],"properties":{"command":{"type":"string","const":"dial","description":"Command to initiate a new call"},"callName":{"type":"string","minLength":1,"maxLength":32,"pattern":"^\\S+$","example":"outgoing","description":"Identifier for this call leg within the session. Must be unique across all active call legs in the session.\n\nOther commands (e.g., `hangup`) can reference this name to target this specific leg."},"from":{"$ref":"#/components/schemas/from"},"to":{"$ref":"#/components/schemas/to"},"dialTimeoutDurationSeconds":{"type":"integer","minimum":1,"maximum":60,"description":"Maximum time in seconds to wait for the call to be answered. If the timeout expires without an answer, the `onTimeout` event is triggered.","example":15},"maxCallDurationSeconds":{"type":"integer","minimum":1,"maximum":14400,"description":"Maximum duration of the call in seconds. The call is terminated automatically when this limit is reached.","example":3600},"events":{"$ref":"#/components/schemas/callEvents"}},"examples":[{"command":"dial","callName":"destination","from":{"type":"PHONE","phone":{"number":"+15551234567"}},"to":{"type":"PHONE","phone":{"number":"+15559876543"}},"dialTimeoutDurationSeconds":30,"maxCallDurationSeconds":3600,"events":{"onAnswer":[{"command":"messages","messages":[{"type":"SAY","say":{"text":"Your call has connected.","voiceName":"Emma_3"}}]}]}}]},"messageSay":{"type":"object","title":"Say Message","description":"A text-to-speech (TTS) message item. The platform synthesizes the provided text into speech and plays it on the call.","additionalProperties":false,"required":["type","say"],"properties":{"type":{"type":"string","const":"SAY","description":"Text-to-speech message to be played during the call."},"say":{"type":"object","additionalProperties":false,"title":"Say","required":["text","voiceName"],"properties":{"text":{"type":"string","description":"The text to be synthesized into speech.\n\nIf `format` is `TEXT` (default), provide plain text.\nIf `format` is `SSML`, provide a valid SSML document (for example, `<speak>...</speak>`).","maxLength":600,"example":"Hello world"},"format":{"type":"string","description":"Format of the message","enum":["TEXT","SSML"],"x-enumDescriptions":{"TEXT":"Plain text format for the message.","SSML":"Speech Synthesis Markup Language format for advanced text-to-speech control."},"default":"TEXT"},"voiceName":{"description":"The name of the voice to use for text-to-speech synthesis.","$ref":"#/components/schemas/voiceName"}}}},"examples":[{"type":"SAY","say":{"text":"Hello, this is a test message","voiceName":"Emma_3"}},{"type":"SAY","say":{"text":"<speak><prosody volume=\"-6dB\">Hello, this is a test message</prosody></speak>","format":"SSML","voiceName":"Brian"}}]},"messagePlay":{"type":"object","title":"Play Message","description":"An audio file playback message item. The platform fetches and plays the audio file at the provided URL on the call.","additionalProperties":false,"required":["type","play"],"properties":{"type":{"type":"string","const":"PLAY","description":"Audio file playback during the call."},"play":{"type":"object","additionalProperties":false,"title":"Play","required":["url"],"properties":{"url":{"type":"string","description":"URL of the media to send"}}}},"examples":[{"type":"PLAY","play":{"url":"https://example.com/media.mp3"}}]},"message":{"type":"object","title":"Message","description":"A single message item. The required payload depends on `type`.","oneOf":[{"$ref":"#/components/schemas/messageSay"},{"$ref":"#/components/schemas/messagePlay"}],"discriminator":{"propertyName":"type","mapping":{"SAY":"#/components/schemas/messageSay","PLAY":"#/components/schemas/messagePlay"}}},"typesOfMessages":{"type":"array","title":"Message List","description":"Ordered list of messages to play.","minItems":1,"maxItems":10,"items":{"$ref":"#/components/schemas/message"}},"messageEvents":{"type":"object","additionalProperties":false,"title":"Message Events","description":"SVAML commands to execute based on message playback outcomes.\n","properties":{"onFinish":{"description":"Commands to execute when all messages in the sequence have finished playing.\n","$ref":"#/components/schemas/svamlCommands"}}},"messages":{"type":"object","additionalProperties":false,"title":"Messages","description":"Plays one or more messages on the call. Multiple messages in the array are played sequentially in order.\n\nThis is a non-blocking command — the next command in the sequence executes immediately while messages play in parallel. \nPlayback outcomes are handled via the `events` property. The `onFinish` event can be used to run a command after all messages complete.","required":["command","messages"],"properties":{"command":{"type":"string","const":"messages","description":"Command to play a message on the channel"},"messagesName":{"type":"string","description":"Name of the message for identification and reference within the call session.\n\nThis name is used to uniquely identify the message and must be unique within the current call session.\nThis name can be referenced in other commands (e.g., `stopMessages`) to control this specific message.","minLength":1,"maxLength":32,"pattern":"^\\S+$","example":"my-messages"},"messages":{"$ref":"#/components/schemas/typesOfMessages"},"events":{"$ref":"#/components/schemas/messageEvents"}},"examples":[{"command":"messages","messagesName":"greeting-sequence","messages":[{"type":"SAY","say":{"text":"Hello! Your call is being connected.","voiceName":"Emma_3"}},{"type":"PLAY","play":{"url":"https://example.com/audio/hold-music.mp3"}},{"type":"SAY","say":{"text":"<speak><prosody volume=\"-6dB\">Thank you for waiting.</prosody></speak>","format":"SSML","voiceName":"Emma_3"}}]}]},"stopMessages":{"type":"object","additionalProperties":false,"title":"Stop Messages","description":"Stops a message sequence started by a `messages` command. It will also cancel any messages with specified `messagesName` that will appear in the call session in the future.\n\nThis is a non-blocking command.","required":["command","messagesName"],"properties":{"command":{"type":"string","const":"stopMessages","description":"Command to stop playing messages"},"messagesName":{"type":"string","description":"Name of the message sequence to stop, as set by `messagesName` in the `messages` command.","minLength":1,"maxLength":32,"pattern":"^\\S+$"}},"examples":[{"command":"stopMessages","messagesName":"my-messages"}]},"webhookFallbackUrl":{"title":"Webhook Fallback URL","type":"string","format":"uri","description":"Fallback webhook URL used when the primary webhook URL fails.\n\nA failed request is re-sent to this URL immediately. After repeated consecutive failures of the primary URL, requests are sent only here until the primary URL recovers.\n\nSee *Timeouts and failover* in the **Webhooks** section for the authoritative algorithm.","examples":["https://example.com/fallback"]},"webhook":{"type":"object","additionalProperties":false,"title":"Webhook","description":"Triggers a mid-call webhook to the application backend, allowing it to return a new set of SVAML commands that control the remainder of the call flow.\n\nThis is a blocking command — execution pauses until a response is received from the webhook endpoint. The next command in the sequence runs only after the backend responds. Webhook requests use a 5-second timeout. If a `fallbackUrl` is provided, a failed request is re-sent to it — see *Timeouts and failover* in the **Webhooks** section for the authoritative algorithm.","required":["command","webhookName","url"],"properties":{"command":{"type":"string","const":"webhook","description":"Command to trigger a mid-call webhook"},"webhookName":{"type":"string","minLength":1,"maxLength":64,"pattern":"^\\S+$","description":"Name for this webhook event. When triggered, the webhook request's `event` property will contain this name prepended with `call.webhook.`.\n\nFor example, if `webhookName` is set to `\"my.custom.event\"`, the event will be delivered as `\"call.webhook.my.custom.event\"`."},"url":{"type":"string","description":"URL of the webhook endpoint to send the mid-call event to.","format":"uri"},"fallbackUrl":{"$ref":"#/components/schemas/webhookFallbackUrl"}},"examples":[{"command":"webhook","webhookName":"my.custom.event","url":"https://example.com/webhook","fallbackUrl":"https://example.com/fallback"}]},"hangup":{"type":"object","additionalProperties":false,"description":"Ends a call leg. This is a non-blocking command — execution continues to the next command in the sequence even though the call has been ended. The `onHangup` event is triggered for the call leg that was ended.\n\nAny subsequent commands that target the ended call leg (such as `messages` or other media commands) are valid but will not be executed. Commands that operate independently — such as initiating a new call with `dial` — will execute normally. This makes it possible, for example, to end one call and immediately start another within the same sequence.","title":"Hangup","required":["command"],"properties":{"command":{"type":"string","const":"hangup","description":"Hangup call"},"callName":{"type":"string","description":"Name of the call leg to end, as set by `callName` in the `dial` command.\n\nIf omitted, the current call leg is ended.","minLength":1,"maxLength":32,"pattern":"^\\S+$","example":"origin"}},"examples":[{"command":"hangup","callName":"origin"}]},"answer":{"type":"object","additionalProperties":false,"title":"Answer","description":"Answers an inbound call leg. This is a non-blocking command — execution continues to the next command in the sequence immediately after the answer is initiated.","required":["command"],"properties":{"command":{"type":"string","const":"answer","description":"Answer call"}},"examples":[{"command":"answer"}]},"pause":{"type":"object","additionalProperties":false,"title":"Pause","description":"Delays execution of the next command in the sequence for a specified duration. This is a blocking command — no further commands execute until the pause completes.\n\nThe pause does not affect call audio; the call remains connected and audio continues uninterrupted.","required":["command","durationMilliseconds"],"properties":{"command":{"type":"string","const":"pause","description":"Pause execution."},"durationMilliseconds":{"type":"integer","minimum":1,"description":"Duration of the pause in milliseconds.","example":1000}},"examples":[{"command":"pause","durationMilliseconds":1500}]},"recordingFormat":{"title":"Recording Format","description":"Audio format for this recording.","type":"string","enum":["MP3","WAV"],"x-enumDescriptions":{"MP3":"MPEG Audio Layer III compressed audio format.","WAV":"Waveform Audio File Format, uncompressed audio."},"default":"MP3","examples":["MP3"]},"recordingType":{"title":"Recording Type","description":"The type of recording to perform.","type":"string","enum":["COMBINED","INBOUND","OUTBOUND"],"x-enumDescriptions":{"COMBINED":"Record inbound and outbound voice streams.","INBOUND":"Record inbound voice stream only.","OUTBOUND":"Record outbound voice stream only."},"default":"COMBINED"},"recordingDestination":{"title":"Recording Destination","type":"string","description":"Select target service to receive recorded and transcribed files","enum":["AWS","GCP","AZURE"],"x-enumDescriptions":{"AWS":"Store recordings in Amazon Web Services S3 bucket. Use `s3` as schema for the URL.","GCP":"Store recordings in Google Cloud Platform Storage. Use `gs` as schema for the URL.","AZURE":"Store recordings in Microsoft Azure Blob Storage.  Use `azure` as schema for the URL."},"default":"AWS","examples":["AWS"]},"transcriptionOptions":{"title":"Transcription Options","description":"Configuration for automatic speech-to-text transcription of the recording.","type":"object","additionalProperties":false,"required":["isEnabled"],"properties":{"isEnabled":{"type":"boolean","description":"If true, the recording will be transcribed to text.","example":true},"locale":{"type":"string","description":"Language code in BCP-47 format.","default":"en-US","example":"en-US"}}},"recordingOptions":{"title":"Recording Options","type":"object","additionalProperties":false,"description":"Recording options for this recording.","required":["destination","destinationUrl","credentials"],"properties":{"format":{"$ref":"#/components/schemas/recordingFormat"},"recordingType":{"$ref":"#/components/schemas/recordingType"},"destination":{"$ref":"#/components/schemas/recordingDestination"},"destinationUrl":{"type":"string","description":"Destination URL for the recording.","example":"s3://voice-recordings-prod/calls"},"credentials":{"type":"string","description":"Credentials to third party storage. The format depends on the scheme of `destinationUrl`:\n\n- `s3` (Amazon S3): `accessKeyId:secretAccessKey:region`. `accessKeyId` and `secretAccessKey` are an AWS access key pair of an IAM user that is allowed to upload objects to the bucket. `region` is the AWS region code of the bucket, for example `eu-central-1`. Access keys are created in the AWS Management Console under **IAM** > **Users** > **Security credentials**.\n- `gs` (Google Cloud Storage): `accessKey:secret`. `accessKey` and `secret` are a Cloud Storage HMAC key of a service account that is allowed to create objects in the bucket. HMAC keys are created in the Google Cloud console under **Cloud Storage** > **Settings** > **Interoperability**.\n- `azure` (Azure Blob Storage): `accountKey`. `accountKey` is an access key of the storage account named in `destinationUrl`, which has the form `azure://{storageAccountName}/{containerName}/{path}`. Account keys are listed in the Azure portal under **Security + networking** > **Access keys** of the storage account. Shared access signature (SAS) tokens and connection strings are not supported as credentials.","example":"accessKeyId:secretAccessKey:eu-central-1","format":"password"},"transcriptionOptions":{"$ref":"#/components/schemas/transcriptionOptions"}}},"recordingEvents":{"type":"object","additionalProperties":false,"title":"Recording Events","description":"SVAML commands to execute based on recording lifecycle outcomes.\n","properties":{"onFinish":{"description":"Commands to execute when the recording is successfully stopped. Note that this does not mean that the file is delivered to the configured destination yet.\n","$ref":"#/components/schemas/svamlCommands"},"onFailure":{"description":"Commands to execute if the recording fails to start. If omitted, failures are silently ignored and the call flow continues.\n","$ref":"#/components/schemas/svamlCommands"}}},"startRecording":{"type":"object","additionalProperties":false,"title":"Start Recording","required":["command","recordingOptions"],"description":"Starts recording the call. This is a non-blocking command — execution continues to the next command in the sequence immediately after recording begins.","properties":{"command":{"type":"string","const":"startRecording","description":"Command to start recording on the channel"},"recordingName":{"type":"string","description":"Identifier for this recording within the session. Must be unique across active recordings in the session.\n\nOther commands (e.g., `stopRecording`) reference this name to target a specific recording.\n\nSetting the recording name is useful for stopping the recording using the `stopRecording` command. If name is not set, recording can only be stopped when the call is disconnected.","minLength":1,"maxLength":32,"pattern":"^\\S+$","example":"my-recording"},"recordingOptions":{"$ref":"#/components/schemas/recordingOptions"},"events":{"$ref":"#/components/schemas/recordingEvents"}},"examples":[{"command":"startRecording","recordingName":"customer-support-recording","recordingOptions":{"format":"MP3","recordingType":"COMBINED","destination":"AWS","destinationUrl":"s3://voice-recordings-prod/calls","credentials":"accessKeyId:secretAccessKey:eu-central-1","transcriptionOptions":{"isEnabled":true,"locale":"en-US"}},"events":{"onFinish":[{"command":"hangup"}],"onFailure":[{"command":"messages","messages":[{"type":"SAY","say":{"text":"Recording could not be started for this call.","voiceName":"Emma_3"}}]}]}}]},"stopRecording":{"type":"object","additionalProperties":false,"title":"Stop Recording","description":"Stops a recording previously started by a `startRecording` command. This is a non-blocking command — execution continues to the next command in the sequence immediately after the stop is initiated.","required":["command","recordingName"],"properties":{"command":{"type":"string","const":"stopRecording","description":"Command to stop recording on the channel"},"recordingName":{"type":"string","description":"Name of the recording to stop, as set by `recordingName` in the `startRecording` command.","minLength":1,"maxLength":32,"pattern":"^\\S+$","example":"my-recording"}}},"bridgeCall":{"type":"object","additionalProperties":false,"title":"Add call to bridge","description":"Adds the current call to a bridge, enabling bidirectional audio communication with other calls in the same session. This is a non-blocking command — execution continues to the next command in the sequence immediately after the call joins the bridge.\n\nBridges are created automatically when referenced by name. If a bridge with the specified name already exists, the call joins that bridge; otherwise, a new bridge is created.","required":["command","bridgeName"],"properties":{"command":{"type":"string","const":"bridgeCall","description":"Command to add the call to a bridge"},"bridgeName":{"type":"string","minLength":1,"maxLength":32,"pattern":"^\\S+$","description":"Name of the bridge to join. If no bridge with this name exists in the session, a new one is created automatically."}},"examples":[{"command":"bridgeCall","bridgeName":"my_bridge"}]},"menuPrompt":{"type":"object","additionalProperties":false,"title":"Menu Prompt","description":"Prompt configuration for menu playback, including prompt messages and barge-in behavior.","required":["messages"],"properties":{"allowBargeIn":{"type":"boolean","description":"Controls whether input can interrupt prompt playback.\n\nWhen enabled, playback stops as soon as input is detected and the input is evaluated immediately if matching conditions are met.\n\nWhen disabled, input is still collected during playback and evaluated after playback finishes.","default":true},"messages":{"$ref":"#/components/schemas/typesOfMessages"}}},"menuItem":{"type":"object","additionalProperties":false,"title":"Menu Item","description":"Defines a single menu step, including prompts, input handling rules, input-to-command matches, and failure handling.\n\nEach collected input is matched against the values in the `matches` property.\nIf no match succeeds, the `onFailure` commands are executed.\n\nIf no match succeeds and `onFailure` is not defined, a `call.menu` webhook request including the collected input is sent when the service call behavior is set to `WEBHOOK`.","properties":{"prompt":{"$ref":"#/components/schemas/menuPrompt","description":"Prompt played when this menu starts.\n\nThis prompt is also used as the repeat prompt when repeatPrompt is not defined for the menu."},"repeatPrompt":{"$ref":"#/components/schemas/menuPrompt","description":"Prompt played when the menu is repeated.\n\nRepeats occur when input times out or when the provided input does not match any menu match item. If not specified, the initial prompt is used as the repeat prompt.\n\nA repeat prompt can only be defined when a prompt is also defined for this menu item."},"inputTimeoutDurationSeconds":{"type":"integer","description":"Maximum number of seconds to wait for user input before the input attempt times out.","minimum":1,"maximum":60,"default":5,"example":10},"repeatCount":{"type":"integer","description":"Maximum number of times the menu is repeated.\n\nA repeat occurs when input times out or when the provided input does not match any menu match item.","minimum":0,"maximum":10,"default":2,"example":3},"minimumInputLength":{"type":"integer","description":"Minimum number of input characters required before the menu evaluates the collected input.","minimum":1,"maximum":100,"default":1,"example":3},"maximumInputLength":{"type":"integer","description":"Maximum number of input characters that triggers the menu to evaluate the collected input.","minimum":1,"maximum":100,"default":1,"example":10},"terminatingSequence":{"type":"string","pattern":"^[0-9*#]+$","description":"Character sequence that signals the end of input and triggers immediate evaluation.\n\nUseful when variable-length input is allowed and shorter valid options should be submitted without waiting for timeout or maximum length.\n\nThe terminating sequence value is included in the evaluated input.","maxLength":10},"inputMethods":{"type":"array","description":"Input methods accepted for this menu when collecting user input.","default":["DTMF"],"items":{"type":"string","enum":["DTMF"],"x-enumDescriptions":{"DTMF":"Collect input from keypad tones (Dual-Tone Multi-Frequency)."}}},"matches":{"type":"object","description":"Items matched against the collected input. Maximum number of allowed match expressions is 50.\n\nDefined as a dictionary where each property name is a literal or a regular expression string.\n\nValues are evaluated in the order they are defined.","maxProperties":50,"propertyNames":{"type":"string","minLength":1,"maxLength":256,"description":"A regular expression or literal string to match against the collected user input. Must not be empty.\n\nProperty keys are evaluated sequentially in the order defined. The first key that matches the input will trigger its associated SVAML commands.\n\n**Note**: Use `\\\\*` to match the DTMF star tone (*)."},"additionalProperties":{"$ref":"#/components/schemas/svamlCommands"}},"onFailure":{"$ref":"#/components/schemas/svamlCommands","description":"SVAML commands executed when the menu fails to collect a matching input.\n\nThis handler runs after the repeat limit is reached without any input matching a menu match item."}}},"menu":{"type":"object","additionalProperties":false,"title":"Run menus","description":"Defines a set of named menus and executes them starting from startMenu. This is a blocking command — execution waits for the menu to complete before proceeding to the next command.\n\nEach menu item configures prompts, input collection, timeout handling, and repeat behavior.","required":["command","startMenu","menus"],"properties":{"command":{"type":"string","const":"menu","description":"Executes menu-based input collection using the configured menu definitions."},"startMenu":{"type":"string","minLength":1,"maxLength":16,"description":"Name of the menu to execute first. Must match a key in menus."},"menus":{"type":"object","propertyNames":{"type":"string","maxLength":16},"description":"Map of menu definitions keyed by menu name.","additionalProperties":{"$ref":"#/components/schemas/menuItem"}}},"examples":[{"command":"menu","startMenu":"main","menus":{"main":{"prompt":{"allowBargeIn":true,"messages":[{"type":"SAY","say":{"text":"Press 1 for sales or 2 for support.","voiceName":"Emma_3"}}]},"repeatPrompt":{"allowBargeIn":true,"messages":[{"type":"SAY","say":{"text":"Invalid option. Press 1 for sales or 2 for support.","voiceName":"Emma_3"}}]},"inputTimeoutDurationSeconds":5,"repeatCount":2,"minimumInputLength":1,"maximumInputLength":1,"inputMethods":["DTMF"],"matches":{"1":[{"command":"messages","messages":[{"type":"SAY","say":{"text":"Connecting to sales.","voiceName":"Emma_3"}}]},{"command":"dial","callName":"sales","to":{"type":"PHONE","phone":{"number":"+15551234567"}}}],"2":[{"command":"messages","messages":[{"type":"SAY","say":{"text":"Connecting to support.","voiceName":"Emma_3"}}]},{"command":"dial","callName":"support","to":{"type":"PHONE","phone":{"number":"+15557654321"}}}]},"onFailure":[{"command":"messages","messages":[{"type":"SAY","say":{"text":"Sorry, no valid selection was received.","voiceName":"Emma_3"}}]},{"command":"hangup"}]}}}]},"gotoMenu":{"type":"object","additionalProperties":false,"title":"Goto Menu","description":"Switches execution to another menu within the current menu context. The menu name must be a menu defined in the `menu` command. This is a blocking command — execution waits for the menu to complete before proceeding to the next command.\n\n**Important**: this command can only be called within a menu execution context.","required":["command","menuName"],"properties":{"command":{"type":"string","const":"gotoMenu","description":"Switch execution to another menu within the current menu context."},"menuName":{"type":"string","description":"Name of the target menu to execute next. Must match a key in menus.","minLength":1,"maxLength":16}}},"svamlCommand":{"title":"SVAML Command","type":"object","description":"A single SVAML (Sinch Voice Application Markup Language) command that controls call behavior.\n\nThe `command` property acts as a discriminator and determines which command schema applies. When multiple commands appear in a `svamlCommands` array, they execute sequentially in order.\n\n**Available commands:**\n- `dial` — Initiate an outbound call leg within the session.\n- `messages` — Play one or more TTS or audio messages on the call.\n- `stopMessages` — Stop a currently playing message sequence.\n- `webhook` — Trigger a mid-call webhook to the application backend for dynamic call control.\n- `amd` — Detect whether the call was answered by a human or an answering machine.\n- `hangup` — End the call or a specific call leg within the session.\n- `answer` — Explicitly answer an incoming call leg before executing further commands.\n- `pause` — Delay script execution without affecting call audio.\n- `startRecording` — Begin recording the call.\n- `stopRecording` — Stop an active call recording.\n- `bridgeCall` — Add the call to a named bridge for multi-party audio.\n- `menu` — Run menu-based input collection and route the call based on collected input.\n- `gotoMenu` — Switch execution to another named menu within the current menu context.","oneOf":[{"$ref":"#/components/schemas/amd"},{"$ref":"#/components/schemas/dial"},{"$ref":"#/components/schemas/messages"},{"$ref":"#/components/schemas/stopMessages"},{"$ref":"#/components/schemas/webhook"},{"$ref":"#/components/schemas/hangup"},{"$ref":"#/components/schemas/answer"},{"$ref":"#/components/schemas/pause"},{"$ref":"#/components/schemas/startRecording"},{"$ref":"#/components/schemas/stopRecording"},{"$ref":"#/components/schemas/bridgeCall"},{"$ref":"#/components/schemas/menu"},{"$ref":"#/components/schemas/gotoMenu"}],"discriminator":{"propertyName":"command","mapping":{"amd":"#/components/schemas/amd","dial":"#/components/schemas/dial","messages":"#/components/schemas/messages","stopMessages":"#/components/schemas/stopMessages","webhook":"#/components/schemas/webhook","hangup":"#/components/schemas/hangup","answer":"#/components/schemas/answer","pause":"#/components/schemas/pause","startRecording":"#/components/schemas/startRecording","stopRecording":"#/components/schemas/stopRecording","bridgeCall":"#/components/schemas/bridgeCall","menu":"#/components/schemas/menu","gotoMenu":"#/components/schemas/gotoMenu"}}},"callEvents":{"type":"object","additionalProperties":false,"title":"Call Events Webhook","description":"Webhook to handle call events, used when callBehaviors are set to WEBHOOK","properties":{"onAnswer":{"description":"SVAML commands to be executed when the call is answered","$ref":"#/components/schemas/svamlCommands"},"onBusy":{"description":"SVAML commands to be executed when the call is busy","$ref":"#/components/schemas/svamlCommands"},"onReject":{"description":"SVAML commands to be executed when the call is rejected","$ref":"#/components/schemas/svamlCommands"},"onTimeout":{"description":"SVAML commands to be executed when the call is timed out","$ref":"#/components/schemas/svamlCommands"},"onHangup":{"description":"SVAML commands to be executed when the call is hung up","$ref":"#/components/schemas/svamlCommands"},"onFailure":{"description":"SVAML commands to be executed when the call fails","$ref":"#/components/schemas/svamlCommands"}}}}}},"schemaResolvedErrors":[]},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"amd","__idx":5},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["amd"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Perform Answering Machine Detection on answered calls."]},{"$$mdtype":"Tag","name":"JsonExample","attributes":{"json":{"command":"amd","events":{"onHuman":[{"command":"pause","durationMilliseconds":1000},{"command":"bridgeCall","bridgeName":"my-bridge"}],"onBeep":[{"command":"messages","messagesName":"my-amd-messages","messages":[{"type":"SAY","say":{"text":"Hello, this is a test message","voiceName":"Emma_3"}}]}]}},"errors":[]},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Schema:"]}]},{"$$mdtype":"Tag","name":"JsonSchema","attributes":{"schema":{"$ref":"./voice.yaml#/components/schemas/amd"},"options":{},"schemaResolved":{"openapi":"3.1.0","components":{"schemas":{"__root":{"$ref":"#/components/schemas/amd"},"amd":{"type":"object","additionalProperties":false,"title":"Answering Machine Detection","description":"AMD (Answering Machine Detection) command to detect what answered the call. Possible outcomes are: human, machine, beep, no beep, or unknown.\n\nThis is a non-blocking command — the next command in the sequence executes immediately while detection runs in parallel. Results are delivered via the `events` property.","required":["command"],"properties":{"command":{"type":"string","const":"amd","description":"Command to run Answering Machine Detection on the call"},"events":{"$ref":"#/components/schemas/amdEvents"}},"examples":[{"command":"amd","events":{"onHuman":[{"command":"pause","durationMilliseconds":1000},{"command":"bridgeCall","bridgeName":"my-bridge"}],"onBeep":[{"command":"messages","messagesName":"my-amd-messages","messages":[{"type":"SAY","say":{"text":"Hello, this is a test message","voiceName":"Emma_3"}}]}]}}]},"phoneNumber":{"title":"Phone Number","type":"string","pattern":"^\\+[1-9]\\d{1,14}$","minLength":3,"maxLength":16,"description":"E.164 Phone number","examples":["+4673522488"]},"phone":{"type":"object","additionalProperties":false,"title":"Phone","description":"Routes the call to a phone number on the Public Switched Telephone Network (PSTN).","required":["type","phone"],"properties":{"type":{"type":"string","const":"PHONE","description":"Routes the call to a phone number on the Public Switched Telephone Network (PSTN). The number must be in E.164 format."},"phone":{"type":"object","additionalProperties":false,"required":["number"],"properties":{"number":{"$ref":"#/components/schemas/phoneNumber"}}}},"examples":[{"type":"PHONE","phone":{"number":"+4673522488"}}]},"sipFrom":{"type":"object","additionalProperties":false,"title":"SIP Origin","required":["type","sip"],"properties":{"type":{"type":"string","const":"SIP","description":"Indicates the call originated from a SIP (Session Initiation Protocol) endpoint."},"sip":{"type":"object","additionalProperties":false,"required":["endpoint"],"properties":{"endpoint":{"type":"string","description":"SIP URI of the originating endpoint. Both `sip:` (unencrypted) and `sips:` (TLS-encrypted) schemes are supported.","format":"uri","pattern":"^sips?:.*\\S$","maxLength":192},"displayName":{"type":"string","description":"Display name presented to the called party as the caller identity. Transmitted as the display name part of the SIP `From` header (for example, `Alice <sip:alice@example.com>`).","maxLength":64,"example":"Alice"}}}},"examples":[{"type":"SIP","sip":{"endpoint":"sip:user@example.com","displayName":"Alice"}}]},"from":{"description":"Call origin - Phone Number or SIP endpoint","oneOf":[{"$ref":"#/components/schemas/phone"},{"$ref":"#/components/schemas/sipFrom"}],"discriminator":{"propertyName":"type","mapping":{"PHONE":"#/components/schemas/phone","SIP":"#/components/schemas/sipFrom"}}},"sipCallHeaders":{"type":"array","description":"Custom SIP headers to be sent in the call setup.","maxItems":16,"items":{"type":"object","additionalProperties":false,"required":["key"],"properties":{"key":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[-A-Za-z0-9.!%*_+`'~]+$","description":"Name of the SIP header.","example":"X-Correlation-Id"},"value":{"type":"string","maxLength":255,"description":"Value of the SIP header.","example":"12345"}}},"examples":[[{"key":"X-Correlation-Id","value":"12345"},{"key":"X-Call-Routing","value":"forwarded"}]]},"sip":{"type":"object","additionalProperties":false,"title":"SIP Endpoint","required":["type","sip"],"properties":{"type":{"type":"string","const":"SIP","description":"Routes the call to a SIP (Session Initiation Protocol) endpoint."},"sip":{"type":"object","additionalProperties":false,"required":["endpoint"],"properties":{"endpoint":{"type":"string","description":"SIP URI of the destination endpoint. Both `sip:` (unencrypted) and `sips:` (TLS-encrypted) schemes are supported.","format":"uri","maxLength":256,"pattern":"^sips?:.*\\S$"},"transport":{"type":"string","description":"Transport protocol to use for the SIP signalling channel.\n\nIf omitted, the platform selects a default based on the URI scheme: `UDP` for `sip:` and `TLS` for `sips:`. Setting this explicitly overrides that default — for example, to force `TCP` for a `sip:` URI or to use `TLS` without switching to the `sips:` scheme.","enum":["UDP","TCP","TLS"],"x-enumDescriptions":{"UDP":"Connectionless transport. Lowest overhead; suitable for most standard SIP deployments.","TCP":"Connection-oriented transport. More reliable for large SIP messages or NAT traversal scenarios.","TLS":"Encrypted transport. Provides confidentiality and integrity for SIP signalling."}},"callHeaders":{"$ref":"#/components/schemas/sipCallHeaders"}}}},"examples":[{"type":"SIP","sip":{"endpoint":"sip:user@example.com","transport":"TCP","callHeaders":[{"key":"X-Correlation-Id","value":"12345"},{"key":"X-Call-Routing","value":"forwarded"}]}}]},"callHeaders":{"type":"array","description":"Custom headers to be sent in the call setup.","maxItems":16,"items":{"type":"object","additionalProperties":false,"required":["key"],"properties":{"key":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[\\x21-\\x7e]+([\\x20\\t]+[\\x21-\\x7e]+)*$","description":"Name of the header. No leading or trailing whitespaces allowed.","example":"headerKey"},"value":{"type":"string","maxLength":255,"pattern":"^([\\x21-\\x7e]+([\\x20\\t]+[\\x21-\\x7e]+)*)?$","description":"Value of the header. No leading or trailing whitespaces allowed.","example":"headerValue"}}},"examples":[[{"key":"headerKey","value":"headerValue"},{"key":"anotherKey","value":"anotherValue"}]]},"stream":{"type":"object","additionalProperties":false,"title":"Stream","description":"Routes the call to a WebSocket stream endpoint for real-time audio processing.","required":["type","stream"],"properties":{"type":{"type":"string","const":"STREAM","description":"Routes the call to a WebSocket stream endpoint for real-time audio processing."},"stream":{"type":"object","additionalProperties":false,"required":["endpoint"],"properties":{"endpoint":{"type":"string","description":"WebSocket endpoint that will accept the incoming connection for real-time audio streaming. Must be a valid WebSocket URL using either `ws://` or `wss://` (recommended). The URL must be reachable from the public internet and capable of handling the negotiated stream protocol.","example":"wss://example.com"},"streamOptions":{"type":"object","additionalProperties":false,"properties":{"version":{"type":"integer","const":1,"description":"Defines the version of the stream protocol, which determines the format of the binary audio messages exchanged over the WebSocket connection.\n\nCurrently, only version `1` is supported: binary messages contain only audio data, and audio received from the WebSocket server is played as soon as it is received.","default":1,"example":1},"codec":{"type":"string","const":"PCM","description":"Defines the audio codec/format used for the stream audio payload.\n\nCurrently, only `PCM` is supported (uncompressed raw audio). Use `sampleRate` to configure the sampling rate for the stream."},"sampleRate":{"type":"integer","description":"Defines the audio sampling rate (Hz) used for the stream.\n\nFor calls that traverse the PSTN, audio is typically sampled at 8 kHz, so using a higher value will not improve perceived quality. \nHigher sample rates can be useful for non-PSTN scenarios (for example, SIP/streaming paths), but will increase bandwidth usage and processing load.","enum":[8000,16000,24000,44100,48000,96000],"x-enumDescriptions":{"8000":"8 kHz (standard for PSTN calls)","16000":"16 kHz (wideband audio)","24000":"24 kHz (super-wideband audio)","44100":"44.1 kHz (CD quality audio)","48000":"48 kHz (professional audio quality)","96000":"96 kHz (high-resolution audio)"},"default":8000,"example":16000}}},"callHeaders":{"$ref":"#/components/schemas/callHeaders"}},"examples":[{"endpoint":"wss://example.com","streamOptions":{"version":1,"codec":"PCM","sampleRate":8000},"callHeaders":[{"key":"my-key","value":"my-key-value"}]}]}},"examples":[{"type":"STREAM","stream":{"endpoint":"wss://example.com","streamOptions":{"version":1,"codec":"PCM","sampleRate":16000},"callHeaders":[{"key":"my-key","value":"my-key-value"}]}}]},"voiceName":{"type":"string","description":"Sinch Voice Name to use for text-to-speech. Each voice is tied to a specific language variant, gender, and pricing model (Free/Standard or Paid/Generative). See [https://developers.sinch.com/docs/voice-2.0/api-reference/text-to-speech-voices#text-to-speech-voices](https://developers.sinch.com/docs/voice-2.0/api-reference/text-to-speech-voices#currently-available-languages) for details","example":"Emma_3","enum":["Aarav","Aarav_2","Aarohi","Aarti","Aarti_2","Aarti_3","Aashi","Abbi","Abdullah","Abeo","Abril","Achara","Ada","Ada_2","Adam","Adam_2","Aditi","Adri","Adriano","Agnieszka","Ahmet","Aigul","Ainhoa","Alain","Alba","Aled","Aleksandar","Alessio","Alessio_2","Alex","Alfie","Ali","Alina","Alloy","Alloy_2","Alonso","Alvaro","Amal","Amala","Amanda","Amany","Amber","Ambre","Ameha","Amina","Amy","Amy_2","Amy_3","Ana","Anahit","Ananya","Ananya_2","Anbu","Ander","Andre","Andre_2","Andrea","Andres","Andrew","Andrew_2","Andrew_3","Angelo","Anila","Annette","Antoine","Antonin","Antonio","Anu","Aoi","Arabella","Ardi","Aria","Aria_2","Ariane","Arjun","Arjun_2","Arjun_3","Arlet","Arnau","Arnaud","Arthur","Arya","Arya_2","Asad","Ashley","Asilia","Astrid","Athina","Ava","Ava_2","Ava_3","Avri","Ayanda","Ayanda_2","Aysha","Babek","Banu","Bashkar","Bassel","Bataa","Beatrice","Beatriz","Belkys","Bella","Benigno","Bernd","Bianca","Bianca_2","Bianca_3","Blessica","BongJin","Borislav","Brandon","Brandon_2","Bree","Brenda","Brian","Brian_2","Brian_3","Brigitte","Bryan","Bryan_2","Bryan_3","Burcu","Calimero","Camila","Camilla","Camilla_2","Camilla_3","Candela","Carla","Carlos","Carlota","Carly","Carmen","Cataldo","Catalina","Cecilio","Celeste","Celine","Celine_2","Chantal","Chanthavong","Charline","Chilemba","Christel","Christoph","Christopher","Christopher_2","Clara","Claude","Colette","Colm","Conchita","Connor","Conrad","Cora","Cora_2","Coralie","Cristiano","Daichi","Dalia","Dalia_2","Daniel","Daniel_2","Danielle","Danielle_2","Dario","Dariya","Darren","Daudi","Daulet","Davis","Davis_2","Davis_3","Dena","Denise","Derek","Dhwani","Diego","Dilara","Dimas","Dmitry","Donato","Dora","Duarte","Duncan","Dustin","Echo","Eka","Elena","Elias","Elimu","Elin","Elizabeth","Elke","Elliot","Eloise","Elsa","Elsie","Elvira","Elza","Emel","Emil","Emilio","Emily","Emma","Emma_2","Emma_3","Enric","Enrique","Eric","Estrella","Ethan","Evelyn","Everita","Ewa","Ewa_2","Ezinne","Fabio","Fabiola","Fable","Fabrice","Fahed","Farid","Fatima","Federico","Fenna","Fernanda","Fiamma","Filiz","Finn","Florian","Florian_2","Florin","Francisca","Freya","Gabrielle","Gabrielle_2","Gabrijela","Gadis","Gagan","Gemma","Gemma_2","Geraint","Gerard","Gerardo","Gianni","Giorgi","Giorgio","Giovanna","Gisela","Giuseppe","Giuseppe_2","Gonzalo","GookMin","Goran","Grace","Gregory","Gudrun","Gul","GulNawaz","Gunnar","Guy","Gwyneth","Hala","Hamdan","Hamed","Hannah","Hannah_2","Hans","Harri","Hayk","Hedi","Hemkala","Henri","Hila","Hillevi","HiuGaai","Hiujin","HiuMaan","HoaiMy","Hollie","HsiaoChen","HsiaoYu","Humberto","Hyunsu","Hyunsu_2","Hyunsu_3","Ida","Ilir","Iman","Imani","Imelda","Ines","Ines_2","Ingrid","InJoon","Irene","Irma","Isabella","Isabella_2","Isabella_3","Isabelle","Isabelle_2","Iselin","Isidora","Ismael","Ivy","Ivy_2","Jacek","Jacob","Jacqueline","Jajang","Jamal","James","Jan","Jane","Jane_2","Jann","Jasmine","Jasmine_2","Jason","Javier","Jean","Jenny","Jenny_2","Jenny_3","Jeppe","Jerome","Jihye","JiMin","Jimmie","Jitka","Joana","Joanna","Joanna_2","Joanna_3","Joanne","Joey","Joey_2","Jonas","Jorge","Jorge_2","Joseph","Josephine","Juan","Julio","Justin","Justin_2","Kai","Kajal","Kajal_2","Kalina","Kani","Karina","Karl","Karla","Kasper","Katja","Kavya","Kavya_2","Kazuha","Keita","Ken","Kendra","Kendra_2","Keomany","Kert","Kevin","Killian","Kim","Kimberly","Kimberly_2","Klarissa","Klaus","Kumar","Kunal","Kunal_2","Laia","Laila","Laith","Larissa","Latifa","Laura","Laura_2","Layla","Lea","Lea_2","Lea_3","Leah","Leila","Leni","Lennart","Leonas","Leticia","Lewis","Lia","Liam","Lian","Lian_2","Libby","Liberto","Lisa","Lisa_2","Lisandro","Liv","Livia","Livia_2","Lola","Lorena","Lorenzio","Lorenzo","Lotte","Louisa","Lucia","Lucia_2","Lucia_3","Luciano","Lucien","Luis","Lukas","Luke","Luna","Luna_2","Lupe","Lupe_2","Lupe_3","Maarten","Macerio","Macerio_2","Madhur","Madina","Mads","Maisie","Maja","Manohar","Manuel","Manuela","Marcello","Marcelo","Marek","Margarita","Maria","Marija","Marina","Mario","Marlene","Marta","Maryam","Masaru","Mateo","Mathieu","Matthew","Matthew_2","Matthew_3","Mattias","Maurice","Maxim","Maya","Mayu","Mekdes","Mia","Mia_2","Mia_3","Michelle","Midhun","Miguel","Mitchell","Mizuki","Moaz","Mohan","Molly","Monica","Mouna","Muuse","Nabanita","Naja","NamMinh","Nanami","Nanami_2","Nancy","Nancy_2","Naoki","Natasha","Neerja","Neerja_2","Neil","Nestoras","Nia","Niamh","Niamh_2","Nicholas","Nicholas_2","Nicolau","Nicole","Nil","Nilar","Nils","Niranjan","Niwat","Noah","Noemi","Noora","Noura","Nova","Nova_2","Nuria","Ojas","Ola","Ola_2","Oliver","Olivia","Ollie","Ollie_2","Omar","Ona","Onyx","Orla","Osman","Ostap","Pallavi","Palmira","Paloma","Paola","Pedro","Pedro_2","Pelayo","Penelope","Pernille","Petra","Phoebe","Phoebe_2","Pierina","Piseth","Polina","Prabhat","Prabhat_2","Pradeep","Premwadee","Priyom","Rafiki","Ralf","Rami","Ramona","Rana","Raquel","Raveena","Reem","Rehaan","Rehaan_2","Rehema","Remi","Remi_2","Remy","Remy_2","Renata","Ricardo","Rinaldo","Roberto","Rodrigo","Roger","Roi","Rok","Rosa","Ruben","Russell","Ruth","Ruth_2","Ryan","Ryan_2","Sabela","Sabrina","Sabrina_2","Sagar","Saleh","Salli","Salli_2","Salli_3","Salma","Salman","Salome","Sam","Sameera","Samuel","Sana","Sapna","Sara","Saranya","Sardor","Saul","Sebastian","Selma","SeoHyeon","Seoyeon","Seoyeon_2","Seoyeon_3","Seraphina","Seraphina_2","Serena","Serena_2","Sergio","Sergio_2","Shakir","Shimmer","Shiori","Shruti","Siqiniq","Siqiniq_2","Siti","Sobhana","Soffie","Sofia","Sofie","Sonia","SoonBok","Sophie","Sophie_2","Srecko","Sreymom","Steffan","Steffan_2","Steffan_3","Stephen","Stephen_2","Subhasini","Sukant","SunHi","SunHi_2","Surya","Suvi","Svetlana","Swara","Sylvie","Sylvie_2","Taim","Takumi","Takumi_2","Tamas","Tania","Tanishaa","Tanja","Taqqiq","Taqqiq_2","Tatyana","Teo","Teresa","Thalita","Thalita_2","Thalita_3","Thando","Themba","Thiago","Thierry","Thierry_2","Thiha","Thilini","Thomas","Tiana","Tiffany","Tim","Tina","Tomas","Tomoko","Tony","Triana","Tristan_ES","Tristan_ES_2","Tuti","Tyler","Ubax","Uzma","Vaani","Valentina","Valerio","Valluvar","Venba","Vera","Vesna","Vicki","Vicki_2","Vicki_3","Victor","Viktoria","Vitoria","Vitoria_2","Vivienne","Vivienne_2","Vlasta","WanLung","Wayne","Willem","William","William_2","Xiaochen","Xiaochen_2","Xiaochen_3","Xiaochen_4","Xiaohan","Xiaohan_2","Xiaomeng","XiaoMin","Xiaomo","Xiaoqiu","Xiaorou","Xiaorui","Xiaoshuang","Xiaoshuang_2","Xiaoshuang_3","Xiaotong","Xiaoxiao","Xiaoxiao_2","Xiaoxiao_3","Xiaoxiao_4","Xiaoxiao_5","Xiaoyan","Xiaoyi","Xiaoyi_2","Xiaoyou","Xiaoyou_2","Xiaoyou_3","Xiaoyu","Xiaoyu_2","Xiaozhen","Ximena_ES","Ximena_ES_2","Ximena_ES_3","Yago","Yan","Yara","Yashica","Yasmin","Yesui","Yolanda","YuJin","Yundeng","Yunfan","Yunfan_2","Yunfeng","Yunhan","Yunhao","YunJhe","Yunjian","Yunjie","YunSong","Yunxi","Yunxi_2","Yunxia","Yunxia_2","Yunxiang","Yunxiao","Yunxiao_2","Yunyang","Yunye","Yunye_2","Yunyi","Yunyi_2","Yunze","Yunzhe","Yves","Yvette","Zariyah","Zayd","Zeina","Zhiyu","Zhiyu_2","Zofia","Zuri"],"x-enumDescriptions":{"Aarav":"Male voice for Hindi (India) (Free voice)","Aarav_2":"Male voice for English (India) (Free voice)","Aarohi":"Female voice for Marathi (India) (Free voice)","Aarti":"Female voice for Hindi (India) (Free voice)","Aarti_2":"Female voice for English (India) (Free voice)","Aarti_3":"Female voice for English (India) (Free voice)","Aashi":"Female voice for English (India) (Free voice)","Abbi":"Female voice for English (United Kingdom) (Free voice)","Abdullah":"Male voice for Arabic (Oman) (Free voice)","Abeo":"Male voice for English (Nigeria) (Free voice)","Abril":"Female voice for Spanish (Spain) (Free voice)","Achara":"Female voice for Thai (Thailand) (Free voice)","Ada":"Female voice for English (United Kingdom) (Free voice)","Ada_2":"Female voice for English (United Kingdom) (Paid voice)","Adam":"Male voice for English (United States) (Free voice)","Adam_2":"Male voice for English (United States) (Paid voice)","Aditi":"Female voice for English (India) (Free voice)","Adri":"Female voice for Afrikaans (South Africa) (Free voice)","Adriano":"Male voice for Italian (Italy) (Free voice)","Agnieszka":"Female voice for Polish (Poland) (Free voice)","Ahmet":"Male voice for Turkish (Türkiye) (Free voice)","Aigul":"Female voice for Kazakh (Kazakhstan) (Free voice)","Ainhoa":"Female voice for Basque (Free voice)","Alain":"Male voice for French (France) (Free voice)","Alba":"Female voice for Catalan (Free voice)","Aled":"Male voice for Welsh (United Kingdom) (Free voice)","Aleksandar":"Male voice for Macedonian (North Macedonia) (Free voice)","Alessio":"Male voice for Italian (Italy) (Free voice)","Alessio_2":"Male voice for Italian (Italy) (Paid voice)","Alex":"Male voice for Spanish (Peru) (Free voice)","Alfie":"Male voice for English (United Kingdom) (Free voice)","Ali":"Male voice for Arabic (Bahrain) (Free voice)","Alina":"Female voice for Romanian (Romania) (Free voice)","Alloy":"Male voice for English (United States) (Free voice)","Alloy_2":"Male voice for English (United States) (Paid voice)","Alonso":"Male voice for Spanish (United States) (Free voice)","Alvaro":"Male voice for Spanish (Spain) (Free voice)","Amal":"Female voice for Arabic (Qatar) (Free voice)","Amala":"Female voice for German (Germany) (Free voice)","Amanda":"Female voice for English (United States) (Free voice)","Amany":"Female voice for Arabic (Syria) (Free voice)","Amber":"Female voice for English (United States) (Free voice)","Ambre":"Female voice for French (France) (Paid voice)","Ameha":"Male voice for Amharic (Ethiopia) (Free voice)","Amina":"Female voice for Arabic (Algeria) (Free voice)","Amy":"Female voice for English (United Kingdom) (Free voice)","Amy_2":"Female voice for English (United Kingdom) (Free voice)","Amy_3":"Female voice for English (United Kingdom) (Paid voice)","Ana":"Female voice for English (United States) (Free voice)","Anahit":"Female voice for Armenian (Armenia) (Free voice)","Ananya":"Female voice for Hindi (India) (Free voice)","Ananya_2":"Female voice for English (India) (Free voice)","Anbu":"Male voice for Tamil (Singapore) (Free voice)","Ander":"Male voice for Basque (Free voice)","Andre":"Male voice for Spanish (Mexico) (Free voice)","Andre_2":"Male voice for Spanish (Mexico) (Paid voice)","Andrea":"Female voice for Spanish (Ecuador) (Free voice)","Andres":"Male voice for Spanish (Guatemala) (Free voice)","Andrew":"Male voice for English (United States) (Free voice)","Andrew_2":"Male voice for English (United States) (Free voice)","Andrew_3":"Male voice for English (United States) (Paid voice)","Angelo":"Male voice for Filipino (Philippines) (Free voice)","Anila":"Female voice for Albanian (Albania) (Free voice)","Annette":"Female voice for English (Australia) (Free voice)","Antoine":"Male voice for French (Canada) (Free voice)","Antonin":"Male voice for Czech (Czechia) (Free voice)","Antonio":"Male voice for Portuguese (Brazil) (Free voice)","Anu":"Female voice for Estonian (Estonia) (Free voice)","Aoi":"Female voice for Japanese (Japan) (Free voice)","Arabella":"Female voice for Spanish (Spain) (Free voice)","Ardi":"Male voice for Indonesian (Indonesia) (Free voice)","Aria":"Female voice for English (United States) (Free voice)","Aria_2":"Female voice for English (United States) (Paid voice)","Ariane":"Female voice for French (Switzerland) (Free voice)","Arjun":"Male voice for English (India) (Free voice)","Arjun_2":"Male voice for English (India) (Free voice)","Arjun_3":"Male voice for Hindi (India) (Free voice)","Arlet":"Female voice for Catalan (Free voice)","Arnau":"Male voice for Spanish (Spain) (Free voice)","Arnaud":"Male voice for Dutch (Belgium) (Free voice)","Arthur":"Male voice for English (United Kingdom) (Free voice)","Arya":"Female voice for English (New Zealand) (Free voice)","Arya_2":"Female voice for English (New Zealand) (Paid voice)","Asad":"Male voice for Urdu (Pakistan) (Free voice)","Ashley":"Female voice for English (United States) (Free voice)","Asilia":"Female voice for English (Kenya) (Free voice)","Astrid":"Female voice for Swedish (Sweden) (Free voice)","Athina":"Female voice for Greek (Greece) (Free voice)","Ava":"Female voice for English (United States) (Free voice)","Ava_2":"Female voice for English (United States) (Free voice)","Ava_3":"Female voice for English (United States) (Paid voice)","Avri":"Male voice for Hebrew (Israel) (Free voice)","Ayanda":"Female voice for English (South Africa) (Free voice)","Ayanda_2":"Female voice for English (South Africa) (Paid voice)","Aysha":"Female voice for Arabic (Oman) (Free voice)","Babek":"Male voice for Azerbaijani (Latin, Azerbaijan) (Free voice)","Banu":"Female voice for Azerbaijani (Latin, Azerbaijan) (Free voice)","Bashkar":"Male voice for Bengali (India) (Free voice)","Bassel":"Male voice for Arabic (Iraq) (Free voice)","Bataa":"Male voice for Mongolian (Mongolia) (Free voice)","Beatrice":"Female voice for Italian (Italy) (Paid voice)","Beatriz":"Female voice for Spanish (Mexico) (Free voice)","Belkys":"Female voice for Spanish (Cuba) (Free voice)","Bella":"Female voice for English (United Kingdom) (Free voice)","Benigno":"Male voice for Italian (Italy) (Free voice)","Bernd":"Male voice for German (Germany) (Free voice)","Bianca":"Female voice for Italian (Italy) (Free voice)","Bianca_2":"Female voice for Italian (Italy) (Free voice)","Bianca_3":"Female voice for Italian (Italy) (Paid voice)","Blessica":"Female voice for Filipino (Philippines) (Free voice)","BongJin":"Male voice for Korean (Korea) (Free voice)","Borislav":"Male voice for Bulgarian (Bulgaria) (Free voice)","Brandon":"Male voice for English (United States) (Free voice)","Brandon_2":"Male voice for English (United States) (Free voice)","Bree":"Female voice for English (United States) (Paid voice)","Brenda":"Female voice for Portuguese (Brazil) (Free voice)","Brian":"Male voice for English (United States) (Free voice)","Brian_2":"Male voice for English (United States) (Free voice)","Brian_3":"Male voice for English (United States) (Paid voice)","Brigitte":"Female voice for French (France) (Free voice)","Bryan":"Male voice for English (United Kingdom) (Free voice)","Bryan_2":"Male voice for English (United Kingdom) (Free voice)","Bryan_3":"Male voice for English (United Kingdom) (Paid voice)","Burcu":"Female voice for Turkish (Türkiye) (Free voice)","Calimero":"Male voice for Italian (Italy) (Free voice)","Camila":"Female voice for Spanish (Peru) (Free voice)","Camilla":"Female voice for Portuguese (Brazil) (Free voice)","Camilla_2":"Female voice for Portuguese (Brazil) (Free voice)","Camilla_3":"Female voice for Portuguese (Brazil) (Paid voice)","Candela":"Female voice for Spanish (Mexico) (Free voice)","Carla":"Female voice for Italian (Italy) (Free voice)","Carlos":"Male voice for Spanish (Honduras) (Free voice)","Carlota":"Female voice for Spanish (Mexico) (Free voice)","Carly":"Female voice for English (Australia) (Free voice)","Carmen":"Female voice for Romanian (Romania) (Free voice)","Cataldo":"Male voice for Italian (Italy) (Free voice)","Catalina":"Female voice for Spanish (Chile) (Free voice)","Cecilio":"Male voice for Spanish (Mexico) (Free voice)","Celeste":"Female voice for French (France) (Free voice)","Celine":"Female voice for French (France) (Free voice)","Celine_2":"Female voice for French (France) (Paid voice)","Chantal":"Female voice for French (Canada) (Free voice)","Chanthavong":"Male voice for Lao (Laos) (Free voice)","Charline":"Female voice for French (Belgium) (Free voice)","Chilemba":"Male voice for English (Kenya) (Free voice)","Christel":"Female voice for Danish (Denmark) (Free voice)","Christoph":"Male voice for German (Germany) (Free voice)","Christopher":"Male voice for English (United States) (Free voice)","Christopher_2":"Male voice for English (United States) (Free voice)","Clara":"Female voice for English (Canada) (Free voice)","Claude":"Male voice for French (France) (Free voice)","Colette":"Female voice for Dutch (Netherlands) (Free voice)","Colm":"Male voice for Irish (Ireland) (Free voice)","Conchita":"Female voice for Spanish (Castilian) (Free voice)","Connor":"Male voice for English (Ireland) (Free voice)","Conrad":"Male voice for German (Germany) (Free voice)","Cora":"Female voice for English (United States) (Free voice)","Cora_2":"Female voice for English (United States) (Free voice)","Coralie":"Female voice for French (France) (Free voice)","Cristiano":"Male voice for Portuguese (Brazil) (Free voice)","Daichi":"Male voice for Japanese (Japan) (Free voice)","Dalia":"Female voice for Spanish (Mexico) (Free voice)","Dalia_2":"Female voice for Spanish (Mexico) (Free voice)","Daniel":"Male voice for German (Germany) (Free voice)","Daniel_2":"Male voice for German (Germany) (Paid voice)","Danielle":"Female voice for English (United States) (Free voice)","Danielle_2":"Female voice for English (United States) (Paid voice)","Dario":"Male voice for Spanish (Spain) (Free voice)","Dariya":"Female voice for Russian (Russia) (Free voice)","Darren":"Male voice for English (Australia) (Free voice)","Daudi":"Male voice for Swahili (Tanzania) (Free voice)","Daulet":"Male voice for Kazakh (Kazakhstan) (Free voice)","Davis":"Male voice for English (United States) (Free voice)","Davis_2":"Male voice for English (United States) (Free voice)","Davis_3":"Male voice for English (United States) (Paid voice)","Dena":"Female voice for Dutch (Belgium) (Free voice)","Denise":"Female voice for French (France) (Free voice)","Derek":"Male voice for English (United States) (Free voice)","Dhwani":"Female voice for Gujarati (India) (Free voice)","Diego":"Male voice for Italian (Italy) (Free voice)","Dilara":"Female voice for Persian (Iran) (Free voice)","Dimas":"Male voice for Javanese (Latin, Indonesia) (Free voice)","Dmitry":"Male voice for Russian (Russia) (Free voice)","Donato":"Male voice for Portuguese (Brazil) (Free voice)","Dora":"Female voice for Icelandic (Iceland) (Free voice)","Duarte":"Male voice for Portuguese (Portugal) (Free voice)","Duncan":"Male voice for English (Australia) (Free voice)","Dustin":"Male voice for English (United States) (Free voice)","Echo":"Male voice for English (United States) (Free voice)","Eka":"Female voice for Georgian (Georgia) (Free voice)","Elena":"Female voice for Spanish (Argentina) (Free voice)","Elias":"Male voice for Spanish (Spain) (Free voice)","Elimu":"Male voice for English (Tanzania) (Free voice)","Elin":"Female voice for Swedish (Sweden) (Free voice)","Elizabeth":"Female voice for English (United States) (Free voice)","Elke":"Female voice for German (Germany) (Free voice)","Elliot":"Male voice for English (United Kingdom) (Free voice)","Eloise":"Female voice for French (France) (Free voice)","Elsa":"Female voice for Italian (Italy) (Free voice)","Elsie":"Female voice for English (Australia) (Free voice)","Elvira":"Female voice for Spanish (Spain) (Free voice)","Elza":"Female voice for Portuguese (Brazil) (Free voice)","Emel":"Female voice for Turkish (Türkiye) (Free voice)","Emil":"Male voice for Romanian (Romania) (Free voice)","Emilio":"Male voice for Spanish (Dominican Republic) (Free voice)","Emily":"Female voice for English (Ireland) (Free voice)","Emma":"Female voice for English (United States) (Free voice)","Emma_2":"Female voice for English (United States) (Free voice)","Emma_3":"Female voice for English (United States) (Paid voice)","Enric":"Male voice for Catalan (Free voice)","Enrique":"Male voice for Spanish (Castilian) (Free voice)","Eric":"Male voice for English (United States) (Free voice)","Estrella":"Female voice for Spanish (Spain) (Free voice)","Ethan":"Male voice for English (United Kingdom) (Free voice)","Evelyn":"Female voice for English (United States) (Free voice)","Everita":"Female voice for Latvian (Latvia) (Free voice)","Ewa":"Female voice for Polish (Poland) (Free voice)","Ewa_2":"Female voice for Polish (Poland) (Paid voice)","Ezinne":"Female voice for English (Nigeria) (Free voice)","Fabio":"Male voice for Portuguese (Brazil) (Free voice)","Fabiola":"Female voice for Italian (Italy) (Free voice)","Fable":"Neutral voice for English (United States) (Free voice)","Fabrice":"Male voice for French (Switzerland) (Free voice)","Fahed":"Male voice for Arabic (Kuwait) (Free voice)","Farid":"Male voice for Persian (Iran) (Free voice)","Fatima":"Female voice for Arabic (United Arab Emirates) (Free voice)","Federico":"Male voice for Spanish (Nicaragua) (Free voice)","Fenna":"Female voice for Dutch (Netherlands) (Free voice)","Fernanda":"Female voice for Portuguese (Portugal) (Free voice)","Fiamma":"Female voice for Italian (Italy) (Free voice)","Filiz":"Female voice for Turkish (Türkiye) (Free voice)","Finn":"Male voice for Norwegian (Norway) (Free voice)","Florian":"Male voice for German (Germany) (Free voice)","Florian_2":"Male voice for German (Germany) (Paid voice)","Florin":"Male voice for French (France) (Paid voice)","Francisca":"Female voice for Portuguese (Brazil) (Free voice)","Freya":"Female voice for English (Australia) (Free voice)","Gabrielle":"Female voice for French (Canada) (Free voice)","Gabrielle_2":"Female voice for French (Canada) (Paid voice)","Gabrijela":"Female voice for Croatian (Croatia) (Free voice)","Gadis":"Female voice for Indonesian (Indonesia) (Free voice)","Gagan":"Male voice for Kannada (India) (Free voice)","Gemma":"Female voice for English (United Kingdom) (Free voice)","Gemma_2":"Female voice for English (United Kingdom) (Free voice)","Geraint":"Male voice for Welsh (United Kingdom) (Free voice)","Gerard":"Male voice for French (Belgium) (Free voice)","Gerardo":"Male voice for Spanish (Mexico) (Free voice)","Gianni":"Male voice for Italian (Italy) (Free voice)","Giorgi":"Male voice for Georgian (Georgia) (Free voice)","Giorgio":"Male voice for Italian (Italy) (Free voice)","Giovanna":"Female voice for Portuguese (Brazil) (Free voice)","Gisela":"Female voice for German (Germany) (Free voice)","Giuseppe":"Male voice for Italian (Italy) (Free voice)","Giuseppe_2":"Male voice for Italian (Italy) (Free voice)","Gonzalo":"Male voice for Spanish (Colombia) (Free voice)","GookMin":"Male voice for Korean (Korea) (Free voice)","Goran":"Male voice for Bosnian (Bosnia and Herzegovina) (Free voice)","Grace":"Female voice for Maltese (Malta) (Free voice)","Gregory":"Male voice for English (United States) (Free voice)","Gudrun":"Female voice for Icelandic (Iceland) (Free voice)","Gul":"Female voice for Urdu (India) (Free voice)","GulNawaz":"Male voice for Pashto (Afghanistan) (Free voice)","Gunnar":"Male voice for Icelandic (Iceland) (Free voice)","Guy":"Male voice for English (United States) (Free voice)","Gwyneth":"Female voice for Welsh (United Kingdom) (Free voice)","Hala":"Female voice for Arabic (Saudi Arabia) (Free voice)","Hamdan":"Male voice for Arabic (United Arab Emirates) (Free voice)","Hamed":"Male voice for Arabic (Saudi Arabia) (Free voice)","Hannah":"Female voice for German (Austria) (Free voice)","Hannah_2":"Female voice for German (Austria) (Paid voice)","Hans":"Male voice for German (Germany) (Free voice)","Harri":"Male voice for Finnish (Finland) (Free voice)","Hayk":"Male voice for Armenian (Armenia) (Free voice)","Hedi":"Male voice for Arabic (Tunisia) (Free voice)","Hemkala":"Female voice for Nepali (Nepal) (Free voice)","Henri":"Male voice for French (France) (Free voice)","Hila":"Female voice for Hebrew (Israel) (Free voice)","Hillevi":"Female voice for Swedish (Sweden) (Free voice)","HiuGaai":"Female voice for Chinese (Cantonese, Traditional) (Free voice)","Hiujin":"Female voice for Chinese (Cantonese) (Free voice)","HiuMaan":"Female voice for Chinese (Cantonese, Traditional) (Free voice)","HoaiMy":"Female voice for Vietnamese (Vietnam) (Free voice)","Hollie":"Female voice for English (United Kingdom) (Free voice)","HsiaoChen":"Female voice for Chinese (Taiwanese Mandarin, Traditional) (Free voice)","HsiaoYu":"Female voice for Chinese (Taiwanese Mandarin, Traditional) (Free voice)","Humberto":"Male voice for Portuguese (Brazil) (Free voice)","Hyunsu":"Male voice for Korean (Korea) (Free voice)","Hyunsu_2":"Male voice for Korean (Korea) (Free voice)","Hyunsu_3":"Male voice for Korean (Korea) (Paid voice)","Ida":"Female voice for Norwegian (Norway) (Free voice)","Ilir":"Male voice for Albanian (Albania) (Free voice)","Iman":"Female voice for Arabic (Libya) (Free voice)","Imani":"Female voice for English (Tanzania) (Free voice)","Imelda":"Female voice for Italian (Italy) (Free voice)","Ines":"Female voice for Portuguese (Brazil) (Free voice)","Ines_2":"Female voice for Portuguese (Brazil) (Free voice)","Ingrid":"Female voice for German (Austria) (Free voice)","InJoon":"Male voice for Korean (Korea) (Free voice)","Irene":"Female voice for Spanish (Spain) (Free voice)","Irma":"Female voice for Italian (Italy) (Free voice)","Isabella":"Female voice for Italian (Italy) (Free voice)","Isabella_2":"Female voice for Italian (Italy) (Free voice)","Isabella_3":"Female voice for Italian (Italy) (Paid voice)","Isabelle":"Female voice for French (Belgium) (Free voice)","Isabelle_2":"Female voice for French (Belgium) (Paid voice)","Iselin":"Female voice for Norwegian (Norway) (Free voice)","Isidora":"Female voice for Spanish (Spain) (Free voice)","Ismael":"Male voice for Arabic (Algeria) (Free voice)","Ivy":"Female voice for English (United States) (Free voice)","Ivy_2":"Female voice for English (United States) (Free voice)","Jacek":"Male voice for Polish (Poland) (Free voice)","Jacob":"Male voice for English (United States) (Free voice)","Jacqueline":"Female voice for French (France) (Free voice)","Jajang":"Male voice for Sundanese (Indonesia) (Free voice)","Jamal":"Male voice for Arabic (Morocco) (Free voice)","James":"Male voice for English (Philippines) (Free voice)","Jan":"Male voice for German (Switzerland) (Free voice)","Jane":"Female voice for English (United States) (Free voice)","Jane_2":"Female voice for English (United States) (Paid voice)","Jann":"Male voice for Polish (Poland) (Free voice)","Jasmine":"Female voice for English (Singapore) (Free voice)","Jasmine_2":"Female voice for English (Singapore) (Paid voice)","Jason":"Male voice for English (United States) (Free voice)","Javier":"Male voice for Spanish (Equatorial Guinea) (Free voice)","Jean":"Male voice for French (Canada) (Free voice)","Jenny":"Female voice for English (United States) (Free voice)","Jenny_2":"Female voice for English (United States) (Free voice)","Jenny_3":"Female voice for English (United States) (Paid voice)","Jeppe":"Male voice for Danish (Denmark) (Free voice)","Jerome":"Male voice for French (France) (Free voice)","Jihye":"Female voice for Korean (Korea) (Free voice)","JiMin":"Female voice for Korean (Korea) (Free voice)","Jimmie":"Male voice for English (United States) (Free voice)","Jitka":"Female voice for Czech (Czechia) (Free voice)","Joana":"Female voice for Catalan (Free voice)","Joanna":"Female voice for English (United States) (Free voice)","Joanna_2":"Female voice for English (United States) (Free voice)","Joanna_3":"Female voice for English (United States) (Paid voice)","Joanne":"Female voice for English (Australia) (Free voice)","Joey":"Male voice for English (United States) (Free voice)","Joey_2":"Male voice for English (United States) (Free voice)","Jonas":"Male voice for German (Austria) (Free voice)","Jorge":"Male voice for Spanish (Mexico) (Free voice)","Jorge_2":"Male voice for Spanish (Mexico) (Free voice)","Joseph":"Male voice for Maltese (Malta) (Free voice)","Josephine":"Female voice for French (France) (Free voice)","Juan":"Male voice for Spanish (Costa Rica) (Free voice)","Julio":"Male voice for Portuguese (Brazil) (Free voice)","Justin":"Male voice for English (United States) (Free voice)","Justin_2":"Male voice for English (United States) (Free voice)","Kai":"Male voice for English (United States) (Free voice)","Kajal":"Female voice for English (India) (Free voice)","Kajal_2":"Female voice for English (India) (Paid voice)","Kalina":"Female voice for Bulgarian (Bulgaria) (Free voice)","Kani":"Female voice for Tamil (Malaysia) (Free voice)","Karina":"Female voice for Spanish (Puerto Rico) (Free voice)","Karl":"Male voice for Icelandic (Iceland) (Free voice)","Karla":"Female voice for Spanish (Honduras) (Free voice)","Kasper":"Male voice for German (Germany) (Free voice)","Katja":"Female voice for German (Germany) (Free voice)","Kavya":"Female voice for Hindi (India) (Free voice)","Kavya_2":"Female voice for English (India) (Free voice)","Kazuha":"Female voice for Japanese (Japan) (Free voice)","Keita":"Male voice for Japanese (Japan) (Free voice)","Ken":"Male voice for English (Australia) (Free voice)","Kendra":"Female voice for English (United States) (Free voice)","Kendra_2":"Female voice for English (United States) (Free voice)","Keomany":"Female voice for Lao (Laos) (Free voice)","Kert":"Male voice for Estonian (Estonia) (Free voice)","Kevin":"Male voice for English (United States) (Free voice)","Killian":"Male voice for German (Germany) (Free voice)","Kim":"Female voice for English (Australia) (Free voice)","Kimberly":"Female voice for English (United States) (Free voice)","Kimberly_2":"Female voice for English (United States) (Free voice)","Klarissa":"Female voice for German (Germany) (Free voice)","Klaus":"Male voice for German (Germany) (Free voice)","Kumar":"Male voice for Tamil (Sri Lanka) (Free voice)","Kunal":"Male voice for Hindi (India) (Free voice)","Kunal_2":"Male voice for English (India) (Free voice)","Laia":"Female voice for Spanish (Spain) (Free voice)","Laila":"Female voice for Arabic (Bahrain) (Free voice)","Laith":"Male voice for Arabic (Syria) (Free voice)","Larissa":"Female voice for Spanish (Mexico) (Free voice)","Latifa":"Female voice for Pashto (Afghanistan) (Free voice)","Laura":"Female voice for Dutch (Netherlands) (Free voice)","Laura_2":"Female voice for Dutch (Netherlands) (Paid voice)","Layla":"Female voice for Arabic (Lebanon) (Free voice)","Lea":"Female voice for French (France) (Free voice)","Lea_2":"Female voice for French (France) (Free voice)","Lea_3":"Female voice for French (France) (Paid voice)","Leah":"Female voice for English (South Africa) (Free voice)","Leila":"Female voice for Portuguese (Brazil) (Free voice)","Leni":"Female voice for German (Switzerland) (Free voice)","Lennart":"Male voice for German (Germany) (Paid voice)","Leonas":"Male voice for Lithuanian (Lithuania) (Free voice)","Leticia":"Female voice for Portuguese (Brazil) (Free voice)","Lewis":"Male voice for English (United States) (Free voice)","Lia":"Female voice for Spanish (Spain) (Free voice)","Liam":"Male voice for English (Canada) (Free voice)","Lian":"Male voice for French (Canada) (Free voice)","Lian_2":"Male voice for French (Canada) (Paid voice)","Libby":"Female voice for English (United Kingdom) (Free voice)","Liberto":"Male voice for Spanish (Mexico) (Free voice)","Lisa":"Female voice for Dutch (Belgium) (Free voice)","Lisa_2":"Female voice for Dutch (Belgium) (Paid voice)","Lisandro":"Male voice for Italian (Italy) (Free voice)","Liv":"Female voice for Norwegian (Norway) (Free voice)","Livia":"Female voice for English (Australia) (Free voice)","Livia_2":"Female voice for English (Australia) (Paid voice)","Lola":"Female voice for English (United States) (Free voice)","Lorena":"Female voice for Spanish (El Salvador) (Free voice)","Lorenzio":"Male voice for Italian (Italy) (Paid voice)","Lorenzo":"Male voice for Spanish (Chile) (Free voice)","Lotte":"Female voice for Dutch (Netherlands) (Free voice)","Louisa":"Female voice for German (Germany) (Free voice)","Lucia":"Female voice for Spanish (Castilian) (Free voice)","Lucia_2":"Female voice for Spanish (Castilian) (Free voice)","Lucia_3":"Female voice for Spanish (Castilian) (Paid voice)","Luciano":"Male voice for Spanish (Mexico) (Free voice)","Lucien":"Male voice for French (France) (Free voice)","Luis":"Male voice for Spanish (Ecuador) (Free voice)","Lukas":"Male voice for Slovak (Slovakia) (Free voice)","Luke":"Male voice for English (South Africa) (Free voice)","Luna":"Female voice for English (Singapore) (Free voice)","Luna_2":"Female voice for English (United States) (Free voice)","Lupe":"Female voice for Spanish (United States) (Free voice)","Lupe_2":"Female voice for Spanish (United States) (Free voice)","Lupe_3":"Female voice for Spanish (United States) (Paid voice)","Maarten":"Male voice for Dutch (Netherlands) (Free voice)","Macerio":"Male voice for Portuguese (Brazil) (Free voice)","Macerio_2":"Male voice for Portuguese (Brazil) (Paid voice)","Madhur":"Male voice for Hindi (India) (Free voice)","Madina":"Female voice for Uzbek (Latin, Uzbekistan) (Free voice)","Mads":"Male voice for Danish (Denmark) (Free voice)","Maisie":"Female voice for English (United Kingdom) (Free voice)","Maja":"Female voice for German (Germany) (Free voice)","Manohar":"Male voice for Marathi (India) (Free voice)","Manuel":"Male voice for Spanish (Cuba) (Free voice)","Manuela":"Female voice for Portuguese (Brazil) (Free voice)","Marcello":"Male voice for Italian (Italy) (Free voice)","Marcelo":"Male voice for Spanish (Bolivia) (Free voice)","Marek":"Male voice for Polish (Poland) (Free voice)","Margarita":"Female voice for Spanish (Panama) (Free voice)","Maria":"Female voice for Spanish (Costa Rica) (Free voice)","Marija":"Female voice for Macedonian (North Macedonia) (Free voice)","Marina":"Female voice for Spanish (Mexico) (Free voice)","Mario":"Male voice for Spanish (Paraguay) (Free voice)","Marlene":"Female voice for German (Germany) (Free voice)","Marta":"Female voice for Spanish (Guatemala) (Free voice)","Maryam":"Female voice for Arabic (Yemen) (Free voice)","Masaru":"Male voice for Japanese (Japan) (Paid voice)","Mateo":"Male voice for Spanish (Uruguay) (Free voice)","Mathieu":"Male voice for French (France) (Free voice)","Matthew":"Male voice for English (United States) (Free voice)","Matthew_2":"Male voice for English (United States) (Free voice)","Matthew_3":"Male voice for English (United States) (Paid voice)","Mattias":"Male voice for Swedish (Sweden) (Free voice)","Maurice":"Male voice for French (France) (Free voice)","Maxim":"Male voice for Russian (Russia) (Free voice)","Maya":"Female voice for Polish (Poland) (Free voice)","Mayu":"Female voice for Japanese (Japan) (Free voice)","Mekdes":"Female voice for Amharic (Ethiopia) (Free voice)","Mia":"Female voice for Spanish (Mexico) (Free voice)","Mia_2":"Female voice for Spanish (Mexico) (Free voice)","Mia_3":"Female voice for Spanish (Mexico) (Paid voice)","Michelle":"Female voice for English (United States) (Free voice)","Midhun":"Male voice for Malayalam (India) (Free voice)","Miguel":"Male voice for Spanish (United States) (Free voice)","Mitchell":"Male voice for English (New Zealand) (Free voice)","Mizuki":"Female voice for Japanese (Japan) (Free voice)","Moaz":"Male voice for Arabic (Qatar) (Free voice)","Mohan":"Male voice for Telugu (India) (Free voice)","Molly":"Female voice for English (New Zealand) (Free voice)","Monica":"Female voice for English (United States) (Free voice)","Mouna":"Female voice for Arabic (Morocco) (Free voice)","Muuse":"Male voice for Somali (Somalia) (Free voice)","Nabanita":"Female voice for Bangla (Bangladesh) (Free voice)","Naja":"Female voice for Danish (Denmark) (Free voice)","NamMinh":"Male voice for Vietnamese (Vietnam) (Free voice)","Nanami":"Female voice for Japanese (Japan) (Free voice)","Nanami_2":"Female voice for Japanese (Japan) (Paid voice)","Nancy":"Female voice for English (United States) (Free voice)","Nancy_2":"Female voice for English (United States) (Free voice)","Naoki":"Male voice for Japanese (Japan) (Free voice)","Natasha":"Female voice for English (Australia) (Free voice)","Neerja":"Female voice for English (India) (Free voice)","Neerja_2":"Female voice for English (India) (Free voice)","Neil":"Male voice for English (Australia) (Free voice)","Nestoras":"Male voice for Greek (Greece) (Free voice)","Nia":"Female voice for Welsh (United Kingdom) (Free voice)","Niamh":"Female voice for English (Ireland) (Free voice)","Niamh_2":"Female voice for English (Ireland) (Paid voice)","Nicholas":"Male voice for Serbian (Cyrillic, Serbia) (Free voice)","Nicholas_2":"Male voice for Serbian (Latin, Serbia) (Free voice)","Nicolau":"Male voice for Portuguese (Brazil) (Free voice)","Nicole":"Female voice for English (Australia) (Free voice)","Nil":"Male voice for Spanish (Spain) (Free voice)","Nilar":"Female voice for Burmese (Myanmar) (Free voice)","Nils":"Male voice for Latvian (Latvia) (Free voice)","Niranjan":"Male voice for Gujarati (India) (Free voice)","Niwat":"Male voice for Thai (Thailand) (Free voice)","Noah":"Male voice for English (United Kingdom) (Free voice)","Noemi":"Female voice for Hungarian (Hungary) (Free voice)","Noora":"Female voice for Finnish (Finland) (Free voice)","Noura":"Female voice for Arabic (Kuwait) (Free voice)","Nova":"Female voice for English (United States) (Free voice)","Nova_2":"Female voice for English (United States) (Paid voice)","Nuria":"Female voice for Spanish (Mexico) (Free voice)","Ojas":"Male voice for Punjabi (India) (Free voice)","Ola":"Female voice for Polish (Poland) (Free voice)","Ola_2":"Female voice for Polish (Poland) (Paid voice)","Oliver":"Male voice for English (United Kingdom) (Free voice)","Olivia":"Female voice for English (United Kingdom) (Free voice)","Ollie":"Male voice for English (United Kingdom) (Free voice)","Ollie_2":"Male voice for English (United Kingdom) (Paid voice)","Omar":"Male voice for Arabic (Libya) (Free voice)","Ona":"Female voice for Lithuanian (Lithuania) (Free voice)","Onyx":"Male voice for English (United States) (Free voice)","Orla":"Female voice for Irish (Ireland) (Free voice)","Osman":"Male voice for Malay (Malaysia) (Free voice)","Ostap":"Male voice for Ukrainian (Ukraine) (Free voice)","Pallavi":"Female voice for Tamil (India) (Free voice)","Palmira":"Female voice for Italian (Italy) (Free voice)","Paloma":"Female voice for Spanish (United States) (Free voice)","Paola":"Female voice for Spanish (Venezuela) (Free voice)","Pedro":"Male voice for Spanish (United States) (Free voice)","Pedro_2":"Male voice for Spanish (United States) (Paid voice)","Pelayo":"Male voice for Spanish (Mexico) (Free voice)","Penelope":"Female voice for Spanish (United States) (Free voice)","Pernille":"Female voice for Norwegian (Norway) (Free voice)","Petra":"Female voice for Slovenian (Slovenia) (Free voice)","Phoebe":"Female voice for English (United States) (Free voice)","Phoebe_2":"Female voice for English (United States) (Paid voice)","Pierina":"Female voice for Italian (Italy) (Free voice)","Piseth":"Male voice for Khmer (Cambodia) (Free voice)","Polina":"Female voice for Ukrainian (Ukraine) (Free voice)","Prabhat":"Male voice for English (India) (Free voice)","Prabhat_2":"Male voice for English (India) (Free voice)","Pradeep":"Male voice for Bangla (Bangladesh) (Free voice)","Premwadee":"Female voice for Thai (Thailand) (Free voice)","Priyom":"Male voice for Assamese (India) (Free voice)","Rafiki":"Male voice for Swahili (Kenya) (Free voice)","Ralf":"Male voice for German (Germany) (Free voice)","Rami":"Male voice for Arabic (Lebanon) (Free voice)","Ramona":"Female voice for Spanish (Dominican Republic) (Free voice)","Rana":"Female voice for Arabic (Iraq) (Free voice)","Raquel":"Female voice for Portuguese (Portugal) (Free voice)","Raveena":"Female voice for English (India) (Free voice)","Reem":"Female voice for Arabic (Tunisia) (Free voice)","Rehaan":"Male voice for Hindi (India) (Free voice)","Rehaan_2":"Male voice for English (India) (Free voice)","Rehema":"Female voice for Swahili (Tanzania) (Free voice)","Remi":"Male voice for French (France) (Free voice)","Remi_2":"Male voice for French (France) (Paid voice)","Remy":"Male voice for French (France) (Free voice)","Remy_2":"Male voice for French (France) (Paid voice)","Renata":"Female voice for Spanish (Mexico) (Free voice)","Ricardo":"Male voice for Portuguese (Brazil) (Free voice)","Rinaldo":"Male voice for Italian (Italy) (Free voice)","Roberto":"Male voice for Spanish (Panama) (Free voice)","Rodrigo":"Male voice for Spanish (El Salvador) (Free voice)","Roger":"Male voice for English (United States) (Free voice)","Roi":"Male voice for Galician (Free voice)","Rok":"Male voice for Slovenian (Slovenia) (Free voice)","Rosa":"Female voice for English (Philippines) (Free voice)","Ruben":"Male voice for Dutch (Netherlands) (Free voice)","Russell":"Male voice for English (Australia) (Free voice)","Ruth":"Female voice for English (United States) (Free voice)","Ruth_2":"Female voice for English (United States) (Paid voice)","Ryan":"Male voice for English (United States) (Free voice)","Ryan_2":"Male voice for English (United Kingdom) (Free voice)","Sabela":"Female voice for Galician (Free voice)","Sabrina":"Female voice for German (Switzerland) (Free voice)","Sabrina_2":"Female voice for German (Switzerland) (Paid voice)","Sagar":"Male voice for Nepali (Nepal) (Free voice)","Saleh":"Male voice for Arabic (Yemen) (Free voice)","Salli":"Female voice for English (United States) (Free voice)","Salli_2":"Female voice for English (United States) (Free voice)","Salli_3":"Female voice for English (United States) (Paid voice)","Salma":"Female voice for Arabic (Egypt) (Free voice)","Salman":"Male voice for Urdu (India) (Free voice)","Salome":"Female voice for Spanish (Colombia) (Free voice)","Sam":"Male voice for English (Hong Kong SAR) (Free voice)","Sameera":"Male voice for Sinhala (Sri Lanka) (Free voice)","Samuel":"Male voice for English (United States) (Free voice)","Sana":"Female voice for Arabic (Jordan) (Free voice)","Sapna":"Female voice for Kannada (India) (Free voice)","Sara":"Female voice for English (United States) (Free voice)","Saranya":"Female voice for Tamil (Sri Lanka) (Free voice)","Sardor":"Male voice for Uzbek (Latin, Uzbekistan) (Free voice)","Saul":"Male voice for Spanish (Spain) (Free voice)","Sebastian":"Male voice for Spanish (Venezuela) (Free voice)","Selma":"Female voice for Finnish (Finland) (Free voice)","SeoHyeon":"Female voice for Korean (Korea) (Free voice)","Seoyeon":"Female voice for Korean (Korea) (Free voice)","Seoyeon_2":"Female voice for Korean (Korea) (Free voice)","Seoyeon_3":"Female voice for Korean (Korea) (Paid voice)","Seraphina":"Female voice for German (Germany) (Free voice)","Seraphina_2":"Female voice for German (Germany) (Paid voice)","Serena":"Female voice for English (United States) (Free voice)","Serena_2":"Female voice for English (United States) (Paid voice)","Sergio":"Male voice for Spanish (Castilian) (Free voice)","Sergio_2":"Male voice for Spanish (Castilian) (Paid voice)","Shakir":"Male voice for Arabic (Egypt) (Free voice)","Shimmer":"Female voice for English (United States) (Free voice)","Shiori":"Female voice for Japanese (Japan) (Free voice)","Shruti":"Female voice for Telugu (India) (Free voice)","Siqiniq":"Female voice for Inuktitut (Syllabics, Canada) (Free voice)","Siqiniq_2":"Female voice for Inuktitut (Latin, Canada) (Free voice)","Siti":"Female voice for Javanese (Latin, Indonesia) (Free voice)","Sobhana":"Female voice for Malayalam (India) (Free voice)","Soffie":"Female voice for Danish (Denmark) (Free voice)","Sofia":"Female voice for Spanish (Bolivia) (Free voice)","Sofie":"Female voice for Swedish (Sweden) (Free voice)","Sonia":"Female voice for English (United Kingdom) (Free voice)","SoonBok":"Female voice for Korean (Korea) (Free voice)","Sophie":"Female voice for Serbian (Cyrillic, Serbia) (Free voice)","Sophie_2":"Female voice for Serbian (Latin, Serbia) (Free voice)","Srecko":"Male voice for Croatian (Croatia) (Free voice)","Sreymom":"Female voice for Khmer (Cambodia) (Free voice)","Steffan":"Male voice for English (United States) (Free voice)","Steffan_2":"Male voice for English (United States) (Free voice)","Steffan_3":"Male voice for English (United States) (Paid voice)","Stephen":"Male voice for English (United States) (Free voice)","Stephen_2":"Male voice for English (United States) (Paid voice)","Subhasini":"Female voice for Odia (India) (Free voice)","Sukant":"Male voice for Odia (India) (Free voice)","SunHi":"Female voice for Korean (Korea) (Free voice)","SunHi_2":"Female voice for Korean (Korea) (Paid voice)","Surya":"Male voice for Tamil (Malaysia) (Free voice)","Suvi":"Female voice for Finnish (Finland) (Free voice)","Svetlana":"Female voice for Russian (Russia) (Free voice)","Swara":"Female voice for Hindi (India) (Free voice)","Sylvie":"Female voice for French (Canada) (Free voice)","Sylvie_2":"Female voice for French (Canada) (Paid voice)","Taim":"Male voice for Arabic (Jordan) (Free voice)","Takumi":"Male voice for Japanese (Japan) (Free voice)","Takumi_2":"Male voice for Japanese (Japan) (Free voice)","Tamas":"Male voice for Hungarian (Hungary) (Free voice)","Tania":"Female voice for Spanish (Paraguay) (Free voice)","Tanishaa":"Female voice for Bengali (India) (Free voice)","Tanja":"Female voice for German (Germany) (Free voice)","Taqqiq":"Male voice for Inuktitut (Syllabics, Canada) (Free voice)","Taqqiq_2":"Male voice for Inuktitut (Latin, Canada) (Free voice)","Tatyana":"Female voice for Russian (Russia) (Free voice)","Teo":"Male voice for Spanish (Spain) (Free voice)","Teresa":"Female voice for Spanish (Equatorial Guinea) (Free voice)","Thalita":"Female voice for Portuguese (Brazil) (Free voice)","Thalita_2":"Female voice for Portuguese (Brazil) (Free voice)","Thalita_3":"Female voice for Portuguese (Brazil) (Paid voice)","Thando":"Female voice for Zulu (South Africa) (Free voice)","Themba":"Male voice for Zulu (South Africa) (Free voice)","Thiago":"Male voice for Portuguese (Brazil) (Free voice)","Thierry":"Male voice for French (Canada) (Free voice)","Thierry_2":"Male voice for French (Canada) (Paid voice)","Thiha":"Male voice for Burmese (Myanmar) (Free voice)","Thilini":"Female voice for Sinhala (Sri Lanka) (Free voice)","Thomas":"Male voice for English (United Kingdom) (Free voice)","Tiana":"Female voice for English (United States) (Free voice)","Tiffany":"Female voice for English (United States) (Paid voice)","Tim":"Male voice for English (Australia) (Free voice)","Tina":"Female voice for English (Australia) (Free voice)","Tomas":"Male voice for Spanish (Argentina) (Free voice)","Tomoko":"Female voice for Japanese (Japan) (Free voice)","Tony":"Male voice for English (United States) (Free voice)","Triana":"Female voice for Spanish (Spain) (Free voice)","Tristan_ES":"Male voice for Spanish (Spain) (Free voice)","Tristan_ES_2":"Male voice for Spanish (Spain) (Paid voice)","Tuti":"Female voice for Sundanese (Indonesia) (Free voice)","Tyler":"Male voice for English (United States) (Free voice)","Ubax":"Female voice for Somali (Somalia) (Free voice)","Uzma":"Female voice for Urdu (Pakistan) (Free voice)","Vaani":"Female voice for Punjabi (India) (Free voice)","Valentina":"Female voice for Spanish (Uruguay) (Free voice)","Valerio":"Male voice for Portuguese (Brazil) (Free voice)","Valluvar":"Male voice for Tamil (India) (Free voice)","Venba":"Female voice for Tamil (Singapore) (Free voice)","Vera":"Female voice for Spanish (Spain) (Free voice)","Vesna":"Female voice for Bosnian (Bosnia and Herzegovina) (Free voice)","Vicki":"Female voice for German (Germany) (Free voice)","Vicki_2":"Female voice for German (Germany) (Free voice)","Vicki_3":"Female voice for German (Germany) (Paid voice)","Victor":"Male voice for Spanish (Puerto Rico) (Free voice)","Viktoria":"Female voice for Slovak (Slovakia) (Free voice)","Vitoria":"Female voice for Portuguese (Brazil) (Free voice)","Vitoria_2":"Female voice for Portuguese (Brazil) (Free voice)","Vivienne":"Female voice for French (France) (Free voice)","Vivienne_2":"Female voice for French (France) (Paid voice)","Vlasta":"Female voice for Czech (Czechia) (Free voice)","WanLung":"Male voice for Chinese (Cantonese, Traditional) (Free voice)","Wayne":"Male voice for English (Singapore) (Free voice)","Willem":"Male voice for Afrikaans (South Africa) (Free voice)","William":"Male voice for English (Australia) (Free voice)","William_2":"Male voice for English (Australia) (Free voice)","Xiaochen":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaochen_2":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaochen_3":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaochen_4":"Female voice for Chinese (Mandarin, Simplified) (Paid voice)","Xiaohan":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaohan_2":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaomeng":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","XiaoMin":"Female voice for Chinese (Cantonese, Simplified) (Free voice)","Xiaomo":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoqiu":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaorou":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaorui":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoshuang":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoshuang_2":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoshuang_3":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaotong":"Female voice for Chinese (Wu, Simplified) (Free voice)","Xiaoxiao":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoxiao_2":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoxiao_3":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoxiao_4":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoxiao_5":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyan":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyi":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyi_2":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyou":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyou_2":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyou_3":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyu":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyu_2":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaozhen":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Ximena_ES":"Female voice for Spanish (Spain) (Free voice)","Ximena_ES_2":"Female voice for Spanish (Spain) (Free voice)","Ximena_ES_3":"Female voice for Spanish (Spain) (Paid voice)","Yago":"Male voice for Spanish (Mexico) (Free voice)","Yan":"Female voice for English (Hong Kong SAR) (Free voice)","Yara":"Female voice for Portuguese (Brazil) (Free voice)","Yashica":"Female voice for Assamese (India) (Free voice)","Yasmin":"Female voice for Malay (Malaysia) (Free voice)","Yesui":"Female voice for Mongolian (Mongolia) (Free voice)","Yolanda":"Female voice for Spanish (Nicaragua) (Free voice)","YuJin":"Female voice for Korean (Korea) (Free voice)","Yundeng":"Male voice for Chinese (Zhongyuan Mandarin Henan, Simplified) (Free voice)","Yunfan":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunfan_2":"Male voice for Chinese (Mandarin, Simplified) (Paid voice)","Yunfeng":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunhan":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunhao":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","YunJhe":"Male voice for Chinese (Taiwanese Mandarin, Traditional) (Free voice)","Yunjian":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunjie":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","YunSong":"Male voice for Chinese (Cantonese, Simplified) (Free voice)","Yunxi":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunxi_2":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunxia":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunxia_2":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunxiang":"Male voice for Chinese (Jilu Mandarin, Simplified) (Free voice)","Yunxiao":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunxiao_2":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunyang":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunye":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunye_2":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunyi":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunyi_2":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunze":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunzhe":"Male voice for Chinese (Wu, Simplified) (Free voice)","Yves":"Male voice for French (France) (Free voice)","Yvette":"Female voice for French (France) (Free voice)","Zariyah":"Female voice for Arabic (Saudi Arabia) (Free voice)","Zayd":"Male voice for Arabic (Saudi Arabia) (Free voice)","Zeina":"Female voice for Arabic (Saudi Arabia) (Free voice)","Zhiyu":"Female voice for Chinese (Mandarin) (Free voice)","Zhiyu_2":"Female voice for Chinese (Mandarin) (Free voice)","Zofia":"Female voice for Polish (Poland) (Free voice)","Zuri":"Female voice for Swahili (Kenya) (Free voice)"}},"voiceRelay":{"type":"object","additionalProperties":false,"title":"Voice Relay","description":"Routes the call through the Voice Relay service, enabling real-time speech-to-text (STT) and text-to-speech (TTS) via a WebSocket connection to the application backend.","required":["type","voiceRelay"],"properties":{"type":{"type":"string","const":"VOICE_RELAY","description":"Connects to the Voice Relay service to enable STT and TTS services..."},"voiceRelay":{"type":"object","additionalProperties":false,"required":["endpoint","ttsVoice","sttLanguage"],"properties":{"endpoint":{"type":"string","format":"uri","description":"URL to the server that will accept the web-socket request","example":"wss://acme.com/agent"},"enableInterruptions":{"type":"boolean","description":"Allow \"barge-in\" during text-to-speech (TTS) playback.\n\nWhen `true`, TTS playback is interrupted as soon as inbound speech is detected, unless the currently playing content is marked as uninterruptible.\n\nWhen `false`, TTS playback continues uninterrupted, but an interruption signal is still sent over the WebSocket so the client application can choose to stop playback manually if needed.","default":true,"example":true},"ttsVoice":{"description":"Name of the voice to be used when synthesizing speech. \n\nThis is the default voice used, if no override voice is provided in the web-socket TTS message.","$ref":"#/components/schemas/voiceName"},"sttLanguage":{"type":"string","pattern":"^[a-z]{2,3}(-[A-Z][a-z]{3})?(-([A-Z]{2}|[0-9]{3}))?$","description":"BCP-47 language tag used for speech-to-text transcription of the inbound audio.\n\nThis value determines which language model is used for transcription.","example":"en-US"},"callHeaders":{"$ref":"#/components/schemas/callHeaders"}}}},"examples":[{"type":"VOICE_RELAY","voiceRelay":{"endpoint":"wss://acme.com/agent","enableInterruptions":true,"ttsVoice":"Emma_3","sttLanguage":"en-US","callHeaders":[{"key":"my-key","value":"my-key-value"}]}}]},"to":{"title":"To","description":"Call destination - Phone Number or Stream URI","oneOf":[{"$ref":"#/components/schemas/phone"},{"$ref":"#/components/schemas/sip"},{"$ref":"#/components/schemas/stream"},{"$ref":"#/components/schemas/voiceRelay"}],"discriminator":{"propertyName":"type","mapping":{"PHONE":"#/components/schemas/phone","SIP":"#/components/schemas/sip","STREAM":"#/components/schemas/stream","VOICE_RELAY":"#/components/schemas/voiceRelay"}}},"svamlCommands":{"type":"array","title":"SVAML Commands","description":"An ordered list of SVAML v2 (Sinch Voice Application Markup Language) commands that describe a call flow. Commands are executed sequentially in the order they are defined.\n\n**Blocking vs. non-blocking:** Some commands block execution until they complete (`pause`, `webhook`, `menu`, `gotoMenu`), while others return immediately and run in parallel (`dial`, `messages`, `amd`, `answer`, `hangup`, `startRecording`, `stopRecording`, `bridgeCall`, `stopMessages`). Each command's description specifies its behavior.\n\n**Nesting scope:** Commands that appear inside event handlers (e.g., `dial.events.onAnswer`, `messages.events.onFinish`) form independent sequences and execute in their own context — they are not continuations of the parent sequence.\n\n**Nesting depth:** A SVAML payload can be nested at most 128 levels deep, counting every JSON object and array from the root of the document. Each command nested inside an event handler adds three levels (the command object, its `events` object and the handler array), which allows roughly 40 levels of nested commands. A request that exceeds the limit is rejected with `400 Bad Request`; a webhook response that exceeds it counts as a failed delivery.","items":{"$ref":"#/components/schemas/svamlCommand"}},"callEvents":{"type":"object","additionalProperties":false,"title":"Call Events Webhook","description":"Webhook to handle call events, used when callBehaviors are set to WEBHOOK","properties":{"onAnswer":{"description":"SVAML commands to be executed when the call is answered","$ref":"#/components/schemas/svamlCommands"},"onBusy":{"description":"SVAML commands to be executed when the call is busy","$ref":"#/components/schemas/svamlCommands"},"onReject":{"description":"SVAML commands to be executed when the call is rejected","$ref":"#/components/schemas/svamlCommands"},"onTimeout":{"description":"SVAML commands to be executed when the call is timed out","$ref":"#/components/schemas/svamlCommands"},"onHangup":{"description":"SVAML commands to be executed when the call is hung up","$ref":"#/components/schemas/svamlCommands"},"onFailure":{"description":"SVAML commands to be executed when the call fails","$ref":"#/components/schemas/svamlCommands"}}},"dial":{"type":"object","additionalProperties":false,"title":"Dial","description":"Initiates a new outbound call leg within the current session.\n\nThis is a non-blocking command — the next command in the sequence executes immediately while the call is being established in parallel. Call lifecycle events (answer, busy, reject, timeout, hangup, failure) are handled via the `events` property.\n\nThe `from` and `to` endpoint types should ideally match. If they differ, the platform attempts to convert the `from` value to be compatible with the `to` type. For example, PSTN supports only E.164 phone numbers, so a SIP address such as `sip:46701234567@acme.se` can be converted to an E.164 number. If the `from` value cannot be converted, it defaults to null (anonymous).","required":["command","to"],"properties":{"command":{"type":"string","const":"dial","description":"Command to initiate a new call"},"callName":{"type":"string","minLength":1,"maxLength":32,"pattern":"^\\S+$","example":"outgoing","description":"Identifier for this call leg within the session. Must be unique across all active call legs in the session.\n\nOther commands (e.g., `hangup`) can reference this name to target this specific leg."},"from":{"$ref":"#/components/schemas/from"},"to":{"$ref":"#/components/schemas/to"},"dialTimeoutDurationSeconds":{"type":"integer","minimum":1,"maximum":60,"description":"Maximum time in seconds to wait for the call to be answered. If the timeout expires without an answer, the `onTimeout` event is triggered.","example":15},"maxCallDurationSeconds":{"type":"integer","minimum":1,"maximum":14400,"description":"Maximum duration of the call in seconds. The call is terminated automatically when this limit is reached.","example":3600},"events":{"$ref":"#/components/schemas/callEvents"}},"examples":[{"command":"dial","callName":"destination","from":{"type":"PHONE","phone":{"number":"+15551234567"}},"to":{"type":"PHONE","phone":{"number":"+15559876543"}},"dialTimeoutDurationSeconds":30,"maxCallDurationSeconds":3600,"events":{"onAnswer":[{"command":"messages","messages":[{"type":"SAY","say":{"text":"Your call has connected.","voiceName":"Emma_3"}}]}]}}]},"messageSay":{"type":"object","title":"Say Message","description":"A text-to-speech (TTS) message item. The platform synthesizes the provided text into speech and plays it on the call.","additionalProperties":false,"required":["type","say"],"properties":{"type":{"type":"string","const":"SAY","description":"Text-to-speech message to be played during the call."},"say":{"type":"object","additionalProperties":false,"title":"Say","required":["text","voiceName"],"properties":{"text":{"type":"string","description":"The text to be synthesized into speech.\n\nIf `format` is `TEXT` (default), provide plain text.\nIf `format` is `SSML`, provide a valid SSML document (for example, `<speak>...</speak>`).","maxLength":600,"example":"Hello world"},"format":{"type":"string","description":"Format of the message","enum":["TEXT","SSML"],"x-enumDescriptions":{"TEXT":"Plain text format for the message.","SSML":"Speech Synthesis Markup Language format for advanced text-to-speech control."},"default":"TEXT"},"voiceName":{"description":"The name of the voice to use for text-to-speech synthesis.","$ref":"#/components/schemas/voiceName"}}}},"examples":[{"type":"SAY","say":{"text":"Hello, this is a test message","voiceName":"Emma_3"}},{"type":"SAY","say":{"text":"<speak><prosody volume=\"-6dB\">Hello, this is a test message</prosody></speak>","format":"SSML","voiceName":"Brian"}}]},"messagePlay":{"type":"object","title":"Play Message","description":"An audio file playback message item. The platform fetches and plays the audio file at the provided URL on the call.","additionalProperties":false,"required":["type","play"],"properties":{"type":{"type":"string","const":"PLAY","description":"Audio file playback during the call."},"play":{"type":"object","additionalProperties":false,"title":"Play","required":["url"],"properties":{"url":{"type":"string","description":"URL of the media to send"}}}},"examples":[{"type":"PLAY","play":{"url":"https://example.com/media.mp3"}}]},"message":{"type":"object","title":"Message","description":"A single message item. The required payload depends on `type`.","oneOf":[{"$ref":"#/components/schemas/messageSay"},{"$ref":"#/components/schemas/messagePlay"}],"discriminator":{"propertyName":"type","mapping":{"SAY":"#/components/schemas/messageSay","PLAY":"#/components/schemas/messagePlay"}}},"typesOfMessages":{"type":"array","title":"Message List","description":"Ordered list of messages to play.","minItems":1,"maxItems":10,"items":{"$ref":"#/components/schemas/message"}},"messageEvents":{"type":"object","additionalProperties":false,"title":"Message Events","description":"SVAML commands to execute based on message playback outcomes.\n","properties":{"onFinish":{"description":"Commands to execute when all messages in the sequence have finished playing.\n","$ref":"#/components/schemas/svamlCommands"}}},"messages":{"type":"object","additionalProperties":false,"title":"Messages","description":"Plays one or more messages on the call. Multiple messages in the array are played sequentially in order.\n\nThis is a non-blocking command — the next command in the sequence executes immediately while messages play in parallel. \nPlayback outcomes are handled via the `events` property. The `onFinish` event can be used to run a command after all messages complete.","required":["command","messages"],"properties":{"command":{"type":"string","const":"messages","description":"Command to play a message on the channel"},"messagesName":{"type":"string","description":"Name of the message for identification and reference within the call session.\n\nThis name is used to uniquely identify the message and must be unique within the current call session.\nThis name can be referenced in other commands (e.g., `stopMessages`) to control this specific message.","minLength":1,"maxLength":32,"pattern":"^\\S+$","example":"my-messages"},"messages":{"$ref":"#/components/schemas/typesOfMessages"},"events":{"$ref":"#/components/schemas/messageEvents"}},"examples":[{"command":"messages","messagesName":"greeting-sequence","messages":[{"type":"SAY","say":{"text":"Hello! Your call is being connected.","voiceName":"Emma_3"}},{"type":"PLAY","play":{"url":"https://example.com/audio/hold-music.mp3"}},{"type":"SAY","say":{"text":"<speak><prosody volume=\"-6dB\">Thank you for waiting.</prosody></speak>","format":"SSML","voiceName":"Emma_3"}}]}]},"stopMessages":{"type":"object","additionalProperties":false,"title":"Stop Messages","description":"Stops a message sequence started by a `messages` command. It will also cancel any messages with specified `messagesName` that will appear in the call session in the future.\n\nThis is a non-blocking command.","required":["command","messagesName"],"properties":{"command":{"type":"string","const":"stopMessages","description":"Command to stop playing messages"},"messagesName":{"type":"string","description":"Name of the message sequence to stop, as set by `messagesName` in the `messages` command.","minLength":1,"maxLength":32,"pattern":"^\\S+$"}},"examples":[{"command":"stopMessages","messagesName":"my-messages"}]},"webhookFallbackUrl":{"title":"Webhook Fallback URL","type":"string","format":"uri","description":"Fallback webhook URL used when the primary webhook URL fails.\n\nA failed request is re-sent to this URL immediately. After repeated consecutive failures of the primary URL, requests are sent only here until the primary URL recovers.\n\nSee *Timeouts and failover* in the **Webhooks** section for the authoritative algorithm.","examples":["https://example.com/fallback"]},"webhook":{"type":"object","additionalProperties":false,"title":"Webhook","description":"Triggers a mid-call webhook to the application backend, allowing it to return a new set of SVAML commands that control the remainder of the call flow.\n\nThis is a blocking command — execution pauses until a response is received from the webhook endpoint. The next command in the sequence runs only after the backend responds. Webhook requests use a 5-second timeout. If a `fallbackUrl` is provided, a failed request is re-sent to it — see *Timeouts and failover* in the **Webhooks** section for the authoritative algorithm.","required":["command","webhookName","url"],"properties":{"command":{"type":"string","const":"webhook","description":"Command to trigger a mid-call webhook"},"webhookName":{"type":"string","minLength":1,"maxLength":64,"pattern":"^\\S+$","description":"Name for this webhook event. When triggered, the webhook request's `event` property will contain this name prepended with `call.webhook.`.\n\nFor example, if `webhookName` is set to `\"my.custom.event\"`, the event will be delivered as `\"call.webhook.my.custom.event\"`."},"url":{"type":"string","description":"URL of the webhook endpoint to send the mid-call event to.","format":"uri"},"fallbackUrl":{"$ref":"#/components/schemas/webhookFallbackUrl"}},"examples":[{"command":"webhook","webhookName":"my.custom.event","url":"https://example.com/webhook","fallbackUrl":"https://example.com/fallback"}]},"hangup":{"type":"object","additionalProperties":false,"description":"Ends a call leg. This is a non-blocking command — execution continues to the next command in the sequence even though the call has been ended. The `onHangup` event is triggered for the call leg that was ended.\n\nAny subsequent commands that target the ended call leg (such as `messages` or other media commands) are valid but will not be executed. Commands that operate independently — such as initiating a new call with `dial` — will execute normally. This makes it possible, for example, to end one call and immediately start another within the same sequence.","title":"Hangup","required":["command"],"properties":{"command":{"type":"string","const":"hangup","description":"Hangup call"},"callName":{"type":"string","description":"Name of the call leg to end, as set by `callName` in the `dial` command.\n\nIf omitted, the current call leg is ended.","minLength":1,"maxLength":32,"pattern":"^\\S+$","example":"origin"}},"examples":[{"command":"hangup","callName":"origin"}]},"answer":{"type":"object","additionalProperties":false,"title":"Answer","description":"Answers an inbound call leg. This is a non-blocking command — execution continues to the next command in the sequence immediately after the answer is initiated.","required":["command"],"properties":{"command":{"type":"string","const":"answer","description":"Answer call"}},"examples":[{"command":"answer"}]},"pause":{"type":"object","additionalProperties":false,"title":"Pause","description":"Delays execution of the next command in the sequence for a specified duration. This is a blocking command — no further commands execute until the pause completes.\n\nThe pause does not affect call audio; the call remains connected and audio continues uninterrupted.","required":["command","durationMilliseconds"],"properties":{"command":{"type":"string","const":"pause","description":"Pause execution."},"durationMilliseconds":{"type":"integer","minimum":1,"description":"Duration of the pause in milliseconds.","example":1000}},"examples":[{"command":"pause","durationMilliseconds":1500}]},"recordingFormat":{"title":"Recording Format","description":"Audio format for this recording.","type":"string","enum":["MP3","WAV"],"x-enumDescriptions":{"MP3":"MPEG Audio Layer III compressed audio format.","WAV":"Waveform Audio File Format, uncompressed audio."},"default":"MP3","examples":["MP3"]},"recordingType":{"title":"Recording Type","description":"The type of recording to perform.","type":"string","enum":["COMBINED","INBOUND","OUTBOUND"],"x-enumDescriptions":{"COMBINED":"Record inbound and outbound voice streams.","INBOUND":"Record inbound voice stream only.","OUTBOUND":"Record outbound voice stream only."},"default":"COMBINED"},"recordingDestination":{"title":"Recording Destination","type":"string","description":"Select target service to receive recorded and transcribed files","enum":["AWS","GCP","AZURE"],"x-enumDescriptions":{"AWS":"Store recordings in Amazon Web Services S3 bucket. Use `s3` as schema for the URL.","GCP":"Store recordings in Google Cloud Platform Storage. Use `gs` as schema for the URL.","AZURE":"Store recordings in Microsoft Azure Blob Storage.  Use `azure` as schema for the URL."},"default":"AWS","examples":["AWS"]},"transcriptionOptions":{"title":"Transcription Options","description":"Configuration for automatic speech-to-text transcription of the recording.","type":"object","additionalProperties":false,"required":["isEnabled"],"properties":{"isEnabled":{"type":"boolean","description":"If true, the recording will be transcribed to text.","example":true},"locale":{"type":"string","description":"Language code in BCP-47 format.","default":"en-US","example":"en-US"}}},"recordingOptions":{"title":"Recording Options","type":"object","additionalProperties":false,"description":"Recording options for this recording.","required":["destination","destinationUrl","credentials"],"properties":{"format":{"$ref":"#/components/schemas/recordingFormat"},"recordingType":{"$ref":"#/components/schemas/recordingType"},"destination":{"$ref":"#/components/schemas/recordingDestination"},"destinationUrl":{"type":"string","description":"Destination URL for the recording.","example":"s3://voice-recordings-prod/calls"},"credentials":{"type":"string","description":"Credentials to third party storage. The format depends on the scheme of `destinationUrl`:\n\n- `s3` (Amazon S3): `accessKeyId:secretAccessKey:region`. `accessKeyId` and `secretAccessKey` are an AWS access key pair of an IAM user that is allowed to upload objects to the bucket. `region` is the AWS region code of the bucket, for example `eu-central-1`. Access keys are created in the AWS Management Console under **IAM** > **Users** > **Security credentials**.\n- `gs` (Google Cloud Storage): `accessKey:secret`. `accessKey` and `secret` are a Cloud Storage HMAC key of a service account that is allowed to create objects in the bucket. HMAC keys are created in the Google Cloud console under **Cloud Storage** > **Settings** > **Interoperability**.\n- `azure` (Azure Blob Storage): `accountKey`. `accountKey` is an access key of the storage account named in `destinationUrl`, which has the form `azure://{storageAccountName}/{containerName}/{path}`. Account keys are listed in the Azure portal under **Security + networking** > **Access keys** of the storage account. Shared access signature (SAS) tokens and connection strings are not supported as credentials.","example":"accessKeyId:secretAccessKey:eu-central-1","format":"password"},"transcriptionOptions":{"$ref":"#/components/schemas/transcriptionOptions"}}},"recordingEvents":{"type":"object","additionalProperties":false,"title":"Recording Events","description":"SVAML commands to execute based on recording lifecycle outcomes.\n","properties":{"onFinish":{"description":"Commands to execute when the recording is successfully stopped. Note that this does not mean that the file is delivered to the configured destination yet.\n","$ref":"#/components/schemas/svamlCommands"},"onFailure":{"description":"Commands to execute if the recording fails to start. If omitted, failures are silently ignored and the call flow continues.\n","$ref":"#/components/schemas/svamlCommands"}}},"startRecording":{"type":"object","additionalProperties":false,"title":"Start Recording","required":["command","recordingOptions"],"description":"Starts recording the call. This is a non-blocking command — execution continues to the next command in the sequence immediately after recording begins.","properties":{"command":{"type":"string","const":"startRecording","description":"Command to start recording on the channel"},"recordingName":{"type":"string","description":"Identifier for this recording within the session. Must be unique across active recordings in the session.\n\nOther commands (e.g., `stopRecording`) reference this name to target a specific recording.\n\nSetting the recording name is useful for stopping the recording using the `stopRecording` command. If name is not set, recording can only be stopped when the call is disconnected.","minLength":1,"maxLength":32,"pattern":"^\\S+$","example":"my-recording"},"recordingOptions":{"$ref":"#/components/schemas/recordingOptions"},"events":{"$ref":"#/components/schemas/recordingEvents"}},"examples":[{"command":"startRecording","recordingName":"customer-support-recording","recordingOptions":{"format":"MP3","recordingType":"COMBINED","destination":"AWS","destinationUrl":"s3://voice-recordings-prod/calls","credentials":"accessKeyId:secretAccessKey:eu-central-1","transcriptionOptions":{"isEnabled":true,"locale":"en-US"}},"events":{"onFinish":[{"command":"hangup"}],"onFailure":[{"command":"messages","messages":[{"type":"SAY","say":{"text":"Recording could not be started for this call.","voiceName":"Emma_3"}}]}]}}]},"stopRecording":{"type":"object","additionalProperties":false,"title":"Stop Recording","description":"Stops a recording previously started by a `startRecording` command. This is a non-blocking command — execution continues to the next command in the sequence immediately after the stop is initiated.","required":["command","recordingName"],"properties":{"command":{"type":"string","const":"stopRecording","description":"Command to stop recording on the channel"},"recordingName":{"type":"string","description":"Name of the recording to stop, as set by `recordingName` in the `startRecording` command.","minLength":1,"maxLength":32,"pattern":"^\\S+$","example":"my-recording"}}},"bridgeCall":{"type":"object","additionalProperties":false,"title":"Add call to bridge","description":"Adds the current call to a bridge, enabling bidirectional audio communication with other calls in the same session. This is a non-blocking command — execution continues to the next command in the sequence immediately after the call joins the bridge.\n\nBridges are created automatically when referenced by name. If a bridge with the specified name already exists, the call joins that bridge; otherwise, a new bridge is created.","required":["command","bridgeName"],"properties":{"command":{"type":"string","const":"bridgeCall","description":"Command to add the call to a bridge"},"bridgeName":{"type":"string","minLength":1,"maxLength":32,"pattern":"^\\S+$","description":"Name of the bridge to join. If no bridge with this name exists in the session, a new one is created automatically."}},"examples":[{"command":"bridgeCall","bridgeName":"my_bridge"}]},"menuPrompt":{"type":"object","additionalProperties":false,"title":"Menu Prompt","description":"Prompt configuration for menu playback, including prompt messages and barge-in behavior.","required":["messages"],"properties":{"allowBargeIn":{"type":"boolean","description":"Controls whether input can interrupt prompt playback.\n\nWhen enabled, playback stops as soon as input is detected and the input is evaluated immediately if matching conditions are met.\n\nWhen disabled, input is still collected during playback and evaluated after playback finishes.","default":true},"messages":{"$ref":"#/components/schemas/typesOfMessages"}}},"menuItem":{"type":"object","additionalProperties":false,"title":"Menu Item","description":"Defines a single menu step, including prompts, input handling rules, input-to-command matches, and failure handling.\n\nEach collected input is matched against the values in the `matches` property.\nIf no match succeeds, the `onFailure` commands are executed.\n\nIf no match succeeds and `onFailure` is not defined, a `call.menu` webhook request including the collected input is sent when the service call behavior is set to `WEBHOOK`.","properties":{"prompt":{"$ref":"#/components/schemas/menuPrompt","description":"Prompt played when this menu starts.\n\nThis prompt is also used as the repeat prompt when repeatPrompt is not defined for the menu."},"repeatPrompt":{"$ref":"#/components/schemas/menuPrompt","description":"Prompt played when the menu is repeated.\n\nRepeats occur when input times out or when the provided input does not match any menu match item. If not specified, the initial prompt is used as the repeat prompt.\n\nA repeat prompt can only be defined when a prompt is also defined for this menu item."},"inputTimeoutDurationSeconds":{"type":"integer","description":"Maximum number of seconds to wait for user input before the input attempt times out.","minimum":1,"maximum":60,"default":5,"example":10},"repeatCount":{"type":"integer","description":"Maximum number of times the menu is repeated.\n\nA repeat occurs when input times out or when the provided input does not match any menu match item.","minimum":0,"maximum":10,"default":2,"example":3},"minimumInputLength":{"type":"integer","description":"Minimum number of input characters required before the menu evaluates the collected input.","minimum":1,"maximum":100,"default":1,"example":3},"maximumInputLength":{"type":"integer","description":"Maximum number of input characters that triggers the menu to evaluate the collected input.","minimum":1,"maximum":100,"default":1,"example":10},"terminatingSequence":{"type":"string","pattern":"^[0-9*#]+$","description":"Character sequence that signals the end of input and triggers immediate evaluation.\n\nUseful when variable-length input is allowed and shorter valid options should be submitted without waiting for timeout or maximum length.\n\nThe terminating sequence value is included in the evaluated input.","maxLength":10},"inputMethods":{"type":"array","description":"Input methods accepted for this menu when collecting user input.","default":["DTMF"],"items":{"type":"string","enum":["DTMF"],"x-enumDescriptions":{"DTMF":"Collect input from keypad tones (Dual-Tone Multi-Frequency)."}}},"matches":{"type":"object","description":"Items matched against the collected input. Maximum number of allowed match expressions is 50.\n\nDefined as a dictionary where each property name is a literal or a regular expression string.\n\nValues are evaluated in the order they are defined.","maxProperties":50,"propertyNames":{"type":"string","minLength":1,"maxLength":256,"description":"A regular expression or literal string to match against the collected user input. Must not be empty.\n\nProperty keys are evaluated sequentially in the order defined. The first key that matches the input will trigger its associated SVAML commands.\n\n**Note**: Use `\\\\*` to match the DTMF star tone (*)."},"additionalProperties":{"$ref":"#/components/schemas/svamlCommands"}},"onFailure":{"$ref":"#/components/schemas/svamlCommands","description":"SVAML commands executed when the menu fails to collect a matching input.\n\nThis handler runs after the repeat limit is reached without any input matching a menu match item."}}},"menu":{"type":"object","additionalProperties":false,"title":"Run menus","description":"Defines a set of named menus and executes them starting from startMenu. This is a blocking command — execution waits for the menu to complete before proceeding to the next command.\n\nEach menu item configures prompts, input collection, timeout handling, and repeat behavior.","required":["command","startMenu","menus"],"properties":{"command":{"type":"string","const":"menu","description":"Executes menu-based input collection using the configured menu definitions."},"startMenu":{"type":"string","minLength":1,"maxLength":16,"description":"Name of the menu to execute first. Must match a key in menus."},"menus":{"type":"object","propertyNames":{"type":"string","maxLength":16},"description":"Map of menu definitions keyed by menu name.","additionalProperties":{"$ref":"#/components/schemas/menuItem"}}},"examples":[{"command":"menu","startMenu":"main","menus":{"main":{"prompt":{"allowBargeIn":true,"messages":[{"type":"SAY","say":{"text":"Press 1 for sales or 2 for support.","voiceName":"Emma_3"}}]},"repeatPrompt":{"allowBargeIn":true,"messages":[{"type":"SAY","say":{"text":"Invalid option. Press 1 for sales or 2 for support.","voiceName":"Emma_3"}}]},"inputTimeoutDurationSeconds":5,"repeatCount":2,"minimumInputLength":1,"maximumInputLength":1,"inputMethods":["DTMF"],"matches":{"1":[{"command":"messages","messages":[{"type":"SAY","say":{"text":"Connecting to sales.","voiceName":"Emma_3"}}]},{"command":"dial","callName":"sales","to":{"type":"PHONE","phone":{"number":"+15551234567"}}}],"2":[{"command":"messages","messages":[{"type":"SAY","say":{"text":"Connecting to support.","voiceName":"Emma_3"}}]},{"command":"dial","callName":"support","to":{"type":"PHONE","phone":{"number":"+15557654321"}}}]},"onFailure":[{"command":"messages","messages":[{"type":"SAY","say":{"text":"Sorry, no valid selection was received.","voiceName":"Emma_3"}}]},{"command":"hangup"}]}}}]},"gotoMenu":{"type":"object","additionalProperties":false,"title":"Goto Menu","description":"Switches execution to another menu within the current menu context. The menu name must be a menu defined in the `menu` command. This is a blocking command — execution waits for the menu to complete before proceeding to the next command.\n\n**Important**: this command can only be called within a menu execution context.","required":["command","menuName"],"properties":{"command":{"type":"string","const":"gotoMenu","description":"Switch execution to another menu within the current menu context."},"menuName":{"type":"string","description":"Name of the target menu to execute next. Must match a key in menus.","minLength":1,"maxLength":16}}},"svamlCommand":{"title":"SVAML Command","type":"object","description":"A single SVAML (Sinch Voice Application Markup Language) command that controls call behavior.\n\nThe `command` property acts as a discriminator and determines which command schema applies. When multiple commands appear in a `svamlCommands` array, they execute sequentially in order.\n\n**Available commands:**\n- `dial` — Initiate an outbound call leg within the session.\n- `messages` — Play one or more TTS or audio messages on the call.\n- `stopMessages` — Stop a currently playing message sequence.\n- `webhook` — Trigger a mid-call webhook to the application backend for dynamic call control.\n- `amd` — Detect whether the call was answered by a human or an answering machine.\n- `hangup` — End the call or a specific call leg within the session.\n- `answer` — Explicitly answer an incoming call leg before executing further commands.\n- `pause` — Delay script execution without affecting call audio.\n- `startRecording` — Begin recording the call.\n- `stopRecording` — Stop an active call recording.\n- `bridgeCall` — Add the call to a named bridge for multi-party audio.\n- `menu` — Run menu-based input collection and route the call based on collected input.\n- `gotoMenu` — Switch execution to another named menu within the current menu context.","oneOf":[{"$ref":"#/components/schemas/amd"},{"$ref":"#/components/schemas/dial"},{"$ref":"#/components/schemas/messages"},{"$ref":"#/components/schemas/stopMessages"},{"$ref":"#/components/schemas/webhook"},{"$ref":"#/components/schemas/hangup"},{"$ref":"#/components/schemas/answer"},{"$ref":"#/components/schemas/pause"},{"$ref":"#/components/schemas/startRecording"},{"$ref":"#/components/schemas/stopRecording"},{"$ref":"#/components/schemas/bridgeCall"},{"$ref":"#/components/schemas/menu"},{"$ref":"#/components/schemas/gotoMenu"}],"discriminator":{"propertyName":"command","mapping":{"amd":"#/components/schemas/amd","dial":"#/components/schemas/dial","messages":"#/components/schemas/messages","stopMessages":"#/components/schemas/stopMessages","webhook":"#/components/schemas/webhook","hangup":"#/components/schemas/hangup","answer":"#/components/schemas/answer","pause":"#/components/schemas/pause","startRecording":"#/components/schemas/startRecording","stopRecording":"#/components/schemas/stopRecording","bridgeCall":"#/components/schemas/bridgeCall","menu":"#/components/schemas/menu","gotoMenu":"#/components/schemas/gotoMenu"}}},"amdEvents":{"type":"object","additionalProperties":false,"title":"AMD Events","description":"SVAML commands to execute based on the answering machine detection result. These events define different call flows depending on whether a human, machine, beep, or unknown entity answers the call, or whether a machine answered without a beep being detected.","properties":{"onHuman":{"description":"SVAML commands to be executed when a human is detected","$ref":"#/components/schemas/svamlCommands"},"onMachine":{"description":"SVAML commands to be executed when a machine is detected","$ref":"#/components/schemas/svamlCommands"},"onBeep":{"description":"SVAML commands to be executed when a beep is detected","$ref":"#/components/schemas/svamlCommands"},"onNoBeep":{"description":"SVAML commands to be executed when a machine is detected, but no beep is detected. This event follows `onMachine` and is mutually exclusive with `onBeep`.","$ref":"#/components/schemas/svamlCommands"},"onUnknown":{"description":"SVAML commands to be executed when an unknown event is detected","$ref":"#/components/schemas/svamlCommands"}}}}}},"schemaResolvedErrors":[]},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"messages","__idx":6},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["messages"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Play audio or text-to-speech messages to participants."]},{"$$mdtype":"Tag","name":"JsonExample","attributes":{"json":{"command":"messages","messagesName":"greeting-sequence","messages":[{"type":"SAY","say":{"text":"Hello! Your call is being connected.","voiceName":"Emma_3"}},{"type":"PLAY","play":{"url":"https://example.com/audio/hold-music.mp3"}},{"type":"SAY","say":{"text":"<speak><prosody volume=\"-6dB\">Thank you for waiting.</prosody></speak>","format":"SSML","voiceName":"Emma_3"}}]},"errors":[]},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Schema:"]}]},{"$$mdtype":"Tag","name":"JsonSchema","attributes":{"schema":{"$ref":"./voice.yaml#/components/schemas/messages"},"options":{},"schemaResolved":{"openapi":"3.1.0","components":{"schemas":{"__root":{"$ref":"#/components/schemas/messages"},"voiceName":{"type":"string","description":"Sinch Voice Name to use for text-to-speech. Each voice is tied to a specific language variant, gender, and pricing model (Free/Standard or Paid/Generative). See [https://developers.sinch.com/docs/voice-2.0/api-reference/text-to-speech-voices#text-to-speech-voices](https://developers.sinch.com/docs/voice-2.0/api-reference/text-to-speech-voices#currently-available-languages) for details","example":"Emma_3","enum":["Aarav","Aarav_2","Aarohi","Aarti","Aarti_2","Aarti_3","Aashi","Abbi","Abdullah","Abeo","Abril","Achara","Ada","Ada_2","Adam","Adam_2","Aditi","Adri","Adriano","Agnieszka","Ahmet","Aigul","Ainhoa","Alain","Alba","Aled","Aleksandar","Alessio","Alessio_2","Alex","Alfie","Ali","Alina","Alloy","Alloy_2","Alonso","Alvaro","Amal","Amala","Amanda","Amany","Amber","Ambre","Ameha","Amina","Amy","Amy_2","Amy_3","Ana","Anahit","Ananya","Ananya_2","Anbu","Ander","Andre","Andre_2","Andrea","Andres","Andrew","Andrew_2","Andrew_3","Angelo","Anila","Annette","Antoine","Antonin","Antonio","Anu","Aoi","Arabella","Ardi","Aria","Aria_2","Ariane","Arjun","Arjun_2","Arjun_3","Arlet","Arnau","Arnaud","Arthur","Arya","Arya_2","Asad","Ashley","Asilia","Astrid","Athina","Ava","Ava_2","Ava_3","Avri","Ayanda","Ayanda_2","Aysha","Babek","Banu","Bashkar","Bassel","Bataa","Beatrice","Beatriz","Belkys","Bella","Benigno","Bernd","Bianca","Bianca_2","Bianca_3","Blessica","BongJin","Borislav","Brandon","Brandon_2","Bree","Brenda","Brian","Brian_2","Brian_3","Brigitte","Bryan","Bryan_2","Bryan_3","Burcu","Calimero","Camila","Camilla","Camilla_2","Camilla_3","Candela","Carla","Carlos","Carlota","Carly","Carmen","Cataldo","Catalina","Cecilio","Celeste","Celine","Celine_2","Chantal","Chanthavong","Charline","Chilemba","Christel","Christoph","Christopher","Christopher_2","Clara","Claude","Colette","Colm","Conchita","Connor","Conrad","Cora","Cora_2","Coralie","Cristiano","Daichi","Dalia","Dalia_2","Daniel","Daniel_2","Danielle","Danielle_2","Dario","Dariya","Darren","Daudi","Daulet","Davis","Davis_2","Davis_3","Dena","Denise","Derek","Dhwani","Diego","Dilara","Dimas","Dmitry","Donato","Dora","Duarte","Duncan","Dustin","Echo","Eka","Elena","Elias","Elimu","Elin","Elizabeth","Elke","Elliot","Eloise","Elsa","Elsie","Elvira","Elza","Emel","Emil","Emilio","Emily","Emma","Emma_2","Emma_3","Enric","Enrique","Eric","Estrella","Ethan","Evelyn","Everita","Ewa","Ewa_2","Ezinne","Fabio","Fabiola","Fable","Fabrice","Fahed","Farid","Fatima","Federico","Fenna","Fernanda","Fiamma","Filiz","Finn","Florian","Florian_2","Florin","Francisca","Freya","Gabrielle","Gabrielle_2","Gabrijela","Gadis","Gagan","Gemma","Gemma_2","Geraint","Gerard","Gerardo","Gianni","Giorgi","Giorgio","Giovanna","Gisela","Giuseppe","Giuseppe_2","Gonzalo","GookMin","Goran","Grace","Gregory","Gudrun","Gul","GulNawaz","Gunnar","Guy","Gwyneth","Hala","Hamdan","Hamed","Hannah","Hannah_2","Hans","Harri","Hayk","Hedi","Hemkala","Henri","Hila","Hillevi","HiuGaai","Hiujin","HiuMaan","HoaiMy","Hollie","HsiaoChen","HsiaoYu","Humberto","Hyunsu","Hyunsu_2","Hyunsu_3","Ida","Ilir","Iman","Imani","Imelda","Ines","Ines_2","Ingrid","InJoon","Irene","Irma","Isabella","Isabella_2","Isabella_3","Isabelle","Isabelle_2","Iselin","Isidora","Ismael","Ivy","Ivy_2","Jacek","Jacob","Jacqueline","Jajang","Jamal","James","Jan","Jane","Jane_2","Jann","Jasmine","Jasmine_2","Jason","Javier","Jean","Jenny","Jenny_2","Jenny_3","Jeppe","Jerome","Jihye","JiMin","Jimmie","Jitka","Joana","Joanna","Joanna_2","Joanna_3","Joanne","Joey","Joey_2","Jonas","Jorge","Jorge_2","Joseph","Josephine","Juan","Julio","Justin","Justin_2","Kai","Kajal","Kajal_2","Kalina","Kani","Karina","Karl","Karla","Kasper","Katja","Kavya","Kavya_2","Kazuha","Keita","Ken","Kendra","Kendra_2","Keomany","Kert","Kevin","Killian","Kim","Kimberly","Kimberly_2","Klarissa","Klaus","Kumar","Kunal","Kunal_2","Laia","Laila","Laith","Larissa","Latifa","Laura","Laura_2","Layla","Lea","Lea_2","Lea_3","Leah","Leila","Leni","Lennart","Leonas","Leticia","Lewis","Lia","Liam","Lian","Lian_2","Libby","Liberto","Lisa","Lisa_2","Lisandro","Liv","Livia","Livia_2","Lola","Lorena","Lorenzio","Lorenzo","Lotte","Louisa","Lucia","Lucia_2","Lucia_3","Luciano","Lucien","Luis","Lukas","Luke","Luna","Luna_2","Lupe","Lupe_2","Lupe_3","Maarten","Macerio","Macerio_2","Madhur","Madina","Mads","Maisie","Maja","Manohar","Manuel","Manuela","Marcello","Marcelo","Marek","Margarita","Maria","Marija","Marina","Mario","Marlene","Marta","Maryam","Masaru","Mateo","Mathieu","Matthew","Matthew_2","Matthew_3","Mattias","Maurice","Maxim","Maya","Mayu","Mekdes","Mia","Mia_2","Mia_3","Michelle","Midhun","Miguel","Mitchell","Mizuki","Moaz","Mohan","Molly","Monica","Mouna","Muuse","Nabanita","Naja","NamMinh","Nanami","Nanami_2","Nancy","Nancy_2","Naoki","Natasha","Neerja","Neerja_2","Neil","Nestoras","Nia","Niamh","Niamh_2","Nicholas","Nicholas_2","Nicolau","Nicole","Nil","Nilar","Nils","Niranjan","Niwat","Noah","Noemi","Noora","Noura","Nova","Nova_2","Nuria","Ojas","Ola","Ola_2","Oliver","Olivia","Ollie","Ollie_2","Omar","Ona","Onyx","Orla","Osman","Ostap","Pallavi","Palmira","Paloma","Paola","Pedro","Pedro_2","Pelayo","Penelope","Pernille","Petra","Phoebe","Phoebe_2","Pierina","Piseth","Polina","Prabhat","Prabhat_2","Pradeep","Premwadee","Priyom","Rafiki","Ralf","Rami","Ramona","Rana","Raquel","Raveena","Reem","Rehaan","Rehaan_2","Rehema","Remi","Remi_2","Remy","Remy_2","Renata","Ricardo","Rinaldo","Roberto","Rodrigo","Roger","Roi","Rok","Rosa","Ruben","Russell","Ruth","Ruth_2","Ryan","Ryan_2","Sabela","Sabrina","Sabrina_2","Sagar","Saleh","Salli","Salli_2","Salli_3","Salma","Salman","Salome","Sam","Sameera","Samuel","Sana","Sapna","Sara","Saranya","Sardor","Saul","Sebastian","Selma","SeoHyeon","Seoyeon","Seoyeon_2","Seoyeon_3","Seraphina","Seraphina_2","Serena","Serena_2","Sergio","Sergio_2","Shakir","Shimmer","Shiori","Shruti","Siqiniq","Siqiniq_2","Siti","Sobhana","Soffie","Sofia","Sofie","Sonia","SoonBok","Sophie","Sophie_2","Srecko","Sreymom","Steffan","Steffan_2","Steffan_3","Stephen","Stephen_2","Subhasini","Sukant","SunHi","SunHi_2","Surya","Suvi","Svetlana","Swara","Sylvie","Sylvie_2","Taim","Takumi","Takumi_2","Tamas","Tania","Tanishaa","Tanja","Taqqiq","Taqqiq_2","Tatyana","Teo","Teresa","Thalita","Thalita_2","Thalita_3","Thando","Themba","Thiago","Thierry","Thierry_2","Thiha","Thilini","Thomas","Tiana","Tiffany","Tim","Tina","Tomas","Tomoko","Tony","Triana","Tristan_ES","Tristan_ES_2","Tuti","Tyler","Ubax","Uzma","Vaani","Valentina","Valerio","Valluvar","Venba","Vera","Vesna","Vicki","Vicki_2","Vicki_3","Victor","Viktoria","Vitoria","Vitoria_2","Vivienne","Vivienne_2","Vlasta","WanLung","Wayne","Willem","William","William_2","Xiaochen","Xiaochen_2","Xiaochen_3","Xiaochen_4","Xiaohan","Xiaohan_2","Xiaomeng","XiaoMin","Xiaomo","Xiaoqiu","Xiaorou","Xiaorui","Xiaoshuang","Xiaoshuang_2","Xiaoshuang_3","Xiaotong","Xiaoxiao","Xiaoxiao_2","Xiaoxiao_3","Xiaoxiao_4","Xiaoxiao_5","Xiaoyan","Xiaoyi","Xiaoyi_2","Xiaoyou","Xiaoyou_2","Xiaoyou_3","Xiaoyu","Xiaoyu_2","Xiaozhen","Ximena_ES","Ximena_ES_2","Ximena_ES_3","Yago","Yan","Yara","Yashica","Yasmin","Yesui","Yolanda","YuJin","Yundeng","Yunfan","Yunfan_2","Yunfeng","Yunhan","Yunhao","YunJhe","Yunjian","Yunjie","YunSong","Yunxi","Yunxi_2","Yunxia","Yunxia_2","Yunxiang","Yunxiao","Yunxiao_2","Yunyang","Yunye","Yunye_2","Yunyi","Yunyi_2","Yunze","Yunzhe","Yves","Yvette","Zariyah","Zayd","Zeina","Zhiyu","Zhiyu_2","Zofia","Zuri"],"x-enumDescriptions":{"Aarav":"Male voice for Hindi (India) (Free voice)","Aarav_2":"Male voice for English (India) (Free voice)","Aarohi":"Female voice for Marathi (India) (Free voice)","Aarti":"Female voice for Hindi (India) (Free voice)","Aarti_2":"Female voice for English (India) (Free voice)","Aarti_3":"Female voice for English (India) (Free voice)","Aashi":"Female voice for English (India) (Free voice)","Abbi":"Female voice for English (United Kingdom) (Free voice)","Abdullah":"Male voice for Arabic (Oman) (Free voice)","Abeo":"Male voice for English (Nigeria) (Free voice)","Abril":"Female voice for Spanish (Spain) (Free voice)","Achara":"Female voice for Thai (Thailand) (Free voice)","Ada":"Female voice for English (United Kingdom) (Free voice)","Ada_2":"Female voice for English (United Kingdom) (Paid voice)","Adam":"Male voice for English (United States) (Free voice)","Adam_2":"Male voice for English (United States) (Paid voice)","Aditi":"Female voice for English (India) (Free voice)","Adri":"Female voice for Afrikaans (South Africa) (Free voice)","Adriano":"Male voice for Italian (Italy) (Free voice)","Agnieszka":"Female voice for Polish (Poland) (Free voice)","Ahmet":"Male voice for Turkish (Türkiye) (Free voice)","Aigul":"Female voice for Kazakh (Kazakhstan) (Free voice)","Ainhoa":"Female voice for Basque (Free voice)","Alain":"Male voice for French (France) (Free voice)","Alba":"Female voice for Catalan (Free voice)","Aled":"Male voice for Welsh (United Kingdom) (Free voice)","Aleksandar":"Male voice for Macedonian (North Macedonia) (Free voice)","Alessio":"Male voice for Italian (Italy) (Free voice)","Alessio_2":"Male voice for Italian (Italy) (Paid voice)","Alex":"Male voice for Spanish (Peru) (Free voice)","Alfie":"Male voice for English (United Kingdom) (Free voice)","Ali":"Male voice for Arabic (Bahrain) (Free voice)","Alina":"Female voice for Romanian (Romania) (Free voice)","Alloy":"Male voice for English (United States) (Free voice)","Alloy_2":"Male voice for English (United States) (Paid voice)","Alonso":"Male voice for Spanish (United States) (Free voice)","Alvaro":"Male voice for Spanish (Spain) (Free voice)","Amal":"Female voice for Arabic (Qatar) (Free voice)","Amala":"Female voice for German (Germany) (Free voice)","Amanda":"Female voice for English (United States) (Free voice)","Amany":"Female voice for Arabic (Syria) (Free voice)","Amber":"Female voice for English (United States) (Free voice)","Ambre":"Female voice for French (France) (Paid voice)","Ameha":"Male voice for Amharic (Ethiopia) (Free voice)","Amina":"Female voice for Arabic (Algeria) (Free voice)","Amy":"Female voice for English (United Kingdom) (Free voice)","Amy_2":"Female voice for English (United Kingdom) (Free voice)","Amy_3":"Female voice for English (United Kingdom) (Paid voice)","Ana":"Female voice for English (United States) (Free voice)","Anahit":"Female voice for Armenian (Armenia) (Free voice)","Ananya":"Female voice for Hindi (India) (Free voice)","Ananya_2":"Female voice for English (India) (Free voice)","Anbu":"Male voice for Tamil (Singapore) (Free voice)","Ander":"Male voice for Basque (Free voice)","Andre":"Male voice for Spanish (Mexico) (Free voice)","Andre_2":"Male voice for Spanish (Mexico) (Paid voice)","Andrea":"Female voice for Spanish (Ecuador) (Free voice)","Andres":"Male voice for Spanish (Guatemala) (Free voice)","Andrew":"Male voice for English (United States) (Free voice)","Andrew_2":"Male voice for English (United States) (Free voice)","Andrew_3":"Male voice for English (United States) (Paid voice)","Angelo":"Male voice for Filipino (Philippines) (Free voice)","Anila":"Female voice for Albanian (Albania) (Free voice)","Annette":"Female voice for English (Australia) (Free voice)","Antoine":"Male voice for French (Canada) (Free voice)","Antonin":"Male voice for Czech (Czechia) (Free voice)","Antonio":"Male voice for Portuguese (Brazil) (Free voice)","Anu":"Female voice for Estonian (Estonia) (Free voice)","Aoi":"Female voice for Japanese (Japan) (Free voice)","Arabella":"Female voice for Spanish (Spain) (Free voice)","Ardi":"Male voice for Indonesian (Indonesia) (Free voice)","Aria":"Female voice for English (United States) (Free voice)","Aria_2":"Female voice for English (United States) (Paid voice)","Ariane":"Female voice for French (Switzerland) (Free voice)","Arjun":"Male voice for English (India) (Free voice)","Arjun_2":"Male voice for English (India) (Free voice)","Arjun_3":"Male voice for Hindi (India) (Free voice)","Arlet":"Female voice for Catalan (Free voice)","Arnau":"Male voice for Spanish (Spain) (Free voice)","Arnaud":"Male voice for Dutch (Belgium) (Free voice)","Arthur":"Male voice for English (United Kingdom) (Free voice)","Arya":"Female voice for English (New Zealand) (Free voice)","Arya_2":"Female voice for English (New Zealand) (Paid voice)","Asad":"Male voice for Urdu (Pakistan) (Free voice)","Ashley":"Female voice for English (United States) (Free voice)","Asilia":"Female voice for English (Kenya) (Free voice)","Astrid":"Female voice for Swedish (Sweden) (Free voice)","Athina":"Female voice for Greek (Greece) (Free voice)","Ava":"Female voice for English (United States) (Free voice)","Ava_2":"Female voice for English (United States) (Free voice)","Ava_3":"Female voice for English (United States) (Paid voice)","Avri":"Male voice for Hebrew (Israel) (Free voice)","Ayanda":"Female voice for English (South Africa) (Free voice)","Ayanda_2":"Female voice for English (South Africa) (Paid voice)","Aysha":"Female voice for Arabic (Oman) (Free voice)","Babek":"Male voice for Azerbaijani (Latin, Azerbaijan) (Free voice)","Banu":"Female voice for Azerbaijani (Latin, Azerbaijan) (Free voice)","Bashkar":"Male voice for Bengali (India) (Free voice)","Bassel":"Male voice for Arabic (Iraq) (Free voice)","Bataa":"Male voice for Mongolian (Mongolia) (Free voice)","Beatrice":"Female voice for Italian (Italy) (Paid voice)","Beatriz":"Female voice for Spanish (Mexico) (Free voice)","Belkys":"Female voice for Spanish (Cuba) (Free voice)","Bella":"Female voice for English (United Kingdom) (Free voice)","Benigno":"Male voice for Italian (Italy) (Free voice)","Bernd":"Male voice for German (Germany) (Free voice)","Bianca":"Female voice for Italian (Italy) (Free voice)","Bianca_2":"Female voice for Italian (Italy) (Free voice)","Bianca_3":"Female voice for Italian (Italy) (Paid voice)","Blessica":"Female voice for Filipino (Philippines) (Free voice)","BongJin":"Male voice for Korean (Korea) (Free voice)","Borislav":"Male voice for Bulgarian (Bulgaria) (Free voice)","Brandon":"Male voice for English (United States) (Free voice)","Brandon_2":"Male voice for English (United States) (Free voice)","Bree":"Female voice for English (United States) (Paid voice)","Brenda":"Female voice for Portuguese (Brazil) (Free voice)","Brian":"Male voice for English (United States) (Free voice)","Brian_2":"Male voice for English (United States) (Free voice)","Brian_3":"Male voice for English (United States) (Paid voice)","Brigitte":"Female voice for French (France) (Free voice)","Bryan":"Male voice for English (United Kingdom) (Free voice)","Bryan_2":"Male voice for English (United Kingdom) (Free voice)","Bryan_3":"Male voice for English (United Kingdom) (Paid voice)","Burcu":"Female voice for Turkish (Türkiye) (Free voice)","Calimero":"Male voice for Italian (Italy) (Free voice)","Camila":"Female voice for Spanish (Peru) (Free voice)","Camilla":"Female voice for Portuguese (Brazil) (Free voice)","Camilla_2":"Female voice for Portuguese (Brazil) (Free voice)","Camilla_3":"Female voice for Portuguese (Brazil) (Paid voice)","Candela":"Female voice for Spanish (Mexico) (Free voice)","Carla":"Female voice for Italian (Italy) (Free voice)","Carlos":"Male voice for Spanish (Honduras) (Free voice)","Carlota":"Female voice for Spanish (Mexico) (Free voice)","Carly":"Female voice for English (Australia) (Free voice)","Carmen":"Female voice for Romanian (Romania) (Free voice)","Cataldo":"Male voice for Italian (Italy) (Free voice)","Catalina":"Female voice for Spanish (Chile) (Free voice)","Cecilio":"Male voice for Spanish (Mexico) (Free voice)","Celeste":"Female voice for French (France) (Free voice)","Celine":"Female voice for French (France) (Free voice)","Celine_2":"Female voice for French (France) (Paid voice)","Chantal":"Female voice for French (Canada) (Free voice)","Chanthavong":"Male voice for Lao (Laos) (Free voice)","Charline":"Female voice for French (Belgium) (Free voice)","Chilemba":"Male voice for English (Kenya) (Free voice)","Christel":"Female voice for Danish (Denmark) (Free voice)","Christoph":"Male voice for German (Germany) (Free voice)","Christopher":"Male voice for English (United States) (Free voice)","Christopher_2":"Male voice for English (United States) (Free voice)","Clara":"Female voice for English (Canada) (Free voice)","Claude":"Male voice for French (France) (Free voice)","Colette":"Female voice for Dutch (Netherlands) (Free voice)","Colm":"Male voice for Irish (Ireland) (Free voice)","Conchita":"Female voice for Spanish (Castilian) (Free voice)","Connor":"Male voice for English (Ireland) (Free voice)","Conrad":"Male voice for German (Germany) (Free voice)","Cora":"Female voice for English (United States) (Free voice)","Cora_2":"Female voice for English (United States) (Free voice)","Coralie":"Female voice for French (France) (Free voice)","Cristiano":"Male voice for Portuguese (Brazil) (Free voice)","Daichi":"Male voice for Japanese (Japan) (Free voice)","Dalia":"Female voice for Spanish (Mexico) (Free voice)","Dalia_2":"Female voice for Spanish (Mexico) (Free voice)","Daniel":"Male voice for German (Germany) (Free voice)","Daniel_2":"Male voice for German (Germany) (Paid voice)","Danielle":"Female voice for English (United States) (Free voice)","Danielle_2":"Female voice for English (United States) (Paid voice)","Dario":"Male voice for Spanish (Spain) (Free voice)","Dariya":"Female voice for Russian (Russia) (Free voice)","Darren":"Male voice for English (Australia) (Free voice)","Daudi":"Male voice for Swahili (Tanzania) (Free voice)","Daulet":"Male voice for Kazakh (Kazakhstan) (Free voice)","Davis":"Male voice for English (United States) (Free voice)","Davis_2":"Male voice for English (United States) (Free voice)","Davis_3":"Male voice for English (United States) (Paid voice)","Dena":"Female voice for Dutch (Belgium) (Free voice)","Denise":"Female voice for French (France) (Free voice)","Derek":"Male voice for English (United States) (Free voice)","Dhwani":"Female voice for Gujarati (India) (Free voice)","Diego":"Male voice for Italian (Italy) (Free voice)","Dilara":"Female voice for Persian (Iran) (Free voice)","Dimas":"Male voice for Javanese (Latin, Indonesia) (Free voice)","Dmitry":"Male voice for Russian (Russia) (Free voice)","Donato":"Male voice for Portuguese (Brazil) (Free voice)","Dora":"Female voice for Icelandic (Iceland) (Free voice)","Duarte":"Male voice for Portuguese (Portugal) (Free voice)","Duncan":"Male voice for English (Australia) (Free voice)","Dustin":"Male voice for English (United States) (Free voice)","Echo":"Male voice for English (United States) (Free voice)","Eka":"Female voice for Georgian (Georgia) (Free voice)","Elena":"Female voice for Spanish (Argentina) (Free voice)","Elias":"Male voice for Spanish (Spain) (Free voice)","Elimu":"Male voice for English (Tanzania) (Free voice)","Elin":"Female voice for Swedish (Sweden) (Free voice)","Elizabeth":"Female voice for English (United States) (Free voice)","Elke":"Female voice for German (Germany) (Free voice)","Elliot":"Male voice for English (United Kingdom) (Free voice)","Eloise":"Female voice for French (France) (Free voice)","Elsa":"Female voice for Italian (Italy) (Free voice)","Elsie":"Female voice for English (Australia) (Free voice)","Elvira":"Female voice for Spanish (Spain) (Free voice)","Elza":"Female voice for Portuguese (Brazil) (Free voice)","Emel":"Female voice for Turkish (Türkiye) (Free voice)","Emil":"Male voice for Romanian (Romania) (Free voice)","Emilio":"Male voice for Spanish (Dominican Republic) (Free voice)","Emily":"Female voice for English (Ireland) (Free voice)","Emma":"Female voice for English (United States) (Free voice)","Emma_2":"Female voice for English (United States) (Free voice)","Emma_3":"Female voice for English (United States) (Paid voice)","Enric":"Male voice for Catalan (Free voice)","Enrique":"Male voice for Spanish (Castilian) (Free voice)","Eric":"Male voice for English (United States) (Free voice)","Estrella":"Female voice for Spanish (Spain) (Free voice)","Ethan":"Male voice for English (United Kingdom) (Free voice)","Evelyn":"Female voice for English (United States) (Free voice)","Everita":"Female voice for Latvian (Latvia) (Free voice)","Ewa":"Female voice for Polish (Poland) (Free voice)","Ewa_2":"Female voice for Polish (Poland) (Paid voice)","Ezinne":"Female voice for English (Nigeria) (Free voice)","Fabio":"Male voice for Portuguese (Brazil) (Free voice)","Fabiola":"Female voice for Italian (Italy) (Free voice)","Fable":"Neutral voice for English (United States) (Free voice)","Fabrice":"Male voice for French (Switzerland) (Free voice)","Fahed":"Male voice for Arabic (Kuwait) (Free voice)","Farid":"Male voice for Persian (Iran) (Free voice)","Fatima":"Female voice for Arabic (United Arab Emirates) (Free voice)","Federico":"Male voice for Spanish (Nicaragua) (Free voice)","Fenna":"Female voice for Dutch (Netherlands) (Free voice)","Fernanda":"Female voice for Portuguese (Portugal) (Free voice)","Fiamma":"Female voice for Italian (Italy) (Free voice)","Filiz":"Female voice for Turkish (Türkiye) (Free voice)","Finn":"Male voice for Norwegian (Norway) (Free voice)","Florian":"Male voice for German (Germany) (Free voice)","Florian_2":"Male voice for German (Germany) (Paid voice)","Florin":"Male voice for French (France) (Paid voice)","Francisca":"Female voice for Portuguese (Brazil) (Free voice)","Freya":"Female voice for English (Australia) (Free voice)","Gabrielle":"Female voice for French (Canada) (Free voice)","Gabrielle_2":"Female voice for French (Canada) (Paid voice)","Gabrijela":"Female voice for Croatian (Croatia) (Free voice)","Gadis":"Female voice for Indonesian (Indonesia) (Free voice)","Gagan":"Male voice for Kannada (India) (Free voice)","Gemma":"Female voice for English (United Kingdom) (Free voice)","Gemma_2":"Female voice for English (United Kingdom) (Free voice)","Geraint":"Male voice for Welsh (United Kingdom) (Free voice)","Gerard":"Male voice for French (Belgium) (Free voice)","Gerardo":"Male voice for Spanish (Mexico) (Free voice)","Gianni":"Male voice for Italian (Italy) (Free voice)","Giorgi":"Male voice for Georgian (Georgia) (Free voice)","Giorgio":"Male voice for Italian (Italy) (Free voice)","Giovanna":"Female voice for Portuguese (Brazil) (Free voice)","Gisela":"Female voice for German (Germany) (Free voice)","Giuseppe":"Male voice for Italian (Italy) (Free voice)","Giuseppe_2":"Male voice for Italian (Italy) (Free voice)","Gonzalo":"Male voice for Spanish (Colombia) (Free voice)","GookMin":"Male voice for Korean (Korea) (Free voice)","Goran":"Male voice for Bosnian (Bosnia and Herzegovina) (Free voice)","Grace":"Female voice for Maltese (Malta) (Free voice)","Gregory":"Male voice for English (United States) (Free voice)","Gudrun":"Female voice for Icelandic (Iceland) (Free voice)","Gul":"Female voice for Urdu (India) (Free voice)","GulNawaz":"Male voice for Pashto (Afghanistan) (Free voice)","Gunnar":"Male voice for Icelandic (Iceland) (Free voice)","Guy":"Male voice for English (United States) (Free voice)","Gwyneth":"Female voice for Welsh (United Kingdom) (Free voice)","Hala":"Female voice for Arabic (Saudi Arabia) (Free voice)","Hamdan":"Male voice for Arabic (United Arab Emirates) (Free voice)","Hamed":"Male voice for Arabic (Saudi Arabia) (Free voice)","Hannah":"Female voice for German (Austria) (Free voice)","Hannah_2":"Female voice for German (Austria) (Paid voice)","Hans":"Male voice for German (Germany) (Free voice)","Harri":"Male voice for Finnish (Finland) (Free voice)","Hayk":"Male voice for Armenian (Armenia) (Free voice)","Hedi":"Male voice for Arabic (Tunisia) (Free voice)","Hemkala":"Female voice for Nepali (Nepal) (Free voice)","Henri":"Male voice for French (France) (Free voice)","Hila":"Female voice for Hebrew (Israel) (Free voice)","Hillevi":"Female voice for Swedish (Sweden) (Free voice)","HiuGaai":"Female voice for Chinese (Cantonese, Traditional) (Free voice)","Hiujin":"Female voice for Chinese (Cantonese) (Free voice)","HiuMaan":"Female voice for Chinese (Cantonese, Traditional) (Free voice)","HoaiMy":"Female voice for Vietnamese (Vietnam) (Free voice)","Hollie":"Female voice for English (United Kingdom) (Free voice)","HsiaoChen":"Female voice for Chinese (Taiwanese Mandarin, Traditional) (Free voice)","HsiaoYu":"Female voice for Chinese (Taiwanese Mandarin, Traditional) (Free voice)","Humberto":"Male voice for Portuguese (Brazil) (Free voice)","Hyunsu":"Male voice for Korean (Korea) (Free voice)","Hyunsu_2":"Male voice for Korean (Korea) (Free voice)","Hyunsu_3":"Male voice for Korean (Korea) (Paid voice)","Ida":"Female voice for Norwegian (Norway) (Free voice)","Ilir":"Male voice for Albanian (Albania) (Free voice)","Iman":"Female voice for Arabic (Libya) (Free voice)","Imani":"Female voice for English (Tanzania) (Free voice)","Imelda":"Female voice for Italian (Italy) (Free voice)","Ines":"Female voice for Portuguese (Brazil) (Free voice)","Ines_2":"Female voice for Portuguese (Brazil) (Free voice)","Ingrid":"Female voice for German (Austria) (Free voice)","InJoon":"Male voice for Korean (Korea) (Free voice)","Irene":"Female voice for Spanish (Spain) (Free voice)","Irma":"Female voice for Italian (Italy) (Free voice)","Isabella":"Female voice for Italian (Italy) (Free voice)","Isabella_2":"Female voice for Italian (Italy) (Free voice)","Isabella_3":"Female voice for Italian (Italy) (Paid voice)","Isabelle":"Female voice for French (Belgium) (Free voice)","Isabelle_2":"Female voice for French (Belgium) (Paid voice)","Iselin":"Female voice for Norwegian (Norway) (Free voice)","Isidora":"Female voice for Spanish (Spain) (Free voice)","Ismael":"Male voice for Arabic (Algeria) (Free voice)","Ivy":"Female voice for English (United States) (Free voice)","Ivy_2":"Female voice for English (United States) (Free voice)","Jacek":"Male voice for Polish (Poland) (Free voice)","Jacob":"Male voice for English (United States) (Free voice)","Jacqueline":"Female voice for French (France) (Free voice)","Jajang":"Male voice for Sundanese (Indonesia) (Free voice)","Jamal":"Male voice for Arabic (Morocco) (Free voice)","James":"Male voice for English (Philippines) (Free voice)","Jan":"Male voice for German (Switzerland) (Free voice)","Jane":"Female voice for English (United States) (Free voice)","Jane_2":"Female voice for English (United States) (Paid voice)","Jann":"Male voice for Polish (Poland) (Free voice)","Jasmine":"Female voice for English (Singapore) (Free voice)","Jasmine_2":"Female voice for English (Singapore) (Paid voice)","Jason":"Male voice for English (United States) (Free voice)","Javier":"Male voice for Spanish (Equatorial Guinea) (Free voice)","Jean":"Male voice for French (Canada) (Free voice)","Jenny":"Female voice for English (United States) (Free voice)","Jenny_2":"Female voice for English (United States) (Free voice)","Jenny_3":"Female voice for English (United States) (Paid voice)","Jeppe":"Male voice for Danish (Denmark) (Free voice)","Jerome":"Male voice for French (France) (Free voice)","Jihye":"Female voice for Korean (Korea) (Free voice)","JiMin":"Female voice for Korean (Korea) (Free voice)","Jimmie":"Male voice for English (United States) (Free voice)","Jitka":"Female voice for Czech (Czechia) (Free voice)","Joana":"Female voice for Catalan (Free voice)","Joanna":"Female voice for English (United States) (Free voice)","Joanna_2":"Female voice for English (United States) (Free voice)","Joanna_3":"Female voice for English (United States) (Paid voice)","Joanne":"Female voice for English (Australia) (Free voice)","Joey":"Male voice for English (United States) (Free voice)","Joey_2":"Male voice for English (United States) (Free voice)","Jonas":"Male voice for German (Austria) (Free voice)","Jorge":"Male voice for Spanish (Mexico) (Free voice)","Jorge_2":"Male voice for Spanish (Mexico) (Free voice)","Joseph":"Male voice for Maltese (Malta) (Free voice)","Josephine":"Female voice for French (France) (Free voice)","Juan":"Male voice for Spanish (Costa Rica) (Free voice)","Julio":"Male voice for Portuguese (Brazil) (Free voice)","Justin":"Male voice for English (United States) (Free voice)","Justin_2":"Male voice for English (United States) (Free voice)","Kai":"Male voice for English (United States) (Free voice)","Kajal":"Female voice for English (India) (Free voice)","Kajal_2":"Female voice for English (India) (Paid voice)","Kalina":"Female voice for Bulgarian (Bulgaria) (Free voice)","Kani":"Female voice for Tamil (Malaysia) (Free voice)","Karina":"Female voice for Spanish (Puerto Rico) (Free voice)","Karl":"Male voice for Icelandic (Iceland) (Free voice)","Karla":"Female voice for Spanish (Honduras) (Free voice)","Kasper":"Male voice for German (Germany) (Free voice)","Katja":"Female voice for German (Germany) (Free voice)","Kavya":"Female voice for Hindi (India) (Free voice)","Kavya_2":"Female voice for English (India) (Free voice)","Kazuha":"Female voice for Japanese (Japan) (Free voice)","Keita":"Male voice for Japanese (Japan) (Free voice)","Ken":"Male voice for English (Australia) (Free voice)","Kendra":"Female voice for English (United States) (Free voice)","Kendra_2":"Female voice for English (United States) (Free voice)","Keomany":"Female voice for Lao (Laos) (Free voice)","Kert":"Male voice for Estonian (Estonia) (Free voice)","Kevin":"Male voice for English (United States) (Free voice)","Killian":"Male voice for German (Germany) (Free voice)","Kim":"Female voice for English (Australia) (Free voice)","Kimberly":"Female voice for English (United States) (Free voice)","Kimberly_2":"Female voice for English (United States) (Free voice)","Klarissa":"Female voice for German (Germany) (Free voice)","Klaus":"Male voice for German (Germany) (Free voice)","Kumar":"Male voice for Tamil (Sri Lanka) (Free voice)","Kunal":"Male voice for Hindi (India) (Free voice)","Kunal_2":"Male voice for English (India) (Free voice)","Laia":"Female voice for Spanish (Spain) (Free voice)","Laila":"Female voice for Arabic (Bahrain) (Free voice)","Laith":"Male voice for Arabic (Syria) (Free voice)","Larissa":"Female voice for Spanish (Mexico) (Free voice)","Latifa":"Female voice for Pashto (Afghanistan) (Free voice)","Laura":"Female voice for Dutch (Netherlands) (Free voice)","Laura_2":"Female voice for Dutch (Netherlands) (Paid voice)","Layla":"Female voice for Arabic (Lebanon) (Free voice)","Lea":"Female voice for French (France) (Free voice)","Lea_2":"Female voice for French (France) (Free voice)","Lea_3":"Female voice for French (France) (Paid voice)","Leah":"Female voice for English (South Africa) (Free voice)","Leila":"Female voice for Portuguese (Brazil) (Free voice)","Leni":"Female voice for German (Switzerland) (Free voice)","Lennart":"Male voice for German (Germany) (Paid voice)","Leonas":"Male voice for Lithuanian (Lithuania) (Free voice)","Leticia":"Female voice for Portuguese (Brazil) (Free voice)","Lewis":"Male voice for English (United States) (Free voice)","Lia":"Female voice for Spanish (Spain) (Free voice)","Liam":"Male voice for English (Canada) (Free voice)","Lian":"Male voice for French (Canada) (Free voice)","Lian_2":"Male voice for French (Canada) (Paid voice)","Libby":"Female voice for English (United Kingdom) (Free voice)","Liberto":"Male voice for Spanish (Mexico) (Free voice)","Lisa":"Female voice for Dutch (Belgium) (Free voice)","Lisa_2":"Female voice for Dutch (Belgium) (Paid voice)","Lisandro":"Male voice for Italian (Italy) (Free voice)","Liv":"Female voice for Norwegian (Norway) (Free voice)","Livia":"Female voice for English (Australia) (Free voice)","Livia_2":"Female voice for English (Australia) (Paid voice)","Lola":"Female voice for English (United States) (Free voice)","Lorena":"Female voice for Spanish (El Salvador) (Free voice)","Lorenzio":"Male voice for Italian (Italy) (Paid voice)","Lorenzo":"Male voice for Spanish (Chile) (Free voice)","Lotte":"Female voice for Dutch (Netherlands) (Free voice)","Louisa":"Female voice for German (Germany) (Free voice)","Lucia":"Female voice for Spanish (Castilian) (Free voice)","Lucia_2":"Female voice for Spanish (Castilian) (Free voice)","Lucia_3":"Female voice for Spanish (Castilian) (Paid voice)","Luciano":"Male voice for Spanish (Mexico) (Free voice)","Lucien":"Male voice for French (France) (Free voice)","Luis":"Male voice for Spanish (Ecuador) (Free voice)","Lukas":"Male voice for Slovak (Slovakia) (Free voice)","Luke":"Male voice for English (South Africa) (Free voice)","Luna":"Female voice for English (Singapore) (Free voice)","Luna_2":"Female voice for English (United States) (Free voice)","Lupe":"Female voice for Spanish (United States) (Free voice)","Lupe_2":"Female voice for Spanish (United States) (Free voice)","Lupe_3":"Female voice for Spanish (United States) (Paid voice)","Maarten":"Male voice for Dutch (Netherlands) (Free voice)","Macerio":"Male voice for Portuguese (Brazil) (Free voice)","Macerio_2":"Male voice for Portuguese (Brazil) (Paid voice)","Madhur":"Male voice for Hindi (India) (Free voice)","Madina":"Female voice for Uzbek (Latin, Uzbekistan) (Free voice)","Mads":"Male voice for Danish (Denmark) (Free voice)","Maisie":"Female voice for English (United Kingdom) (Free voice)","Maja":"Female voice for German (Germany) (Free voice)","Manohar":"Male voice for Marathi (India) (Free voice)","Manuel":"Male voice for Spanish (Cuba) (Free voice)","Manuela":"Female voice for Portuguese (Brazil) (Free voice)","Marcello":"Male voice for Italian (Italy) (Free voice)","Marcelo":"Male voice for Spanish (Bolivia) (Free voice)","Marek":"Male voice for Polish (Poland) (Free voice)","Margarita":"Female voice for Spanish (Panama) (Free voice)","Maria":"Female voice for Spanish (Costa Rica) (Free voice)","Marija":"Female voice for Macedonian (North Macedonia) (Free voice)","Marina":"Female voice for Spanish (Mexico) (Free voice)","Mario":"Male voice for Spanish (Paraguay) (Free voice)","Marlene":"Female voice for German (Germany) (Free voice)","Marta":"Female voice for Spanish (Guatemala) (Free voice)","Maryam":"Female voice for Arabic (Yemen) (Free voice)","Masaru":"Male voice for Japanese (Japan) (Paid voice)","Mateo":"Male voice for Spanish (Uruguay) (Free voice)","Mathieu":"Male voice for French (France) (Free voice)","Matthew":"Male voice for English (United States) (Free voice)","Matthew_2":"Male voice for English (United States) (Free voice)","Matthew_3":"Male voice for English (United States) (Paid voice)","Mattias":"Male voice for Swedish (Sweden) (Free voice)","Maurice":"Male voice for French (France) (Free voice)","Maxim":"Male voice for Russian (Russia) (Free voice)","Maya":"Female voice for Polish (Poland) (Free voice)","Mayu":"Female voice for Japanese (Japan) (Free voice)","Mekdes":"Female voice for Amharic (Ethiopia) (Free voice)","Mia":"Female voice for Spanish (Mexico) (Free voice)","Mia_2":"Female voice for Spanish (Mexico) (Free voice)","Mia_3":"Female voice for Spanish (Mexico) (Paid voice)","Michelle":"Female voice for English (United States) (Free voice)","Midhun":"Male voice for Malayalam (India) (Free voice)","Miguel":"Male voice for Spanish (United States) (Free voice)","Mitchell":"Male voice for English (New Zealand) (Free voice)","Mizuki":"Female voice for Japanese (Japan) (Free voice)","Moaz":"Male voice for Arabic (Qatar) (Free voice)","Mohan":"Male voice for Telugu (India) (Free voice)","Molly":"Female voice for English (New Zealand) (Free voice)","Monica":"Female voice for English (United States) (Free voice)","Mouna":"Female voice for Arabic (Morocco) (Free voice)","Muuse":"Male voice for Somali (Somalia) (Free voice)","Nabanita":"Female voice for Bangla (Bangladesh) (Free voice)","Naja":"Female voice for Danish (Denmark) (Free voice)","NamMinh":"Male voice for Vietnamese (Vietnam) (Free voice)","Nanami":"Female voice for Japanese (Japan) (Free voice)","Nanami_2":"Female voice for Japanese (Japan) (Paid voice)","Nancy":"Female voice for English (United States) (Free voice)","Nancy_2":"Female voice for English (United States) (Free voice)","Naoki":"Male voice for Japanese (Japan) (Free voice)","Natasha":"Female voice for English (Australia) (Free voice)","Neerja":"Female voice for English (India) (Free voice)","Neerja_2":"Female voice for English (India) (Free voice)","Neil":"Male voice for English (Australia) (Free voice)","Nestoras":"Male voice for Greek (Greece) (Free voice)","Nia":"Female voice for Welsh (United Kingdom) (Free voice)","Niamh":"Female voice for English (Ireland) (Free voice)","Niamh_2":"Female voice for English (Ireland) (Paid voice)","Nicholas":"Male voice for Serbian (Cyrillic, Serbia) (Free voice)","Nicholas_2":"Male voice for Serbian (Latin, Serbia) (Free voice)","Nicolau":"Male voice for Portuguese (Brazil) (Free voice)","Nicole":"Female voice for English (Australia) (Free voice)","Nil":"Male voice for Spanish (Spain) (Free voice)","Nilar":"Female voice for Burmese (Myanmar) (Free voice)","Nils":"Male voice for Latvian (Latvia) (Free voice)","Niranjan":"Male voice for Gujarati (India) (Free voice)","Niwat":"Male voice for Thai (Thailand) (Free voice)","Noah":"Male voice for English (United Kingdom) (Free voice)","Noemi":"Female voice for Hungarian (Hungary) (Free voice)","Noora":"Female voice for Finnish (Finland) (Free voice)","Noura":"Female voice for Arabic (Kuwait) (Free voice)","Nova":"Female voice for English (United States) (Free voice)","Nova_2":"Female voice for English (United States) (Paid voice)","Nuria":"Female voice for Spanish (Mexico) (Free voice)","Ojas":"Male voice for Punjabi (India) (Free voice)","Ola":"Female voice for Polish (Poland) (Free voice)","Ola_2":"Female voice for Polish (Poland) (Paid voice)","Oliver":"Male voice for English (United Kingdom) (Free voice)","Olivia":"Female voice for English (United Kingdom) (Free voice)","Ollie":"Male voice for English (United Kingdom) (Free voice)","Ollie_2":"Male voice for English (United Kingdom) (Paid voice)","Omar":"Male voice for Arabic (Libya) (Free voice)","Ona":"Female voice for Lithuanian (Lithuania) (Free voice)","Onyx":"Male voice for English (United States) (Free voice)","Orla":"Female voice for Irish (Ireland) (Free voice)","Osman":"Male voice for Malay (Malaysia) (Free voice)","Ostap":"Male voice for Ukrainian (Ukraine) (Free voice)","Pallavi":"Female voice for Tamil (India) (Free voice)","Palmira":"Female voice for Italian (Italy) (Free voice)","Paloma":"Female voice for Spanish (United States) (Free voice)","Paola":"Female voice for Spanish (Venezuela) (Free voice)","Pedro":"Male voice for Spanish (United States) (Free voice)","Pedro_2":"Male voice for Spanish (United States) (Paid voice)","Pelayo":"Male voice for Spanish (Mexico) (Free voice)","Penelope":"Female voice for Spanish (United States) (Free voice)","Pernille":"Female voice for Norwegian (Norway) (Free voice)","Petra":"Female voice for Slovenian (Slovenia) (Free voice)","Phoebe":"Female voice for English (United States) (Free voice)","Phoebe_2":"Female voice for English (United States) (Paid voice)","Pierina":"Female voice for Italian (Italy) (Free voice)","Piseth":"Male voice for Khmer (Cambodia) (Free voice)","Polina":"Female voice for Ukrainian (Ukraine) (Free voice)","Prabhat":"Male voice for English (India) (Free voice)","Prabhat_2":"Male voice for English (India) (Free voice)","Pradeep":"Male voice for Bangla (Bangladesh) (Free voice)","Premwadee":"Female voice for Thai (Thailand) (Free voice)","Priyom":"Male voice for Assamese (India) (Free voice)","Rafiki":"Male voice for Swahili (Kenya) (Free voice)","Ralf":"Male voice for German (Germany) (Free voice)","Rami":"Male voice for Arabic (Lebanon) (Free voice)","Ramona":"Female voice for Spanish (Dominican Republic) (Free voice)","Rana":"Female voice for Arabic (Iraq) (Free voice)","Raquel":"Female voice for Portuguese (Portugal) (Free voice)","Raveena":"Female voice for English (India) (Free voice)","Reem":"Female voice for Arabic (Tunisia) (Free voice)","Rehaan":"Male voice for Hindi (India) (Free voice)","Rehaan_2":"Male voice for English (India) (Free voice)","Rehema":"Female voice for Swahili (Tanzania) (Free voice)","Remi":"Male voice for French (France) (Free voice)","Remi_2":"Male voice for French (France) (Paid voice)","Remy":"Male voice for French (France) (Free voice)","Remy_2":"Male voice for French (France) (Paid voice)","Renata":"Female voice for Spanish (Mexico) (Free voice)","Ricardo":"Male voice for Portuguese (Brazil) (Free voice)","Rinaldo":"Male voice for Italian (Italy) (Free voice)","Roberto":"Male voice for Spanish (Panama) (Free voice)","Rodrigo":"Male voice for Spanish (El Salvador) (Free voice)","Roger":"Male voice for English (United States) (Free voice)","Roi":"Male voice for Galician (Free voice)","Rok":"Male voice for Slovenian (Slovenia) (Free voice)","Rosa":"Female voice for English (Philippines) (Free voice)","Ruben":"Male voice for Dutch (Netherlands) (Free voice)","Russell":"Male voice for English (Australia) (Free voice)","Ruth":"Female voice for English (United States) (Free voice)","Ruth_2":"Female voice for English (United States) (Paid voice)","Ryan":"Male voice for English (United States) (Free voice)","Ryan_2":"Male voice for English (United Kingdom) (Free voice)","Sabela":"Female voice for Galician (Free voice)","Sabrina":"Female voice for German (Switzerland) (Free voice)","Sabrina_2":"Female voice for German (Switzerland) (Paid voice)","Sagar":"Male voice for Nepali (Nepal) (Free voice)","Saleh":"Male voice for Arabic (Yemen) (Free voice)","Salli":"Female voice for English (United States) (Free voice)","Salli_2":"Female voice for English (United States) (Free voice)","Salli_3":"Female voice for English (United States) (Paid voice)","Salma":"Female voice for Arabic (Egypt) (Free voice)","Salman":"Male voice for Urdu (India) (Free voice)","Salome":"Female voice for Spanish (Colombia) (Free voice)","Sam":"Male voice for English (Hong Kong SAR) (Free voice)","Sameera":"Male voice for Sinhala (Sri Lanka) (Free voice)","Samuel":"Male voice for English (United States) (Free voice)","Sana":"Female voice for Arabic (Jordan) (Free voice)","Sapna":"Female voice for Kannada (India) (Free voice)","Sara":"Female voice for English (United States) (Free voice)","Saranya":"Female voice for Tamil (Sri Lanka) (Free voice)","Sardor":"Male voice for Uzbek (Latin, Uzbekistan) (Free voice)","Saul":"Male voice for Spanish (Spain) (Free voice)","Sebastian":"Male voice for Spanish (Venezuela) (Free voice)","Selma":"Female voice for Finnish (Finland) (Free voice)","SeoHyeon":"Female voice for Korean (Korea) (Free voice)","Seoyeon":"Female voice for Korean (Korea) (Free voice)","Seoyeon_2":"Female voice for Korean (Korea) (Free voice)","Seoyeon_3":"Female voice for Korean (Korea) (Paid voice)","Seraphina":"Female voice for German (Germany) (Free voice)","Seraphina_2":"Female voice for German (Germany) (Paid voice)","Serena":"Female voice for English (United States) (Free voice)","Serena_2":"Female voice for English (United States) (Paid voice)","Sergio":"Male voice for Spanish (Castilian) (Free voice)","Sergio_2":"Male voice for Spanish (Castilian) (Paid voice)","Shakir":"Male voice for Arabic (Egypt) (Free voice)","Shimmer":"Female voice for English (United States) (Free voice)","Shiori":"Female voice for Japanese (Japan) (Free voice)","Shruti":"Female voice for Telugu (India) (Free voice)","Siqiniq":"Female voice for Inuktitut (Syllabics, Canada) (Free voice)","Siqiniq_2":"Female voice for Inuktitut (Latin, Canada) (Free voice)","Siti":"Female voice for Javanese (Latin, Indonesia) (Free voice)","Sobhana":"Female voice for Malayalam (India) (Free voice)","Soffie":"Female voice for Danish (Denmark) (Free voice)","Sofia":"Female voice for Spanish (Bolivia) (Free voice)","Sofie":"Female voice for Swedish (Sweden) (Free voice)","Sonia":"Female voice for English (United Kingdom) (Free voice)","SoonBok":"Female voice for Korean (Korea) (Free voice)","Sophie":"Female voice for Serbian (Cyrillic, Serbia) (Free voice)","Sophie_2":"Female voice for Serbian (Latin, Serbia) (Free voice)","Srecko":"Male voice for Croatian (Croatia) (Free voice)","Sreymom":"Female voice for Khmer (Cambodia) (Free voice)","Steffan":"Male voice for English (United States) (Free voice)","Steffan_2":"Male voice for English (United States) (Free voice)","Steffan_3":"Male voice for English (United States) (Paid voice)","Stephen":"Male voice for English (United States) (Free voice)","Stephen_2":"Male voice for English (United States) (Paid voice)","Subhasini":"Female voice for Odia (India) (Free voice)","Sukant":"Male voice for Odia (India) (Free voice)","SunHi":"Female voice for Korean (Korea) (Free voice)","SunHi_2":"Female voice for Korean (Korea) (Paid voice)","Surya":"Male voice for Tamil (Malaysia) (Free voice)","Suvi":"Female voice for Finnish (Finland) (Free voice)","Svetlana":"Female voice for Russian (Russia) (Free voice)","Swara":"Female voice for Hindi (India) (Free voice)","Sylvie":"Female voice for French (Canada) (Free voice)","Sylvie_2":"Female voice for French (Canada) (Paid voice)","Taim":"Male voice for Arabic (Jordan) (Free voice)","Takumi":"Male voice for Japanese (Japan) (Free voice)","Takumi_2":"Male voice for Japanese (Japan) (Free voice)","Tamas":"Male voice for Hungarian (Hungary) (Free voice)","Tania":"Female voice for Spanish (Paraguay) (Free voice)","Tanishaa":"Female voice for Bengali (India) (Free voice)","Tanja":"Female voice for German (Germany) (Free voice)","Taqqiq":"Male voice for Inuktitut (Syllabics, Canada) (Free voice)","Taqqiq_2":"Male voice for Inuktitut (Latin, Canada) (Free voice)","Tatyana":"Female voice for Russian (Russia) (Free voice)","Teo":"Male voice for Spanish (Spain) (Free voice)","Teresa":"Female voice for Spanish (Equatorial Guinea) (Free voice)","Thalita":"Female voice for Portuguese (Brazil) (Free voice)","Thalita_2":"Female voice for Portuguese (Brazil) (Free voice)","Thalita_3":"Female voice for Portuguese (Brazil) (Paid voice)","Thando":"Female voice for Zulu (South Africa) (Free voice)","Themba":"Male voice for Zulu (South Africa) (Free voice)","Thiago":"Male voice for Portuguese (Brazil) (Free voice)","Thierry":"Male voice for French (Canada) (Free voice)","Thierry_2":"Male voice for French (Canada) (Paid voice)","Thiha":"Male voice for Burmese (Myanmar) (Free voice)","Thilini":"Female voice for Sinhala (Sri Lanka) (Free voice)","Thomas":"Male voice for English (United Kingdom) (Free voice)","Tiana":"Female voice for English (United States) (Free voice)","Tiffany":"Female voice for English (United States) (Paid voice)","Tim":"Male voice for English (Australia) (Free voice)","Tina":"Female voice for English (Australia) (Free voice)","Tomas":"Male voice for Spanish (Argentina) (Free voice)","Tomoko":"Female voice for Japanese (Japan) (Free voice)","Tony":"Male voice for English (United States) (Free voice)","Triana":"Female voice for Spanish (Spain) (Free voice)","Tristan_ES":"Male voice for Spanish (Spain) (Free voice)","Tristan_ES_2":"Male voice for Spanish (Spain) (Paid voice)","Tuti":"Female voice for Sundanese (Indonesia) (Free voice)","Tyler":"Male voice for English (United States) (Free voice)","Ubax":"Female voice for Somali (Somalia) (Free voice)","Uzma":"Female voice for Urdu (Pakistan) (Free voice)","Vaani":"Female voice for Punjabi (India) (Free voice)","Valentina":"Female voice for Spanish (Uruguay) (Free voice)","Valerio":"Male voice for Portuguese (Brazil) (Free voice)","Valluvar":"Male voice for Tamil (India) (Free voice)","Venba":"Female voice for Tamil (Singapore) (Free voice)","Vera":"Female voice for Spanish (Spain) (Free voice)","Vesna":"Female voice for Bosnian (Bosnia and Herzegovina) (Free voice)","Vicki":"Female voice for German (Germany) (Free voice)","Vicki_2":"Female voice for German (Germany) (Free voice)","Vicki_3":"Female voice for German (Germany) (Paid voice)","Victor":"Male voice for Spanish (Puerto Rico) (Free voice)","Viktoria":"Female voice for Slovak (Slovakia) (Free voice)","Vitoria":"Female voice for Portuguese (Brazil) (Free voice)","Vitoria_2":"Female voice for Portuguese (Brazil) (Free voice)","Vivienne":"Female voice for French (France) (Free voice)","Vivienne_2":"Female voice for French (France) (Paid voice)","Vlasta":"Female voice for Czech (Czechia) (Free voice)","WanLung":"Male voice for Chinese (Cantonese, Traditional) (Free voice)","Wayne":"Male voice for English (Singapore) (Free voice)","Willem":"Male voice for Afrikaans (South Africa) (Free voice)","William":"Male voice for English (Australia) (Free voice)","William_2":"Male voice for English (Australia) (Free voice)","Xiaochen":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaochen_2":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaochen_3":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaochen_4":"Female voice for Chinese (Mandarin, Simplified) (Paid voice)","Xiaohan":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaohan_2":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaomeng":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","XiaoMin":"Female voice for Chinese (Cantonese, Simplified) (Free voice)","Xiaomo":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoqiu":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaorou":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaorui":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoshuang":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoshuang_2":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoshuang_3":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaotong":"Female voice for Chinese (Wu, Simplified) (Free voice)","Xiaoxiao":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoxiao_2":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoxiao_3":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoxiao_4":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoxiao_5":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyan":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyi":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyi_2":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyou":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyou_2":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyou_3":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyu":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyu_2":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaozhen":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Ximena_ES":"Female voice for Spanish (Spain) (Free voice)","Ximena_ES_2":"Female voice for Spanish (Spain) (Free voice)","Ximena_ES_3":"Female voice for Spanish (Spain) (Paid voice)","Yago":"Male voice for Spanish (Mexico) (Free voice)","Yan":"Female voice for English (Hong Kong SAR) (Free voice)","Yara":"Female voice for Portuguese (Brazil) (Free voice)","Yashica":"Female voice for Assamese (India) (Free voice)","Yasmin":"Female voice for Malay (Malaysia) (Free voice)","Yesui":"Female voice for Mongolian (Mongolia) (Free voice)","Yolanda":"Female voice for Spanish (Nicaragua) (Free voice)","YuJin":"Female voice for Korean (Korea) (Free voice)","Yundeng":"Male voice for Chinese (Zhongyuan Mandarin Henan, Simplified) (Free voice)","Yunfan":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunfan_2":"Male voice for Chinese (Mandarin, Simplified) (Paid voice)","Yunfeng":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunhan":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunhao":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","YunJhe":"Male voice for Chinese (Taiwanese Mandarin, Traditional) (Free voice)","Yunjian":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunjie":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","YunSong":"Male voice for Chinese (Cantonese, Simplified) (Free voice)","Yunxi":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunxi_2":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunxia":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunxia_2":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunxiang":"Male voice for Chinese (Jilu Mandarin, Simplified) (Free voice)","Yunxiao":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunxiao_2":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunyang":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunye":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunye_2":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunyi":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunyi_2":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunze":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunzhe":"Male voice for Chinese (Wu, Simplified) (Free voice)","Yves":"Male voice for French (France) (Free voice)","Yvette":"Female voice for French (France) (Free voice)","Zariyah":"Female voice for Arabic (Saudi Arabia) (Free voice)","Zayd":"Male voice for Arabic (Saudi Arabia) (Free voice)","Zeina":"Female voice for Arabic (Saudi Arabia) (Free voice)","Zhiyu":"Female voice for Chinese (Mandarin) (Free voice)","Zhiyu_2":"Female voice for Chinese (Mandarin) (Free voice)","Zofia":"Female voice for Polish (Poland) (Free voice)","Zuri":"Female voice for Swahili (Kenya) (Free voice)"}},"messageSay":{"type":"object","title":"Say Message","description":"A text-to-speech (TTS) message item. The platform synthesizes the provided text into speech and plays it on the call.","additionalProperties":false,"required":["type","say"],"properties":{"type":{"type":"string","const":"SAY","description":"Text-to-speech message to be played during the call."},"say":{"type":"object","additionalProperties":false,"title":"Say","required":["text","voiceName"],"properties":{"text":{"type":"string","description":"The text to be synthesized into speech.\n\nIf `format` is `TEXT` (default), provide plain text.\nIf `format` is `SSML`, provide a valid SSML document (for example, `<speak>...</speak>`).","maxLength":600,"example":"Hello world"},"format":{"type":"string","description":"Format of the message","enum":["TEXT","SSML"],"x-enumDescriptions":{"TEXT":"Plain text format for the message.","SSML":"Speech Synthesis Markup Language format for advanced text-to-speech control."},"default":"TEXT"},"voiceName":{"description":"The name of the voice to use for text-to-speech synthesis.","$ref":"#/components/schemas/voiceName"}}}},"examples":[{"type":"SAY","say":{"text":"Hello, this is a test message","voiceName":"Emma_3"}},{"type":"SAY","say":{"text":"<speak><prosody volume=\"-6dB\">Hello, this is a test message</prosody></speak>","format":"SSML","voiceName":"Brian"}}]},"messagePlay":{"type":"object","title":"Play Message","description":"An audio file playback message item. The platform fetches and plays the audio file at the provided URL on the call.","additionalProperties":false,"required":["type","play"],"properties":{"type":{"type":"string","const":"PLAY","description":"Audio file playback during the call."},"play":{"type":"object","additionalProperties":false,"title":"Play","required":["url"],"properties":{"url":{"type":"string","description":"URL of the media to send"}}}},"examples":[{"type":"PLAY","play":{"url":"https://example.com/media.mp3"}}]},"message":{"type":"object","title":"Message","description":"A single message item. The required payload depends on `type`.","oneOf":[{"$ref":"#/components/schemas/messageSay"},{"$ref":"#/components/schemas/messagePlay"}],"discriminator":{"propertyName":"type","mapping":{"SAY":"#/components/schemas/messageSay","PLAY":"#/components/schemas/messagePlay"}}},"typesOfMessages":{"type":"array","title":"Message List","description":"Ordered list of messages to play.","minItems":1,"maxItems":10,"items":{"$ref":"#/components/schemas/message"}},"svamlCommands":{"type":"array","title":"SVAML Commands","description":"An ordered list of SVAML v2 (Sinch Voice Application Markup Language) commands that describe a call flow. Commands are executed sequentially in the order they are defined.\n\n**Blocking vs. non-blocking:** Some commands block execution until they complete (`pause`, `webhook`, `menu`, `gotoMenu`), while others return immediately and run in parallel (`dial`, `messages`, `amd`, `answer`, `hangup`, `startRecording`, `stopRecording`, `bridgeCall`, `stopMessages`). Each command's description specifies its behavior.\n\n**Nesting scope:** Commands that appear inside event handlers (e.g., `dial.events.onAnswer`, `messages.events.onFinish`) form independent sequences and execute in their own context — they are not continuations of the parent sequence.\n\n**Nesting depth:** A SVAML payload can be nested at most 128 levels deep, counting every JSON object and array from the root of the document. Each command nested inside an event handler adds three levels (the command object, its `events` object and the handler array), which allows roughly 40 levels of nested commands. A request that exceeds the limit is rejected with `400 Bad Request`; a webhook response that exceeds it counts as a failed delivery.","items":{"$ref":"#/components/schemas/svamlCommand"}},"amdEvents":{"type":"object","additionalProperties":false,"title":"AMD Events","description":"SVAML commands to execute based on the answering machine detection result. These events define different call flows depending on whether a human, machine, beep, or unknown entity answers the call, or whether a machine answered without a beep being detected.","properties":{"onHuman":{"description":"SVAML commands to be executed when a human is detected","$ref":"#/components/schemas/svamlCommands"},"onMachine":{"description":"SVAML commands to be executed when a machine is detected","$ref":"#/components/schemas/svamlCommands"},"onBeep":{"description":"SVAML commands to be executed when a beep is detected","$ref":"#/components/schemas/svamlCommands"},"onNoBeep":{"description":"SVAML commands to be executed when a machine is detected, but no beep is detected. This event follows `onMachine` and is mutually exclusive with `onBeep`.","$ref":"#/components/schemas/svamlCommands"},"onUnknown":{"description":"SVAML commands to be executed when an unknown event is detected","$ref":"#/components/schemas/svamlCommands"}}},"amd":{"type":"object","additionalProperties":false,"title":"Answering Machine Detection","description":"AMD (Answering Machine Detection) command to detect what answered the call. Possible outcomes are: human, machine, beep, no beep, or unknown.\n\nThis is a non-blocking command — the next command in the sequence executes immediately while detection runs in parallel. Results are delivered via the `events` property.","required":["command"],"properties":{"command":{"type":"string","const":"amd","description":"Command to run Answering Machine Detection on the call"},"events":{"$ref":"#/components/schemas/amdEvents"}},"examples":[{"command":"amd","events":{"onHuman":[{"command":"pause","durationMilliseconds":1000},{"command":"bridgeCall","bridgeName":"my-bridge"}],"onBeep":[{"command":"messages","messagesName":"my-amd-messages","messages":[{"type":"SAY","say":{"text":"Hello, this is a test message","voiceName":"Emma_3"}}]}]}}]},"phoneNumber":{"title":"Phone Number","type":"string","pattern":"^\\+[1-9]\\d{1,14}$","minLength":3,"maxLength":16,"description":"E.164 Phone number","examples":["+4673522488"]},"phone":{"type":"object","additionalProperties":false,"title":"Phone","description":"Routes the call to a phone number on the Public Switched Telephone Network (PSTN).","required":["type","phone"],"properties":{"type":{"type":"string","const":"PHONE","description":"Routes the call to a phone number on the Public Switched Telephone Network (PSTN). The number must be in E.164 format."},"phone":{"type":"object","additionalProperties":false,"required":["number"],"properties":{"number":{"$ref":"#/components/schemas/phoneNumber"}}}},"examples":[{"type":"PHONE","phone":{"number":"+4673522488"}}]},"sipFrom":{"type":"object","additionalProperties":false,"title":"SIP Origin","required":["type","sip"],"properties":{"type":{"type":"string","const":"SIP","description":"Indicates the call originated from a SIP (Session Initiation Protocol) endpoint."},"sip":{"type":"object","additionalProperties":false,"required":["endpoint"],"properties":{"endpoint":{"type":"string","description":"SIP URI of the originating endpoint. Both `sip:` (unencrypted) and `sips:` (TLS-encrypted) schemes are supported.","format":"uri","pattern":"^sips?:.*\\S$","maxLength":192},"displayName":{"type":"string","description":"Display name presented to the called party as the caller identity. Transmitted as the display name part of the SIP `From` header (for example, `Alice <sip:alice@example.com>`).","maxLength":64,"example":"Alice"}}}},"examples":[{"type":"SIP","sip":{"endpoint":"sip:user@example.com","displayName":"Alice"}}]},"from":{"description":"Call origin - Phone Number or SIP endpoint","oneOf":[{"$ref":"#/components/schemas/phone"},{"$ref":"#/components/schemas/sipFrom"}],"discriminator":{"propertyName":"type","mapping":{"PHONE":"#/components/schemas/phone","SIP":"#/components/schemas/sipFrom"}}},"sipCallHeaders":{"type":"array","description":"Custom SIP headers to be sent in the call setup.","maxItems":16,"items":{"type":"object","additionalProperties":false,"required":["key"],"properties":{"key":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[-A-Za-z0-9.!%*_+`'~]+$","description":"Name of the SIP header.","example":"X-Correlation-Id"},"value":{"type":"string","maxLength":255,"description":"Value of the SIP header.","example":"12345"}}},"examples":[[{"key":"X-Correlation-Id","value":"12345"},{"key":"X-Call-Routing","value":"forwarded"}]]},"sip":{"type":"object","additionalProperties":false,"title":"SIP Endpoint","required":["type","sip"],"properties":{"type":{"type":"string","const":"SIP","description":"Routes the call to a SIP (Session Initiation Protocol) endpoint."},"sip":{"type":"object","additionalProperties":false,"required":["endpoint"],"properties":{"endpoint":{"type":"string","description":"SIP URI of the destination endpoint. Both `sip:` (unencrypted) and `sips:` (TLS-encrypted) schemes are supported.","format":"uri","maxLength":256,"pattern":"^sips?:.*\\S$"},"transport":{"type":"string","description":"Transport protocol to use for the SIP signalling channel.\n\nIf omitted, the platform selects a default based on the URI scheme: `UDP` for `sip:` and `TLS` for `sips:`. Setting this explicitly overrides that default — for example, to force `TCP` for a `sip:` URI or to use `TLS` without switching to the `sips:` scheme.","enum":["UDP","TCP","TLS"],"x-enumDescriptions":{"UDP":"Connectionless transport. Lowest overhead; suitable for most standard SIP deployments.","TCP":"Connection-oriented transport. More reliable for large SIP messages or NAT traversal scenarios.","TLS":"Encrypted transport. Provides confidentiality and integrity for SIP signalling."}},"callHeaders":{"$ref":"#/components/schemas/sipCallHeaders"}}}},"examples":[{"type":"SIP","sip":{"endpoint":"sip:user@example.com","transport":"TCP","callHeaders":[{"key":"X-Correlation-Id","value":"12345"},{"key":"X-Call-Routing","value":"forwarded"}]}}]},"callHeaders":{"type":"array","description":"Custom headers to be sent in the call setup.","maxItems":16,"items":{"type":"object","additionalProperties":false,"required":["key"],"properties":{"key":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[\\x21-\\x7e]+([\\x20\\t]+[\\x21-\\x7e]+)*$","description":"Name of the header. No leading or trailing whitespaces allowed.","example":"headerKey"},"value":{"type":"string","maxLength":255,"pattern":"^([\\x21-\\x7e]+([\\x20\\t]+[\\x21-\\x7e]+)*)?$","description":"Value of the header. No leading or trailing whitespaces allowed.","example":"headerValue"}}},"examples":[[{"key":"headerKey","value":"headerValue"},{"key":"anotherKey","value":"anotherValue"}]]},"stream":{"type":"object","additionalProperties":false,"title":"Stream","description":"Routes the call to a WebSocket stream endpoint for real-time audio processing.","required":["type","stream"],"properties":{"type":{"type":"string","const":"STREAM","description":"Routes the call to a WebSocket stream endpoint for real-time audio processing."},"stream":{"type":"object","additionalProperties":false,"required":["endpoint"],"properties":{"endpoint":{"type":"string","description":"WebSocket endpoint that will accept the incoming connection for real-time audio streaming. Must be a valid WebSocket URL using either `ws://` or `wss://` (recommended). The URL must be reachable from the public internet and capable of handling the negotiated stream protocol.","example":"wss://example.com"},"streamOptions":{"type":"object","additionalProperties":false,"properties":{"version":{"type":"integer","const":1,"description":"Defines the version of the stream protocol, which determines the format of the binary audio messages exchanged over the WebSocket connection.\n\nCurrently, only version `1` is supported: binary messages contain only audio data, and audio received from the WebSocket server is played as soon as it is received.","default":1,"example":1},"codec":{"type":"string","const":"PCM","description":"Defines the audio codec/format used for the stream audio payload.\n\nCurrently, only `PCM` is supported (uncompressed raw audio). Use `sampleRate` to configure the sampling rate for the stream."},"sampleRate":{"type":"integer","description":"Defines the audio sampling rate (Hz) used for the stream.\n\nFor calls that traverse the PSTN, audio is typically sampled at 8 kHz, so using a higher value will not improve perceived quality. \nHigher sample rates can be useful for non-PSTN scenarios (for example, SIP/streaming paths), but will increase bandwidth usage and processing load.","enum":[8000,16000,24000,44100,48000,96000],"x-enumDescriptions":{"8000":"8 kHz (standard for PSTN calls)","16000":"16 kHz (wideband audio)","24000":"24 kHz (super-wideband audio)","44100":"44.1 kHz (CD quality audio)","48000":"48 kHz (professional audio quality)","96000":"96 kHz (high-resolution audio)"},"default":8000,"example":16000}}},"callHeaders":{"$ref":"#/components/schemas/callHeaders"}},"examples":[{"endpoint":"wss://example.com","streamOptions":{"version":1,"codec":"PCM","sampleRate":8000},"callHeaders":[{"key":"my-key","value":"my-key-value"}]}]}},"examples":[{"type":"STREAM","stream":{"endpoint":"wss://example.com","streamOptions":{"version":1,"codec":"PCM","sampleRate":16000},"callHeaders":[{"key":"my-key","value":"my-key-value"}]}}]},"voiceRelay":{"type":"object","additionalProperties":false,"title":"Voice Relay","description":"Routes the call through the Voice Relay service, enabling real-time speech-to-text (STT) and text-to-speech (TTS) via a WebSocket connection to the application backend.","required":["type","voiceRelay"],"properties":{"type":{"type":"string","const":"VOICE_RELAY","description":"Connects to the Voice Relay service to enable STT and TTS services..."},"voiceRelay":{"type":"object","additionalProperties":false,"required":["endpoint","ttsVoice","sttLanguage"],"properties":{"endpoint":{"type":"string","format":"uri","description":"URL to the server that will accept the web-socket request","example":"wss://acme.com/agent"},"enableInterruptions":{"type":"boolean","description":"Allow \"barge-in\" during text-to-speech (TTS) playback.\n\nWhen `true`, TTS playback is interrupted as soon as inbound speech is detected, unless the currently playing content is marked as uninterruptible.\n\nWhen `false`, TTS playback continues uninterrupted, but an interruption signal is still sent over the WebSocket so the client application can choose to stop playback manually if needed.","default":true,"example":true},"ttsVoice":{"description":"Name of the voice to be used when synthesizing speech. \n\nThis is the default voice used, if no override voice is provided in the web-socket TTS message.","$ref":"#/components/schemas/voiceName"},"sttLanguage":{"type":"string","pattern":"^[a-z]{2,3}(-[A-Z][a-z]{3})?(-([A-Z]{2}|[0-9]{3}))?$","description":"BCP-47 language tag used for speech-to-text transcription of the inbound audio.\n\nThis value determines which language model is used for transcription.","example":"en-US"},"callHeaders":{"$ref":"#/components/schemas/callHeaders"}}}},"examples":[{"type":"VOICE_RELAY","voiceRelay":{"endpoint":"wss://acme.com/agent","enableInterruptions":true,"ttsVoice":"Emma_3","sttLanguage":"en-US","callHeaders":[{"key":"my-key","value":"my-key-value"}]}}]},"to":{"title":"To","description":"Call destination - Phone Number or Stream URI","oneOf":[{"$ref":"#/components/schemas/phone"},{"$ref":"#/components/schemas/sip"},{"$ref":"#/components/schemas/stream"},{"$ref":"#/components/schemas/voiceRelay"}],"discriminator":{"propertyName":"type","mapping":{"PHONE":"#/components/schemas/phone","SIP":"#/components/schemas/sip","STREAM":"#/components/schemas/stream","VOICE_RELAY":"#/components/schemas/voiceRelay"}}},"callEvents":{"type":"object","additionalProperties":false,"title":"Call Events Webhook","description":"Webhook to handle call events, used when callBehaviors are set to WEBHOOK","properties":{"onAnswer":{"description":"SVAML commands to be executed when the call is answered","$ref":"#/components/schemas/svamlCommands"},"onBusy":{"description":"SVAML commands to be executed when the call is busy","$ref":"#/components/schemas/svamlCommands"},"onReject":{"description":"SVAML commands to be executed when the call is rejected","$ref":"#/components/schemas/svamlCommands"},"onTimeout":{"description":"SVAML commands to be executed when the call is timed out","$ref":"#/components/schemas/svamlCommands"},"onHangup":{"description":"SVAML commands to be executed when the call is hung up","$ref":"#/components/schemas/svamlCommands"},"onFailure":{"description":"SVAML commands to be executed when the call fails","$ref":"#/components/schemas/svamlCommands"}}},"dial":{"type":"object","additionalProperties":false,"title":"Dial","description":"Initiates a new outbound call leg within the current session.\n\nThis is a non-blocking command — the next command in the sequence executes immediately while the call is being established in parallel. Call lifecycle events (answer, busy, reject, timeout, hangup, failure) are handled via the `events` property.\n\nThe `from` and `to` endpoint types should ideally match. If they differ, the platform attempts to convert the `from` value to be compatible with the `to` type. For example, PSTN supports only E.164 phone numbers, so a SIP address such as `sip:46701234567@acme.se` can be converted to an E.164 number. If the `from` value cannot be converted, it defaults to null (anonymous).","required":["command","to"],"properties":{"command":{"type":"string","const":"dial","description":"Command to initiate a new call"},"callName":{"type":"string","minLength":1,"maxLength":32,"pattern":"^\\S+$","example":"outgoing","description":"Identifier for this call leg within the session. Must be unique across all active call legs in the session.\n\nOther commands (e.g., `hangup`) can reference this name to target this specific leg."},"from":{"$ref":"#/components/schemas/from"},"to":{"$ref":"#/components/schemas/to"},"dialTimeoutDurationSeconds":{"type":"integer","minimum":1,"maximum":60,"description":"Maximum time in seconds to wait for the call to be answered. If the timeout expires without an answer, the `onTimeout` event is triggered.","example":15},"maxCallDurationSeconds":{"type":"integer","minimum":1,"maximum":14400,"description":"Maximum duration of the call in seconds. The call is terminated automatically when this limit is reached.","example":3600},"events":{"$ref":"#/components/schemas/callEvents"}},"examples":[{"command":"dial","callName":"destination","from":{"type":"PHONE","phone":{"number":"+15551234567"}},"to":{"type":"PHONE","phone":{"number":"+15559876543"}},"dialTimeoutDurationSeconds":30,"maxCallDurationSeconds":3600,"events":{"onAnswer":[{"command":"messages","messages":[{"type":"SAY","say":{"text":"Your call has connected.","voiceName":"Emma_3"}}]}]}}]},"messages":{"type":"object","additionalProperties":false,"title":"Messages","description":"Plays one or more messages on the call. Multiple messages in the array are played sequentially in order.\n\nThis is a non-blocking command — the next command in the sequence executes immediately while messages play in parallel. \nPlayback outcomes are handled via the `events` property. The `onFinish` event can be used to run a command after all messages complete.","required":["command","messages"],"properties":{"command":{"type":"string","const":"messages","description":"Command to play a message on the channel"},"messagesName":{"type":"string","description":"Name of the message for identification and reference within the call session.\n\nThis name is used to uniquely identify the message and must be unique within the current call session.\nThis name can be referenced in other commands (e.g., `stopMessages`) to control this specific message.","minLength":1,"maxLength":32,"pattern":"^\\S+$","example":"my-messages"},"messages":{"$ref":"#/components/schemas/typesOfMessages"},"events":{"$ref":"#/components/schemas/messageEvents"}},"examples":[{"command":"messages","messagesName":"greeting-sequence","messages":[{"type":"SAY","say":{"text":"Hello! Your call is being connected.","voiceName":"Emma_3"}},{"type":"PLAY","play":{"url":"https://example.com/audio/hold-music.mp3"}},{"type":"SAY","say":{"text":"<speak><prosody volume=\"-6dB\">Thank you for waiting.</prosody></speak>","format":"SSML","voiceName":"Emma_3"}}]}]},"stopMessages":{"type":"object","additionalProperties":false,"title":"Stop Messages","description":"Stops a message sequence started by a `messages` command. It will also cancel any messages with specified `messagesName` that will appear in the call session in the future.\n\nThis is a non-blocking command.","required":["command","messagesName"],"properties":{"command":{"type":"string","const":"stopMessages","description":"Command to stop playing messages"},"messagesName":{"type":"string","description":"Name of the message sequence to stop, as set by `messagesName` in the `messages` command.","minLength":1,"maxLength":32,"pattern":"^\\S+$"}},"examples":[{"command":"stopMessages","messagesName":"my-messages"}]},"webhookFallbackUrl":{"title":"Webhook Fallback URL","type":"string","format":"uri","description":"Fallback webhook URL used when the primary webhook URL fails.\n\nA failed request is re-sent to this URL immediately. After repeated consecutive failures of the primary URL, requests are sent only here until the primary URL recovers.\n\nSee *Timeouts and failover* in the **Webhooks** section for the authoritative algorithm.","examples":["https://example.com/fallback"]},"webhook":{"type":"object","additionalProperties":false,"title":"Webhook","description":"Triggers a mid-call webhook to the application backend, allowing it to return a new set of SVAML commands that control the remainder of the call flow.\n\nThis is a blocking command — execution pauses until a response is received from the webhook endpoint. The next command in the sequence runs only after the backend responds. Webhook requests use a 5-second timeout. If a `fallbackUrl` is provided, a failed request is re-sent to it — see *Timeouts and failover* in the **Webhooks** section for the authoritative algorithm.","required":["command","webhookName","url"],"properties":{"command":{"type":"string","const":"webhook","description":"Command to trigger a mid-call webhook"},"webhookName":{"type":"string","minLength":1,"maxLength":64,"pattern":"^\\S+$","description":"Name for this webhook event. When triggered, the webhook request's `event` property will contain this name prepended with `call.webhook.`.\n\nFor example, if `webhookName` is set to `\"my.custom.event\"`, the event will be delivered as `\"call.webhook.my.custom.event\"`."},"url":{"type":"string","description":"URL of the webhook endpoint to send the mid-call event to.","format":"uri"},"fallbackUrl":{"$ref":"#/components/schemas/webhookFallbackUrl"}},"examples":[{"command":"webhook","webhookName":"my.custom.event","url":"https://example.com/webhook","fallbackUrl":"https://example.com/fallback"}]},"hangup":{"type":"object","additionalProperties":false,"description":"Ends a call leg. This is a non-blocking command — execution continues to the next command in the sequence even though the call has been ended. The `onHangup` event is triggered for the call leg that was ended.\n\nAny subsequent commands that target the ended call leg (such as `messages` or other media commands) are valid but will not be executed. Commands that operate independently — such as initiating a new call with `dial` — will execute normally. This makes it possible, for example, to end one call and immediately start another within the same sequence.","title":"Hangup","required":["command"],"properties":{"command":{"type":"string","const":"hangup","description":"Hangup call"},"callName":{"type":"string","description":"Name of the call leg to end, as set by `callName` in the `dial` command.\n\nIf omitted, the current call leg is ended.","minLength":1,"maxLength":32,"pattern":"^\\S+$","example":"origin"}},"examples":[{"command":"hangup","callName":"origin"}]},"answer":{"type":"object","additionalProperties":false,"title":"Answer","description":"Answers an inbound call leg. This is a non-blocking command — execution continues to the next command in the sequence immediately after the answer is initiated.","required":["command"],"properties":{"command":{"type":"string","const":"answer","description":"Answer call"}},"examples":[{"command":"answer"}]},"pause":{"type":"object","additionalProperties":false,"title":"Pause","description":"Delays execution of the next command in the sequence for a specified duration. This is a blocking command — no further commands execute until the pause completes.\n\nThe pause does not affect call audio; the call remains connected and audio continues uninterrupted.","required":["command","durationMilliseconds"],"properties":{"command":{"type":"string","const":"pause","description":"Pause execution."},"durationMilliseconds":{"type":"integer","minimum":1,"description":"Duration of the pause in milliseconds.","example":1000}},"examples":[{"command":"pause","durationMilliseconds":1500}]},"recordingFormat":{"title":"Recording Format","description":"Audio format for this recording.","type":"string","enum":["MP3","WAV"],"x-enumDescriptions":{"MP3":"MPEG Audio Layer III compressed audio format.","WAV":"Waveform Audio File Format, uncompressed audio."},"default":"MP3","examples":["MP3"]},"recordingType":{"title":"Recording Type","description":"The type of recording to perform.","type":"string","enum":["COMBINED","INBOUND","OUTBOUND"],"x-enumDescriptions":{"COMBINED":"Record inbound and outbound voice streams.","INBOUND":"Record inbound voice stream only.","OUTBOUND":"Record outbound voice stream only."},"default":"COMBINED"},"recordingDestination":{"title":"Recording Destination","type":"string","description":"Select target service to receive recorded and transcribed files","enum":["AWS","GCP","AZURE"],"x-enumDescriptions":{"AWS":"Store recordings in Amazon Web Services S3 bucket. Use `s3` as schema for the URL.","GCP":"Store recordings in Google Cloud Platform Storage. Use `gs` as schema for the URL.","AZURE":"Store recordings in Microsoft Azure Blob Storage.  Use `azure` as schema for the URL."},"default":"AWS","examples":["AWS"]},"transcriptionOptions":{"title":"Transcription Options","description":"Configuration for automatic speech-to-text transcription of the recording.","type":"object","additionalProperties":false,"required":["isEnabled"],"properties":{"isEnabled":{"type":"boolean","description":"If true, the recording will be transcribed to text.","example":true},"locale":{"type":"string","description":"Language code in BCP-47 format.","default":"en-US","example":"en-US"}}},"recordingOptions":{"title":"Recording Options","type":"object","additionalProperties":false,"description":"Recording options for this recording.","required":["destination","destinationUrl","credentials"],"properties":{"format":{"$ref":"#/components/schemas/recordingFormat"},"recordingType":{"$ref":"#/components/schemas/recordingType"},"destination":{"$ref":"#/components/schemas/recordingDestination"},"destinationUrl":{"type":"string","description":"Destination URL for the recording.","example":"s3://voice-recordings-prod/calls"},"credentials":{"type":"string","description":"Credentials to third party storage. The format depends on the scheme of `destinationUrl`:\n\n- `s3` (Amazon S3): `accessKeyId:secretAccessKey:region`. `accessKeyId` and `secretAccessKey` are an AWS access key pair of an IAM user that is allowed to upload objects to the bucket. `region` is the AWS region code of the bucket, for example `eu-central-1`. Access keys are created in the AWS Management Console under **IAM** > **Users** > **Security credentials**.\n- `gs` (Google Cloud Storage): `accessKey:secret`. `accessKey` and `secret` are a Cloud Storage HMAC key of a service account that is allowed to create objects in the bucket. HMAC keys are created in the Google Cloud console under **Cloud Storage** > **Settings** > **Interoperability**.\n- `azure` (Azure Blob Storage): `accountKey`. `accountKey` is an access key of the storage account named in `destinationUrl`, which has the form `azure://{storageAccountName}/{containerName}/{path}`. Account keys are listed in the Azure portal under **Security + networking** > **Access keys** of the storage account. Shared access signature (SAS) tokens and connection strings are not supported as credentials.","example":"accessKeyId:secretAccessKey:eu-central-1","format":"password"},"transcriptionOptions":{"$ref":"#/components/schemas/transcriptionOptions"}}},"recordingEvents":{"type":"object","additionalProperties":false,"title":"Recording Events","description":"SVAML commands to execute based on recording lifecycle outcomes.\n","properties":{"onFinish":{"description":"Commands to execute when the recording is successfully stopped. Note that this does not mean that the file is delivered to the configured destination yet.\n","$ref":"#/components/schemas/svamlCommands"},"onFailure":{"description":"Commands to execute if the recording fails to start. If omitted, failures are silently ignored and the call flow continues.\n","$ref":"#/components/schemas/svamlCommands"}}},"startRecording":{"type":"object","additionalProperties":false,"title":"Start Recording","required":["command","recordingOptions"],"description":"Starts recording the call. This is a non-blocking command — execution continues to the next command in the sequence immediately after recording begins.","properties":{"command":{"type":"string","const":"startRecording","description":"Command to start recording on the channel"},"recordingName":{"type":"string","description":"Identifier for this recording within the session. Must be unique across active recordings in the session.\n\nOther commands (e.g., `stopRecording`) reference this name to target a specific recording.\n\nSetting the recording name is useful for stopping the recording using the `stopRecording` command. If name is not set, recording can only be stopped when the call is disconnected.","minLength":1,"maxLength":32,"pattern":"^\\S+$","example":"my-recording"},"recordingOptions":{"$ref":"#/components/schemas/recordingOptions"},"events":{"$ref":"#/components/schemas/recordingEvents"}},"examples":[{"command":"startRecording","recordingName":"customer-support-recording","recordingOptions":{"format":"MP3","recordingType":"COMBINED","destination":"AWS","destinationUrl":"s3://voice-recordings-prod/calls","credentials":"accessKeyId:secretAccessKey:eu-central-1","transcriptionOptions":{"isEnabled":true,"locale":"en-US"}},"events":{"onFinish":[{"command":"hangup"}],"onFailure":[{"command":"messages","messages":[{"type":"SAY","say":{"text":"Recording could not be started for this call.","voiceName":"Emma_3"}}]}]}}]},"stopRecording":{"type":"object","additionalProperties":false,"title":"Stop Recording","description":"Stops a recording previously started by a `startRecording` command. This is a non-blocking command — execution continues to the next command in the sequence immediately after the stop is initiated.","required":["command","recordingName"],"properties":{"command":{"type":"string","const":"stopRecording","description":"Command to stop recording on the channel"},"recordingName":{"type":"string","description":"Name of the recording to stop, as set by `recordingName` in the `startRecording` command.","minLength":1,"maxLength":32,"pattern":"^\\S+$","example":"my-recording"}}},"bridgeCall":{"type":"object","additionalProperties":false,"title":"Add call to bridge","description":"Adds the current call to a bridge, enabling bidirectional audio communication with other calls in the same session. This is a non-blocking command — execution continues to the next command in the sequence immediately after the call joins the bridge.\n\nBridges are created automatically when referenced by name. If a bridge with the specified name already exists, the call joins that bridge; otherwise, a new bridge is created.","required":["command","bridgeName"],"properties":{"command":{"type":"string","const":"bridgeCall","description":"Command to add the call to a bridge"},"bridgeName":{"type":"string","minLength":1,"maxLength":32,"pattern":"^\\S+$","description":"Name of the bridge to join. If no bridge with this name exists in the session, a new one is created automatically."}},"examples":[{"command":"bridgeCall","bridgeName":"my_bridge"}]},"menuPrompt":{"type":"object","additionalProperties":false,"title":"Menu Prompt","description":"Prompt configuration for menu playback, including prompt messages and barge-in behavior.","required":["messages"],"properties":{"allowBargeIn":{"type":"boolean","description":"Controls whether input can interrupt prompt playback.\n\nWhen enabled, playback stops as soon as input is detected and the input is evaluated immediately if matching conditions are met.\n\nWhen disabled, input is still collected during playback and evaluated after playback finishes.","default":true},"messages":{"$ref":"#/components/schemas/typesOfMessages"}}},"menuItem":{"type":"object","additionalProperties":false,"title":"Menu Item","description":"Defines a single menu step, including prompts, input handling rules, input-to-command matches, and failure handling.\n\nEach collected input is matched against the values in the `matches` property.\nIf no match succeeds, the `onFailure` commands are executed.\n\nIf no match succeeds and `onFailure` is not defined, a `call.menu` webhook request including the collected input is sent when the service call behavior is set to `WEBHOOK`.","properties":{"prompt":{"$ref":"#/components/schemas/menuPrompt","description":"Prompt played when this menu starts.\n\nThis prompt is also used as the repeat prompt when repeatPrompt is not defined for the menu."},"repeatPrompt":{"$ref":"#/components/schemas/menuPrompt","description":"Prompt played when the menu is repeated.\n\nRepeats occur when input times out or when the provided input does not match any menu match item. If not specified, the initial prompt is used as the repeat prompt.\n\nA repeat prompt can only be defined when a prompt is also defined for this menu item."},"inputTimeoutDurationSeconds":{"type":"integer","description":"Maximum number of seconds to wait for user input before the input attempt times out.","minimum":1,"maximum":60,"default":5,"example":10},"repeatCount":{"type":"integer","description":"Maximum number of times the menu is repeated.\n\nA repeat occurs when input times out or when the provided input does not match any menu match item.","minimum":0,"maximum":10,"default":2,"example":3},"minimumInputLength":{"type":"integer","description":"Minimum number of input characters required before the menu evaluates the collected input.","minimum":1,"maximum":100,"default":1,"example":3},"maximumInputLength":{"type":"integer","description":"Maximum number of input characters that triggers the menu to evaluate the collected input.","minimum":1,"maximum":100,"default":1,"example":10},"terminatingSequence":{"type":"string","pattern":"^[0-9*#]+$","description":"Character sequence that signals the end of input and triggers immediate evaluation.\n\nUseful when variable-length input is allowed and shorter valid options should be submitted without waiting for timeout or maximum length.\n\nThe terminating sequence value is included in the evaluated input.","maxLength":10},"inputMethods":{"type":"array","description":"Input methods accepted for this menu when collecting user input.","default":["DTMF"],"items":{"type":"string","enum":["DTMF"],"x-enumDescriptions":{"DTMF":"Collect input from keypad tones (Dual-Tone Multi-Frequency)."}}},"matches":{"type":"object","description":"Items matched against the collected input. Maximum number of allowed match expressions is 50.\n\nDefined as a dictionary where each property name is a literal or a regular expression string.\n\nValues are evaluated in the order they are defined.","maxProperties":50,"propertyNames":{"type":"string","minLength":1,"maxLength":256,"description":"A regular expression or literal string to match against the collected user input. Must not be empty.\n\nProperty keys are evaluated sequentially in the order defined. The first key that matches the input will trigger its associated SVAML commands.\n\n**Note**: Use `\\\\*` to match the DTMF star tone (*)."},"additionalProperties":{"$ref":"#/components/schemas/svamlCommands"}},"onFailure":{"$ref":"#/components/schemas/svamlCommands","description":"SVAML commands executed when the menu fails to collect a matching input.\n\nThis handler runs after the repeat limit is reached without any input matching a menu match item."}}},"menu":{"type":"object","additionalProperties":false,"title":"Run menus","description":"Defines a set of named menus and executes them starting from startMenu. This is a blocking command — execution waits for the menu to complete before proceeding to the next command.\n\nEach menu item configures prompts, input collection, timeout handling, and repeat behavior.","required":["command","startMenu","menus"],"properties":{"command":{"type":"string","const":"menu","description":"Executes menu-based input collection using the configured menu definitions."},"startMenu":{"type":"string","minLength":1,"maxLength":16,"description":"Name of the menu to execute first. Must match a key in menus."},"menus":{"type":"object","propertyNames":{"type":"string","maxLength":16},"description":"Map of menu definitions keyed by menu name.","additionalProperties":{"$ref":"#/components/schemas/menuItem"}}},"examples":[{"command":"menu","startMenu":"main","menus":{"main":{"prompt":{"allowBargeIn":true,"messages":[{"type":"SAY","say":{"text":"Press 1 for sales or 2 for support.","voiceName":"Emma_3"}}]},"repeatPrompt":{"allowBargeIn":true,"messages":[{"type":"SAY","say":{"text":"Invalid option. Press 1 for sales or 2 for support.","voiceName":"Emma_3"}}]},"inputTimeoutDurationSeconds":5,"repeatCount":2,"minimumInputLength":1,"maximumInputLength":1,"inputMethods":["DTMF"],"matches":{"1":[{"command":"messages","messages":[{"type":"SAY","say":{"text":"Connecting to sales.","voiceName":"Emma_3"}}]},{"command":"dial","callName":"sales","to":{"type":"PHONE","phone":{"number":"+15551234567"}}}],"2":[{"command":"messages","messages":[{"type":"SAY","say":{"text":"Connecting to support.","voiceName":"Emma_3"}}]},{"command":"dial","callName":"support","to":{"type":"PHONE","phone":{"number":"+15557654321"}}}]},"onFailure":[{"command":"messages","messages":[{"type":"SAY","say":{"text":"Sorry, no valid selection was received.","voiceName":"Emma_3"}}]},{"command":"hangup"}]}}}]},"gotoMenu":{"type":"object","additionalProperties":false,"title":"Goto Menu","description":"Switches execution to another menu within the current menu context. The menu name must be a menu defined in the `menu` command. This is a blocking command — execution waits for the menu to complete before proceeding to the next command.\n\n**Important**: this command can only be called within a menu execution context.","required":["command","menuName"],"properties":{"command":{"type":"string","const":"gotoMenu","description":"Switch execution to another menu within the current menu context."},"menuName":{"type":"string","description":"Name of the target menu to execute next. Must match a key in menus.","minLength":1,"maxLength":16}}},"svamlCommand":{"title":"SVAML Command","type":"object","description":"A single SVAML (Sinch Voice Application Markup Language) command that controls call behavior.\n\nThe `command` property acts as a discriminator and determines which command schema applies. When multiple commands appear in a `svamlCommands` array, they execute sequentially in order.\n\n**Available commands:**\n- `dial` — Initiate an outbound call leg within the session.\n- `messages` — Play one or more TTS or audio messages on the call.\n- `stopMessages` — Stop a currently playing message sequence.\n- `webhook` — Trigger a mid-call webhook to the application backend for dynamic call control.\n- `amd` — Detect whether the call was answered by a human or an answering machine.\n- `hangup` — End the call or a specific call leg within the session.\n- `answer` — Explicitly answer an incoming call leg before executing further commands.\n- `pause` — Delay script execution without affecting call audio.\n- `startRecording` — Begin recording the call.\n- `stopRecording` — Stop an active call recording.\n- `bridgeCall` — Add the call to a named bridge for multi-party audio.\n- `menu` — Run menu-based input collection and route the call based on collected input.\n- `gotoMenu` — Switch execution to another named menu within the current menu context.","oneOf":[{"$ref":"#/components/schemas/amd"},{"$ref":"#/components/schemas/dial"},{"$ref":"#/components/schemas/messages"},{"$ref":"#/components/schemas/stopMessages"},{"$ref":"#/components/schemas/webhook"},{"$ref":"#/components/schemas/hangup"},{"$ref":"#/components/schemas/answer"},{"$ref":"#/components/schemas/pause"},{"$ref":"#/components/schemas/startRecording"},{"$ref":"#/components/schemas/stopRecording"},{"$ref":"#/components/schemas/bridgeCall"},{"$ref":"#/components/schemas/menu"},{"$ref":"#/components/schemas/gotoMenu"}],"discriminator":{"propertyName":"command","mapping":{"amd":"#/components/schemas/amd","dial":"#/components/schemas/dial","messages":"#/components/schemas/messages","stopMessages":"#/components/schemas/stopMessages","webhook":"#/components/schemas/webhook","hangup":"#/components/schemas/hangup","answer":"#/components/schemas/answer","pause":"#/components/schemas/pause","startRecording":"#/components/schemas/startRecording","stopRecording":"#/components/schemas/stopRecording","bridgeCall":"#/components/schemas/bridgeCall","menu":"#/components/schemas/menu","gotoMenu":"#/components/schemas/gotoMenu"}}},"messageEvents":{"type":"object","additionalProperties":false,"title":"Message Events","description":"SVAML commands to execute based on message playback outcomes.\n","properties":{"onFinish":{"description":"Commands to execute when all messages in the sequence have finished playing.\n","$ref":"#/components/schemas/svamlCommands"}}}}}},"schemaResolvedErrors":[]},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"stopmessages","__idx":7},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["stopMessages"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Stop any ongoing message playback."]},{"$$mdtype":"Tag","name":"JsonExample","attributes":{"json":{"command":"stopMessages","messagesName":"my-messages"},"errors":[]},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Schema:"]}]},{"$$mdtype":"Tag","name":"JsonSchema","attributes":{"schema":{"$ref":"./voice.yaml#/components/schemas/stopMessages"},"options":{},"schemaResolved":{"openapi":"3.1.0","components":{"schemas":{"__root":{"$ref":"#/components/schemas/stopMessages"},"stopMessages":{"type":"object","additionalProperties":false,"title":"Stop Messages","description":"Stops a message sequence started by a `messages` command. It will also cancel any messages with specified `messagesName` that will appear in the call session in the future.\n\nThis is a non-blocking command.","required":["command","messagesName"],"properties":{"command":{"type":"string","const":"stopMessages","description":"Command to stop playing messages"},"messagesName":{"type":"string","description":"Name of the message sequence to stop, as set by `messagesName` in the `messages` command.","minLength":1,"maxLength":32,"pattern":"^\\S+$"}},"examples":[{"command":"stopMessages","messagesName":"my-messages"}]}}}},"schemaResolvedErrors":[]},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"pause","__idx":8},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pause"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Temporarily halt call commands or media playback."]},{"$$mdtype":"Tag","name":"JsonExample","attributes":{"json":{"command":"pause","durationMilliseconds":1500},"errors":[]},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Schema:"]}]},{"$$mdtype":"Tag","name":"JsonSchema","attributes":{"schema":{"$ref":"./voice.yaml#/components/schemas/pause"},"options":{},"schemaResolved":{"openapi":"3.1.0","components":{"schemas":{"__root":{"$ref":"#/components/schemas/pause"},"pause":{"type":"object","additionalProperties":false,"title":"Pause","description":"Delays execution of the next command in the sequence for a specified duration. This is a blocking command — no further commands execute until the pause completes.\n\nThe pause does not affect call audio; the call remains connected and audio continues uninterrupted.","required":["command","durationMilliseconds"],"properties":{"command":{"type":"string","const":"pause","description":"Pause execution."},"durationMilliseconds":{"type":"integer","minimum":1,"description":"Duration of the pause in milliseconds.","example":1000}},"examples":[{"command":"pause","durationMilliseconds":1500}]}}}},"schemaResolvedErrors":[]},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"hangup","__idx":9},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["hangup"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["End a call or disconnect a participant."]},{"$$mdtype":"Tag","name":"JsonExample","attributes":{"json":{"command":"hangup","callName":"origin"},"errors":[]},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Schema:"]}]},{"$$mdtype":"Tag","name":"JsonSchema","attributes":{"schema":{"$ref":"./voice.yaml#/components/schemas/hangup"},"options":{},"schemaResolved":{"openapi":"3.1.0","components":{"schemas":{"__root":{"$ref":"#/components/schemas/hangup"},"hangup":{"type":"object","additionalProperties":false,"description":"Ends a call leg. This is a non-blocking command — execution continues to the next command in the sequence even though the call has been ended. The `onHangup` event is triggered for the call leg that was ended.\n\nAny subsequent commands that target the ended call leg (such as `messages` or other media commands) are valid but will not be executed. Commands that operate independently — such as initiating a new call with `dial` — will execute normally. This makes it possible, for example, to end one call and immediately start another within the same sequence.","title":"Hangup","required":["command"],"properties":{"command":{"type":"string","const":"hangup","description":"Hangup call"},"callName":{"type":"string","description":"Name of the call leg to end, as set by `callName` in the `dial` command.\n\nIf omitted, the current call leg is ended.","minLength":1,"maxLength":32,"pattern":"^\\S+$","example":"origin"}},"examples":[{"command":"hangup","callName":"origin"}]}}}},"schemaResolvedErrors":[]},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"webhook","__idx":10},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["webhook"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Execute a webhook to your backend for dynamic call control, expecting SVAML commands in response."]},{"$$mdtype":"Tag","name":"JsonExample","attributes":{"json":{"command":"webhook","webhookName":"my.custom.event","url":"https://example.com/webhook","fallbackUrl":"https://example.com/fallback"},"errors":[]},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Schema:"]}]},{"$$mdtype":"Tag","name":"JsonSchema","attributes":{"schema":{"$ref":"./voice.yaml#/components/schemas/webhook"},"options":{},"schemaResolved":{"openapi":"3.1.0","components":{"schemas":{"__root":{"$ref":"#/components/schemas/webhook"},"webhookFallbackUrl":{"title":"Webhook Fallback URL","type":"string","format":"uri","description":"Fallback webhook URL used when the primary webhook URL fails.\n\nA failed request is re-sent to this URL immediately. After repeated consecutive failures of the primary URL, requests are sent only here until the primary URL recovers.\n\nSee *Timeouts and failover* in the **Webhooks** section for the authoritative algorithm.","examples":["https://example.com/fallback"]},"webhook":{"type":"object","additionalProperties":false,"title":"Webhook","description":"Triggers a mid-call webhook to the application backend, allowing it to return a new set of SVAML commands that control the remainder of the call flow.\n\nThis is a blocking command — execution pauses until a response is received from the webhook endpoint. The next command in the sequence runs only after the backend responds. Webhook requests use a 5-second timeout. If a `fallbackUrl` is provided, a failed request is re-sent to it — see *Timeouts and failover* in the **Webhooks** section for the authoritative algorithm.","required":["command","webhookName","url"],"properties":{"command":{"type":"string","const":"webhook","description":"Command to trigger a mid-call webhook"},"webhookName":{"type":"string","minLength":1,"maxLength":64,"pattern":"^\\S+$","description":"Name for this webhook event. When triggered, the webhook request's `event` property will contain this name prepended with `call.webhook.`.\n\nFor example, if `webhookName` is set to `\"my.custom.event\"`, the event will be delivered as `\"call.webhook.my.custom.event\"`."},"url":{"type":"string","description":"URL of the webhook endpoint to send the mid-call event to.","format":"uri"},"fallbackUrl":{"$ref":"#/components/schemas/webhookFallbackUrl"}},"examples":[{"command":"webhook","webhookName":"my.custom.event","url":"https://example.com/webhook","fallbackUrl":"https://example.com/fallback"}]}}}},"schemaResolvedErrors":[]},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"startrecording","__idx":11},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["startRecording"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Starts a recording of the call channel."]},{"$$mdtype":"Tag","name":"JsonExample","attributes":{"json":{"command":"startRecording","recordingName":"customer-support-recording","recordingOptions":{"format":"MP3","recordingType":"COMBINED","destination":"AWS","destinationUrl":"s3://voice-recordings-prod/calls","credentials":"accessKeyId:secretAccessKey:eu-central-1","transcriptionOptions":{"isEnabled":true,"locale":"en-US"}},"events":{"onFinish":[{"command":"hangup"}],"onFailure":[{"command":"messages","messages":[{"type":"SAY","say":{"text":"Recording could not be started for this call.","voiceName":"Emma_3"}}]}]}},"errors":[]},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Schema:"]}]},{"$$mdtype":"Tag","name":"JsonSchema","attributes":{"schema":{"$ref":"./voice.yaml#/components/schemas/startRecording"},"options":{},"schemaResolved":{"openapi":"3.1.0","components":{"schemas":{"__root":{"$ref":"#/components/schemas/startRecording"},"recordingFormat":{"title":"Recording Format","description":"Audio format for this recording.","type":"string","enum":["MP3","WAV"],"x-enumDescriptions":{"MP3":"MPEG Audio Layer III compressed audio format.","WAV":"Waveform Audio File Format, uncompressed audio."},"default":"MP3","examples":["MP3"]},"recordingType":{"title":"Recording Type","description":"The type of recording to perform.","type":"string","enum":["COMBINED","INBOUND","OUTBOUND"],"x-enumDescriptions":{"COMBINED":"Record inbound and outbound voice streams.","INBOUND":"Record inbound voice stream only.","OUTBOUND":"Record outbound voice stream only."},"default":"COMBINED"},"recordingDestination":{"title":"Recording Destination","type":"string","description":"Select target service to receive recorded and transcribed files","enum":["AWS","GCP","AZURE"],"x-enumDescriptions":{"AWS":"Store recordings in Amazon Web Services S3 bucket. Use `s3` as schema for the URL.","GCP":"Store recordings in Google Cloud Platform Storage. Use `gs` as schema for the URL.","AZURE":"Store recordings in Microsoft Azure Blob Storage.  Use `azure` as schema for the URL."},"default":"AWS","examples":["AWS"]},"transcriptionOptions":{"title":"Transcription Options","description":"Configuration for automatic speech-to-text transcription of the recording.","type":"object","additionalProperties":false,"required":["isEnabled"],"properties":{"isEnabled":{"type":"boolean","description":"If true, the recording will be transcribed to text.","example":true},"locale":{"type":"string","description":"Language code in BCP-47 format.","default":"en-US","example":"en-US"}}},"recordingOptions":{"title":"Recording Options","type":"object","additionalProperties":false,"description":"Recording options for this recording.","required":["destination","destinationUrl","credentials"],"properties":{"format":{"$ref":"#/components/schemas/recordingFormat"},"recordingType":{"$ref":"#/components/schemas/recordingType"},"destination":{"$ref":"#/components/schemas/recordingDestination"},"destinationUrl":{"type":"string","description":"Destination URL for the recording.","example":"s3://voice-recordings-prod/calls"},"credentials":{"type":"string","description":"Credentials to third party storage. The format depends on the scheme of `destinationUrl`:\n\n- `s3` (Amazon S3): `accessKeyId:secretAccessKey:region`. `accessKeyId` and `secretAccessKey` are an AWS access key pair of an IAM user that is allowed to upload objects to the bucket. `region` is the AWS region code of the bucket, for example `eu-central-1`. Access keys are created in the AWS Management Console under **IAM** > **Users** > **Security credentials**.\n- `gs` (Google Cloud Storage): `accessKey:secret`. `accessKey` and `secret` are a Cloud Storage HMAC key of a service account that is allowed to create objects in the bucket. HMAC keys are created in the Google Cloud console under **Cloud Storage** > **Settings** > **Interoperability**.\n- `azure` (Azure Blob Storage): `accountKey`. `accountKey` is an access key of the storage account named in `destinationUrl`, which has the form `azure://{storageAccountName}/{containerName}/{path}`. Account keys are listed in the Azure portal under **Security + networking** > **Access keys** of the storage account. Shared access signature (SAS) tokens and connection strings are not supported as credentials.","example":"accessKeyId:secretAccessKey:eu-central-1","format":"password"},"transcriptionOptions":{"$ref":"#/components/schemas/transcriptionOptions"}}},"svamlCommands":{"type":"array","title":"SVAML Commands","description":"An ordered list of SVAML v2 (Sinch Voice Application Markup Language) commands that describe a call flow. Commands are executed sequentially in the order they are defined.\n\n**Blocking vs. non-blocking:** Some commands block execution until they complete (`pause`, `webhook`, `menu`, `gotoMenu`), while others return immediately and run in parallel (`dial`, `messages`, `amd`, `answer`, `hangup`, `startRecording`, `stopRecording`, `bridgeCall`, `stopMessages`). Each command's description specifies its behavior.\n\n**Nesting scope:** Commands that appear inside event handlers (e.g., `dial.events.onAnswer`, `messages.events.onFinish`) form independent sequences and execute in their own context — they are not continuations of the parent sequence.\n\n**Nesting depth:** A SVAML payload can be nested at most 128 levels deep, counting every JSON object and array from the root of the document. Each command nested inside an event handler adds three levels (the command object, its `events` object and the handler array), which allows roughly 40 levels of nested commands. A request that exceeds the limit is rejected with `400 Bad Request`; a webhook response that exceeds it counts as a failed delivery.","items":{"$ref":"#/components/schemas/svamlCommand"}},"amdEvents":{"type":"object","additionalProperties":false,"title":"AMD Events","description":"SVAML commands to execute based on the answering machine detection result. These events define different call flows depending on whether a human, machine, beep, or unknown entity answers the call, or whether a machine answered without a beep being detected.","properties":{"onHuman":{"description":"SVAML commands to be executed when a human is detected","$ref":"#/components/schemas/svamlCommands"},"onMachine":{"description":"SVAML commands to be executed when a machine is detected","$ref":"#/components/schemas/svamlCommands"},"onBeep":{"description":"SVAML commands to be executed when a beep is detected","$ref":"#/components/schemas/svamlCommands"},"onNoBeep":{"description":"SVAML commands to be executed when a machine is detected, but no beep is detected. This event follows `onMachine` and is mutually exclusive with `onBeep`.","$ref":"#/components/schemas/svamlCommands"},"onUnknown":{"description":"SVAML commands to be executed when an unknown event is detected","$ref":"#/components/schemas/svamlCommands"}}},"amd":{"type":"object","additionalProperties":false,"title":"Answering Machine Detection","description":"AMD (Answering Machine Detection) command to detect what answered the call. Possible outcomes are: human, machine, beep, no beep, or unknown.\n\nThis is a non-blocking command — the next command in the sequence executes immediately while detection runs in parallel. Results are delivered via the `events` property.","required":["command"],"properties":{"command":{"type":"string","const":"amd","description":"Command to run Answering Machine Detection on the call"},"events":{"$ref":"#/components/schemas/amdEvents"}},"examples":[{"command":"amd","events":{"onHuman":[{"command":"pause","durationMilliseconds":1000},{"command":"bridgeCall","bridgeName":"my-bridge"}],"onBeep":[{"command":"messages","messagesName":"my-amd-messages","messages":[{"type":"SAY","say":{"text":"Hello, this is a test message","voiceName":"Emma_3"}}]}]}}]},"phoneNumber":{"title":"Phone Number","type":"string","pattern":"^\\+[1-9]\\d{1,14}$","minLength":3,"maxLength":16,"description":"E.164 Phone number","examples":["+4673522488"]},"phone":{"type":"object","additionalProperties":false,"title":"Phone","description":"Routes the call to a phone number on the Public Switched Telephone Network (PSTN).","required":["type","phone"],"properties":{"type":{"type":"string","const":"PHONE","description":"Routes the call to a phone number on the Public Switched Telephone Network (PSTN). The number must be in E.164 format."},"phone":{"type":"object","additionalProperties":false,"required":["number"],"properties":{"number":{"$ref":"#/components/schemas/phoneNumber"}}}},"examples":[{"type":"PHONE","phone":{"number":"+4673522488"}}]},"sipFrom":{"type":"object","additionalProperties":false,"title":"SIP Origin","required":["type","sip"],"properties":{"type":{"type":"string","const":"SIP","description":"Indicates the call originated from a SIP (Session Initiation Protocol) endpoint."},"sip":{"type":"object","additionalProperties":false,"required":["endpoint"],"properties":{"endpoint":{"type":"string","description":"SIP URI of the originating endpoint. Both `sip:` (unencrypted) and `sips:` (TLS-encrypted) schemes are supported.","format":"uri","pattern":"^sips?:.*\\S$","maxLength":192},"displayName":{"type":"string","description":"Display name presented to the called party as the caller identity. Transmitted as the display name part of the SIP `From` header (for example, `Alice <sip:alice@example.com>`).","maxLength":64,"example":"Alice"}}}},"examples":[{"type":"SIP","sip":{"endpoint":"sip:user@example.com","displayName":"Alice"}}]},"from":{"description":"Call origin - Phone Number or SIP endpoint","oneOf":[{"$ref":"#/components/schemas/phone"},{"$ref":"#/components/schemas/sipFrom"}],"discriminator":{"propertyName":"type","mapping":{"PHONE":"#/components/schemas/phone","SIP":"#/components/schemas/sipFrom"}}},"sipCallHeaders":{"type":"array","description":"Custom SIP headers to be sent in the call setup.","maxItems":16,"items":{"type":"object","additionalProperties":false,"required":["key"],"properties":{"key":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[-A-Za-z0-9.!%*_+`'~]+$","description":"Name of the SIP header.","example":"X-Correlation-Id"},"value":{"type":"string","maxLength":255,"description":"Value of the SIP header.","example":"12345"}}},"examples":[[{"key":"X-Correlation-Id","value":"12345"},{"key":"X-Call-Routing","value":"forwarded"}]]},"sip":{"type":"object","additionalProperties":false,"title":"SIP Endpoint","required":["type","sip"],"properties":{"type":{"type":"string","const":"SIP","description":"Routes the call to a SIP (Session Initiation Protocol) endpoint."},"sip":{"type":"object","additionalProperties":false,"required":["endpoint"],"properties":{"endpoint":{"type":"string","description":"SIP URI of the destination endpoint. Both `sip:` (unencrypted) and `sips:` (TLS-encrypted) schemes are supported.","format":"uri","maxLength":256,"pattern":"^sips?:.*\\S$"},"transport":{"type":"string","description":"Transport protocol to use for the SIP signalling channel.\n\nIf omitted, the platform selects a default based on the URI scheme: `UDP` for `sip:` and `TLS` for `sips:`. Setting this explicitly overrides that default — for example, to force `TCP` for a `sip:` URI or to use `TLS` without switching to the `sips:` scheme.","enum":["UDP","TCP","TLS"],"x-enumDescriptions":{"UDP":"Connectionless transport. Lowest overhead; suitable for most standard SIP deployments.","TCP":"Connection-oriented transport. More reliable for large SIP messages or NAT traversal scenarios.","TLS":"Encrypted transport. Provides confidentiality and integrity for SIP signalling."}},"callHeaders":{"$ref":"#/components/schemas/sipCallHeaders"}}}},"examples":[{"type":"SIP","sip":{"endpoint":"sip:user@example.com","transport":"TCP","callHeaders":[{"key":"X-Correlation-Id","value":"12345"},{"key":"X-Call-Routing","value":"forwarded"}]}}]},"callHeaders":{"type":"array","description":"Custom headers to be sent in the call setup.","maxItems":16,"items":{"type":"object","additionalProperties":false,"required":["key"],"properties":{"key":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[\\x21-\\x7e]+([\\x20\\t]+[\\x21-\\x7e]+)*$","description":"Name of the header. No leading or trailing whitespaces allowed.","example":"headerKey"},"value":{"type":"string","maxLength":255,"pattern":"^([\\x21-\\x7e]+([\\x20\\t]+[\\x21-\\x7e]+)*)?$","description":"Value of the header. No leading or trailing whitespaces allowed.","example":"headerValue"}}},"examples":[[{"key":"headerKey","value":"headerValue"},{"key":"anotherKey","value":"anotherValue"}]]},"stream":{"type":"object","additionalProperties":false,"title":"Stream","description":"Routes the call to a WebSocket stream endpoint for real-time audio processing.","required":["type","stream"],"properties":{"type":{"type":"string","const":"STREAM","description":"Routes the call to a WebSocket stream endpoint for real-time audio processing."},"stream":{"type":"object","additionalProperties":false,"required":["endpoint"],"properties":{"endpoint":{"type":"string","description":"WebSocket endpoint that will accept the incoming connection for real-time audio streaming. Must be a valid WebSocket URL using either `ws://` or `wss://` (recommended). The URL must be reachable from the public internet and capable of handling the negotiated stream protocol.","example":"wss://example.com"},"streamOptions":{"type":"object","additionalProperties":false,"properties":{"version":{"type":"integer","const":1,"description":"Defines the version of the stream protocol, which determines the format of the binary audio messages exchanged over the WebSocket connection.\n\nCurrently, only version `1` is supported: binary messages contain only audio data, and audio received from the WebSocket server is played as soon as it is received.","default":1,"example":1},"codec":{"type":"string","const":"PCM","description":"Defines the audio codec/format used for the stream audio payload.\n\nCurrently, only `PCM` is supported (uncompressed raw audio). Use `sampleRate` to configure the sampling rate for the stream."},"sampleRate":{"type":"integer","description":"Defines the audio sampling rate (Hz) used for the stream.\n\nFor calls that traverse the PSTN, audio is typically sampled at 8 kHz, so using a higher value will not improve perceived quality. \nHigher sample rates can be useful for non-PSTN scenarios (for example, SIP/streaming paths), but will increase bandwidth usage and processing load.","enum":[8000,16000,24000,44100,48000,96000],"x-enumDescriptions":{"8000":"8 kHz (standard for PSTN calls)","16000":"16 kHz (wideband audio)","24000":"24 kHz (super-wideband audio)","44100":"44.1 kHz (CD quality audio)","48000":"48 kHz (professional audio quality)","96000":"96 kHz (high-resolution audio)"},"default":8000,"example":16000}}},"callHeaders":{"$ref":"#/components/schemas/callHeaders"}},"examples":[{"endpoint":"wss://example.com","streamOptions":{"version":1,"codec":"PCM","sampleRate":8000},"callHeaders":[{"key":"my-key","value":"my-key-value"}]}]}},"examples":[{"type":"STREAM","stream":{"endpoint":"wss://example.com","streamOptions":{"version":1,"codec":"PCM","sampleRate":16000},"callHeaders":[{"key":"my-key","value":"my-key-value"}]}}]},"voiceName":{"type":"string","description":"Sinch Voice Name to use for text-to-speech. Each voice is tied to a specific language variant, gender, and pricing model (Free/Standard or Paid/Generative). See [https://developers.sinch.com/docs/voice-2.0/api-reference/text-to-speech-voices#text-to-speech-voices](https://developers.sinch.com/docs/voice-2.0/api-reference/text-to-speech-voices#currently-available-languages) for details","example":"Emma_3","enum":["Aarav","Aarav_2","Aarohi","Aarti","Aarti_2","Aarti_3","Aashi","Abbi","Abdullah","Abeo","Abril","Achara","Ada","Ada_2","Adam","Adam_2","Aditi","Adri","Adriano","Agnieszka","Ahmet","Aigul","Ainhoa","Alain","Alba","Aled","Aleksandar","Alessio","Alessio_2","Alex","Alfie","Ali","Alina","Alloy","Alloy_2","Alonso","Alvaro","Amal","Amala","Amanda","Amany","Amber","Ambre","Ameha","Amina","Amy","Amy_2","Amy_3","Ana","Anahit","Ananya","Ananya_2","Anbu","Ander","Andre","Andre_2","Andrea","Andres","Andrew","Andrew_2","Andrew_3","Angelo","Anila","Annette","Antoine","Antonin","Antonio","Anu","Aoi","Arabella","Ardi","Aria","Aria_2","Ariane","Arjun","Arjun_2","Arjun_3","Arlet","Arnau","Arnaud","Arthur","Arya","Arya_2","Asad","Ashley","Asilia","Astrid","Athina","Ava","Ava_2","Ava_3","Avri","Ayanda","Ayanda_2","Aysha","Babek","Banu","Bashkar","Bassel","Bataa","Beatrice","Beatriz","Belkys","Bella","Benigno","Bernd","Bianca","Bianca_2","Bianca_3","Blessica","BongJin","Borislav","Brandon","Brandon_2","Bree","Brenda","Brian","Brian_2","Brian_3","Brigitte","Bryan","Bryan_2","Bryan_3","Burcu","Calimero","Camila","Camilla","Camilla_2","Camilla_3","Candela","Carla","Carlos","Carlota","Carly","Carmen","Cataldo","Catalina","Cecilio","Celeste","Celine","Celine_2","Chantal","Chanthavong","Charline","Chilemba","Christel","Christoph","Christopher","Christopher_2","Clara","Claude","Colette","Colm","Conchita","Connor","Conrad","Cora","Cora_2","Coralie","Cristiano","Daichi","Dalia","Dalia_2","Daniel","Daniel_2","Danielle","Danielle_2","Dario","Dariya","Darren","Daudi","Daulet","Davis","Davis_2","Davis_3","Dena","Denise","Derek","Dhwani","Diego","Dilara","Dimas","Dmitry","Donato","Dora","Duarte","Duncan","Dustin","Echo","Eka","Elena","Elias","Elimu","Elin","Elizabeth","Elke","Elliot","Eloise","Elsa","Elsie","Elvira","Elza","Emel","Emil","Emilio","Emily","Emma","Emma_2","Emma_3","Enric","Enrique","Eric","Estrella","Ethan","Evelyn","Everita","Ewa","Ewa_2","Ezinne","Fabio","Fabiola","Fable","Fabrice","Fahed","Farid","Fatima","Federico","Fenna","Fernanda","Fiamma","Filiz","Finn","Florian","Florian_2","Florin","Francisca","Freya","Gabrielle","Gabrielle_2","Gabrijela","Gadis","Gagan","Gemma","Gemma_2","Geraint","Gerard","Gerardo","Gianni","Giorgi","Giorgio","Giovanna","Gisela","Giuseppe","Giuseppe_2","Gonzalo","GookMin","Goran","Grace","Gregory","Gudrun","Gul","GulNawaz","Gunnar","Guy","Gwyneth","Hala","Hamdan","Hamed","Hannah","Hannah_2","Hans","Harri","Hayk","Hedi","Hemkala","Henri","Hila","Hillevi","HiuGaai","Hiujin","HiuMaan","HoaiMy","Hollie","HsiaoChen","HsiaoYu","Humberto","Hyunsu","Hyunsu_2","Hyunsu_3","Ida","Ilir","Iman","Imani","Imelda","Ines","Ines_2","Ingrid","InJoon","Irene","Irma","Isabella","Isabella_2","Isabella_3","Isabelle","Isabelle_2","Iselin","Isidora","Ismael","Ivy","Ivy_2","Jacek","Jacob","Jacqueline","Jajang","Jamal","James","Jan","Jane","Jane_2","Jann","Jasmine","Jasmine_2","Jason","Javier","Jean","Jenny","Jenny_2","Jenny_3","Jeppe","Jerome","Jihye","JiMin","Jimmie","Jitka","Joana","Joanna","Joanna_2","Joanna_3","Joanne","Joey","Joey_2","Jonas","Jorge","Jorge_2","Joseph","Josephine","Juan","Julio","Justin","Justin_2","Kai","Kajal","Kajal_2","Kalina","Kani","Karina","Karl","Karla","Kasper","Katja","Kavya","Kavya_2","Kazuha","Keita","Ken","Kendra","Kendra_2","Keomany","Kert","Kevin","Killian","Kim","Kimberly","Kimberly_2","Klarissa","Klaus","Kumar","Kunal","Kunal_2","Laia","Laila","Laith","Larissa","Latifa","Laura","Laura_2","Layla","Lea","Lea_2","Lea_3","Leah","Leila","Leni","Lennart","Leonas","Leticia","Lewis","Lia","Liam","Lian","Lian_2","Libby","Liberto","Lisa","Lisa_2","Lisandro","Liv","Livia","Livia_2","Lola","Lorena","Lorenzio","Lorenzo","Lotte","Louisa","Lucia","Lucia_2","Lucia_3","Luciano","Lucien","Luis","Lukas","Luke","Luna","Luna_2","Lupe","Lupe_2","Lupe_3","Maarten","Macerio","Macerio_2","Madhur","Madina","Mads","Maisie","Maja","Manohar","Manuel","Manuela","Marcello","Marcelo","Marek","Margarita","Maria","Marija","Marina","Mario","Marlene","Marta","Maryam","Masaru","Mateo","Mathieu","Matthew","Matthew_2","Matthew_3","Mattias","Maurice","Maxim","Maya","Mayu","Mekdes","Mia","Mia_2","Mia_3","Michelle","Midhun","Miguel","Mitchell","Mizuki","Moaz","Mohan","Molly","Monica","Mouna","Muuse","Nabanita","Naja","NamMinh","Nanami","Nanami_2","Nancy","Nancy_2","Naoki","Natasha","Neerja","Neerja_2","Neil","Nestoras","Nia","Niamh","Niamh_2","Nicholas","Nicholas_2","Nicolau","Nicole","Nil","Nilar","Nils","Niranjan","Niwat","Noah","Noemi","Noora","Noura","Nova","Nova_2","Nuria","Ojas","Ola","Ola_2","Oliver","Olivia","Ollie","Ollie_2","Omar","Ona","Onyx","Orla","Osman","Ostap","Pallavi","Palmira","Paloma","Paola","Pedro","Pedro_2","Pelayo","Penelope","Pernille","Petra","Phoebe","Phoebe_2","Pierina","Piseth","Polina","Prabhat","Prabhat_2","Pradeep","Premwadee","Priyom","Rafiki","Ralf","Rami","Ramona","Rana","Raquel","Raveena","Reem","Rehaan","Rehaan_2","Rehema","Remi","Remi_2","Remy","Remy_2","Renata","Ricardo","Rinaldo","Roberto","Rodrigo","Roger","Roi","Rok","Rosa","Ruben","Russell","Ruth","Ruth_2","Ryan","Ryan_2","Sabela","Sabrina","Sabrina_2","Sagar","Saleh","Salli","Salli_2","Salli_3","Salma","Salman","Salome","Sam","Sameera","Samuel","Sana","Sapna","Sara","Saranya","Sardor","Saul","Sebastian","Selma","SeoHyeon","Seoyeon","Seoyeon_2","Seoyeon_3","Seraphina","Seraphina_2","Serena","Serena_2","Sergio","Sergio_2","Shakir","Shimmer","Shiori","Shruti","Siqiniq","Siqiniq_2","Siti","Sobhana","Soffie","Sofia","Sofie","Sonia","SoonBok","Sophie","Sophie_2","Srecko","Sreymom","Steffan","Steffan_2","Steffan_3","Stephen","Stephen_2","Subhasini","Sukant","SunHi","SunHi_2","Surya","Suvi","Svetlana","Swara","Sylvie","Sylvie_2","Taim","Takumi","Takumi_2","Tamas","Tania","Tanishaa","Tanja","Taqqiq","Taqqiq_2","Tatyana","Teo","Teresa","Thalita","Thalita_2","Thalita_3","Thando","Themba","Thiago","Thierry","Thierry_2","Thiha","Thilini","Thomas","Tiana","Tiffany","Tim","Tina","Tomas","Tomoko","Tony","Triana","Tristan_ES","Tristan_ES_2","Tuti","Tyler","Ubax","Uzma","Vaani","Valentina","Valerio","Valluvar","Venba","Vera","Vesna","Vicki","Vicki_2","Vicki_3","Victor","Viktoria","Vitoria","Vitoria_2","Vivienne","Vivienne_2","Vlasta","WanLung","Wayne","Willem","William","William_2","Xiaochen","Xiaochen_2","Xiaochen_3","Xiaochen_4","Xiaohan","Xiaohan_2","Xiaomeng","XiaoMin","Xiaomo","Xiaoqiu","Xiaorou","Xiaorui","Xiaoshuang","Xiaoshuang_2","Xiaoshuang_3","Xiaotong","Xiaoxiao","Xiaoxiao_2","Xiaoxiao_3","Xiaoxiao_4","Xiaoxiao_5","Xiaoyan","Xiaoyi","Xiaoyi_2","Xiaoyou","Xiaoyou_2","Xiaoyou_3","Xiaoyu","Xiaoyu_2","Xiaozhen","Ximena_ES","Ximena_ES_2","Ximena_ES_3","Yago","Yan","Yara","Yashica","Yasmin","Yesui","Yolanda","YuJin","Yundeng","Yunfan","Yunfan_2","Yunfeng","Yunhan","Yunhao","YunJhe","Yunjian","Yunjie","YunSong","Yunxi","Yunxi_2","Yunxia","Yunxia_2","Yunxiang","Yunxiao","Yunxiao_2","Yunyang","Yunye","Yunye_2","Yunyi","Yunyi_2","Yunze","Yunzhe","Yves","Yvette","Zariyah","Zayd","Zeina","Zhiyu","Zhiyu_2","Zofia","Zuri"],"x-enumDescriptions":{"Aarav":"Male voice for Hindi (India) (Free voice)","Aarav_2":"Male voice for English (India) (Free voice)","Aarohi":"Female voice for Marathi (India) (Free voice)","Aarti":"Female voice for Hindi (India) (Free voice)","Aarti_2":"Female voice for English (India) (Free voice)","Aarti_3":"Female voice for English (India) (Free voice)","Aashi":"Female voice for English (India) (Free voice)","Abbi":"Female voice for English (United Kingdom) (Free voice)","Abdullah":"Male voice for Arabic (Oman) (Free voice)","Abeo":"Male voice for English (Nigeria) (Free voice)","Abril":"Female voice for Spanish (Spain) (Free voice)","Achara":"Female voice for Thai (Thailand) (Free voice)","Ada":"Female voice for English (United Kingdom) (Free voice)","Ada_2":"Female voice for English (United Kingdom) (Paid voice)","Adam":"Male voice for English (United States) (Free voice)","Adam_2":"Male voice for English (United States) (Paid voice)","Aditi":"Female voice for English (India) (Free voice)","Adri":"Female voice for Afrikaans (South Africa) (Free voice)","Adriano":"Male voice for Italian (Italy) (Free voice)","Agnieszka":"Female voice for Polish (Poland) (Free voice)","Ahmet":"Male voice for Turkish (Türkiye) (Free voice)","Aigul":"Female voice for Kazakh (Kazakhstan) (Free voice)","Ainhoa":"Female voice for Basque (Free voice)","Alain":"Male voice for French (France) (Free voice)","Alba":"Female voice for Catalan (Free voice)","Aled":"Male voice for Welsh (United Kingdom) (Free voice)","Aleksandar":"Male voice for Macedonian (North Macedonia) (Free voice)","Alessio":"Male voice for Italian (Italy) (Free voice)","Alessio_2":"Male voice for Italian (Italy) (Paid voice)","Alex":"Male voice for Spanish (Peru) (Free voice)","Alfie":"Male voice for English (United Kingdom) (Free voice)","Ali":"Male voice for Arabic (Bahrain) (Free voice)","Alina":"Female voice for Romanian (Romania) (Free voice)","Alloy":"Male voice for English (United States) (Free voice)","Alloy_2":"Male voice for English (United States) (Paid voice)","Alonso":"Male voice for Spanish (United States) (Free voice)","Alvaro":"Male voice for Spanish (Spain) (Free voice)","Amal":"Female voice for Arabic (Qatar) (Free voice)","Amala":"Female voice for German (Germany) (Free voice)","Amanda":"Female voice for English (United States) (Free voice)","Amany":"Female voice for Arabic (Syria) (Free voice)","Amber":"Female voice for English (United States) (Free voice)","Ambre":"Female voice for French (France) (Paid voice)","Ameha":"Male voice for Amharic (Ethiopia) (Free voice)","Amina":"Female voice for Arabic (Algeria) (Free voice)","Amy":"Female voice for English (United Kingdom) (Free voice)","Amy_2":"Female voice for English (United Kingdom) (Free voice)","Amy_3":"Female voice for English (United Kingdom) (Paid voice)","Ana":"Female voice for English (United States) (Free voice)","Anahit":"Female voice for Armenian (Armenia) (Free voice)","Ananya":"Female voice for Hindi (India) (Free voice)","Ananya_2":"Female voice for English (India) (Free voice)","Anbu":"Male voice for Tamil (Singapore) (Free voice)","Ander":"Male voice for Basque (Free voice)","Andre":"Male voice for Spanish (Mexico) (Free voice)","Andre_2":"Male voice for Spanish (Mexico) (Paid voice)","Andrea":"Female voice for Spanish (Ecuador) (Free voice)","Andres":"Male voice for Spanish (Guatemala) (Free voice)","Andrew":"Male voice for English (United States) (Free voice)","Andrew_2":"Male voice for English (United States) (Free voice)","Andrew_3":"Male voice for English (United States) (Paid voice)","Angelo":"Male voice for Filipino (Philippines) (Free voice)","Anila":"Female voice for Albanian (Albania) (Free voice)","Annette":"Female voice for English (Australia) (Free voice)","Antoine":"Male voice for French (Canada) (Free voice)","Antonin":"Male voice for Czech (Czechia) (Free voice)","Antonio":"Male voice for Portuguese (Brazil) (Free voice)","Anu":"Female voice for Estonian (Estonia) (Free voice)","Aoi":"Female voice for Japanese (Japan) (Free voice)","Arabella":"Female voice for Spanish (Spain) (Free voice)","Ardi":"Male voice for Indonesian (Indonesia) (Free voice)","Aria":"Female voice for English (United States) (Free voice)","Aria_2":"Female voice for English (United States) (Paid voice)","Ariane":"Female voice for French (Switzerland) (Free voice)","Arjun":"Male voice for English (India) (Free voice)","Arjun_2":"Male voice for English (India) (Free voice)","Arjun_3":"Male voice for Hindi (India) (Free voice)","Arlet":"Female voice for Catalan (Free voice)","Arnau":"Male voice for Spanish (Spain) (Free voice)","Arnaud":"Male voice for Dutch (Belgium) (Free voice)","Arthur":"Male voice for English (United Kingdom) (Free voice)","Arya":"Female voice for English (New Zealand) (Free voice)","Arya_2":"Female voice for English (New Zealand) (Paid voice)","Asad":"Male voice for Urdu (Pakistan) (Free voice)","Ashley":"Female voice for English (United States) (Free voice)","Asilia":"Female voice for English (Kenya) (Free voice)","Astrid":"Female voice for Swedish (Sweden) (Free voice)","Athina":"Female voice for Greek (Greece) (Free voice)","Ava":"Female voice for English (United States) (Free voice)","Ava_2":"Female voice for English (United States) (Free voice)","Ava_3":"Female voice for English (United States) (Paid voice)","Avri":"Male voice for Hebrew (Israel) (Free voice)","Ayanda":"Female voice for English (South Africa) (Free voice)","Ayanda_2":"Female voice for English (South Africa) (Paid voice)","Aysha":"Female voice for Arabic (Oman) (Free voice)","Babek":"Male voice for Azerbaijani (Latin, Azerbaijan) (Free voice)","Banu":"Female voice for Azerbaijani (Latin, Azerbaijan) (Free voice)","Bashkar":"Male voice for Bengali (India) (Free voice)","Bassel":"Male voice for Arabic (Iraq) (Free voice)","Bataa":"Male voice for Mongolian (Mongolia) (Free voice)","Beatrice":"Female voice for Italian (Italy) (Paid voice)","Beatriz":"Female voice for Spanish (Mexico) (Free voice)","Belkys":"Female voice for Spanish (Cuba) (Free voice)","Bella":"Female voice for English (United Kingdom) (Free voice)","Benigno":"Male voice for Italian (Italy) (Free voice)","Bernd":"Male voice for German (Germany) (Free voice)","Bianca":"Female voice for Italian (Italy) (Free voice)","Bianca_2":"Female voice for Italian (Italy) (Free voice)","Bianca_3":"Female voice for Italian (Italy) (Paid voice)","Blessica":"Female voice for Filipino (Philippines) (Free voice)","BongJin":"Male voice for Korean (Korea) (Free voice)","Borislav":"Male voice for Bulgarian (Bulgaria) (Free voice)","Brandon":"Male voice for English (United States) (Free voice)","Brandon_2":"Male voice for English (United States) (Free voice)","Bree":"Female voice for English (United States) (Paid voice)","Brenda":"Female voice for Portuguese (Brazil) (Free voice)","Brian":"Male voice for English (United States) (Free voice)","Brian_2":"Male voice for English (United States) (Free voice)","Brian_3":"Male voice for English (United States) (Paid voice)","Brigitte":"Female voice for French (France) (Free voice)","Bryan":"Male voice for English (United Kingdom) (Free voice)","Bryan_2":"Male voice for English (United Kingdom) (Free voice)","Bryan_3":"Male voice for English (United Kingdom) (Paid voice)","Burcu":"Female voice for Turkish (Türkiye) (Free voice)","Calimero":"Male voice for Italian (Italy) (Free voice)","Camila":"Female voice for Spanish (Peru) (Free voice)","Camilla":"Female voice for Portuguese (Brazil) (Free voice)","Camilla_2":"Female voice for Portuguese (Brazil) (Free voice)","Camilla_3":"Female voice for Portuguese (Brazil) (Paid voice)","Candela":"Female voice for Spanish (Mexico) (Free voice)","Carla":"Female voice for Italian (Italy) (Free voice)","Carlos":"Male voice for Spanish (Honduras) (Free voice)","Carlota":"Female voice for Spanish (Mexico) (Free voice)","Carly":"Female voice for English (Australia) (Free voice)","Carmen":"Female voice for Romanian (Romania) (Free voice)","Cataldo":"Male voice for Italian (Italy) (Free voice)","Catalina":"Female voice for Spanish (Chile) (Free voice)","Cecilio":"Male voice for Spanish (Mexico) (Free voice)","Celeste":"Female voice for French (France) (Free voice)","Celine":"Female voice for French (France) (Free voice)","Celine_2":"Female voice for French (France) (Paid voice)","Chantal":"Female voice for French (Canada) (Free voice)","Chanthavong":"Male voice for Lao (Laos) (Free voice)","Charline":"Female voice for French (Belgium) (Free voice)","Chilemba":"Male voice for English (Kenya) (Free voice)","Christel":"Female voice for Danish (Denmark) (Free voice)","Christoph":"Male voice for German (Germany) (Free voice)","Christopher":"Male voice for English (United States) (Free voice)","Christopher_2":"Male voice for English (United States) (Free voice)","Clara":"Female voice for English (Canada) (Free voice)","Claude":"Male voice for French (France) (Free voice)","Colette":"Female voice for Dutch (Netherlands) (Free voice)","Colm":"Male voice for Irish (Ireland) (Free voice)","Conchita":"Female voice for Spanish (Castilian) (Free voice)","Connor":"Male voice for English (Ireland) (Free voice)","Conrad":"Male voice for German (Germany) (Free voice)","Cora":"Female voice for English (United States) (Free voice)","Cora_2":"Female voice for English (United States) (Free voice)","Coralie":"Female voice for French (France) (Free voice)","Cristiano":"Male voice for Portuguese (Brazil) (Free voice)","Daichi":"Male voice for Japanese (Japan) (Free voice)","Dalia":"Female voice for Spanish (Mexico) (Free voice)","Dalia_2":"Female voice for Spanish (Mexico) (Free voice)","Daniel":"Male voice for German (Germany) (Free voice)","Daniel_2":"Male voice for German (Germany) (Paid voice)","Danielle":"Female voice for English (United States) (Free voice)","Danielle_2":"Female voice for English (United States) (Paid voice)","Dario":"Male voice for Spanish (Spain) (Free voice)","Dariya":"Female voice for Russian (Russia) (Free voice)","Darren":"Male voice for English (Australia) (Free voice)","Daudi":"Male voice for Swahili (Tanzania) (Free voice)","Daulet":"Male voice for Kazakh (Kazakhstan) (Free voice)","Davis":"Male voice for English (United States) (Free voice)","Davis_2":"Male voice for English (United States) (Free voice)","Davis_3":"Male voice for English (United States) (Paid voice)","Dena":"Female voice for Dutch (Belgium) (Free voice)","Denise":"Female voice for French (France) (Free voice)","Derek":"Male voice for English (United States) (Free voice)","Dhwani":"Female voice for Gujarati (India) (Free voice)","Diego":"Male voice for Italian (Italy) (Free voice)","Dilara":"Female voice for Persian (Iran) (Free voice)","Dimas":"Male voice for Javanese (Latin, Indonesia) (Free voice)","Dmitry":"Male voice for Russian (Russia) (Free voice)","Donato":"Male voice for Portuguese (Brazil) (Free voice)","Dora":"Female voice for Icelandic (Iceland) (Free voice)","Duarte":"Male voice for Portuguese (Portugal) (Free voice)","Duncan":"Male voice for English (Australia) (Free voice)","Dustin":"Male voice for English (United States) (Free voice)","Echo":"Male voice for English (United States) (Free voice)","Eka":"Female voice for Georgian (Georgia) (Free voice)","Elena":"Female voice for Spanish (Argentina) (Free voice)","Elias":"Male voice for Spanish (Spain) (Free voice)","Elimu":"Male voice for English (Tanzania) (Free voice)","Elin":"Female voice for Swedish (Sweden) (Free voice)","Elizabeth":"Female voice for English (United States) (Free voice)","Elke":"Female voice for German (Germany) (Free voice)","Elliot":"Male voice for English (United Kingdom) (Free voice)","Eloise":"Female voice for French (France) (Free voice)","Elsa":"Female voice for Italian (Italy) (Free voice)","Elsie":"Female voice for English (Australia) (Free voice)","Elvira":"Female voice for Spanish (Spain) (Free voice)","Elza":"Female voice for Portuguese (Brazil) (Free voice)","Emel":"Female voice for Turkish (Türkiye) (Free voice)","Emil":"Male voice for Romanian (Romania) (Free voice)","Emilio":"Male voice for Spanish (Dominican Republic) (Free voice)","Emily":"Female voice for English (Ireland) (Free voice)","Emma":"Female voice for English (United States) (Free voice)","Emma_2":"Female voice for English (United States) (Free voice)","Emma_3":"Female voice for English (United States) (Paid voice)","Enric":"Male voice for Catalan (Free voice)","Enrique":"Male voice for Spanish (Castilian) (Free voice)","Eric":"Male voice for English (United States) (Free voice)","Estrella":"Female voice for Spanish (Spain) (Free voice)","Ethan":"Male voice for English (United Kingdom) (Free voice)","Evelyn":"Female voice for English (United States) (Free voice)","Everita":"Female voice for Latvian (Latvia) (Free voice)","Ewa":"Female voice for Polish (Poland) (Free voice)","Ewa_2":"Female voice for Polish (Poland) (Paid voice)","Ezinne":"Female voice for English (Nigeria) (Free voice)","Fabio":"Male voice for Portuguese (Brazil) (Free voice)","Fabiola":"Female voice for Italian (Italy) (Free voice)","Fable":"Neutral voice for English (United States) (Free voice)","Fabrice":"Male voice for French (Switzerland) (Free voice)","Fahed":"Male voice for Arabic (Kuwait) (Free voice)","Farid":"Male voice for Persian (Iran) (Free voice)","Fatima":"Female voice for Arabic (United Arab Emirates) (Free voice)","Federico":"Male voice for Spanish (Nicaragua) (Free voice)","Fenna":"Female voice for Dutch (Netherlands) (Free voice)","Fernanda":"Female voice for Portuguese (Portugal) (Free voice)","Fiamma":"Female voice for Italian (Italy) (Free voice)","Filiz":"Female voice for Turkish (Türkiye) (Free voice)","Finn":"Male voice for Norwegian (Norway) (Free voice)","Florian":"Male voice for German (Germany) (Free voice)","Florian_2":"Male voice for German (Germany) (Paid voice)","Florin":"Male voice for French (France) (Paid voice)","Francisca":"Female voice for Portuguese (Brazil) (Free voice)","Freya":"Female voice for English (Australia) (Free voice)","Gabrielle":"Female voice for French (Canada) (Free voice)","Gabrielle_2":"Female voice for French (Canada) (Paid voice)","Gabrijela":"Female voice for Croatian (Croatia) (Free voice)","Gadis":"Female voice for Indonesian (Indonesia) (Free voice)","Gagan":"Male voice for Kannada (India) (Free voice)","Gemma":"Female voice for English (United Kingdom) (Free voice)","Gemma_2":"Female voice for English (United Kingdom) (Free voice)","Geraint":"Male voice for Welsh (United Kingdom) (Free voice)","Gerard":"Male voice for French (Belgium) (Free voice)","Gerardo":"Male voice for Spanish (Mexico) (Free voice)","Gianni":"Male voice for Italian (Italy) (Free voice)","Giorgi":"Male voice for Georgian (Georgia) (Free voice)","Giorgio":"Male voice for Italian (Italy) (Free voice)","Giovanna":"Female voice for Portuguese (Brazil) (Free voice)","Gisela":"Female voice for German (Germany) (Free voice)","Giuseppe":"Male voice for Italian (Italy) (Free voice)","Giuseppe_2":"Male voice for Italian (Italy) (Free voice)","Gonzalo":"Male voice for Spanish (Colombia) (Free voice)","GookMin":"Male voice for Korean (Korea) (Free voice)","Goran":"Male voice for Bosnian (Bosnia and Herzegovina) (Free voice)","Grace":"Female voice for Maltese (Malta) (Free voice)","Gregory":"Male voice for English (United States) (Free voice)","Gudrun":"Female voice for Icelandic (Iceland) (Free voice)","Gul":"Female voice for Urdu (India) (Free voice)","GulNawaz":"Male voice for Pashto (Afghanistan) (Free voice)","Gunnar":"Male voice for Icelandic (Iceland) (Free voice)","Guy":"Male voice for English (United States) (Free voice)","Gwyneth":"Female voice for Welsh (United Kingdom) (Free voice)","Hala":"Female voice for Arabic (Saudi Arabia) (Free voice)","Hamdan":"Male voice for Arabic (United Arab Emirates) (Free voice)","Hamed":"Male voice for Arabic (Saudi Arabia) (Free voice)","Hannah":"Female voice for German (Austria) (Free voice)","Hannah_2":"Female voice for German (Austria) (Paid voice)","Hans":"Male voice for German (Germany) (Free voice)","Harri":"Male voice for Finnish (Finland) (Free voice)","Hayk":"Male voice for Armenian (Armenia) (Free voice)","Hedi":"Male voice for Arabic (Tunisia) (Free voice)","Hemkala":"Female voice for Nepali (Nepal) (Free voice)","Henri":"Male voice for French (France) (Free voice)","Hila":"Female voice for Hebrew (Israel) (Free voice)","Hillevi":"Female voice for Swedish (Sweden) (Free voice)","HiuGaai":"Female voice for Chinese (Cantonese, Traditional) (Free voice)","Hiujin":"Female voice for Chinese (Cantonese) (Free voice)","HiuMaan":"Female voice for Chinese (Cantonese, Traditional) (Free voice)","HoaiMy":"Female voice for Vietnamese (Vietnam) (Free voice)","Hollie":"Female voice for English (United Kingdom) (Free voice)","HsiaoChen":"Female voice for Chinese (Taiwanese Mandarin, Traditional) (Free voice)","HsiaoYu":"Female voice for Chinese (Taiwanese Mandarin, Traditional) (Free voice)","Humberto":"Male voice for Portuguese (Brazil) (Free voice)","Hyunsu":"Male voice for Korean (Korea) (Free voice)","Hyunsu_2":"Male voice for Korean (Korea) (Free voice)","Hyunsu_3":"Male voice for Korean (Korea) (Paid voice)","Ida":"Female voice for Norwegian (Norway) (Free voice)","Ilir":"Male voice for Albanian (Albania) (Free voice)","Iman":"Female voice for Arabic (Libya) (Free voice)","Imani":"Female voice for English (Tanzania) (Free voice)","Imelda":"Female voice for Italian (Italy) (Free voice)","Ines":"Female voice for Portuguese (Brazil) (Free voice)","Ines_2":"Female voice for Portuguese (Brazil) (Free voice)","Ingrid":"Female voice for German (Austria) (Free voice)","InJoon":"Male voice for Korean (Korea) (Free voice)","Irene":"Female voice for Spanish (Spain) (Free voice)","Irma":"Female voice for Italian (Italy) (Free voice)","Isabella":"Female voice for Italian (Italy) (Free voice)","Isabella_2":"Female voice for Italian (Italy) (Free voice)","Isabella_3":"Female voice for Italian (Italy) (Paid voice)","Isabelle":"Female voice for French (Belgium) (Free voice)","Isabelle_2":"Female voice for French (Belgium) (Paid voice)","Iselin":"Female voice for Norwegian (Norway) (Free voice)","Isidora":"Female voice for Spanish (Spain) (Free voice)","Ismael":"Male voice for Arabic (Algeria) (Free voice)","Ivy":"Female voice for English (United States) (Free voice)","Ivy_2":"Female voice for English (United States) (Free voice)","Jacek":"Male voice for Polish (Poland) (Free voice)","Jacob":"Male voice for English (United States) (Free voice)","Jacqueline":"Female voice for French (France) (Free voice)","Jajang":"Male voice for Sundanese (Indonesia) (Free voice)","Jamal":"Male voice for Arabic (Morocco) (Free voice)","James":"Male voice for English (Philippines) (Free voice)","Jan":"Male voice for German (Switzerland) (Free voice)","Jane":"Female voice for English (United States) (Free voice)","Jane_2":"Female voice for English (United States) (Paid voice)","Jann":"Male voice for Polish (Poland) (Free voice)","Jasmine":"Female voice for English (Singapore) (Free voice)","Jasmine_2":"Female voice for English (Singapore) (Paid voice)","Jason":"Male voice for English (United States) (Free voice)","Javier":"Male voice for Spanish (Equatorial Guinea) (Free voice)","Jean":"Male voice for French (Canada) (Free voice)","Jenny":"Female voice for English (United States) (Free voice)","Jenny_2":"Female voice for English (United States) (Free voice)","Jenny_3":"Female voice for English (United States) (Paid voice)","Jeppe":"Male voice for Danish (Denmark) (Free voice)","Jerome":"Male voice for French (France) (Free voice)","Jihye":"Female voice for Korean (Korea) (Free voice)","JiMin":"Female voice for Korean (Korea) (Free voice)","Jimmie":"Male voice for English (United States) (Free voice)","Jitka":"Female voice for Czech (Czechia) (Free voice)","Joana":"Female voice for Catalan (Free voice)","Joanna":"Female voice for English (United States) (Free voice)","Joanna_2":"Female voice for English (United States) (Free voice)","Joanna_3":"Female voice for English (United States) (Paid voice)","Joanne":"Female voice for English (Australia) (Free voice)","Joey":"Male voice for English (United States) (Free voice)","Joey_2":"Male voice for English (United States) (Free voice)","Jonas":"Male voice for German (Austria) (Free voice)","Jorge":"Male voice for Spanish (Mexico) (Free voice)","Jorge_2":"Male voice for Spanish (Mexico) (Free voice)","Joseph":"Male voice for Maltese (Malta) (Free voice)","Josephine":"Female voice for French (France) (Free voice)","Juan":"Male voice for Spanish (Costa Rica) (Free voice)","Julio":"Male voice for Portuguese (Brazil) (Free voice)","Justin":"Male voice for English (United States) (Free voice)","Justin_2":"Male voice for English (United States) (Free voice)","Kai":"Male voice for English (United States) (Free voice)","Kajal":"Female voice for English (India) (Free voice)","Kajal_2":"Female voice for English (India) (Paid voice)","Kalina":"Female voice for Bulgarian (Bulgaria) (Free voice)","Kani":"Female voice for Tamil (Malaysia) (Free voice)","Karina":"Female voice for Spanish (Puerto Rico) (Free voice)","Karl":"Male voice for Icelandic (Iceland) (Free voice)","Karla":"Female voice for Spanish (Honduras) (Free voice)","Kasper":"Male voice for German (Germany) (Free voice)","Katja":"Female voice for German (Germany) (Free voice)","Kavya":"Female voice for Hindi (India) (Free voice)","Kavya_2":"Female voice for English (India) (Free voice)","Kazuha":"Female voice for Japanese (Japan) (Free voice)","Keita":"Male voice for Japanese (Japan) (Free voice)","Ken":"Male voice for English (Australia) (Free voice)","Kendra":"Female voice for English (United States) (Free voice)","Kendra_2":"Female voice for English (United States) (Free voice)","Keomany":"Female voice for Lao (Laos) (Free voice)","Kert":"Male voice for Estonian (Estonia) (Free voice)","Kevin":"Male voice for English (United States) (Free voice)","Killian":"Male voice for German (Germany) (Free voice)","Kim":"Female voice for English (Australia) (Free voice)","Kimberly":"Female voice for English (United States) (Free voice)","Kimberly_2":"Female voice for English (United States) (Free voice)","Klarissa":"Female voice for German (Germany) (Free voice)","Klaus":"Male voice for German (Germany) (Free voice)","Kumar":"Male voice for Tamil (Sri Lanka) (Free voice)","Kunal":"Male voice for Hindi (India) (Free voice)","Kunal_2":"Male voice for English (India) (Free voice)","Laia":"Female voice for Spanish (Spain) (Free voice)","Laila":"Female voice for Arabic (Bahrain) (Free voice)","Laith":"Male voice for Arabic (Syria) (Free voice)","Larissa":"Female voice for Spanish (Mexico) (Free voice)","Latifa":"Female voice for Pashto (Afghanistan) (Free voice)","Laura":"Female voice for Dutch (Netherlands) (Free voice)","Laura_2":"Female voice for Dutch (Netherlands) (Paid voice)","Layla":"Female voice for Arabic (Lebanon) (Free voice)","Lea":"Female voice for French (France) (Free voice)","Lea_2":"Female voice for French (France) (Free voice)","Lea_3":"Female voice for French (France) (Paid voice)","Leah":"Female voice for English (South Africa) (Free voice)","Leila":"Female voice for Portuguese (Brazil) (Free voice)","Leni":"Female voice for German (Switzerland) (Free voice)","Lennart":"Male voice for German (Germany) (Paid voice)","Leonas":"Male voice for Lithuanian (Lithuania) (Free voice)","Leticia":"Female voice for Portuguese (Brazil) (Free voice)","Lewis":"Male voice for English (United States) (Free voice)","Lia":"Female voice for Spanish (Spain) (Free voice)","Liam":"Male voice for English (Canada) (Free voice)","Lian":"Male voice for French (Canada) (Free voice)","Lian_2":"Male voice for French (Canada) (Paid voice)","Libby":"Female voice for English (United Kingdom) (Free voice)","Liberto":"Male voice for Spanish (Mexico) (Free voice)","Lisa":"Female voice for Dutch (Belgium) (Free voice)","Lisa_2":"Female voice for Dutch (Belgium) (Paid voice)","Lisandro":"Male voice for Italian (Italy) (Free voice)","Liv":"Female voice for Norwegian (Norway) (Free voice)","Livia":"Female voice for English (Australia) (Free voice)","Livia_2":"Female voice for English (Australia) (Paid voice)","Lola":"Female voice for English (United States) (Free voice)","Lorena":"Female voice for Spanish (El Salvador) (Free voice)","Lorenzio":"Male voice for Italian (Italy) (Paid voice)","Lorenzo":"Male voice for Spanish (Chile) (Free voice)","Lotte":"Female voice for Dutch (Netherlands) (Free voice)","Louisa":"Female voice for German (Germany) (Free voice)","Lucia":"Female voice for Spanish (Castilian) (Free voice)","Lucia_2":"Female voice for Spanish (Castilian) (Free voice)","Lucia_3":"Female voice for Spanish (Castilian) (Paid voice)","Luciano":"Male voice for Spanish (Mexico) (Free voice)","Lucien":"Male voice for French (France) (Free voice)","Luis":"Male voice for Spanish (Ecuador) (Free voice)","Lukas":"Male voice for Slovak (Slovakia) (Free voice)","Luke":"Male voice for English (South Africa) (Free voice)","Luna":"Female voice for English (Singapore) (Free voice)","Luna_2":"Female voice for English (United States) (Free voice)","Lupe":"Female voice for Spanish (United States) (Free voice)","Lupe_2":"Female voice for Spanish (United States) (Free voice)","Lupe_3":"Female voice for Spanish (United States) (Paid voice)","Maarten":"Male voice for Dutch (Netherlands) (Free voice)","Macerio":"Male voice for Portuguese (Brazil) (Free voice)","Macerio_2":"Male voice for Portuguese (Brazil) (Paid voice)","Madhur":"Male voice for Hindi (India) (Free voice)","Madina":"Female voice for Uzbek (Latin, Uzbekistan) (Free voice)","Mads":"Male voice for Danish (Denmark) (Free voice)","Maisie":"Female voice for English (United Kingdom) (Free voice)","Maja":"Female voice for German (Germany) (Free voice)","Manohar":"Male voice for Marathi (India) (Free voice)","Manuel":"Male voice for Spanish (Cuba) (Free voice)","Manuela":"Female voice for Portuguese (Brazil) (Free voice)","Marcello":"Male voice for Italian (Italy) (Free voice)","Marcelo":"Male voice for Spanish (Bolivia) (Free voice)","Marek":"Male voice for Polish (Poland) (Free voice)","Margarita":"Female voice for Spanish (Panama) (Free voice)","Maria":"Female voice for Spanish (Costa Rica) (Free voice)","Marija":"Female voice for Macedonian (North Macedonia) (Free voice)","Marina":"Female voice for Spanish (Mexico) (Free voice)","Mario":"Male voice for Spanish (Paraguay) (Free voice)","Marlene":"Female voice for German (Germany) (Free voice)","Marta":"Female voice for Spanish (Guatemala) (Free voice)","Maryam":"Female voice for Arabic (Yemen) (Free voice)","Masaru":"Male voice for Japanese (Japan) (Paid voice)","Mateo":"Male voice for Spanish (Uruguay) (Free voice)","Mathieu":"Male voice for French (France) (Free voice)","Matthew":"Male voice for English (United States) (Free voice)","Matthew_2":"Male voice for English (United States) (Free voice)","Matthew_3":"Male voice for English (United States) (Paid voice)","Mattias":"Male voice for Swedish (Sweden) (Free voice)","Maurice":"Male voice for French (France) (Free voice)","Maxim":"Male voice for Russian (Russia) (Free voice)","Maya":"Female voice for Polish (Poland) (Free voice)","Mayu":"Female voice for Japanese (Japan) (Free voice)","Mekdes":"Female voice for Amharic (Ethiopia) (Free voice)","Mia":"Female voice for Spanish (Mexico) (Free voice)","Mia_2":"Female voice for Spanish (Mexico) (Free voice)","Mia_3":"Female voice for Spanish (Mexico) (Paid voice)","Michelle":"Female voice for English (United States) (Free voice)","Midhun":"Male voice for Malayalam (India) (Free voice)","Miguel":"Male voice for Spanish (United States) (Free voice)","Mitchell":"Male voice for English (New Zealand) (Free voice)","Mizuki":"Female voice for Japanese (Japan) (Free voice)","Moaz":"Male voice for Arabic (Qatar) (Free voice)","Mohan":"Male voice for Telugu (India) (Free voice)","Molly":"Female voice for English (New Zealand) (Free voice)","Monica":"Female voice for English (United States) (Free voice)","Mouna":"Female voice for Arabic (Morocco) (Free voice)","Muuse":"Male voice for Somali (Somalia) (Free voice)","Nabanita":"Female voice for Bangla (Bangladesh) (Free voice)","Naja":"Female voice for Danish (Denmark) (Free voice)","NamMinh":"Male voice for Vietnamese (Vietnam) (Free voice)","Nanami":"Female voice for Japanese (Japan) (Free voice)","Nanami_2":"Female voice for Japanese (Japan) (Paid voice)","Nancy":"Female voice for English (United States) (Free voice)","Nancy_2":"Female voice for English (United States) (Free voice)","Naoki":"Male voice for Japanese (Japan) (Free voice)","Natasha":"Female voice for English (Australia) (Free voice)","Neerja":"Female voice for English (India) (Free voice)","Neerja_2":"Female voice for English (India) (Free voice)","Neil":"Male voice for English (Australia) (Free voice)","Nestoras":"Male voice for Greek (Greece) (Free voice)","Nia":"Female voice for Welsh (United Kingdom) (Free voice)","Niamh":"Female voice for English (Ireland) (Free voice)","Niamh_2":"Female voice for English (Ireland) (Paid voice)","Nicholas":"Male voice for Serbian (Cyrillic, Serbia) (Free voice)","Nicholas_2":"Male voice for Serbian (Latin, Serbia) (Free voice)","Nicolau":"Male voice for Portuguese (Brazil) (Free voice)","Nicole":"Female voice for English (Australia) (Free voice)","Nil":"Male voice for Spanish (Spain) (Free voice)","Nilar":"Female voice for Burmese (Myanmar) (Free voice)","Nils":"Male voice for Latvian (Latvia) (Free voice)","Niranjan":"Male voice for Gujarati (India) (Free voice)","Niwat":"Male voice for Thai (Thailand) (Free voice)","Noah":"Male voice for English (United Kingdom) (Free voice)","Noemi":"Female voice for Hungarian (Hungary) (Free voice)","Noora":"Female voice for Finnish (Finland) (Free voice)","Noura":"Female voice for Arabic (Kuwait) (Free voice)","Nova":"Female voice for English (United States) (Free voice)","Nova_2":"Female voice for English (United States) (Paid voice)","Nuria":"Female voice for Spanish (Mexico) (Free voice)","Ojas":"Male voice for Punjabi (India) (Free voice)","Ola":"Female voice for Polish (Poland) (Free voice)","Ola_2":"Female voice for Polish (Poland) (Paid voice)","Oliver":"Male voice for English (United Kingdom) (Free voice)","Olivia":"Female voice for English (United Kingdom) (Free voice)","Ollie":"Male voice for English (United Kingdom) (Free voice)","Ollie_2":"Male voice for English (United Kingdom) (Paid voice)","Omar":"Male voice for Arabic (Libya) (Free voice)","Ona":"Female voice for Lithuanian (Lithuania) (Free voice)","Onyx":"Male voice for English (United States) (Free voice)","Orla":"Female voice for Irish (Ireland) (Free voice)","Osman":"Male voice for Malay (Malaysia) (Free voice)","Ostap":"Male voice for Ukrainian (Ukraine) (Free voice)","Pallavi":"Female voice for Tamil (India) (Free voice)","Palmira":"Female voice for Italian (Italy) (Free voice)","Paloma":"Female voice for Spanish (United States) (Free voice)","Paola":"Female voice for Spanish (Venezuela) (Free voice)","Pedro":"Male voice for Spanish (United States) (Free voice)","Pedro_2":"Male voice for Spanish (United States) (Paid voice)","Pelayo":"Male voice for Spanish (Mexico) (Free voice)","Penelope":"Female voice for Spanish (United States) (Free voice)","Pernille":"Female voice for Norwegian (Norway) (Free voice)","Petra":"Female voice for Slovenian (Slovenia) (Free voice)","Phoebe":"Female voice for English (United States) (Free voice)","Phoebe_2":"Female voice for English (United States) (Paid voice)","Pierina":"Female voice for Italian (Italy) (Free voice)","Piseth":"Male voice for Khmer (Cambodia) (Free voice)","Polina":"Female voice for Ukrainian (Ukraine) (Free voice)","Prabhat":"Male voice for English (India) (Free voice)","Prabhat_2":"Male voice for English (India) (Free voice)","Pradeep":"Male voice for Bangla (Bangladesh) (Free voice)","Premwadee":"Female voice for Thai (Thailand) (Free voice)","Priyom":"Male voice for Assamese (India) (Free voice)","Rafiki":"Male voice for Swahili (Kenya) (Free voice)","Ralf":"Male voice for German (Germany) (Free voice)","Rami":"Male voice for Arabic (Lebanon) (Free voice)","Ramona":"Female voice for Spanish (Dominican Republic) (Free voice)","Rana":"Female voice for Arabic (Iraq) (Free voice)","Raquel":"Female voice for Portuguese (Portugal) (Free voice)","Raveena":"Female voice for English (India) (Free voice)","Reem":"Female voice for Arabic (Tunisia) (Free voice)","Rehaan":"Male voice for Hindi (India) (Free voice)","Rehaan_2":"Male voice for English (India) (Free voice)","Rehema":"Female voice for Swahili (Tanzania) (Free voice)","Remi":"Male voice for French (France) (Free voice)","Remi_2":"Male voice for French (France) (Paid voice)","Remy":"Male voice for French (France) (Free voice)","Remy_2":"Male voice for French (France) (Paid voice)","Renata":"Female voice for Spanish (Mexico) (Free voice)","Ricardo":"Male voice for Portuguese (Brazil) (Free voice)","Rinaldo":"Male voice for Italian (Italy) (Free voice)","Roberto":"Male voice for Spanish (Panama) (Free voice)","Rodrigo":"Male voice for Spanish (El Salvador) (Free voice)","Roger":"Male voice for English (United States) (Free voice)","Roi":"Male voice for Galician (Free voice)","Rok":"Male voice for Slovenian (Slovenia) (Free voice)","Rosa":"Female voice for English (Philippines) (Free voice)","Ruben":"Male voice for Dutch (Netherlands) (Free voice)","Russell":"Male voice for English (Australia) (Free voice)","Ruth":"Female voice for English (United States) (Free voice)","Ruth_2":"Female voice for English (United States) (Paid voice)","Ryan":"Male voice for English (United States) (Free voice)","Ryan_2":"Male voice for English (United Kingdom) (Free voice)","Sabela":"Female voice for Galician (Free voice)","Sabrina":"Female voice for German (Switzerland) (Free voice)","Sabrina_2":"Female voice for German (Switzerland) (Paid voice)","Sagar":"Male voice for Nepali (Nepal) (Free voice)","Saleh":"Male voice for Arabic (Yemen) (Free voice)","Salli":"Female voice for English (United States) (Free voice)","Salli_2":"Female voice for English (United States) (Free voice)","Salli_3":"Female voice for English (United States) (Paid voice)","Salma":"Female voice for Arabic (Egypt) (Free voice)","Salman":"Male voice for Urdu (India) (Free voice)","Salome":"Female voice for Spanish (Colombia) (Free voice)","Sam":"Male voice for English (Hong Kong SAR) (Free voice)","Sameera":"Male voice for Sinhala (Sri Lanka) (Free voice)","Samuel":"Male voice for English (United States) (Free voice)","Sana":"Female voice for Arabic (Jordan) (Free voice)","Sapna":"Female voice for Kannada (India) (Free voice)","Sara":"Female voice for English (United States) (Free voice)","Saranya":"Female voice for Tamil (Sri Lanka) (Free voice)","Sardor":"Male voice for Uzbek (Latin, Uzbekistan) (Free voice)","Saul":"Male voice for Spanish (Spain) (Free voice)","Sebastian":"Male voice for Spanish (Venezuela) (Free voice)","Selma":"Female voice for Finnish (Finland) (Free voice)","SeoHyeon":"Female voice for Korean (Korea) (Free voice)","Seoyeon":"Female voice for Korean (Korea) (Free voice)","Seoyeon_2":"Female voice for Korean (Korea) (Free voice)","Seoyeon_3":"Female voice for Korean (Korea) (Paid voice)","Seraphina":"Female voice for German (Germany) (Free voice)","Seraphina_2":"Female voice for German (Germany) (Paid voice)","Serena":"Female voice for English (United States) (Free voice)","Serena_2":"Female voice for English (United States) (Paid voice)","Sergio":"Male voice for Spanish (Castilian) (Free voice)","Sergio_2":"Male voice for Spanish (Castilian) (Paid voice)","Shakir":"Male voice for Arabic (Egypt) (Free voice)","Shimmer":"Female voice for English (United States) (Free voice)","Shiori":"Female voice for Japanese (Japan) (Free voice)","Shruti":"Female voice for Telugu (India) (Free voice)","Siqiniq":"Female voice for Inuktitut (Syllabics, Canada) (Free voice)","Siqiniq_2":"Female voice for Inuktitut (Latin, Canada) (Free voice)","Siti":"Female voice for Javanese (Latin, Indonesia) (Free voice)","Sobhana":"Female voice for Malayalam (India) (Free voice)","Soffie":"Female voice for Danish (Denmark) (Free voice)","Sofia":"Female voice for Spanish (Bolivia) (Free voice)","Sofie":"Female voice for Swedish (Sweden) (Free voice)","Sonia":"Female voice for English (United Kingdom) (Free voice)","SoonBok":"Female voice for Korean (Korea) (Free voice)","Sophie":"Female voice for Serbian (Cyrillic, Serbia) (Free voice)","Sophie_2":"Female voice for Serbian (Latin, Serbia) (Free voice)","Srecko":"Male voice for Croatian (Croatia) (Free voice)","Sreymom":"Female voice for Khmer (Cambodia) (Free voice)","Steffan":"Male voice for English (United States) (Free voice)","Steffan_2":"Male voice for English (United States) (Free voice)","Steffan_3":"Male voice for English (United States) (Paid voice)","Stephen":"Male voice for English (United States) (Free voice)","Stephen_2":"Male voice for English (United States) (Paid voice)","Subhasini":"Female voice for Odia (India) (Free voice)","Sukant":"Male voice for Odia (India) (Free voice)","SunHi":"Female voice for Korean (Korea) (Free voice)","SunHi_2":"Female voice for Korean (Korea) (Paid voice)","Surya":"Male voice for Tamil (Malaysia) (Free voice)","Suvi":"Female voice for Finnish (Finland) (Free voice)","Svetlana":"Female voice for Russian (Russia) (Free voice)","Swara":"Female voice for Hindi (India) (Free voice)","Sylvie":"Female voice for French (Canada) (Free voice)","Sylvie_2":"Female voice for French (Canada) (Paid voice)","Taim":"Male voice for Arabic (Jordan) (Free voice)","Takumi":"Male voice for Japanese (Japan) (Free voice)","Takumi_2":"Male voice for Japanese (Japan) (Free voice)","Tamas":"Male voice for Hungarian (Hungary) (Free voice)","Tania":"Female voice for Spanish (Paraguay) (Free voice)","Tanishaa":"Female voice for Bengali (India) (Free voice)","Tanja":"Female voice for German (Germany) (Free voice)","Taqqiq":"Male voice for Inuktitut (Syllabics, Canada) (Free voice)","Taqqiq_2":"Male voice for Inuktitut (Latin, Canada) (Free voice)","Tatyana":"Female voice for Russian (Russia) (Free voice)","Teo":"Male voice for Spanish (Spain) (Free voice)","Teresa":"Female voice for Spanish (Equatorial Guinea) (Free voice)","Thalita":"Female voice for Portuguese (Brazil) (Free voice)","Thalita_2":"Female voice for Portuguese (Brazil) (Free voice)","Thalita_3":"Female voice for Portuguese (Brazil) (Paid voice)","Thando":"Female voice for Zulu (South Africa) (Free voice)","Themba":"Male voice for Zulu (South Africa) (Free voice)","Thiago":"Male voice for Portuguese (Brazil) (Free voice)","Thierry":"Male voice for French (Canada) (Free voice)","Thierry_2":"Male voice for French (Canada) (Paid voice)","Thiha":"Male voice for Burmese (Myanmar) (Free voice)","Thilini":"Female voice for Sinhala (Sri Lanka) (Free voice)","Thomas":"Male voice for English (United Kingdom) (Free voice)","Tiana":"Female voice for English (United States) (Free voice)","Tiffany":"Female voice for English (United States) (Paid voice)","Tim":"Male voice for English (Australia) (Free voice)","Tina":"Female voice for English (Australia) (Free voice)","Tomas":"Male voice for Spanish (Argentina) (Free voice)","Tomoko":"Female voice for Japanese (Japan) (Free voice)","Tony":"Male voice for English (United States) (Free voice)","Triana":"Female voice for Spanish (Spain) (Free voice)","Tristan_ES":"Male voice for Spanish (Spain) (Free voice)","Tristan_ES_2":"Male voice for Spanish (Spain) (Paid voice)","Tuti":"Female voice for Sundanese (Indonesia) (Free voice)","Tyler":"Male voice for English (United States) (Free voice)","Ubax":"Female voice for Somali (Somalia) (Free voice)","Uzma":"Female voice for Urdu (Pakistan) (Free voice)","Vaani":"Female voice for Punjabi (India) (Free voice)","Valentina":"Female voice for Spanish (Uruguay) (Free voice)","Valerio":"Male voice for Portuguese (Brazil) (Free voice)","Valluvar":"Male voice for Tamil (India) (Free voice)","Venba":"Female voice for Tamil (Singapore) (Free voice)","Vera":"Female voice for Spanish (Spain) (Free voice)","Vesna":"Female voice for Bosnian (Bosnia and Herzegovina) (Free voice)","Vicki":"Female voice for German (Germany) (Free voice)","Vicki_2":"Female voice for German (Germany) (Free voice)","Vicki_3":"Female voice for German (Germany) (Paid voice)","Victor":"Male voice for Spanish (Puerto Rico) (Free voice)","Viktoria":"Female voice for Slovak (Slovakia) (Free voice)","Vitoria":"Female voice for Portuguese (Brazil) (Free voice)","Vitoria_2":"Female voice for Portuguese (Brazil) (Free voice)","Vivienne":"Female voice for French (France) (Free voice)","Vivienne_2":"Female voice for French (France) (Paid voice)","Vlasta":"Female voice for Czech (Czechia) (Free voice)","WanLung":"Male voice for Chinese (Cantonese, Traditional) (Free voice)","Wayne":"Male voice for English (Singapore) (Free voice)","Willem":"Male voice for Afrikaans (South Africa) (Free voice)","William":"Male voice for English (Australia) (Free voice)","William_2":"Male voice for English (Australia) (Free voice)","Xiaochen":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaochen_2":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaochen_3":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaochen_4":"Female voice for Chinese (Mandarin, Simplified) (Paid voice)","Xiaohan":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaohan_2":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaomeng":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","XiaoMin":"Female voice for Chinese (Cantonese, Simplified) (Free voice)","Xiaomo":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoqiu":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaorou":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaorui":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoshuang":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoshuang_2":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoshuang_3":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaotong":"Female voice for Chinese (Wu, Simplified) (Free voice)","Xiaoxiao":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoxiao_2":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoxiao_3":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoxiao_4":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoxiao_5":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyan":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyi":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyi_2":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyou":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyou_2":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyou_3":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyu":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyu_2":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaozhen":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Ximena_ES":"Female voice for Spanish (Spain) (Free voice)","Ximena_ES_2":"Female voice for Spanish (Spain) (Free voice)","Ximena_ES_3":"Female voice for Spanish (Spain) (Paid voice)","Yago":"Male voice for Spanish (Mexico) (Free voice)","Yan":"Female voice for English (Hong Kong SAR) (Free voice)","Yara":"Female voice for Portuguese (Brazil) (Free voice)","Yashica":"Female voice for Assamese (India) (Free voice)","Yasmin":"Female voice for Malay (Malaysia) (Free voice)","Yesui":"Female voice for Mongolian (Mongolia) (Free voice)","Yolanda":"Female voice for Spanish (Nicaragua) (Free voice)","YuJin":"Female voice for Korean (Korea) (Free voice)","Yundeng":"Male voice for Chinese (Zhongyuan Mandarin Henan, Simplified) (Free voice)","Yunfan":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunfan_2":"Male voice for Chinese (Mandarin, Simplified) (Paid voice)","Yunfeng":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunhan":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunhao":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","YunJhe":"Male voice for Chinese (Taiwanese Mandarin, Traditional) (Free voice)","Yunjian":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunjie":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","YunSong":"Male voice for Chinese (Cantonese, Simplified) (Free voice)","Yunxi":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunxi_2":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunxia":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunxia_2":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunxiang":"Male voice for Chinese (Jilu Mandarin, Simplified) (Free voice)","Yunxiao":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunxiao_2":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunyang":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunye":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunye_2":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunyi":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunyi_2":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunze":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunzhe":"Male voice for Chinese (Wu, Simplified) (Free voice)","Yves":"Male voice for French (France) (Free voice)","Yvette":"Female voice for French (France) (Free voice)","Zariyah":"Female voice for Arabic (Saudi Arabia) (Free voice)","Zayd":"Male voice for Arabic (Saudi Arabia) (Free voice)","Zeina":"Female voice for Arabic (Saudi Arabia) (Free voice)","Zhiyu":"Female voice for Chinese (Mandarin) (Free voice)","Zhiyu_2":"Female voice for Chinese (Mandarin) (Free voice)","Zofia":"Female voice for Polish (Poland) (Free voice)","Zuri":"Female voice for Swahili (Kenya) (Free voice)"}},"voiceRelay":{"type":"object","additionalProperties":false,"title":"Voice Relay","description":"Routes the call through the Voice Relay service, enabling real-time speech-to-text (STT) and text-to-speech (TTS) via a WebSocket connection to the application backend.","required":["type","voiceRelay"],"properties":{"type":{"type":"string","const":"VOICE_RELAY","description":"Connects to the Voice Relay service to enable STT and TTS services..."},"voiceRelay":{"type":"object","additionalProperties":false,"required":["endpoint","ttsVoice","sttLanguage"],"properties":{"endpoint":{"type":"string","format":"uri","description":"URL to the server that will accept the web-socket request","example":"wss://acme.com/agent"},"enableInterruptions":{"type":"boolean","description":"Allow \"barge-in\" during text-to-speech (TTS) playback.\n\nWhen `true`, TTS playback is interrupted as soon as inbound speech is detected, unless the currently playing content is marked as uninterruptible.\n\nWhen `false`, TTS playback continues uninterrupted, but an interruption signal is still sent over the WebSocket so the client application can choose to stop playback manually if needed.","default":true,"example":true},"ttsVoice":{"description":"Name of the voice to be used when synthesizing speech. \n\nThis is the default voice used, if no override voice is provided in the web-socket TTS message.","$ref":"#/components/schemas/voiceName"},"sttLanguage":{"type":"string","pattern":"^[a-z]{2,3}(-[A-Z][a-z]{3})?(-([A-Z]{2}|[0-9]{3}))?$","description":"BCP-47 language tag used for speech-to-text transcription of the inbound audio.\n\nThis value determines which language model is used for transcription.","example":"en-US"},"callHeaders":{"$ref":"#/components/schemas/callHeaders"}}}},"examples":[{"type":"VOICE_RELAY","voiceRelay":{"endpoint":"wss://acme.com/agent","enableInterruptions":true,"ttsVoice":"Emma_3","sttLanguage":"en-US","callHeaders":[{"key":"my-key","value":"my-key-value"}]}}]},"to":{"title":"To","description":"Call destination - Phone Number or Stream URI","oneOf":[{"$ref":"#/components/schemas/phone"},{"$ref":"#/components/schemas/sip"},{"$ref":"#/components/schemas/stream"},{"$ref":"#/components/schemas/voiceRelay"}],"discriminator":{"propertyName":"type","mapping":{"PHONE":"#/components/schemas/phone","SIP":"#/components/schemas/sip","STREAM":"#/components/schemas/stream","VOICE_RELAY":"#/components/schemas/voiceRelay"}}},"callEvents":{"type":"object","additionalProperties":false,"title":"Call Events Webhook","description":"Webhook to handle call events, used when callBehaviors are set to WEBHOOK","properties":{"onAnswer":{"description":"SVAML commands to be executed when the call is answered","$ref":"#/components/schemas/svamlCommands"},"onBusy":{"description":"SVAML commands to be executed when the call is busy","$ref":"#/components/schemas/svamlCommands"},"onReject":{"description":"SVAML commands to be executed when the call is rejected","$ref":"#/components/schemas/svamlCommands"},"onTimeout":{"description":"SVAML commands to be executed when the call is timed out","$ref":"#/components/schemas/svamlCommands"},"onHangup":{"description":"SVAML commands to be executed when the call is hung up","$ref":"#/components/schemas/svamlCommands"},"onFailure":{"description":"SVAML commands to be executed when the call fails","$ref":"#/components/schemas/svamlCommands"}}},"dial":{"type":"object","additionalProperties":false,"title":"Dial","description":"Initiates a new outbound call leg within the current session.\n\nThis is a non-blocking command — the next command in the sequence executes immediately while the call is being established in parallel. Call lifecycle events (answer, busy, reject, timeout, hangup, failure) are handled via the `events` property.\n\nThe `from` and `to` endpoint types should ideally match. If they differ, the platform attempts to convert the `from` value to be compatible with the `to` type. For example, PSTN supports only E.164 phone numbers, so a SIP address such as `sip:46701234567@acme.se` can be converted to an E.164 number. If the `from` value cannot be converted, it defaults to null (anonymous).","required":["command","to"],"properties":{"command":{"type":"string","const":"dial","description":"Command to initiate a new call"},"callName":{"type":"string","minLength":1,"maxLength":32,"pattern":"^\\S+$","example":"outgoing","description":"Identifier for this call leg within the session. Must be unique across all active call legs in the session.\n\nOther commands (e.g., `hangup`) can reference this name to target this specific leg."},"from":{"$ref":"#/components/schemas/from"},"to":{"$ref":"#/components/schemas/to"},"dialTimeoutDurationSeconds":{"type":"integer","minimum":1,"maximum":60,"description":"Maximum time in seconds to wait for the call to be answered. If the timeout expires without an answer, the `onTimeout` event is triggered.","example":15},"maxCallDurationSeconds":{"type":"integer","minimum":1,"maximum":14400,"description":"Maximum duration of the call in seconds. The call is terminated automatically when this limit is reached.","example":3600},"events":{"$ref":"#/components/schemas/callEvents"}},"examples":[{"command":"dial","callName":"destination","from":{"type":"PHONE","phone":{"number":"+15551234567"}},"to":{"type":"PHONE","phone":{"number":"+15559876543"}},"dialTimeoutDurationSeconds":30,"maxCallDurationSeconds":3600,"events":{"onAnswer":[{"command":"messages","messages":[{"type":"SAY","say":{"text":"Your call has connected.","voiceName":"Emma_3"}}]}]}}]},"messageSay":{"type":"object","title":"Say Message","description":"A text-to-speech (TTS) message item. The platform synthesizes the provided text into speech and plays it on the call.","additionalProperties":false,"required":["type","say"],"properties":{"type":{"type":"string","const":"SAY","description":"Text-to-speech message to be played during the call."},"say":{"type":"object","additionalProperties":false,"title":"Say","required":["text","voiceName"],"properties":{"text":{"type":"string","description":"The text to be synthesized into speech.\n\nIf `format` is `TEXT` (default), provide plain text.\nIf `format` is `SSML`, provide a valid SSML document (for example, `<speak>...</speak>`).","maxLength":600,"example":"Hello world"},"format":{"type":"string","description":"Format of the message","enum":["TEXT","SSML"],"x-enumDescriptions":{"TEXT":"Plain text format for the message.","SSML":"Speech Synthesis Markup Language format for advanced text-to-speech control."},"default":"TEXT"},"voiceName":{"description":"The name of the voice to use for text-to-speech synthesis.","$ref":"#/components/schemas/voiceName"}}}},"examples":[{"type":"SAY","say":{"text":"Hello, this is a test message","voiceName":"Emma_3"}},{"type":"SAY","say":{"text":"<speak><prosody volume=\"-6dB\">Hello, this is a test message</prosody></speak>","format":"SSML","voiceName":"Brian"}}]},"messagePlay":{"type":"object","title":"Play Message","description":"An audio file playback message item. The platform fetches and plays the audio file at the provided URL on the call.","additionalProperties":false,"required":["type","play"],"properties":{"type":{"type":"string","const":"PLAY","description":"Audio file playback during the call."},"play":{"type":"object","additionalProperties":false,"title":"Play","required":["url"],"properties":{"url":{"type":"string","description":"URL of the media to send"}}}},"examples":[{"type":"PLAY","play":{"url":"https://example.com/media.mp3"}}]},"message":{"type":"object","title":"Message","description":"A single message item. The required payload depends on `type`.","oneOf":[{"$ref":"#/components/schemas/messageSay"},{"$ref":"#/components/schemas/messagePlay"}],"discriminator":{"propertyName":"type","mapping":{"SAY":"#/components/schemas/messageSay","PLAY":"#/components/schemas/messagePlay"}}},"typesOfMessages":{"type":"array","title":"Message List","description":"Ordered list of messages to play.","minItems":1,"maxItems":10,"items":{"$ref":"#/components/schemas/message"}},"messageEvents":{"type":"object","additionalProperties":false,"title":"Message Events","description":"SVAML commands to execute based on message playback outcomes.\n","properties":{"onFinish":{"description":"Commands to execute when all messages in the sequence have finished playing.\n","$ref":"#/components/schemas/svamlCommands"}}},"messages":{"type":"object","additionalProperties":false,"title":"Messages","description":"Plays one or more messages on the call. Multiple messages in the array are played sequentially in order.\n\nThis is a non-blocking command — the next command in the sequence executes immediately while messages play in parallel. \nPlayback outcomes are handled via the `events` property. The `onFinish` event can be used to run a command after all messages complete.","required":["command","messages"],"properties":{"command":{"type":"string","const":"messages","description":"Command to play a message on the channel"},"messagesName":{"type":"string","description":"Name of the message for identification and reference within the call session.\n\nThis name is used to uniquely identify the message and must be unique within the current call session.\nThis name can be referenced in other commands (e.g., `stopMessages`) to control this specific message.","minLength":1,"maxLength":32,"pattern":"^\\S+$","example":"my-messages"},"messages":{"$ref":"#/components/schemas/typesOfMessages"},"events":{"$ref":"#/components/schemas/messageEvents"}},"examples":[{"command":"messages","messagesName":"greeting-sequence","messages":[{"type":"SAY","say":{"text":"Hello! Your call is being connected.","voiceName":"Emma_3"}},{"type":"PLAY","play":{"url":"https://example.com/audio/hold-music.mp3"}},{"type":"SAY","say":{"text":"<speak><prosody volume=\"-6dB\">Thank you for waiting.</prosody></speak>","format":"SSML","voiceName":"Emma_3"}}]}]},"stopMessages":{"type":"object","additionalProperties":false,"title":"Stop Messages","description":"Stops a message sequence started by a `messages` command. It will also cancel any messages with specified `messagesName` that will appear in the call session in the future.\n\nThis is a non-blocking command.","required":["command","messagesName"],"properties":{"command":{"type":"string","const":"stopMessages","description":"Command to stop playing messages"},"messagesName":{"type":"string","description":"Name of the message sequence to stop, as set by `messagesName` in the `messages` command.","minLength":1,"maxLength":32,"pattern":"^\\S+$"}},"examples":[{"command":"stopMessages","messagesName":"my-messages"}]},"webhookFallbackUrl":{"title":"Webhook Fallback URL","type":"string","format":"uri","description":"Fallback webhook URL used when the primary webhook URL fails.\n\nA failed request is re-sent to this URL immediately. After repeated consecutive failures of the primary URL, requests are sent only here until the primary URL recovers.\n\nSee *Timeouts and failover* in the **Webhooks** section for the authoritative algorithm.","examples":["https://example.com/fallback"]},"webhook":{"type":"object","additionalProperties":false,"title":"Webhook","description":"Triggers a mid-call webhook to the application backend, allowing it to return a new set of SVAML commands that control the remainder of the call flow.\n\nThis is a blocking command — execution pauses until a response is received from the webhook endpoint. The next command in the sequence runs only after the backend responds. Webhook requests use a 5-second timeout. If a `fallbackUrl` is provided, a failed request is re-sent to it — see *Timeouts and failover* in the **Webhooks** section for the authoritative algorithm.","required":["command","webhookName","url"],"properties":{"command":{"type":"string","const":"webhook","description":"Command to trigger a mid-call webhook"},"webhookName":{"type":"string","minLength":1,"maxLength":64,"pattern":"^\\S+$","description":"Name for this webhook event. When triggered, the webhook request's `event` property will contain this name prepended with `call.webhook.`.\n\nFor example, if `webhookName` is set to `\"my.custom.event\"`, the event will be delivered as `\"call.webhook.my.custom.event\"`."},"url":{"type":"string","description":"URL of the webhook endpoint to send the mid-call event to.","format":"uri"},"fallbackUrl":{"$ref":"#/components/schemas/webhookFallbackUrl"}},"examples":[{"command":"webhook","webhookName":"my.custom.event","url":"https://example.com/webhook","fallbackUrl":"https://example.com/fallback"}]},"hangup":{"type":"object","additionalProperties":false,"description":"Ends a call leg. This is a non-blocking command — execution continues to the next command in the sequence even though the call has been ended. The `onHangup` event is triggered for the call leg that was ended.\n\nAny subsequent commands that target the ended call leg (such as `messages` or other media commands) are valid but will not be executed. Commands that operate independently — such as initiating a new call with `dial` — will execute normally. This makes it possible, for example, to end one call and immediately start another within the same sequence.","title":"Hangup","required":["command"],"properties":{"command":{"type":"string","const":"hangup","description":"Hangup call"},"callName":{"type":"string","description":"Name of the call leg to end, as set by `callName` in the `dial` command.\n\nIf omitted, the current call leg is ended.","minLength":1,"maxLength":32,"pattern":"^\\S+$","example":"origin"}},"examples":[{"command":"hangup","callName":"origin"}]},"answer":{"type":"object","additionalProperties":false,"title":"Answer","description":"Answers an inbound call leg. This is a non-blocking command — execution continues to the next command in the sequence immediately after the answer is initiated.","required":["command"],"properties":{"command":{"type":"string","const":"answer","description":"Answer call"}},"examples":[{"command":"answer"}]},"pause":{"type":"object","additionalProperties":false,"title":"Pause","description":"Delays execution of the next command in the sequence for a specified duration. This is a blocking command — no further commands execute until the pause completes.\n\nThe pause does not affect call audio; the call remains connected and audio continues uninterrupted.","required":["command","durationMilliseconds"],"properties":{"command":{"type":"string","const":"pause","description":"Pause execution."},"durationMilliseconds":{"type":"integer","minimum":1,"description":"Duration of the pause in milliseconds.","example":1000}},"examples":[{"command":"pause","durationMilliseconds":1500}]},"startRecording":{"type":"object","additionalProperties":false,"title":"Start Recording","required":["command","recordingOptions"],"description":"Starts recording the call. This is a non-blocking command — execution continues to the next command in the sequence immediately after recording begins.","properties":{"command":{"type":"string","const":"startRecording","description":"Command to start recording on the channel"},"recordingName":{"type":"string","description":"Identifier for this recording within the session. Must be unique across active recordings in the session.\n\nOther commands (e.g., `stopRecording`) reference this name to target a specific recording.\n\nSetting the recording name is useful for stopping the recording using the `stopRecording` command. If name is not set, recording can only be stopped when the call is disconnected.","minLength":1,"maxLength":32,"pattern":"^\\S+$","example":"my-recording"},"recordingOptions":{"$ref":"#/components/schemas/recordingOptions"},"events":{"$ref":"#/components/schemas/recordingEvents"}},"examples":[{"command":"startRecording","recordingName":"customer-support-recording","recordingOptions":{"format":"MP3","recordingType":"COMBINED","destination":"AWS","destinationUrl":"s3://voice-recordings-prod/calls","credentials":"accessKeyId:secretAccessKey:eu-central-1","transcriptionOptions":{"isEnabled":true,"locale":"en-US"}},"events":{"onFinish":[{"command":"hangup"}],"onFailure":[{"command":"messages","messages":[{"type":"SAY","say":{"text":"Recording could not be started for this call.","voiceName":"Emma_3"}}]}]}}]},"stopRecording":{"type":"object","additionalProperties":false,"title":"Stop Recording","description":"Stops a recording previously started by a `startRecording` command. This is a non-blocking command — execution continues to the next command in the sequence immediately after the stop is initiated.","required":["command","recordingName"],"properties":{"command":{"type":"string","const":"stopRecording","description":"Command to stop recording on the channel"},"recordingName":{"type":"string","description":"Name of the recording to stop, as set by `recordingName` in the `startRecording` command.","minLength":1,"maxLength":32,"pattern":"^\\S+$","example":"my-recording"}}},"bridgeCall":{"type":"object","additionalProperties":false,"title":"Add call to bridge","description":"Adds the current call to a bridge, enabling bidirectional audio communication with other calls in the same session. This is a non-blocking command — execution continues to the next command in the sequence immediately after the call joins the bridge.\n\nBridges are created automatically when referenced by name. If a bridge with the specified name already exists, the call joins that bridge; otherwise, a new bridge is created.","required":["command","bridgeName"],"properties":{"command":{"type":"string","const":"bridgeCall","description":"Command to add the call to a bridge"},"bridgeName":{"type":"string","minLength":1,"maxLength":32,"pattern":"^\\S+$","description":"Name of the bridge to join. If no bridge with this name exists in the session, a new one is created automatically."}},"examples":[{"command":"bridgeCall","bridgeName":"my_bridge"}]},"menuPrompt":{"type":"object","additionalProperties":false,"title":"Menu Prompt","description":"Prompt configuration for menu playback, including prompt messages and barge-in behavior.","required":["messages"],"properties":{"allowBargeIn":{"type":"boolean","description":"Controls whether input can interrupt prompt playback.\n\nWhen enabled, playback stops as soon as input is detected and the input is evaluated immediately if matching conditions are met.\n\nWhen disabled, input is still collected during playback and evaluated after playback finishes.","default":true},"messages":{"$ref":"#/components/schemas/typesOfMessages"}}},"menuItem":{"type":"object","additionalProperties":false,"title":"Menu Item","description":"Defines a single menu step, including prompts, input handling rules, input-to-command matches, and failure handling.\n\nEach collected input is matched against the values in the `matches` property.\nIf no match succeeds, the `onFailure` commands are executed.\n\nIf no match succeeds and `onFailure` is not defined, a `call.menu` webhook request including the collected input is sent when the service call behavior is set to `WEBHOOK`.","properties":{"prompt":{"$ref":"#/components/schemas/menuPrompt","description":"Prompt played when this menu starts.\n\nThis prompt is also used as the repeat prompt when repeatPrompt is not defined for the menu."},"repeatPrompt":{"$ref":"#/components/schemas/menuPrompt","description":"Prompt played when the menu is repeated.\n\nRepeats occur when input times out or when the provided input does not match any menu match item. If not specified, the initial prompt is used as the repeat prompt.\n\nA repeat prompt can only be defined when a prompt is also defined for this menu item."},"inputTimeoutDurationSeconds":{"type":"integer","description":"Maximum number of seconds to wait for user input before the input attempt times out.","minimum":1,"maximum":60,"default":5,"example":10},"repeatCount":{"type":"integer","description":"Maximum number of times the menu is repeated.\n\nA repeat occurs when input times out or when the provided input does not match any menu match item.","minimum":0,"maximum":10,"default":2,"example":3},"minimumInputLength":{"type":"integer","description":"Minimum number of input characters required before the menu evaluates the collected input.","minimum":1,"maximum":100,"default":1,"example":3},"maximumInputLength":{"type":"integer","description":"Maximum number of input characters that triggers the menu to evaluate the collected input.","minimum":1,"maximum":100,"default":1,"example":10},"terminatingSequence":{"type":"string","pattern":"^[0-9*#]+$","description":"Character sequence that signals the end of input and triggers immediate evaluation.\n\nUseful when variable-length input is allowed and shorter valid options should be submitted without waiting for timeout or maximum length.\n\nThe terminating sequence value is included in the evaluated input.","maxLength":10},"inputMethods":{"type":"array","description":"Input methods accepted for this menu when collecting user input.","default":["DTMF"],"items":{"type":"string","enum":["DTMF"],"x-enumDescriptions":{"DTMF":"Collect input from keypad tones (Dual-Tone Multi-Frequency)."}}},"matches":{"type":"object","description":"Items matched against the collected input. Maximum number of allowed match expressions is 50.\n\nDefined as a dictionary where each property name is a literal or a regular expression string.\n\nValues are evaluated in the order they are defined.","maxProperties":50,"propertyNames":{"type":"string","minLength":1,"maxLength":256,"description":"A regular expression or literal string to match against the collected user input. Must not be empty.\n\nProperty keys are evaluated sequentially in the order defined. The first key that matches the input will trigger its associated SVAML commands.\n\n**Note**: Use `\\\\*` to match the DTMF star tone (*)."},"additionalProperties":{"$ref":"#/components/schemas/svamlCommands"}},"onFailure":{"$ref":"#/components/schemas/svamlCommands","description":"SVAML commands executed when the menu fails to collect a matching input.\n\nThis handler runs after the repeat limit is reached without any input matching a menu match item."}}},"menu":{"type":"object","additionalProperties":false,"title":"Run menus","description":"Defines a set of named menus and executes them starting from startMenu. This is a blocking command — execution waits for the menu to complete before proceeding to the next command.\n\nEach menu item configures prompts, input collection, timeout handling, and repeat behavior.","required":["command","startMenu","menus"],"properties":{"command":{"type":"string","const":"menu","description":"Executes menu-based input collection using the configured menu definitions."},"startMenu":{"type":"string","minLength":1,"maxLength":16,"description":"Name of the menu to execute first. Must match a key in menus."},"menus":{"type":"object","propertyNames":{"type":"string","maxLength":16},"description":"Map of menu definitions keyed by menu name.","additionalProperties":{"$ref":"#/components/schemas/menuItem"}}},"examples":[{"command":"menu","startMenu":"main","menus":{"main":{"prompt":{"allowBargeIn":true,"messages":[{"type":"SAY","say":{"text":"Press 1 for sales or 2 for support.","voiceName":"Emma_3"}}]},"repeatPrompt":{"allowBargeIn":true,"messages":[{"type":"SAY","say":{"text":"Invalid option. Press 1 for sales or 2 for support.","voiceName":"Emma_3"}}]},"inputTimeoutDurationSeconds":5,"repeatCount":2,"minimumInputLength":1,"maximumInputLength":1,"inputMethods":["DTMF"],"matches":{"1":[{"command":"messages","messages":[{"type":"SAY","say":{"text":"Connecting to sales.","voiceName":"Emma_3"}}]},{"command":"dial","callName":"sales","to":{"type":"PHONE","phone":{"number":"+15551234567"}}}],"2":[{"command":"messages","messages":[{"type":"SAY","say":{"text":"Connecting to support.","voiceName":"Emma_3"}}]},{"command":"dial","callName":"support","to":{"type":"PHONE","phone":{"number":"+15557654321"}}}]},"onFailure":[{"command":"messages","messages":[{"type":"SAY","say":{"text":"Sorry, no valid selection was received.","voiceName":"Emma_3"}}]},{"command":"hangup"}]}}}]},"gotoMenu":{"type":"object","additionalProperties":false,"title":"Goto Menu","description":"Switches execution to another menu within the current menu context. The menu name must be a menu defined in the `menu` command. This is a blocking command — execution waits for the menu to complete before proceeding to the next command.\n\n**Important**: this command can only be called within a menu execution context.","required":["command","menuName"],"properties":{"command":{"type":"string","const":"gotoMenu","description":"Switch execution to another menu within the current menu context."},"menuName":{"type":"string","description":"Name of the target menu to execute next. Must match a key in menus.","minLength":1,"maxLength":16}}},"svamlCommand":{"title":"SVAML Command","type":"object","description":"A single SVAML (Sinch Voice Application Markup Language) command that controls call behavior.\n\nThe `command` property acts as a discriminator and determines which command schema applies. When multiple commands appear in a `svamlCommands` array, they execute sequentially in order.\n\n**Available commands:**\n- `dial` — Initiate an outbound call leg within the session.\n- `messages` — Play one or more TTS or audio messages on the call.\n- `stopMessages` — Stop a currently playing message sequence.\n- `webhook` — Trigger a mid-call webhook to the application backend for dynamic call control.\n- `amd` — Detect whether the call was answered by a human or an answering machine.\n- `hangup` — End the call or a specific call leg within the session.\n- `answer` — Explicitly answer an incoming call leg before executing further commands.\n- `pause` — Delay script execution without affecting call audio.\n- `startRecording` — Begin recording the call.\n- `stopRecording` — Stop an active call recording.\n- `bridgeCall` — Add the call to a named bridge for multi-party audio.\n- `menu` — Run menu-based input collection and route the call based on collected input.\n- `gotoMenu` — Switch execution to another named menu within the current menu context.","oneOf":[{"$ref":"#/components/schemas/amd"},{"$ref":"#/components/schemas/dial"},{"$ref":"#/components/schemas/messages"},{"$ref":"#/components/schemas/stopMessages"},{"$ref":"#/components/schemas/webhook"},{"$ref":"#/components/schemas/hangup"},{"$ref":"#/components/schemas/answer"},{"$ref":"#/components/schemas/pause"},{"$ref":"#/components/schemas/startRecording"},{"$ref":"#/components/schemas/stopRecording"},{"$ref":"#/components/schemas/bridgeCall"},{"$ref":"#/components/schemas/menu"},{"$ref":"#/components/schemas/gotoMenu"}],"discriminator":{"propertyName":"command","mapping":{"amd":"#/components/schemas/amd","dial":"#/components/schemas/dial","messages":"#/components/schemas/messages","stopMessages":"#/components/schemas/stopMessages","webhook":"#/components/schemas/webhook","hangup":"#/components/schemas/hangup","answer":"#/components/schemas/answer","pause":"#/components/schemas/pause","startRecording":"#/components/schemas/startRecording","stopRecording":"#/components/schemas/stopRecording","bridgeCall":"#/components/schemas/bridgeCall","menu":"#/components/schemas/menu","gotoMenu":"#/components/schemas/gotoMenu"}}},"recordingEvents":{"type":"object","additionalProperties":false,"title":"Recording Events","description":"SVAML commands to execute based on recording lifecycle outcomes.\n","properties":{"onFinish":{"description":"Commands to execute when the recording is successfully stopped. Note that this does not mean that the file is delivered to the configured destination yet.\n","$ref":"#/components/schemas/svamlCommands"},"onFailure":{"description":"Commands to execute if the recording fails to start. If omitted, failures are silently ignored and the call flow continues.\n","$ref":"#/components/schemas/svamlCommands"}}}}}},"schemaResolvedErrors":[]},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"stoprecording","__idx":12},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["stopRecording"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Stops recording."]},{"$$mdtype":"Tag","name":"JsonExample","attributes":{"json":{"command":"stopRecording","recordingName":"my-recording"},"errors":[]},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Schema:"]}]},{"$$mdtype":"Tag","name":"JsonSchema","attributes":{"schema":{"$ref":"./voice.yaml#/components/schemas/stopRecording"},"options":{},"schemaResolved":{"openapi":"3.1.0","components":{"schemas":{"__root":{"$ref":"#/components/schemas/stopRecording"},"stopRecording":{"type":"object","additionalProperties":false,"title":"Stop Recording","description":"Stops a recording previously started by a `startRecording` command. This is a non-blocking command — execution continues to the next command in the sequence immediately after the stop is initiated.","required":["command","recordingName"],"properties":{"command":{"type":"string","const":"stopRecording","description":"Command to stop recording on the channel"},"recordingName":{"type":"string","description":"Name of the recording to stop, as set by `recordingName` in the `startRecording` command.","minLength":1,"maxLength":32,"pattern":"^\\S+$","example":"my-recording"}}}}}},"schemaResolvedErrors":[]},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"bridgecall","__idx":13},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["bridgeCall"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Bridges two calls."]},{"$$mdtype":"Tag","name":"JsonExample","attributes":{"json":{"command":"bridgeCall","bridgeName":"my_bridge"},"errors":[]},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Schema:"]}]},{"$$mdtype":"Tag","name":"JsonSchema","attributes":{"schema":{"$ref":"./voice.yaml#/components/schemas/bridgeCall"},"options":{},"schemaResolved":{"openapi":"3.1.0","components":{"schemas":{"__root":{"$ref":"#/components/schemas/bridgeCall"},"bridgeCall":{"type":"object","additionalProperties":false,"title":"Add call to bridge","description":"Adds the current call to a bridge, enabling bidirectional audio communication with other calls in the same session. This is a non-blocking command — execution continues to the next command in the sequence immediately after the call joins the bridge.\n\nBridges are created automatically when referenced by name. If a bridge with the specified name already exists, the call joins that bridge; otherwise, a new bridge is created.","required":["command","bridgeName"],"properties":{"command":{"type":"string","const":"bridgeCall","description":"Command to add the call to a bridge"},"bridgeName":{"type":"string","minLength":1,"maxLength":32,"pattern":"^\\S+$","description":"Name of the bridge to join. If no bridge with this name exists in the session, a new one is created automatically."}},"examples":[{"command":"bridgeCall","bridgeName":"my_bridge"}]}}}},"schemaResolvedErrors":[]},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"menu","__idx":14},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["menu"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Define IVR menus."]},{"$$mdtype":"Tag","name":"JsonExample","attributes":{"json":{"command":"menu","startMenu":"main","menus":{"main":{"prompt":{"allowBargeIn":true,"messages":[{"type":"SAY","say":{"text":"Press 1 for sales or 2 for support.","voiceName":"Emma_3"}}]},"repeatPrompt":{"allowBargeIn":true,"messages":[{"type":"SAY","say":{"text":"Invalid option. Press 1 for sales or 2 for support.","voiceName":"Emma_3"}}]},"inputTimeoutDurationSeconds":5,"repeatCount":2,"minimumInputLength":1,"maximumInputLength":1,"inputMethods":["DTMF"],"matches":{"1":[{"command":"messages","messages":[{"type":"SAY","say":{"text":"Connecting to sales.","voiceName":"Emma_3"}}]},{"command":"dial","callName":"sales","to":{"type":"PHONE","phone":{"number":"+15551234567"}}}],"2":[{"command":"messages","messages":[{"type":"SAY","say":{"text":"Connecting to support.","voiceName":"Emma_3"}}]},{"command":"dial","callName":"support","to":{"type":"PHONE","phone":{"number":"+15557654321"}}}]},"onFailure":[{"command":"messages","messages":[{"type":"SAY","say":{"text":"Sorry, no valid selection was received.","voiceName":"Emma_3"}}]},{"command":"hangup"}]}}},"errors":[]},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Schema:"]}]},{"$$mdtype":"Tag","name":"JsonSchema","attributes":{"schema":{"$ref":"./voice.yaml#/components/schemas/menu"},"options":{},"schemaResolved":{"openapi":"3.1.0","components":{"schemas":{"__root":{"$ref":"#/components/schemas/menu"},"voiceName":{"type":"string","description":"Sinch Voice Name to use for text-to-speech. Each voice is tied to a specific language variant, gender, and pricing model (Free/Standard or Paid/Generative). See [https://developers.sinch.com/docs/voice-2.0/api-reference/text-to-speech-voices#text-to-speech-voices](https://developers.sinch.com/docs/voice-2.0/api-reference/text-to-speech-voices#currently-available-languages) for details","example":"Emma_3","enum":["Aarav","Aarav_2","Aarohi","Aarti","Aarti_2","Aarti_3","Aashi","Abbi","Abdullah","Abeo","Abril","Achara","Ada","Ada_2","Adam","Adam_2","Aditi","Adri","Adriano","Agnieszka","Ahmet","Aigul","Ainhoa","Alain","Alba","Aled","Aleksandar","Alessio","Alessio_2","Alex","Alfie","Ali","Alina","Alloy","Alloy_2","Alonso","Alvaro","Amal","Amala","Amanda","Amany","Amber","Ambre","Ameha","Amina","Amy","Amy_2","Amy_3","Ana","Anahit","Ananya","Ananya_2","Anbu","Ander","Andre","Andre_2","Andrea","Andres","Andrew","Andrew_2","Andrew_3","Angelo","Anila","Annette","Antoine","Antonin","Antonio","Anu","Aoi","Arabella","Ardi","Aria","Aria_2","Ariane","Arjun","Arjun_2","Arjun_3","Arlet","Arnau","Arnaud","Arthur","Arya","Arya_2","Asad","Ashley","Asilia","Astrid","Athina","Ava","Ava_2","Ava_3","Avri","Ayanda","Ayanda_2","Aysha","Babek","Banu","Bashkar","Bassel","Bataa","Beatrice","Beatriz","Belkys","Bella","Benigno","Bernd","Bianca","Bianca_2","Bianca_3","Blessica","BongJin","Borislav","Brandon","Brandon_2","Bree","Brenda","Brian","Brian_2","Brian_3","Brigitte","Bryan","Bryan_2","Bryan_3","Burcu","Calimero","Camila","Camilla","Camilla_2","Camilla_3","Candela","Carla","Carlos","Carlota","Carly","Carmen","Cataldo","Catalina","Cecilio","Celeste","Celine","Celine_2","Chantal","Chanthavong","Charline","Chilemba","Christel","Christoph","Christopher","Christopher_2","Clara","Claude","Colette","Colm","Conchita","Connor","Conrad","Cora","Cora_2","Coralie","Cristiano","Daichi","Dalia","Dalia_2","Daniel","Daniel_2","Danielle","Danielle_2","Dario","Dariya","Darren","Daudi","Daulet","Davis","Davis_2","Davis_3","Dena","Denise","Derek","Dhwani","Diego","Dilara","Dimas","Dmitry","Donato","Dora","Duarte","Duncan","Dustin","Echo","Eka","Elena","Elias","Elimu","Elin","Elizabeth","Elke","Elliot","Eloise","Elsa","Elsie","Elvira","Elza","Emel","Emil","Emilio","Emily","Emma","Emma_2","Emma_3","Enric","Enrique","Eric","Estrella","Ethan","Evelyn","Everita","Ewa","Ewa_2","Ezinne","Fabio","Fabiola","Fable","Fabrice","Fahed","Farid","Fatima","Federico","Fenna","Fernanda","Fiamma","Filiz","Finn","Florian","Florian_2","Florin","Francisca","Freya","Gabrielle","Gabrielle_2","Gabrijela","Gadis","Gagan","Gemma","Gemma_2","Geraint","Gerard","Gerardo","Gianni","Giorgi","Giorgio","Giovanna","Gisela","Giuseppe","Giuseppe_2","Gonzalo","GookMin","Goran","Grace","Gregory","Gudrun","Gul","GulNawaz","Gunnar","Guy","Gwyneth","Hala","Hamdan","Hamed","Hannah","Hannah_2","Hans","Harri","Hayk","Hedi","Hemkala","Henri","Hila","Hillevi","HiuGaai","Hiujin","HiuMaan","HoaiMy","Hollie","HsiaoChen","HsiaoYu","Humberto","Hyunsu","Hyunsu_2","Hyunsu_3","Ida","Ilir","Iman","Imani","Imelda","Ines","Ines_2","Ingrid","InJoon","Irene","Irma","Isabella","Isabella_2","Isabella_3","Isabelle","Isabelle_2","Iselin","Isidora","Ismael","Ivy","Ivy_2","Jacek","Jacob","Jacqueline","Jajang","Jamal","James","Jan","Jane","Jane_2","Jann","Jasmine","Jasmine_2","Jason","Javier","Jean","Jenny","Jenny_2","Jenny_3","Jeppe","Jerome","Jihye","JiMin","Jimmie","Jitka","Joana","Joanna","Joanna_2","Joanna_3","Joanne","Joey","Joey_2","Jonas","Jorge","Jorge_2","Joseph","Josephine","Juan","Julio","Justin","Justin_2","Kai","Kajal","Kajal_2","Kalina","Kani","Karina","Karl","Karla","Kasper","Katja","Kavya","Kavya_2","Kazuha","Keita","Ken","Kendra","Kendra_2","Keomany","Kert","Kevin","Killian","Kim","Kimberly","Kimberly_2","Klarissa","Klaus","Kumar","Kunal","Kunal_2","Laia","Laila","Laith","Larissa","Latifa","Laura","Laura_2","Layla","Lea","Lea_2","Lea_3","Leah","Leila","Leni","Lennart","Leonas","Leticia","Lewis","Lia","Liam","Lian","Lian_2","Libby","Liberto","Lisa","Lisa_2","Lisandro","Liv","Livia","Livia_2","Lola","Lorena","Lorenzio","Lorenzo","Lotte","Louisa","Lucia","Lucia_2","Lucia_3","Luciano","Lucien","Luis","Lukas","Luke","Luna","Luna_2","Lupe","Lupe_2","Lupe_3","Maarten","Macerio","Macerio_2","Madhur","Madina","Mads","Maisie","Maja","Manohar","Manuel","Manuela","Marcello","Marcelo","Marek","Margarita","Maria","Marija","Marina","Mario","Marlene","Marta","Maryam","Masaru","Mateo","Mathieu","Matthew","Matthew_2","Matthew_3","Mattias","Maurice","Maxim","Maya","Mayu","Mekdes","Mia","Mia_2","Mia_3","Michelle","Midhun","Miguel","Mitchell","Mizuki","Moaz","Mohan","Molly","Monica","Mouna","Muuse","Nabanita","Naja","NamMinh","Nanami","Nanami_2","Nancy","Nancy_2","Naoki","Natasha","Neerja","Neerja_2","Neil","Nestoras","Nia","Niamh","Niamh_2","Nicholas","Nicholas_2","Nicolau","Nicole","Nil","Nilar","Nils","Niranjan","Niwat","Noah","Noemi","Noora","Noura","Nova","Nova_2","Nuria","Ojas","Ola","Ola_2","Oliver","Olivia","Ollie","Ollie_2","Omar","Ona","Onyx","Orla","Osman","Ostap","Pallavi","Palmira","Paloma","Paola","Pedro","Pedro_2","Pelayo","Penelope","Pernille","Petra","Phoebe","Phoebe_2","Pierina","Piseth","Polina","Prabhat","Prabhat_2","Pradeep","Premwadee","Priyom","Rafiki","Ralf","Rami","Ramona","Rana","Raquel","Raveena","Reem","Rehaan","Rehaan_2","Rehema","Remi","Remi_2","Remy","Remy_2","Renata","Ricardo","Rinaldo","Roberto","Rodrigo","Roger","Roi","Rok","Rosa","Ruben","Russell","Ruth","Ruth_2","Ryan","Ryan_2","Sabela","Sabrina","Sabrina_2","Sagar","Saleh","Salli","Salli_2","Salli_3","Salma","Salman","Salome","Sam","Sameera","Samuel","Sana","Sapna","Sara","Saranya","Sardor","Saul","Sebastian","Selma","SeoHyeon","Seoyeon","Seoyeon_2","Seoyeon_3","Seraphina","Seraphina_2","Serena","Serena_2","Sergio","Sergio_2","Shakir","Shimmer","Shiori","Shruti","Siqiniq","Siqiniq_2","Siti","Sobhana","Soffie","Sofia","Sofie","Sonia","SoonBok","Sophie","Sophie_2","Srecko","Sreymom","Steffan","Steffan_2","Steffan_3","Stephen","Stephen_2","Subhasini","Sukant","SunHi","SunHi_2","Surya","Suvi","Svetlana","Swara","Sylvie","Sylvie_2","Taim","Takumi","Takumi_2","Tamas","Tania","Tanishaa","Tanja","Taqqiq","Taqqiq_2","Tatyana","Teo","Teresa","Thalita","Thalita_2","Thalita_3","Thando","Themba","Thiago","Thierry","Thierry_2","Thiha","Thilini","Thomas","Tiana","Tiffany","Tim","Tina","Tomas","Tomoko","Tony","Triana","Tristan_ES","Tristan_ES_2","Tuti","Tyler","Ubax","Uzma","Vaani","Valentina","Valerio","Valluvar","Venba","Vera","Vesna","Vicki","Vicki_2","Vicki_3","Victor","Viktoria","Vitoria","Vitoria_2","Vivienne","Vivienne_2","Vlasta","WanLung","Wayne","Willem","William","William_2","Xiaochen","Xiaochen_2","Xiaochen_3","Xiaochen_4","Xiaohan","Xiaohan_2","Xiaomeng","XiaoMin","Xiaomo","Xiaoqiu","Xiaorou","Xiaorui","Xiaoshuang","Xiaoshuang_2","Xiaoshuang_3","Xiaotong","Xiaoxiao","Xiaoxiao_2","Xiaoxiao_3","Xiaoxiao_4","Xiaoxiao_5","Xiaoyan","Xiaoyi","Xiaoyi_2","Xiaoyou","Xiaoyou_2","Xiaoyou_3","Xiaoyu","Xiaoyu_2","Xiaozhen","Ximena_ES","Ximena_ES_2","Ximena_ES_3","Yago","Yan","Yara","Yashica","Yasmin","Yesui","Yolanda","YuJin","Yundeng","Yunfan","Yunfan_2","Yunfeng","Yunhan","Yunhao","YunJhe","Yunjian","Yunjie","YunSong","Yunxi","Yunxi_2","Yunxia","Yunxia_2","Yunxiang","Yunxiao","Yunxiao_2","Yunyang","Yunye","Yunye_2","Yunyi","Yunyi_2","Yunze","Yunzhe","Yves","Yvette","Zariyah","Zayd","Zeina","Zhiyu","Zhiyu_2","Zofia","Zuri"],"x-enumDescriptions":{"Aarav":"Male voice for Hindi (India) (Free voice)","Aarav_2":"Male voice for English (India) (Free voice)","Aarohi":"Female voice for Marathi (India) (Free voice)","Aarti":"Female voice for Hindi (India) (Free voice)","Aarti_2":"Female voice for English (India) (Free voice)","Aarti_3":"Female voice for English (India) (Free voice)","Aashi":"Female voice for English (India) (Free voice)","Abbi":"Female voice for English (United Kingdom) (Free voice)","Abdullah":"Male voice for Arabic (Oman) (Free voice)","Abeo":"Male voice for English (Nigeria) (Free voice)","Abril":"Female voice for Spanish (Spain) (Free voice)","Achara":"Female voice for Thai (Thailand) (Free voice)","Ada":"Female voice for English (United Kingdom) (Free voice)","Ada_2":"Female voice for English (United Kingdom) (Paid voice)","Adam":"Male voice for English (United States) (Free voice)","Adam_2":"Male voice for English (United States) (Paid voice)","Aditi":"Female voice for English (India) (Free voice)","Adri":"Female voice for Afrikaans (South Africa) (Free voice)","Adriano":"Male voice for Italian (Italy) (Free voice)","Agnieszka":"Female voice for Polish (Poland) (Free voice)","Ahmet":"Male voice for Turkish (Türkiye) (Free voice)","Aigul":"Female voice for Kazakh (Kazakhstan) (Free voice)","Ainhoa":"Female voice for Basque (Free voice)","Alain":"Male voice for French (France) (Free voice)","Alba":"Female voice for Catalan (Free voice)","Aled":"Male voice for Welsh (United Kingdom) (Free voice)","Aleksandar":"Male voice for Macedonian (North Macedonia) (Free voice)","Alessio":"Male voice for Italian (Italy) (Free voice)","Alessio_2":"Male voice for Italian (Italy) (Paid voice)","Alex":"Male voice for Spanish (Peru) (Free voice)","Alfie":"Male voice for English (United Kingdom) (Free voice)","Ali":"Male voice for Arabic (Bahrain) (Free voice)","Alina":"Female voice for Romanian (Romania) (Free voice)","Alloy":"Male voice for English (United States) (Free voice)","Alloy_2":"Male voice for English (United States) (Paid voice)","Alonso":"Male voice for Spanish (United States) (Free voice)","Alvaro":"Male voice for Spanish (Spain) (Free voice)","Amal":"Female voice for Arabic (Qatar) (Free voice)","Amala":"Female voice for German (Germany) (Free voice)","Amanda":"Female voice for English (United States) (Free voice)","Amany":"Female voice for Arabic (Syria) (Free voice)","Amber":"Female voice for English (United States) (Free voice)","Ambre":"Female voice for French (France) (Paid voice)","Ameha":"Male voice for Amharic (Ethiopia) (Free voice)","Amina":"Female voice for Arabic (Algeria) (Free voice)","Amy":"Female voice for English (United Kingdom) (Free voice)","Amy_2":"Female voice for English (United Kingdom) (Free voice)","Amy_3":"Female voice for English (United Kingdom) (Paid voice)","Ana":"Female voice for English (United States) (Free voice)","Anahit":"Female voice for Armenian (Armenia) (Free voice)","Ananya":"Female voice for Hindi (India) (Free voice)","Ananya_2":"Female voice for English (India) (Free voice)","Anbu":"Male voice for Tamil (Singapore) (Free voice)","Ander":"Male voice for Basque (Free voice)","Andre":"Male voice for Spanish (Mexico) (Free voice)","Andre_2":"Male voice for Spanish (Mexico) (Paid voice)","Andrea":"Female voice for Spanish (Ecuador) (Free voice)","Andres":"Male voice for Spanish (Guatemala) (Free voice)","Andrew":"Male voice for English (United States) (Free voice)","Andrew_2":"Male voice for English (United States) (Free voice)","Andrew_3":"Male voice for English (United States) (Paid voice)","Angelo":"Male voice for Filipino (Philippines) (Free voice)","Anila":"Female voice for Albanian (Albania) (Free voice)","Annette":"Female voice for English (Australia) (Free voice)","Antoine":"Male voice for French (Canada) (Free voice)","Antonin":"Male voice for Czech (Czechia) (Free voice)","Antonio":"Male voice for Portuguese (Brazil) (Free voice)","Anu":"Female voice for Estonian (Estonia) (Free voice)","Aoi":"Female voice for Japanese (Japan) (Free voice)","Arabella":"Female voice for Spanish (Spain) (Free voice)","Ardi":"Male voice for Indonesian (Indonesia) (Free voice)","Aria":"Female voice for English (United States) (Free voice)","Aria_2":"Female voice for English (United States) (Paid voice)","Ariane":"Female voice for French (Switzerland) (Free voice)","Arjun":"Male voice for English (India) (Free voice)","Arjun_2":"Male voice for English (India) (Free voice)","Arjun_3":"Male voice for Hindi (India) (Free voice)","Arlet":"Female voice for Catalan (Free voice)","Arnau":"Male voice for Spanish (Spain) (Free voice)","Arnaud":"Male voice for Dutch (Belgium) (Free voice)","Arthur":"Male voice for English (United Kingdom) (Free voice)","Arya":"Female voice for English (New Zealand) (Free voice)","Arya_2":"Female voice for English (New Zealand) (Paid voice)","Asad":"Male voice for Urdu (Pakistan) (Free voice)","Ashley":"Female voice for English (United States) (Free voice)","Asilia":"Female voice for English (Kenya) (Free voice)","Astrid":"Female voice for Swedish (Sweden) (Free voice)","Athina":"Female voice for Greek (Greece) (Free voice)","Ava":"Female voice for English (United States) (Free voice)","Ava_2":"Female voice for English (United States) (Free voice)","Ava_3":"Female voice for English (United States) (Paid voice)","Avri":"Male voice for Hebrew (Israel) (Free voice)","Ayanda":"Female voice for English (South Africa) (Free voice)","Ayanda_2":"Female voice for English (South Africa) (Paid voice)","Aysha":"Female voice for Arabic (Oman) (Free voice)","Babek":"Male voice for Azerbaijani (Latin, Azerbaijan) (Free voice)","Banu":"Female voice for Azerbaijani (Latin, Azerbaijan) (Free voice)","Bashkar":"Male voice for Bengali (India) (Free voice)","Bassel":"Male voice for Arabic (Iraq) (Free voice)","Bataa":"Male voice for Mongolian (Mongolia) (Free voice)","Beatrice":"Female voice for Italian (Italy) (Paid voice)","Beatriz":"Female voice for Spanish (Mexico) (Free voice)","Belkys":"Female voice for Spanish (Cuba) (Free voice)","Bella":"Female voice for English (United Kingdom) (Free voice)","Benigno":"Male voice for Italian (Italy) (Free voice)","Bernd":"Male voice for German (Germany) (Free voice)","Bianca":"Female voice for Italian (Italy) (Free voice)","Bianca_2":"Female voice for Italian (Italy) (Free voice)","Bianca_3":"Female voice for Italian (Italy) (Paid voice)","Blessica":"Female voice for Filipino (Philippines) (Free voice)","BongJin":"Male voice for Korean (Korea) (Free voice)","Borislav":"Male voice for Bulgarian (Bulgaria) (Free voice)","Brandon":"Male voice for English (United States) (Free voice)","Brandon_2":"Male voice for English (United States) (Free voice)","Bree":"Female voice for English (United States) (Paid voice)","Brenda":"Female voice for Portuguese (Brazil) (Free voice)","Brian":"Male voice for English (United States) (Free voice)","Brian_2":"Male voice for English (United States) (Free voice)","Brian_3":"Male voice for English (United States) (Paid voice)","Brigitte":"Female voice for French (France) (Free voice)","Bryan":"Male voice for English (United Kingdom) (Free voice)","Bryan_2":"Male voice for English (United Kingdom) (Free voice)","Bryan_3":"Male voice for English (United Kingdom) (Paid voice)","Burcu":"Female voice for Turkish (Türkiye) (Free voice)","Calimero":"Male voice for Italian (Italy) (Free voice)","Camila":"Female voice for Spanish (Peru) (Free voice)","Camilla":"Female voice for Portuguese (Brazil) (Free voice)","Camilla_2":"Female voice for Portuguese (Brazil) (Free voice)","Camilla_3":"Female voice for Portuguese (Brazil) (Paid voice)","Candela":"Female voice for Spanish (Mexico) (Free voice)","Carla":"Female voice for Italian (Italy) (Free voice)","Carlos":"Male voice for Spanish (Honduras) (Free voice)","Carlota":"Female voice for Spanish (Mexico) (Free voice)","Carly":"Female voice for English (Australia) (Free voice)","Carmen":"Female voice for Romanian (Romania) (Free voice)","Cataldo":"Male voice for Italian (Italy) (Free voice)","Catalina":"Female voice for Spanish (Chile) (Free voice)","Cecilio":"Male voice for Spanish (Mexico) (Free voice)","Celeste":"Female voice for French (France) (Free voice)","Celine":"Female voice for French (France) (Free voice)","Celine_2":"Female voice for French (France) (Paid voice)","Chantal":"Female voice for French (Canada) (Free voice)","Chanthavong":"Male voice for Lao (Laos) (Free voice)","Charline":"Female voice for French (Belgium) (Free voice)","Chilemba":"Male voice for English (Kenya) (Free voice)","Christel":"Female voice for Danish (Denmark) (Free voice)","Christoph":"Male voice for German (Germany) (Free voice)","Christopher":"Male voice for English (United States) (Free voice)","Christopher_2":"Male voice for English (United States) (Free voice)","Clara":"Female voice for English (Canada) (Free voice)","Claude":"Male voice for French (France) (Free voice)","Colette":"Female voice for Dutch (Netherlands) (Free voice)","Colm":"Male voice for Irish (Ireland) (Free voice)","Conchita":"Female voice for Spanish (Castilian) (Free voice)","Connor":"Male voice for English (Ireland) (Free voice)","Conrad":"Male voice for German (Germany) (Free voice)","Cora":"Female voice for English (United States) (Free voice)","Cora_2":"Female voice for English (United States) (Free voice)","Coralie":"Female voice for French (France) (Free voice)","Cristiano":"Male voice for Portuguese (Brazil) (Free voice)","Daichi":"Male voice for Japanese (Japan) (Free voice)","Dalia":"Female voice for Spanish (Mexico) (Free voice)","Dalia_2":"Female voice for Spanish (Mexico) (Free voice)","Daniel":"Male voice for German (Germany) (Free voice)","Daniel_2":"Male voice for German (Germany) (Paid voice)","Danielle":"Female voice for English (United States) (Free voice)","Danielle_2":"Female voice for English (United States) (Paid voice)","Dario":"Male voice for Spanish (Spain) (Free voice)","Dariya":"Female voice for Russian (Russia) (Free voice)","Darren":"Male voice for English (Australia) (Free voice)","Daudi":"Male voice for Swahili (Tanzania) (Free voice)","Daulet":"Male voice for Kazakh (Kazakhstan) (Free voice)","Davis":"Male voice for English (United States) (Free voice)","Davis_2":"Male voice for English (United States) (Free voice)","Davis_3":"Male voice for English (United States) (Paid voice)","Dena":"Female voice for Dutch (Belgium) (Free voice)","Denise":"Female voice for French (France) (Free voice)","Derek":"Male voice for English (United States) (Free voice)","Dhwani":"Female voice for Gujarati (India) (Free voice)","Diego":"Male voice for Italian (Italy) (Free voice)","Dilara":"Female voice for Persian (Iran) (Free voice)","Dimas":"Male voice for Javanese (Latin, Indonesia) (Free voice)","Dmitry":"Male voice for Russian (Russia) (Free voice)","Donato":"Male voice for Portuguese (Brazil) (Free voice)","Dora":"Female voice for Icelandic (Iceland) (Free voice)","Duarte":"Male voice for Portuguese (Portugal) (Free voice)","Duncan":"Male voice for English (Australia) (Free voice)","Dustin":"Male voice for English (United States) (Free voice)","Echo":"Male voice for English (United States) (Free voice)","Eka":"Female voice for Georgian (Georgia) (Free voice)","Elena":"Female voice for Spanish (Argentina) (Free voice)","Elias":"Male voice for Spanish (Spain) (Free voice)","Elimu":"Male voice for English (Tanzania) (Free voice)","Elin":"Female voice for Swedish (Sweden) (Free voice)","Elizabeth":"Female voice for English (United States) (Free voice)","Elke":"Female voice for German (Germany) (Free voice)","Elliot":"Male voice for English (United Kingdom) (Free voice)","Eloise":"Female voice for French (France) (Free voice)","Elsa":"Female voice for Italian (Italy) (Free voice)","Elsie":"Female voice for English (Australia) (Free voice)","Elvira":"Female voice for Spanish (Spain) (Free voice)","Elza":"Female voice for Portuguese (Brazil) (Free voice)","Emel":"Female voice for Turkish (Türkiye) (Free voice)","Emil":"Male voice for Romanian (Romania) (Free voice)","Emilio":"Male voice for Spanish (Dominican Republic) (Free voice)","Emily":"Female voice for English (Ireland) (Free voice)","Emma":"Female voice for English (United States) (Free voice)","Emma_2":"Female voice for English (United States) (Free voice)","Emma_3":"Female voice for English (United States) (Paid voice)","Enric":"Male voice for Catalan (Free voice)","Enrique":"Male voice for Spanish (Castilian) (Free voice)","Eric":"Male voice for English (United States) (Free voice)","Estrella":"Female voice for Spanish (Spain) (Free voice)","Ethan":"Male voice for English (United Kingdom) (Free voice)","Evelyn":"Female voice for English (United States) (Free voice)","Everita":"Female voice for Latvian (Latvia) (Free voice)","Ewa":"Female voice for Polish (Poland) (Free voice)","Ewa_2":"Female voice for Polish (Poland) (Paid voice)","Ezinne":"Female voice for English (Nigeria) (Free voice)","Fabio":"Male voice for Portuguese (Brazil) (Free voice)","Fabiola":"Female voice for Italian (Italy) (Free voice)","Fable":"Neutral voice for English (United States) (Free voice)","Fabrice":"Male voice for French (Switzerland) (Free voice)","Fahed":"Male voice for Arabic (Kuwait) (Free voice)","Farid":"Male voice for Persian (Iran) (Free voice)","Fatima":"Female voice for Arabic (United Arab Emirates) (Free voice)","Federico":"Male voice for Spanish (Nicaragua) (Free voice)","Fenna":"Female voice for Dutch (Netherlands) (Free voice)","Fernanda":"Female voice for Portuguese (Portugal) (Free voice)","Fiamma":"Female voice for Italian (Italy) (Free voice)","Filiz":"Female voice for Turkish (Türkiye) (Free voice)","Finn":"Male voice for Norwegian (Norway) (Free voice)","Florian":"Male voice for German (Germany) (Free voice)","Florian_2":"Male voice for German (Germany) (Paid voice)","Florin":"Male voice for French (France) (Paid voice)","Francisca":"Female voice for Portuguese (Brazil) (Free voice)","Freya":"Female voice for English (Australia) (Free voice)","Gabrielle":"Female voice for French (Canada) (Free voice)","Gabrielle_2":"Female voice for French (Canada) (Paid voice)","Gabrijela":"Female voice for Croatian (Croatia) (Free voice)","Gadis":"Female voice for Indonesian (Indonesia) (Free voice)","Gagan":"Male voice for Kannada (India) (Free voice)","Gemma":"Female voice for English (United Kingdom) (Free voice)","Gemma_2":"Female voice for English (United Kingdom) (Free voice)","Geraint":"Male voice for Welsh (United Kingdom) (Free voice)","Gerard":"Male voice for French (Belgium) (Free voice)","Gerardo":"Male voice for Spanish (Mexico) (Free voice)","Gianni":"Male voice for Italian (Italy) (Free voice)","Giorgi":"Male voice for Georgian (Georgia) (Free voice)","Giorgio":"Male voice for Italian (Italy) (Free voice)","Giovanna":"Female voice for Portuguese (Brazil) (Free voice)","Gisela":"Female voice for German (Germany) (Free voice)","Giuseppe":"Male voice for Italian (Italy) (Free voice)","Giuseppe_2":"Male voice for Italian (Italy) (Free voice)","Gonzalo":"Male voice for Spanish (Colombia) (Free voice)","GookMin":"Male voice for Korean (Korea) (Free voice)","Goran":"Male voice for Bosnian (Bosnia and Herzegovina) (Free voice)","Grace":"Female voice for Maltese (Malta) (Free voice)","Gregory":"Male voice for English (United States) (Free voice)","Gudrun":"Female voice for Icelandic (Iceland) (Free voice)","Gul":"Female voice for Urdu (India) (Free voice)","GulNawaz":"Male voice for Pashto (Afghanistan) (Free voice)","Gunnar":"Male voice for Icelandic (Iceland) (Free voice)","Guy":"Male voice for English (United States) (Free voice)","Gwyneth":"Female voice for Welsh (United Kingdom) (Free voice)","Hala":"Female voice for Arabic (Saudi Arabia) (Free voice)","Hamdan":"Male voice for Arabic (United Arab Emirates) (Free voice)","Hamed":"Male voice for Arabic (Saudi Arabia) (Free voice)","Hannah":"Female voice for German (Austria) (Free voice)","Hannah_2":"Female voice for German (Austria) (Paid voice)","Hans":"Male voice for German (Germany) (Free voice)","Harri":"Male voice for Finnish (Finland) (Free voice)","Hayk":"Male voice for Armenian (Armenia) (Free voice)","Hedi":"Male voice for Arabic (Tunisia) (Free voice)","Hemkala":"Female voice for Nepali (Nepal) (Free voice)","Henri":"Male voice for French (France) (Free voice)","Hila":"Female voice for Hebrew (Israel) (Free voice)","Hillevi":"Female voice for Swedish (Sweden) (Free voice)","HiuGaai":"Female voice for Chinese (Cantonese, Traditional) (Free voice)","Hiujin":"Female voice for Chinese (Cantonese) (Free voice)","HiuMaan":"Female voice for Chinese (Cantonese, Traditional) (Free voice)","HoaiMy":"Female voice for Vietnamese (Vietnam) (Free voice)","Hollie":"Female voice for English (United Kingdom) (Free voice)","HsiaoChen":"Female voice for Chinese (Taiwanese Mandarin, Traditional) (Free voice)","HsiaoYu":"Female voice for Chinese (Taiwanese Mandarin, Traditional) (Free voice)","Humberto":"Male voice for Portuguese (Brazil) (Free voice)","Hyunsu":"Male voice for Korean (Korea) (Free voice)","Hyunsu_2":"Male voice for Korean (Korea) (Free voice)","Hyunsu_3":"Male voice for Korean (Korea) (Paid voice)","Ida":"Female voice for Norwegian (Norway) (Free voice)","Ilir":"Male voice for Albanian (Albania) (Free voice)","Iman":"Female voice for Arabic (Libya) (Free voice)","Imani":"Female voice for English (Tanzania) (Free voice)","Imelda":"Female voice for Italian (Italy) (Free voice)","Ines":"Female voice for Portuguese (Brazil) (Free voice)","Ines_2":"Female voice for Portuguese (Brazil) (Free voice)","Ingrid":"Female voice for German (Austria) (Free voice)","InJoon":"Male voice for Korean (Korea) (Free voice)","Irene":"Female voice for Spanish (Spain) (Free voice)","Irma":"Female voice for Italian (Italy) (Free voice)","Isabella":"Female voice for Italian (Italy) (Free voice)","Isabella_2":"Female voice for Italian (Italy) (Free voice)","Isabella_3":"Female voice for Italian (Italy) (Paid voice)","Isabelle":"Female voice for French (Belgium) (Free voice)","Isabelle_2":"Female voice for French (Belgium) (Paid voice)","Iselin":"Female voice for Norwegian (Norway) (Free voice)","Isidora":"Female voice for Spanish (Spain) (Free voice)","Ismael":"Male voice for Arabic (Algeria) (Free voice)","Ivy":"Female voice for English (United States) (Free voice)","Ivy_2":"Female voice for English (United States) (Free voice)","Jacek":"Male voice for Polish (Poland) (Free voice)","Jacob":"Male voice for English (United States) (Free voice)","Jacqueline":"Female voice for French (France) (Free voice)","Jajang":"Male voice for Sundanese (Indonesia) (Free voice)","Jamal":"Male voice for Arabic (Morocco) (Free voice)","James":"Male voice for English (Philippines) (Free voice)","Jan":"Male voice for German (Switzerland) (Free voice)","Jane":"Female voice for English (United States) (Free voice)","Jane_2":"Female voice for English (United States) (Paid voice)","Jann":"Male voice for Polish (Poland) (Free voice)","Jasmine":"Female voice for English (Singapore) (Free voice)","Jasmine_2":"Female voice for English (Singapore) (Paid voice)","Jason":"Male voice for English (United States) (Free voice)","Javier":"Male voice for Spanish (Equatorial Guinea) (Free voice)","Jean":"Male voice for French (Canada) (Free voice)","Jenny":"Female voice for English (United States) (Free voice)","Jenny_2":"Female voice for English (United States) (Free voice)","Jenny_3":"Female voice for English (United States) (Paid voice)","Jeppe":"Male voice for Danish (Denmark) (Free voice)","Jerome":"Male voice for French (France) (Free voice)","Jihye":"Female voice for Korean (Korea) (Free voice)","JiMin":"Female voice for Korean (Korea) (Free voice)","Jimmie":"Male voice for English (United States) (Free voice)","Jitka":"Female voice for Czech (Czechia) (Free voice)","Joana":"Female voice for Catalan (Free voice)","Joanna":"Female voice for English (United States) (Free voice)","Joanna_2":"Female voice for English (United States) (Free voice)","Joanna_3":"Female voice for English (United States) (Paid voice)","Joanne":"Female voice for English (Australia) (Free voice)","Joey":"Male voice for English (United States) (Free voice)","Joey_2":"Male voice for English (United States) (Free voice)","Jonas":"Male voice for German (Austria) (Free voice)","Jorge":"Male voice for Spanish (Mexico) (Free voice)","Jorge_2":"Male voice for Spanish (Mexico) (Free voice)","Joseph":"Male voice for Maltese (Malta) (Free voice)","Josephine":"Female voice for French (France) (Free voice)","Juan":"Male voice for Spanish (Costa Rica) (Free voice)","Julio":"Male voice for Portuguese (Brazil) (Free voice)","Justin":"Male voice for English (United States) (Free voice)","Justin_2":"Male voice for English (United States) (Free voice)","Kai":"Male voice for English (United States) (Free voice)","Kajal":"Female voice for English (India) (Free voice)","Kajal_2":"Female voice for English (India) (Paid voice)","Kalina":"Female voice for Bulgarian (Bulgaria) (Free voice)","Kani":"Female voice for Tamil (Malaysia) (Free voice)","Karina":"Female voice for Spanish (Puerto Rico) (Free voice)","Karl":"Male voice for Icelandic (Iceland) (Free voice)","Karla":"Female voice for Spanish (Honduras) (Free voice)","Kasper":"Male voice for German (Germany) (Free voice)","Katja":"Female voice for German (Germany) (Free voice)","Kavya":"Female voice for Hindi (India) (Free voice)","Kavya_2":"Female voice for English (India) (Free voice)","Kazuha":"Female voice for Japanese (Japan) (Free voice)","Keita":"Male voice for Japanese (Japan) (Free voice)","Ken":"Male voice for English (Australia) (Free voice)","Kendra":"Female voice for English (United States) (Free voice)","Kendra_2":"Female voice for English (United States) (Free voice)","Keomany":"Female voice for Lao (Laos) (Free voice)","Kert":"Male voice for Estonian (Estonia) (Free voice)","Kevin":"Male voice for English (United States) (Free voice)","Killian":"Male voice for German (Germany) (Free voice)","Kim":"Female voice for English (Australia) (Free voice)","Kimberly":"Female voice for English (United States) (Free voice)","Kimberly_2":"Female voice for English (United States) (Free voice)","Klarissa":"Female voice for German (Germany) (Free voice)","Klaus":"Male voice for German (Germany) (Free voice)","Kumar":"Male voice for Tamil (Sri Lanka) (Free voice)","Kunal":"Male voice for Hindi (India) (Free voice)","Kunal_2":"Male voice for English (India) (Free voice)","Laia":"Female voice for Spanish (Spain) (Free voice)","Laila":"Female voice for Arabic (Bahrain) (Free voice)","Laith":"Male voice for Arabic (Syria) (Free voice)","Larissa":"Female voice for Spanish (Mexico) (Free voice)","Latifa":"Female voice for Pashto (Afghanistan) (Free voice)","Laura":"Female voice for Dutch (Netherlands) (Free voice)","Laura_2":"Female voice for Dutch (Netherlands) (Paid voice)","Layla":"Female voice for Arabic (Lebanon) (Free voice)","Lea":"Female voice for French (France) (Free voice)","Lea_2":"Female voice for French (France) (Free voice)","Lea_3":"Female voice for French (France) (Paid voice)","Leah":"Female voice for English (South Africa) (Free voice)","Leila":"Female voice for Portuguese (Brazil) (Free voice)","Leni":"Female voice for German (Switzerland) (Free voice)","Lennart":"Male voice for German (Germany) (Paid voice)","Leonas":"Male voice for Lithuanian (Lithuania) (Free voice)","Leticia":"Female voice for Portuguese (Brazil) (Free voice)","Lewis":"Male voice for English (United States) (Free voice)","Lia":"Female voice for Spanish (Spain) (Free voice)","Liam":"Male voice for English (Canada) (Free voice)","Lian":"Male voice for French (Canada) (Free voice)","Lian_2":"Male voice for French (Canada) (Paid voice)","Libby":"Female voice for English (United Kingdom) (Free voice)","Liberto":"Male voice for Spanish (Mexico) (Free voice)","Lisa":"Female voice for Dutch (Belgium) (Free voice)","Lisa_2":"Female voice for Dutch (Belgium) (Paid voice)","Lisandro":"Male voice for Italian (Italy) (Free voice)","Liv":"Female voice for Norwegian (Norway) (Free voice)","Livia":"Female voice for English (Australia) (Free voice)","Livia_2":"Female voice for English (Australia) (Paid voice)","Lola":"Female voice for English (United States) (Free voice)","Lorena":"Female voice for Spanish (El Salvador) (Free voice)","Lorenzio":"Male voice for Italian (Italy) (Paid voice)","Lorenzo":"Male voice for Spanish (Chile) (Free voice)","Lotte":"Female voice for Dutch (Netherlands) (Free voice)","Louisa":"Female voice for German (Germany) (Free voice)","Lucia":"Female voice for Spanish (Castilian) (Free voice)","Lucia_2":"Female voice for Spanish (Castilian) (Free voice)","Lucia_3":"Female voice for Spanish (Castilian) (Paid voice)","Luciano":"Male voice for Spanish (Mexico) (Free voice)","Lucien":"Male voice for French (France) (Free voice)","Luis":"Male voice for Spanish (Ecuador) (Free voice)","Lukas":"Male voice for Slovak (Slovakia) (Free voice)","Luke":"Male voice for English (South Africa) (Free voice)","Luna":"Female voice for English (Singapore) (Free voice)","Luna_2":"Female voice for English (United States) (Free voice)","Lupe":"Female voice for Spanish (United States) (Free voice)","Lupe_2":"Female voice for Spanish (United States) (Free voice)","Lupe_3":"Female voice for Spanish (United States) (Paid voice)","Maarten":"Male voice for Dutch (Netherlands) (Free voice)","Macerio":"Male voice for Portuguese (Brazil) (Free voice)","Macerio_2":"Male voice for Portuguese (Brazil) (Paid voice)","Madhur":"Male voice for Hindi (India) (Free voice)","Madina":"Female voice for Uzbek (Latin, Uzbekistan) (Free voice)","Mads":"Male voice for Danish (Denmark) (Free voice)","Maisie":"Female voice for English (United Kingdom) (Free voice)","Maja":"Female voice for German (Germany) (Free voice)","Manohar":"Male voice for Marathi (India) (Free voice)","Manuel":"Male voice for Spanish (Cuba) (Free voice)","Manuela":"Female voice for Portuguese (Brazil) (Free voice)","Marcello":"Male voice for Italian (Italy) (Free voice)","Marcelo":"Male voice for Spanish (Bolivia) (Free voice)","Marek":"Male voice for Polish (Poland) (Free voice)","Margarita":"Female voice for Spanish (Panama) (Free voice)","Maria":"Female voice for Spanish (Costa Rica) (Free voice)","Marija":"Female voice for Macedonian (North Macedonia) (Free voice)","Marina":"Female voice for Spanish (Mexico) (Free voice)","Mario":"Male voice for Spanish (Paraguay) (Free voice)","Marlene":"Female voice for German (Germany) (Free voice)","Marta":"Female voice for Spanish (Guatemala) (Free voice)","Maryam":"Female voice for Arabic (Yemen) (Free voice)","Masaru":"Male voice for Japanese (Japan) (Paid voice)","Mateo":"Male voice for Spanish (Uruguay) (Free voice)","Mathieu":"Male voice for French (France) (Free voice)","Matthew":"Male voice for English (United States) (Free voice)","Matthew_2":"Male voice for English (United States) (Free voice)","Matthew_3":"Male voice for English (United States) (Paid voice)","Mattias":"Male voice for Swedish (Sweden) (Free voice)","Maurice":"Male voice for French (France) (Free voice)","Maxim":"Male voice for Russian (Russia) (Free voice)","Maya":"Female voice for Polish (Poland) (Free voice)","Mayu":"Female voice for Japanese (Japan) (Free voice)","Mekdes":"Female voice for Amharic (Ethiopia) (Free voice)","Mia":"Female voice for Spanish (Mexico) (Free voice)","Mia_2":"Female voice for Spanish (Mexico) (Free voice)","Mia_3":"Female voice for Spanish (Mexico) (Paid voice)","Michelle":"Female voice for English (United States) (Free voice)","Midhun":"Male voice for Malayalam (India) (Free voice)","Miguel":"Male voice for Spanish (United States) (Free voice)","Mitchell":"Male voice for English (New Zealand) (Free voice)","Mizuki":"Female voice for Japanese (Japan) (Free voice)","Moaz":"Male voice for Arabic (Qatar) (Free voice)","Mohan":"Male voice for Telugu (India) (Free voice)","Molly":"Female voice for English (New Zealand) (Free voice)","Monica":"Female voice for English (United States) (Free voice)","Mouna":"Female voice for Arabic (Morocco) (Free voice)","Muuse":"Male voice for Somali (Somalia) (Free voice)","Nabanita":"Female voice for Bangla (Bangladesh) (Free voice)","Naja":"Female voice for Danish (Denmark) (Free voice)","NamMinh":"Male voice for Vietnamese (Vietnam) (Free voice)","Nanami":"Female voice for Japanese (Japan) (Free voice)","Nanami_2":"Female voice for Japanese (Japan) (Paid voice)","Nancy":"Female voice for English (United States) (Free voice)","Nancy_2":"Female voice for English (United States) (Free voice)","Naoki":"Male voice for Japanese (Japan) (Free voice)","Natasha":"Female voice for English (Australia) (Free voice)","Neerja":"Female voice for English (India) (Free voice)","Neerja_2":"Female voice for English (India) (Free voice)","Neil":"Male voice for English (Australia) (Free voice)","Nestoras":"Male voice for Greek (Greece) (Free voice)","Nia":"Female voice for Welsh (United Kingdom) (Free voice)","Niamh":"Female voice for English (Ireland) (Free voice)","Niamh_2":"Female voice for English (Ireland) (Paid voice)","Nicholas":"Male voice for Serbian (Cyrillic, Serbia) (Free voice)","Nicholas_2":"Male voice for Serbian (Latin, Serbia) (Free voice)","Nicolau":"Male voice for Portuguese (Brazil) (Free voice)","Nicole":"Female voice for English (Australia) (Free voice)","Nil":"Male voice for Spanish (Spain) (Free voice)","Nilar":"Female voice for Burmese (Myanmar) (Free voice)","Nils":"Male voice for Latvian (Latvia) (Free voice)","Niranjan":"Male voice for Gujarati (India) (Free voice)","Niwat":"Male voice for Thai (Thailand) (Free voice)","Noah":"Male voice for English (United Kingdom) (Free voice)","Noemi":"Female voice for Hungarian (Hungary) (Free voice)","Noora":"Female voice for Finnish (Finland) (Free voice)","Noura":"Female voice for Arabic (Kuwait) (Free voice)","Nova":"Female voice for English (United States) (Free voice)","Nova_2":"Female voice for English (United States) (Paid voice)","Nuria":"Female voice for Spanish (Mexico) (Free voice)","Ojas":"Male voice for Punjabi (India) (Free voice)","Ola":"Female voice for Polish (Poland) (Free voice)","Ola_2":"Female voice for Polish (Poland) (Paid voice)","Oliver":"Male voice for English (United Kingdom) (Free voice)","Olivia":"Female voice for English (United Kingdom) (Free voice)","Ollie":"Male voice for English (United Kingdom) (Free voice)","Ollie_2":"Male voice for English (United Kingdom) (Paid voice)","Omar":"Male voice for Arabic (Libya) (Free voice)","Ona":"Female voice for Lithuanian (Lithuania) (Free voice)","Onyx":"Male voice for English (United States) (Free voice)","Orla":"Female voice for Irish (Ireland) (Free voice)","Osman":"Male voice for Malay (Malaysia) (Free voice)","Ostap":"Male voice for Ukrainian (Ukraine) (Free voice)","Pallavi":"Female voice for Tamil (India) (Free voice)","Palmira":"Female voice for Italian (Italy) (Free voice)","Paloma":"Female voice for Spanish (United States) (Free voice)","Paola":"Female voice for Spanish (Venezuela) (Free voice)","Pedro":"Male voice for Spanish (United States) (Free voice)","Pedro_2":"Male voice for Spanish (United States) (Paid voice)","Pelayo":"Male voice for Spanish (Mexico) (Free voice)","Penelope":"Female voice for Spanish (United States) (Free voice)","Pernille":"Female voice for Norwegian (Norway) (Free voice)","Petra":"Female voice for Slovenian (Slovenia) (Free voice)","Phoebe":"Female voice for English (United States) (Free voice)","Phoebe_2":"Female voice for English (United States) (Paid voice)","Pierina":"Female voice for Italian (Italy) (Free voice)","Piseth":"Male voice for Khmer (Cambodia) (Free voice)","Polina":"Female voice for Ukrainian (Ukraine) (Free voice)","Prabhat":"Male voice for English (India) (Free voice)","Prabhat_2":"Male voice for English (India) (Free voice)","Pradeep":"Male voice for Bangla (Bangladesh) (Free voice)","Premwadee":"Female voice for Thai (Thailand) (Free voice)","Priyom":"Male voice for Assamese (India) (Free voice)","Rafiki":"Male voice for Swahili (Kenya) (Free voice)","Ralf":"Male voice for German (Germany) (Free voice)","Rami":"Male voice for Arabic (Lebanon) (Free voice)","Ramona":"Female voice for Spanish (Dominican Republic) (Free voice)","Rana":"Female voice for Arabic (Iraq) (Free voice)","Raquel":"Female voice for Portuguese (Portugal) (Free voice)","Raveena":"Female voice for English (India) (Free voice)","Reem":"Female voice for Arabic (Tunisia) (Free voice)","Rehaan":"Male voice for Hindi (India) (Free voice)","Rehaan_2":"Male voice for English (India) (Free voice)","Rehema":"Female voice for Swahili (Tanzania) (Free voice)","Remi":"Male voice for French (France) (Free voice)","Remi_2":"Male voice for French (France) (Paid voice)","Remy":"Male voice for French (France) (Free voice)","Remy_2":"Male voice for French (France) (Paid voice)","Renata":"Female voice for Spanish (Mexico) (Free voice)","Ricardo":"Male voice for Portuguese (Brazil) (Free voice)","Rinaldo":"Male voice for Italian (Italy) (Free voice)","Roberto":"Male voice for Spanish (Panama) (Free voice)","Rodrigo":"Male voice for Spanish (El Salvador) (Free voice)","Roger":"Male voice for English (United States) (Free voice)","Roi":"Male voice for Galician (Free voice)","Rok":"Male voice for Slovenian (Slovenia) (Free voice)","Rosa":"Female voice for English (Philippines) (Free voice)","Ruben":"Male voice for Dutch (Netherlands) (Free voice)","Russell":"Male voice for English (Australia) (Free voice)","Ruth":"Female voice for English (United States) (Free voice)","Ruth_2":"Female voice for English (United States) (Paid voice)","Ryan":"Male voice for English (United States) (Free voice)","Ryan_2":"Male voice for English (United Kingdom) (Free voice)","Sabela":"Female voice for Galician (Free voice)","Sabrina":"Female voice for German (Switzerland) (Free voice)","Sabrina_2":"Female voice for German (Switzerland) (Paid voice)","Sagar":"Male voice for Nepali (Nepal) (Free voice)","Saleh":"Male voice for Arabic (Yemen) (Free voice)","Salli":"Female voice for English (United States) (Free voice)","Salli_2":"Female voice for English (United States) (Free voice)","Salli_3":"Female voice for English (United States) (Paid voice)","Salma":"Female voice for Arabic (Egypt) (Free voice)","Salman":"Male voice for Urdu (India) (Free voice)","Salome":"Female voice for Spanish (Colombia) (Free voice)","Sam":"Male voice for English (Hong Kong SAR) (Free voice)","Sameera":"Male voice for Sinhala (Sri Lanka) (Free voice)","Samuel":"Male voice for English (United States) (Free voice)","Sana":"Female voice for Arabic (Jordan) (Free voice)","Sapna":"Female voice for Kannada (India) (Free voice)","Sara":"Female voice for English (United States) (Free voice)","Saranya":"Female voice for Tamil (Sri Lanka) (Free voice)","Sardor":"Male voice for Uzbek (Latin, Uzbekistan) (Free voice)","Saul":"Male voice for Spanish (Spain) (Free voice)","Sebastian":"Male voice for Spanish (Venezuela) (Free voice)","Selma":"Female voice for Finnish (Finland) (Free voice)","SeoHyeon":"Female voice for Korean (Korea) (Free voice)","Seoyeon":"Female voice for Korean (Korea) (Free voice)","Seoyeon_2":"Female voice for Korean (Korea) (Free voice)","Seoyeon_3":"Female voice for Korean (Korea) (Paid voice)","Seraphina":"Female voice for German (Germany) (Free voice)","Seraphina_2":"Female voice for German (Germany) (Paid voice)","Serena":"Female voice for English (United States) (Free voice)","Serena_2":"Female voice for English (United States) (Paid voice)","Sergio":"Male voice for Spanish (Castilian) (Free voice)","Sergio_2":"Male voice for Spanish (Castilian) (Paid voice)","Shakir":"Male voice for Arabic (Egypt) (Free voice)","Shimmer":"Female voice for English (United States) (Free voice)","Shiori":"Female voice for Japanese (Japan) (Free voice)","Shruti":"Female voice for Telugu (India) (Free voice)","Siqiniq":"Female voice for Inuktitut (Syllabics, Canada) (Free voice)","Siqiniq_2":"Female voice for Inuktitut (Latin, Canada) (Free voice)","Siti":"Female voice for Javanese (Latin, Indonesia) (Free voice)","Sobhana":"Female voice for Malayalam (India) (Free voice)","Soffie":"Female voice for Danish (Denmark) (Free voice)","Sofia":"Female voice for Spanish (Bolivia) (Free voice)","Sofie":"Female voice for Swedish (Sweden) (Free voice)","Sonia":"Female voice for English (United Kingdom) (Free voice)","SoonBok":"Female voice for Korean (Korea) (Free voice)","Sophie":"Female voice for Serbian (Cyrillic, Serbia) (Free voice)","Sophie_2":"Female voice for Serbian (Latin, Serbia) (Free voice)","Srecko":"Male voice for Croatian (Croatia) (Free voice)","Sreymom":"Female voice for Khmer (Cambodia) (Free voice)","Steffan":"Male voice for English (United States) (Free voice)","Steffan_2":"Male voice for English (United States) (Free voice)","Steffan_3":"Male voice for English (United States) (Paid voice)","Stephen":"Male voice for English (United States) (Free voice)","Stephen_2":"Male voice for English (United States) (Paid voice)","Subhasini":"Female voice for Odia (India) (Free voice)","Sukant":"Male voice for Odia (India) (Free voice)","SunHi":"Female voice for Korean (Korea) (Free voice)","SunHi_2":"Female voice for Korean (Korea) (Paid voice)","Surya":"Male voice for Tamil (Malaysia) (Free voice)","Suvi":"Female voice for Finnish (Finland) (Free voice)","Svetlana":"Female voice for Russian (Russia) (Free voice)","Swara":"Female voice for Hindi (India) (Free voice)","Sylvie":"Female voice for French (Canada) (Free voice)","Sylvie_2":"Female voice for French (Canada) (Paid voice)","Taim":"Male voice for Arabic (Jordan) (Free voice)","Takumi":"Male voice for Japanese (Japan) (Free voice)","Takumi_2":"Male voice for Japanese (Japan) (Free voice)","Tamas":"Male voice for Hungarian (Hungary) (Free voice)","Tania":"Female voice for Spanish (Paraguay) (Free voice)","Tanishaa":"Female voice for Bengali (India) (Free voice)","Tanja":"Female voice for German (Germany) (Free voice)","Taqqiq":"Male voice for Inuktitut (Syllabics, Canada) (Free voice)","Taqqiq_2":"Male voice for Inuktitut (Latin, Canada) (Free voice)","Tatyana":"Female voice for Russian (Russia) (Free voice)","Teo":"Male voice for Spanish (Spain) (Free voice)","Teresa":"Female voice for Spanish (Equatorial Guinea) (Free voice)","Thalita":"Female voice for Portuguese (Brazil) (Free voice)","Thalita_2":"Female voice for Portuguese (Brazil) (Free voice)","Thalita_3":"Female voice for Portuguese (Brazil) (Paid voice)","Thando":"Female voice for Zulu (South Africa) (Free voice)","Themba":"Male voice for Zulu (South Africa) (Free voice)","Thiago":"Male voice for Portuguese (Brazil) (Free voice)","Thierry":"Male voice for French (Canada) (Free voice)","Thierry_2":"Male voice for French (Canada) (Paid voice)","Thiha":"Male voice for Burmese (Myanmar) (Free voice)","Thilini":"Female voice for Sinhala (Sri Lanka) (Free voice)","Thomas":"Male voice for English (United Kingdom) (Free voice)","Tiana":"Female voice for English (United States) (Free voice)","Tiffany":"Female voice for English (United States) (Paid voice)","Tim":"Male voice for English (Australia) (Free voice)","Tina":"Female voice for English (Australia) (Free voice)","Tomas":"Male voice for Spanish (Argentina) (Free voice)","Tomoko":"Female voice for Japanese (Japan) (Free voice)","Tony":"Male voice for English (United States) (Free voice)","Triana":"Female voice for Spanish (Spain) (Free voice)","Tristan_ES":"Male voice for Spanish (Spain) (Free voice)","Tristan_ES_2":"Male voice for Spanish (Spain) (Paid voice)","Tuti":"Female voice for Sundanese (Indonesia) (Free voice)","Tyler":"Male voice for English (United States) (Free voice)","Ubax":"Female voice for Somali (Somalia) (Free voice)","Uzma":"Female voice for Urdu (Pakistan) (Free voice)","Vaani":"Female voice for Punjabi (India) (Free voice)","Valentina":"Female voice for Spanish (Uruguay) (Free voice)","Valerio":"Male voice for Portuguese (Brazil) (Free voice)","Valluvar":"Male voice for Tamil (India) (Free voice)","Venba":"Female voice for Tamil (Singapore) (Free voice)","Vera":"Female voice for Spanish (Spain) (Free voice)","Vesna":"Female voice for Bosnian (Bosnia and Herzegovina) (Free voice)","Vicki":"Female voice for German (Germany) (Free voice)","Vicki_2":"Female voice for German (Germany) (Free voice)","Vicki_3":"Female voice for German (Germany) (Paid voice)","Victor":"Male voice for Spanish (Puerto Rico) (Free voice)","Viktoria":"Female voice for Slovak (Slovakia) (Free voice)","Vitoria":"Female voice for Portuguese (Brazil) (Free voice)","Vitoria_2":"Female voice for Portuguese (Brazil) (Free voice)","Vivienne":"Female voice for French (France) (Free voice)","Vivienne_2":"Female voice for French (France) (Paid voice)","Vlasta":"Female voice for Czech (Czechia) (Free voice)","WanLung":"Male voice for Chinese (Cantonese, Traditional) (Free voice)","Wayne":"Male voice for English (Singapore) (Free voice)","Willem":"Male voice for Afrikaans (South Africa) (Free voice)","William":"Male voice for English (Australia) (Free voice)","William_2":"Male voice for English (Australia) (Free voice)","Xiaochen":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaochen_2":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaochen_3":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaochen_4":"Female voice for Chinese (Mandarin, Simplified) (Paid voice)","Xiaohan":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaohan_2":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaomeng":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","XiaoMin":"Female voice for Chinese (Cantonese, Simplified) (Free voice)","Xiaomo":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoqiu":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaorou":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaorui":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoshuang":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoshuang_2":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoshuang_3":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaotong":"Female voice for Chinese (Wu, Simplified) (Free voice)","Xiaoxiao":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoxiao_2":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoxiao_3":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoxiao_4":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoxiao_5":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyan":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyi":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyi_2":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyou":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyou_2":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyou_3":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyu":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaoyu_2":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Xiaozhen":"Female voice for Chinese (Mandarin, Simplified) (Free voice)","Ximena_ES":"Female voice for Spanish (Spain) (Free voice)","Ximena_ES_2":"Female voice for Spanish (Spain) (Free voice)","Ximena_ES_3":"Female voice for Spanish (Spain) (Paid voice)","Yago":"Male voice for Spanish (Mexico) (Free voice)","Yan":"Female voice for English (Hong Kong SAR) (Free voice)","Yara":"Female voice for Portuguese (Brazil) (Free voice)","Yashica":"Female voice for Assamese (India) (Free voice)","Yasmin":"Female voice for Malay (Malaysia) (Free voice)","Yesui":"Female voice for Mongolian (Mongolia) (Free voice)","Yolanda":"Female voice for Spanish (Nicaragua) (Free voice)","YuJin":"Female voice for Korean (Korea) (Free voice)","Yundeng":"Male voice for Chinese (Zhongyuan Mandarin Henan, Simplified) (Free voice)","Yunfan":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunfan_2":"Male voice for Chinese (Mandarin, Simplified) (Paid voice)","Yunfeng":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunhan":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunhao":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","YunJhe":"Male voice for Chinese (Taiwanese Mandarin, Traditional) (Free voice)","Yunjian":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunjie":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","YunSong":"Male voice for Chinese (Cantonese, Simplified) (Free voice)","Yunxi":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunxi_2":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunxia":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunxia_2":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunxiang":"Male voice for Chinese (Jilu Mandarin, Simplified) (Free voice)","Yunxiao":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunxiao_2":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunyang":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunye":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunye_2":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunyi":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunyi_2":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunze":"Male voice for Chinese (Mandarin, Simplified) (Free voice)","Yunzhe":"Male voice for Chinese (Wu, Simplified) (Free voice)","Yves":"Male voice for French (France) (Free voice)","Yvette":"Female voice for French (France) (Free voice)","Zariyah":"Female voice for Arabic (Saudi Arabia) (Free voice)","Zayd":"Male voice for Arabic (Saudi Arabia) (Free voice)","Zeina":"Female voice for Arabic (Saudi Arabia) (Free voice)","Zhiyu":"Female voice for Chinese (Mandarin) (Free voice)","Zhiyu_2":"Female voice for Chinese (Mandarin) (Free voice)","Zofia":"Female voice for Polish (Poland) (Free voice)","Zuri":"Female voice for Swahili (Kenya) (Free voice)"}},"messageSay":{"type":"object","title":"Say Message","description":"A text-to-speech (TTS) message item. The platform synthesizes the provided text into speech and plays it on the call.","additionalProperties":false,"required":["type","say"],"properties":{"type":{"type":"string","const":"SAY","description":"Text-to-speech message to be played during the call."},"say":{"type":"object","additionalProperties":false,"title":"Say","required":["text","voiceName"],"properties":{"text":{"type":"string","description":"The text to be synthesized into speech.\n\nIf `format` is `TEXT` (default), provide plain text.\nIf `format` is `SSML`, provide a valid SSML document (for example, `<speak>...</speak>`).","maxLength":600,"example":"Hello world"},"format":{"type":"string","description":"Format of the message","enum":["TEXT","SSML"],"x-enumDescriptions":{"TEXT":"Plain text format for the message.","SSML":"Speech Synthesis Markup Language format for advanced text-to-speech control."},"default":"TEXT"},"voiceName":{"description":"The name of the voice to use for text-to-speech synthesis.","$ref":"#/components/schemas/voiceName"}}}},"examples":[{"type":"SAY","say":{"text":"Hello, this is a test message","voiceName":"Emma_3"}},{"type":"SAY","say":{"text":"<speak><prosody volume=\"-6dB\">Hello, this is a test message</prosody></speak>","format":"SSML","voiceName":"Brian"}}]},"messagePlay":{"type":"object","title":"Play Message","description":"An audio file playback message item. The platform fetches and plays the audio file at the provided URL on the call.","additionalProperties":false,"required":["type","play"],"properties":{"type":{"type":"string","const":"PLAY","description":"Audio file playback during the call."},"play":{"type":"object","additionalProperties":false,"title":"Play","required":["url"],"properties":{"url":{"type":"string","description":"URL of the media to send"}}}},"examples":[{"type":"PLAY","play":{"url":"https://example.com/media.mp3"}}]},"message":{"type":"object","title":"Message","description":"A single message item. The required payload depends on `type`.","oneOf":[{"$ref":"#/components/schemas/messageSay"},{"$ref":"#/components/schemas/messagePlay"}],"discriminator":{"propertyName":"type","mapping":{"SAY":"#/components/schemas/messageSay","PLAY":"#/components/schemas/messagePlay"}}},"typesOfMessages":{"type":"array","title":"Message List","description":"Ordered list of messages to play.","minItems":1,"maxItems":10,"items":{"$ref":"#/components/schemas/message"}},"menuPrompt":{"type":"object","additionalProperties":false,"title":"Menu Prompt","description":"Prompt configuration for menu playback, including prompt messages and barge-in behavior.","required":["messages"],"properties":{"allowBargeIn":{"type":"boolean","description":"Controls whether input can interrupt prompt playback.\n\nWhen enabled, playback stops as soon as input is detected and the input is evaluated immediately if matching conditions are met.\n\nWhen disabled, input is still collected during playback and evaluated after playback finishes.","default":true},"messages":{"$ref":"#/components/schemas/typesOfMessages"}}},"svamlCommands":{"type":"array","title":"SVAML Commands","description":"An ordered list of SVAML v2 (Sinch Voice Application Markup Language) commands that describe a call flow. Commands are executed sequentially in the order they are defined.\n\n**Blocking vs. non-blocking:** Some commands block execution until they complete (`pause`, `webhook`, `menu`, `gotoMenu`), while others return immediately and run in parallel (`dial`, `messages`, `amd`, `answer`, `hangup`, `startRecording`, `stopRecording`, `bridgeCall`, `stopMessages`). Each command's description specifies its behavior.\n\n**Nesting scope:** Commands that appear inside event handlers (e.g., `dial.events.onAnswer`, `messages.events.onFinish`) form independent sequences and execute in their own context — they are not continuations of the parent sequence.\n\n**Nesting depth:** A SVAML payload can be nested at most 128 levels deep, counting every JSON object and array from the root of the document. Each command nested inside an event handler adds three levels (the command object, its `events` object and the handler array), which allows roughly 40 levels of nested commands. A request that exceeds the limit is rejected with `400 Bad Request`; a webhook response that exceeds it counts as a failed delivery.","items":{"$ref":"#/components/schemas/svamlCommand"}},"amdEvents":{"type":"object","additionalProperties":false,"title":"AMD Events","description":"SVAML commands to execute based on the answering machine detection result. These events define different call flows depending on whether a human, machine, beep, or unknown entity answers the call, or whether a machine answered without a beep being detected.","properties":{"onHuman":{"description":"SVAML commands to be executed when a human is detected","$ref":"#/components/schemas/svamlCommands"},"onMachine":{"description":"SVAML commands to be executed when a machine is detected","$ref":"#/components/schemas/svamlCommands"},"onBeep":{"description":"SVAML commands to be executed when a beep is detected","$ref":"#/components/schemas/svamlCommands"},"onNoBeep":{"description":"SVAML commands to be executed when a machine is detected, but no beep is detected. This event follows `onMachine` and is mutually exclusive with `onBeep`.","$ref":"#/components/schemas/svamlCommands"},"onUnknown":{"description":"SVAML commands to be executed when an unknown event is detected","$ref":"#/components/schemas/svamlCommands"}}},"amd":{"type":"object","additionalProperties":false,"title":"Answering Machine Detection","description":"AMD (Answering Machine Detection) command to detect what answered the call. Possible outcomes are: human, machine, beep, no beep, or unknown.\n\nThis is a non-blocking command — the next command in the sequence executes immediately while detection runs in parallel. Results are delivered via the `events` property.","required":["command"],"properties":{"command":{"type":"string","const":"amd","description":"Command to run Answering Machine Detection on the call"},"events":{"$ref":"#/components/schemas/amdEvents"}},"examples":[{"command":"amd","events":{"onHuman":[{"command":"pause","durationMilliseconds":1000},{"command":"bridgeCall","bridgeName":"my-bridge"}],"onBeep":[{"command":"messages","messagesName":"my-amd-messages","messages":[{"type":"SAY","say":{"text":"Hello, this is a test message","voiceName":"Emma_3"}}]}]}}]},"phoneNumber":{"title":"Phone Number","type":"string","pattern":"^\\+[1-9]\\d{1,14}$","minLength":3,"maxLength":16,"description":"E.164 Phone number","examples":["+4673522488"]},"phone":{"type":"object","additionalProperties":false,"title":"Phone","description":"Routes the call to a phone number on the Public Switched Telephone Network (PSTN).","required":["type","phone"],"properties":{"type":{"type":"string","const":"PHONE","description":"Routes the call to a phone number on the Public Switched Telephone Network (PSTN). The number must be in E.164 format."},"phone":{"type":"object","additionalProperties":false,"required":["number"],"properties":{"number":{"$ref":"#/components/schemas/phoneNumber"}}}},"examples":[{"type":"PHONE","phone":{"number":"+4673522488"}}]},"sipFrom":{"type":"object","additionalProperties":false,"title":"SIP Origin","required":["type","sip"],"properties":{"type":{"type":"string","const":"SIP","description":"Indicates the call originated from a SIP (Session Initiation Protocol) endpoint."},"sip":{"type":"object","additionalProperties":false,"required":["endpoint"],"properties":{"endpoint":{"type":"string","description":"SIP URI of the originating endpoint. Both `sip:` (unencrypted) and `sips:` (TLS-encrypted) schemes are supported.","format":"uri","pattern":"^sips?:.*\\S$","maxLength":192},"displayName":{"type":"string","description":"Display name presented to the called party as the caller identity. Transmitted as the display name part of the SIP `From` header (for example, `Alice <sip:alice@example.com>`).","maxLength":64,"example":"Alice"}}}},"examples":[{"type":"SIP","sip":{"endpoint":"sip:user@example.com","displayName":"Alice"}}]},"from":{"description":"Call origin - Phone Number or SIP endpoint","oneOf":[{"$ref":"#/components/schemas/phone"},{"$ref":"#/components/schemas/sipFrom"}],"discriminator":{"propertyName":"type","mapping":{"PHONE":"#/components/schemas/phone","SIP":"#/components/schemas/sipFrom"}}},"sipCallHeaders":{"type":"array","description":"Custom SIP headers to be sent in the call setup.","maxItems":16,"items":{"type":"object","additionalProperties":false,"required":["key"],"properties":{"key":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[-A-Za-z0-9.!%*_+`'~]+$","description":"Name of the SIP header.","example":"X-Correlation-Id"},"value":{"type":"string","maxLength":255,"description":"Value of the SIP header.","example":"12345"}}},"examples":[[{"key":"X-Correlation-Id","value":"12345"},{"key":"X-Call-Routing","value":"forwarded"}]]},"sip":{"type":"object","additionalProperties":false,"title":"SIP Endpoint","required":["type","sip"],"properties":{"type":{"type":"string","const":"SIP","description":"Routes the call to a SIP (Session Initiation Protocol) endpoint."},"sip":{"type":"object","additionalProperties":false,"required":["endpoint"],"properties":{"endpoint":{"type":"string","description":"SIP URI of the destination endpoint. Both `sip:` (unencrypted) and `sips:` (TLS-encrypted) schemes are supported.","format":"uri","maxLength":256,"pattern":"^sips?:.*\\S$"},"transport":{"type":"string","description":"Transport protocol to use for the SIP signalling channel.\n\nIf omitted, the platform selects a default based on the URI scheme: `UDP` for `sip:` and `TLS` for `sips:`. Setting this explicitly overrides that default — for example, to force `TCP` for a `sip:` URI or to use `TLS` without switching to the `sips:` scheme.","enum":["UDP","TCP","TLS"],"x-enumDescriptions":{"UDP":"Connectionless transport. Lowest overhead; suitable for most standard SIP deployments.","TCP":"Connection-oriented transport. More reliable for large SIP messages or NAT traversal scenarios.","TLS":"Encrypted transport. Provides confidentiality and integrity for SIP signalling."}},"callHeaders":{"$ref":"#/components/schemas/sipCallHeaders"}}}},"examples":[{"type":"SIP","sip":{"endpoint":"sip:user@example.com","transport":"TCP","callHeaders":[{"key":"X-Correlation-Id","value":"12345"},{"key":"X-Call-Routing","value":"forwarded"}]}}]},"callHeaders":{"type":"array","description":"Custom headers to be sent in the call setup.","maxItems":16,"items":{"type":"object","additionalProperties":false,"required":["key"],"properties":{"key":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[\\x21-\\x7e]+([\\x20\\t]+[\\x21-\\x7e]+)*$","description":"Name of the header. No leading or trailing whitespaces allowed.","example":"headerKey"},"value":{"type":"string","maxLength":255,"pattern":"^([\\x21-\\x7e]+([\\x20\\t]+[\\x21-\\x7e]+)*)?$","description":"Value of the header. No leading or trailing whitespaces allowed.","example":"headerValue"}}},"examples":[[{"key":"headerKey","value":"headerValue"},{"key":"anotherKey","value":"anotherValue"}]]},"stream":{"type":"object","additionalProperties":false,"title":"Stream","description":"Routes the call to a WebSocket stream endpoint for real-time audio processing.","required":["type","stream"],"properties":{"type":{"type":"string","const":"STREAM","description":"Routes the call to a WebSocket stream endpoint for real-time audio processing."},"stream":{"type":"object","additionalProperties":false,"required":["endpoint"],"properties":{"endpoint":{"type":"string","description":"WebSocket endpoint that will accept the incoming connection for real-time audio streaming. Must be a valid WebSocket URL using either `ws://` or `wss://` (recommended). The URL must be reachable from the public internet and capable of handling the negotiated stream protocol.","example":"wss://example.com"},"streamOptions":{"type":"object","additionalProperties":false,"properties":{"version":{"type":"integer","const":1,"description":"Defines the version of the stream protocol, which determines the format of the binary audio messages exchanged over the WebSocket connection.\n\nCurrently, only version `1` is supported: binary messages contain only audio data, and audio received from the WebSocket server is played as soon as it is received.","default":1,"example":1},"codec":{"type":"string","const":"PCM","description":"Defines the audio codec/format used for the stream audio payload.\n\nCurrently, only `PCM` is supported (uncompressed raw audio). Use `sampleRate` to configure the sampling rate for the stream."},"sampleRate":{"type":"integer","description":"Defines the audio sampling rate (Hz) used for the stream.\n\nFor calls that traverse the PSTN, audio is typically sampled at 8 kHz, so using a higher value will not improve perceived quality. \nHigher sample rates can be useful for non-PSTN scenarios (for example, SIP/streaming paths), but will increase bandwidth usage and processing load.","enum":[8000,16000,24000,44100,48000,96000],"x-enumDescriptions":{"8000":"8 kHz (standard for PSTN calls)","16000":"16 kHz (wideband audio)","24000":"24 kHz (super-wideband audio)","44100":"44.1 kHz (CD quality audio)","48000":"48 kHz (professional audio quality)","96000":"96 kHz (high-resolution audio)"},"default":8000,"example":16000}}},"callHeaders":{"$ref":"#/components/schemas/callHeaders"}},"examples":[{"endpoint":"wss://example.com","streamOptions":{"version":1,"codec":"PCM","sampleRate":8000},"callHeaders":[{"key":"my-key","value":"my-key-value"}]}]}},"examples":[{"type":"STREAM","stream":{"endpoint":"wss://example.com","streamOptions":{"version":1,"codec":"PCM","sampleRate":16000},"callHeaders":[{"key":"my-key","value":"my-key-value"}]}}]},"voiceRelay":{"type":"object","additionalProperties":false,"title":"Voice Relay","description":"Routes the call through the Voice Relay service, enabling real-time speech-to-text (STT) and text-to-speech (TTS) via a WebSocket connection to the application backend.","required":["type","voiceRelay"],"properties":{"type":{"type":"string","const":"VOICE_RELAY","description":"Connects to the Voice Relay service to enable STT and TTS services..."},"voiceRelay":{"type":"object","additionalProperties":false,"required":["endpoint","ttsVoice","sttLanguage"],"properties":{"endpoint":{"type":"string","format":"uri","description":"URL to the server that will accept the web-socket request","example":"wss://acme.com/agent"},"enableInterruptions":{"type":"boolean","description":"Allow \"barge-in\" during text-to-speech (TTS) playback.\n\nWhen `true`, TTS playback is interrupted as soon as inbound speech is detected, unless the currently playing content is marked as uninterruptible.\n\nWhen `false`, TTS playback continues uninterrupted, but an interruption signal is still sent over the WebSocket so the client application can choose to stop playback manually if needed.","default":true,"example":true},"ttsVoice":{"description":"Name of the voice to be used when synthesizing speech. \n\nThis is the default voice used, if no override voice is provided in the web-socket TTS message.","$ref":"#/components/schemas/voiceName"},"sttLanguage":{"type":"string","pattern":"^[a-z]{2,3}(-[A-Z][a-z]{3})?(-([A-Z]{2}|[0-9]{3}))?$","description":"BCP-47 language tag used for speech-to-text transcription of the inbound audio.\n\nThis value determines which language model is used for transcription.","example":"en-US"},"callHeaders":{"$ref":"#/components/schemas/callHeaders"}}}},"examples":[{"type":"VOICE_RELAY","voiceRelay":{"endpoint":"wss://acme.com/agent","enableInterruptions":true,"ttsVoice":"Emma_3","sttLanguage":"en-US","callHeaders":[{"key":"my-key","value":"my-key-value"}]}}]},"to":{"title":"To","description":"Call destination - Phone Number or Stream URI","oneOf":[{"$ref":"#/components/schemas/phone"},{"$ref":"#/components/schemas/sip"},{"$ref":"#/components/schemas/stream"},{"$ref":"#/components/schemas/voiceRelay"}],"discriminator":{"propertyName":"type","mapping":{"PHONE":"#/components/schemas/phone","SIP":"#/components/schemas/sip","STREAM":"#/components/schemas/stream","VOICE_RELAY":"#/components/schemas/voiceRelay"}}},"callEvents":{"type":"object","additionalProperties":false,"title":"Call Events Webhook","description":"Webhook to handle call events, used when callBehaviors are set to WEBHOOK","properties":{"onAnswer":{"description":"SVAML commands to be executed when the call is answered","$ref":"#/components/schemas/svamlCommands"},"onBusy":{"description":"SVAML commands to be executed when the call is busy","$ref":"#/components/schemas/svamlCommands"},"onReject":{"description":"SVAML commands to be executed when the call is rejected","$ref":"#/components/schemas/svamlCommands"},"onTimeout":{"description":"SVAML commands to be executed when the call is timed out","$ref":"#/components/schemas/svamlCommands"},"onHangup":{"description":"SVAML commands to be executed when the call is hung up","$ref":"#/components/schemas/svamlCommands"},"onFailure":{"description":"SVAML commands to be executed when the call fails","$ref":"#/components/schemas/svamlCommands"}}},"dial":{"type":"object","additionalProperties":false,"title":"Dial","description":"Initiates a new outbound call leg within the current session.\n\nThis is a non-blocking command — the next command in the sequence executes immediately while the call is being established in parallel. Call lifecycle events (answer, busy, reject, timeout, hangup, failure) are handled via the `events` property.\n\nThe `from` and `to` endpoint types should ideally match. If they differ, the platform attempts to convert the `from` value to be compatible with the `to` type. For example, PSTN supports only E.164 phone numbers, so a SIP address such as `sip:46701234567@acme.se` can be converted to an E.164 number. If the `from` value cannot be converted, it defaults to null (anonymous).","required":["command","to"],"properties":{"command":{"type":"string","const":"dial","description":"Command to initiate a new call"},"callName":{"type":"string","minLength":1,"maxLength":32,"pattern":"^\\S+$","example":"outgoing","description":"Identifier for this call leg within the session. Must be unique across all active call legs in the session.\n\nOther commands (e.g., `hangup`) can reference this name to target this specific leg."},"from":{"$ref":"#/components/schemas/from"},"to":{"$ref":"#/components/schemas/to"},"dialTimeoutDurationSeconds":{"type":"integer","minimum":1,"maximum":60,"description":"Maximum time in seconds to wait for the call to be answered. If the timeout expires without an answer, the `onTimeout` event is triggered.","example":15},"maxCallDurationSeconds":{"type":"integer","minimum":1,"maximum":14400,"description":"Maximum duration of the call in seconds. The call is terminated automatically when this limit is reached.","example":3600},"events":{"$ref":"#/components/schemas/callEvents"}},"examples":[{"command":"dial","callName":"destination","from":{"type":"PHONE","phone":{"number":"+15551234567"}},"to":{"type":"PHONE","phone":{"number":"+15559876543"}},"dialTimeoutDurationSeconds":30,"maxCallDurationSeconds":3600,"events":{"onAnswer":[{"command":"messages","messages":[{"type":"SAY","say":{"text":"Your call has connected.","voiceName":"Emma_3"}}]}]}}]},"messageEvents":{"type":"object","additionalProperties":false,"title":"Message Events","description":"SVAML commands to execute based on message playback outcomes.\n","properties":{"onFinish":{"description":"Commands to execute when all messages in the sequence have finished playing.\n","$ref":"#/components/schemas/svamlCommands"}}},"messages":{"type":"object","additionalProperties":false,"title":"Messages","description":"Plays one or more messages on the call. Multiple messages in the array are played sequentially in order.\n\nThis is a non-blocking command — the next command in the sequence executes immediately while messages play in parallel. \nPlayback outcomes are handled via the `events` property. The `onFinish` event can be used to run a command after all messages complete.","required":["command","messages"],"properties":{"command":{"type":"string","const":"messages","description":"Command to play a message on the channel"},"messagesName":{"type":"string","description":"Name of the message for identification and reference within the call session.\n\nThis name is used to uniquely identify the message and must be unique within the current call session.\nThis name can be referenced in other commands (e.g., `stopMessages`) to control this specific message.","minLength":1,"maxLength":32,"pattern":"^\\S+$","example":"my-messages"},"messages":{"$ref":"#/components/schemas/typesOfMessages"},"events":{"$ref":"#/components/schemas/messageEvents"}},"examples":[{"command":"messages","messagesName":"greeting-sequence","messages":[{"type":"SAY","say":{"text":"Hello! Your call is being connected.","voiceName":"Emma_3"}},{"type":"PLAY","play":{"url":"https://example.com/audio/hold-music.mp3"}},{"type":"SAY","say":{"text":"<speak><prosody volume=\"-6dB\">Thank you for waiting.</prosody></speak>","format":"SSML","voiceName":"Emma_3"}}]}]},"stopMessages":{"type":"object","additionalProperties":false,"title":"Stop Messages","description":"Stops a message sequence started by a `messages` command. It will also cancel any messages with specified `messagesName` that will appear in the call session in the future.\n\nThis is a non-blocking command.","required":["command","messagesName"],"properties":{"command":{"type":"string","const":"stopMessages","description":"Command to stop playing messages"},"messagesName":{"type":"string","description":"Name of the message sequence to stop, as set by `messagesName` in the `messages` command.","minLength":1,"maxLength":32,"pattern":"^\\S+$"}},"examples":[{"command":"stopMessages","messagesName":"my-messages"}]},"webhookFallbackUrl":{"title":"Webhook Fallback URL","type":"string","format":"uri","description":"Fallback webhook URL used when the primary webhook URL fails.\n\nA failed request is re-sent to this URL immediately. After repeated consecutive failures of the primary URL, requests are sent only here until the primary URL recovers.\n\nSee *Timeouts and failover* in the **Webhooks** section for the authoritative algorithm.","examples":["https://example.com/fallback"]},"webhook":{"type":"object","additionalProperties":false,"title":"Webhook","description":"Triggers a mid-call webhook to the application backend, allowing it to return a new set of SVAML commands that control the remainder of the call flow.\n\nThis is a blocking command — execution pauses until a response is received from the webhook endpoint. The next command in the sequence runs only after the backend responds. Webhook requests use a 5-second timeout. If a `fallbackUrl` is provided, a failed request is re-sent to it — see *Timeouts and failover* in the **Webhooks** section for the authoritative algorithm.","required":["command","webhookName","url"],"properties":{"command":{"type":"string","const":"webhook","description":"Command to trigger a mid-call webhook"},"webhookName":{"type":"string","minLength":1,"maxLength":64,"pattern":"^\\S+$","description":"Name for this webhook event. When triggered, the webhook request's `event` property will contain this name prepended with `call.webhook.`.\n\nFor example, if `webhookName` is set to `\"my.custom.event\"`, the event will be delivered as `\"call.webhook.my.custom.event\"`."},"url":{"type":"string","description":"URL of the webhook endpoint to send the mid-call event to.","format":"uri"},"fallbackUrl":{"$ref":"#/components/schemas/webhookFallbackUrl"}},"examples":[{"command":"webhook","webhookName":"my.custom.event","url":"https://example.com/webhook","fallbackUrl":"https://example.com/fallback"}]},"hangup":{"type":"object","additionalProperties":false,"description":"Ends a call leg. This is a non-blocking command — execution continues to the next command in the sequence even though the call has been ended. The `onHangup` event is triggered for the call leg that was ended.\n\nAny subsequent commands that target the ended call leg (such as `messages` or other media commands) are valid but will not be executed. Commands that operate independently — such as initiating a new call with `dial` — will execute normally. This makes it possible, for example, to end one call and immediately start another within the same sequence.","title":"Hangup","required":["command"],"properties":{"command":{"type":"string","const":"hangup","description":"Hangup call"},"callName":{"type":"string","description":"Name of the call leg to end, as set by `callName` in the `dial` command.\n\nIf omitted, the current call leg is ended.","minLength":1,"maxLength":32,"pattern":"^\\S+$","example":"origin"}},"examples":[{"command":"hangup","callName":"origin"}]},"answer":{"type":"object","additionalProperties":false,"title":"Answer","description":"Answers an inbound call leg. This is a non-blocking command — execution continues to the next command in the sequence immediately after the answer is initiated.","required":["command"],"properties":{"command":{"type":"string","const":"answer","description":"Answer call"}},"examples":[{"command":"answer"}]},"pause":{"type":"object","additionalProperties":false,"title":"Pause","description":"Delays execution of the next command in the sequence for a specified duration. This is a blocking command — no further commands execute until the pause completes.\n\nThe pause does not affect call audio; the call remains connected and audio continues uninterrupted.","required":["command","durationMilliseconds"],"properties":{"command":{"type":"string","const":"pause","description":"Pause execution."},"durationMilliseconds":{"type":"integer","minimum":1,"description":"Duration of the pause in milliseconds.","example":1000}},"examples":[{"command":"pause","durationMilliseconds":1500}]},"recordingFormat":{"title":"Recording Format","description":"Audio format for this recording.","type":"string","enum":["MP3","WAV"],"x-enumDescriptions":{"MP3":"MPEG Audio Layer III compressed audio format.","WAV":"Waveform Audio File Format, uncompressed audio."},"default":"MP3","examples":["MP3"]},"recordingType":{"title":"Recording Type","description":"The type of recording to perform.","type":"string","enum":["COMBINED","INBOUND","OUTBOUND"],"x-enumDescriptions":{"COMBINED":"Record inbound and outbound voice streams.","INBOUND":"Record inbound voice stream only.","OUTBOUND":"Record outbound voice stream only."},"default":"COMBINED"},"recordingDestination":{"title":"Recording Destination","type":"string","description":"Select target service to receive recorded and transcribed files","enum":["AWS","GCP","AZURE"],"x-enumDescriptions":{"AWS":"Store recordings in Amazon Web Services S3 bucket. Use `s3` as schema for the URL.","GCP":"Store recordings in Google Cloud Platform Storage. Use `gs` as schema for the URL.","AZURE":"Store recordings in Microsoft Azure Blob Storage.  Use `azure` as schema for the URL."},"default":"AWS","examples":["AWS"]},"transcriptionOptions":{"title":"Transcription Options","description":"Configuration for automatic speech-to-text transcription of the recording.","type":"object","additionalProperties":false,"required":["isEnabled"],"properties":{"isEnabled":{"type":"boolean","description":"If true, the recording will be transcribed to text.","example":true},"locale":{"type":"string","description":"Language code in BCP-47 format.","default":"en-US","example":"en-US"}}},"recordingOptions":{"title":"Recording Options","type":"object","additionalProperties":false,"description":"Recording options for this recording.","required":["destination","destinationUrl","credentials"],"properties":{"format":{"$ref":"#/components/schemas/recordingFormat"},"recordingType":{"$ref":"#/components/schemas/recordingType"},"destination":{"$ref":"#/components/schemas/recordingDestination"},"destinationUrl":{"type":"string","description":"Destination URL for the recording.","example":"s3://voice-recordings-prod/calls"},"credentials":{"type":"string","description":"Credentials to third party storage. The format depends on the scheme of `destinationUrl`:\n\n- `s3` (Amazon S3): `accessKeyId:secretAccessKey:region`. `accessKeyId` and `secretAccessKey` are an AWS access key pair of an IAM user that is allowed to upload objects to the bucket. `region` is the AWS region code of the bucket, for example `eu-central-1`. Access keys are created in the AWS Management Console under **IAM** > **Users** > **Security credentials**.\n- `gs` (Google Cloud Storage): `accessKey:secret`. `accessKey` and `secret` are a Cloud Storage HMAC key of a service account that is allowed to create objects in the bucket. HMAC keys are created in the Google Cloud console under **Cloud Storage** > **Settings** > **Interoperability**.\n- `azure` (Azure Blob Storage): `accountKey`. `accountKey` is an access key of the storage account named in `destinationUrl`, which has the form `azure://{storageAccountName}/{containerName}/{path}`. Account keys are listed in the Azure portal under **Security + networking** > **Access keys** of the storage account. Shared access signature (SAS) tokens and connection strings are not supported as credentials.","example":"accessKeyId:secretAccessKey:eu-central-1","format":"password"},"transcriptionOptions":{"$ref":"#/components/schemas/transcriptionOptions"}}},"recordingEvents":{"type":"object","additionalProperties":false,"title":"Recording Events","description":"SVAML commands to execute based on recording lifecycle outcomes.\n","properties":{"onFinish":{"description":"Commands to execute when the recording is successfully stopped. Note that this does not mean that the file is delivered to the configured destination yet.\n","$ref":"#/components/schemas/svamlCommands"},"onFailure":{"description":"Commands to execute if the recording fails to start. If omitted, failures are silently ignored and the call flow continues.\n","$ref":"#/components/schemas/svamlCommands"}}},"startRecording":{"type":"object","additionalProperties":false,"title":"Start Recording","required":["command","recordingOptions"],"description":"Starts recording the call. This is a non-blocking command — execution continues to the next command in the sequence immediately after recording begins.","properties":{"command":{"type":"string","const":"startRecording","description":"Command to start recording on the channel"},"recordingName":{"type":"string","description":"Identifier for this recording within the session. Must be unique across active recordings in the session.\n\nOther commands (e.g., `stopRecording`) reference this name to target a specific recording.\n\nSetting the recording name is useful for stopping the recording using the `stopRecording` command. If name is not set, recording can only be stopped when the call is disconnected.","minLength":1,"maxLength":32,"pattern":"^\\S+$","example":"my-recording"},"recordingOptions":{"$ref":"#/components/schemas/recordingOptions"},"events":{"$ref":"#/components/schemas/recordingEvents"}},"examples":[{"command":"startRecording","recordingName":"customer-support-recording","recordingOptions":{"format":"MP3","recordingType":"COMBINED","destination":"AWS","destinationUrl":"s3://voice-recordings-prod/calls","credentials":"accessKeyId:secretAccessKey:eu-central-1","transcriptionOptions":{"isEnabled":true,"locale":"en-US"}},"events":{"onFinish":[{"command":"hangup"}],"onFailure":[{"command":"messages","messages":[{"type":"SAY","say":{"text":"Recording could not be started for this call.","voiceName":"Emma_3"}}]}]}}]},"stopRecording":{"type":"object","additionalProperties":false,"title":"Stop Recording","description":"Stops a recording previously started by a `startRecording` command. This is a non-blocking command — execution continues to the next command in the sequence immediately after the stop is initiated.","required":["command","recordingName"],"properties":{"command":{"type":"string","const":"stopRecording","description":"Command to stop recording on the channel"},"recordingName":{"type":"string","description":"Name of the recording to stop, as set by `recordingName` in the `startRecording` command.","minLength":1,"maxLength":32,"pattern":"^\\S+$","example":"my-recording"}}},"bridgeCall":{"type":"object","additionalProperties":false,"title":"Add call to bridge","description":"Adds the current call to a bridge, enabling bidirectional audio communication with other calls in the same session. This is a non-blocking command — execution continues to the next command in the sequence immediately after the call joins the bridge.\n\nBridges are created automatically when referenced by name. If a bridge with the specified name already exists, the call joins that bridge; otherwise, a new bridge is created.","required":["command","bridgeName"],"properties":{"command":{"type":"string","const":"bridgeCall","description":"Command to add the call to a bridge"},"bridgeName":{"type":"string","minLength":1,"maxLength":32,"pattern":"^\\S+$","description":"Name of the bridge to join. If no bridge with this name exists in the session, a new one is created automatically."}},"examples":[{"command":"bridgeCall","bridgeName":"my_bridge"}]},"menu":{"type":"object","additionalProperties":false,"title":"Run menus","description":"Defines a set of named menus and executes them starting from startMenu. This is a blocking command — execution waits for the menu to complete before proceeding to the next command.\n\nEach menu item configures prompts, input collection, timeout handling, and repeat behavior.","required":["command","startMenu","menus"],"properties":{"command":{"type":"string","const":"menu","description":"Executes menu-based input collection using the configured menu definitions."},"startMenu":{"type":"string","minLength":1,"maxLength":16,"description":"Name of the menu to execute first. Must match a key in menus."},"menus":{"type":"object","propertyNames":{"type":"string","maxLength":16},"description":"Map of menu definitions keyed by menu name.","additionalProperties":{"$ref":"#/components/schemas/menuItem"}}},"examples":[{"command":"menu","startMenu":"main","menus":{"main":{"prompt":{"allowBargeIn":true,"messages":[{"type":"SAY","say":{"text":"Press 1 for sales or 2 for support.","voiceName":"Emma_3"}}]},"repeatPrompt":{"allowBargeIn":true,"messages":[{"type":"SAY","say":{"text":"Invalid option. Press 1 for sales or 2 for support.","voiceName":"Emma_3"}}]},"inputTimeoutDurationSeconds":5,"repeatCount":2,"minimumInputLength":1,"maximumInputLength":1,"inputMethods":["DTMF"],"matches":{"1":[{"command":"messages","messages":[{"type":"SAY","say":{"text":"Connecting to sales.","voiceName":"Emma_3"}}]},{"command":"dial","callName":"sales","to":{"type":"PHONE","phone":{"number":"+15551234567"}}}],"2":[{"command":"messages","messages":[{"type":"SAY","say":{"text":"Connecting to support.","voiceName":"Emma_3"}}]},{"command":"dial","callName":"support","to":{"type":"PHONE","phone":{"number":"+15557654321"}}}]},"onFailure":[{"command":"messages","messages":[{"type":"SAY","say":{"text":"Sorry, no valid selection was received.","voiceName":"Emma_3"}}]},{"command":"hangup"}]}}}]},"gotoMenu":{"type":"object","additionalProperties":false,"title":"Goto Menu","description":"Switches execution to another menu within the current menu context. The menu name must be a menu defined in the `menu` command. This is a blocking command — execution waits for the menu to complete before proceeding to the next command.\n\n**Important**: this command can only be called within a menu execution context.","required":["command","menuName"],"properties":{"command":{"type":"string","const":"gotoMenu","description":"Switch execution to another menu within the current menu context."},"menuName":{"type":"string","description":"Name of the target menu to execute next. Must match a key in menus.","minLength":1,"maxLength":16}}},"svamlCommand":{"title":"SVAML Command","type":"object","description":"A single SVAML (Sinch Voice Application Markup Language) command that controls call behavior.\n\nThe `command` property acts as a discriminator and determines which command schema applies. When multiple commands appear in a `svamlCommands` array, they execute sequentially in order.\n\n**Available commands:**\n- `dial` — Initiate an outbound call leg within the session.\n- `messages` — Play one or more TTS or audio messages on the call.\n- `stopMessages` — Stop a currently playing message sequence.\n- `webhook` — Trigger a mid-call webhook to the application backend for dynamic call control.\n- `amd` — Detect whether the call was answered by a human or an answering machine.\n- `hangup` — End the call or a specific call leg within the session.\n- `answer` — Explicitly answer an incoming call leg before executing further commands.\n- `pause` — Delay script execution without affecting call audio.\n- `startRecording` — Begin recording the call.\n- `stopRecording` — Stop an active call recording.\n- `bridgeCall` — Add the call to a named bridge for multi-party audio.\n- `menu` — Run menu-based input collection and route the call based on collected input.\n- `gotoMenu` — Switch execution to another named menu within the current menu context.","oneOf":[{"$ref":"#/components/schemas/amd"},{"$ref":"#/components/schemas/dial"},{"$ref":"#/components/schemas/messages"},{"$ref":"#/components/schemas/stopMessages"},{"$ref":"#/components/schemas/webhook"},{"$ref":"#/components/schemas/hangup"},{"$ref":"#/components/schemas/answer"},{"$ref":"#/components/schemas/pause"},{"$ref":"#/components/schemas/startRecording"},{"$ref":"#/components/schemas/stopRecording"},{"$ref":"#/components/schemas/bridgeCall"},{"$ref":"#/components/schemas/menu"},{"$ref":"#/components/schemas/gotoMenu"}],"discriminator":{"propertyName":"command","mapping":{"amd":"#/components/schemas/amd","dial":"#/components/schemas/dial","messages":"#/components/schemas/messages","stopMessages":"#/components/schemas/stopMessages","webhook":"#/components/schemas/webhook","hangup":"#/components/schemas/hangup","answer":"#/components/schemas/answer","pause":"#/components/schemas/pause","startRecording":"#/components/schemas/startRecording","stopRecording":"#/components/schemas/stopRecording","bridgeCall":"#/components/schemas/bridgeCall","menu":"#/components/schemas/menu","gotoMenu":"#/components/schemas/gotoMenu"}}},"menuItem":{"type":"object","additionalProperties":false,"title":"Menu Item","description":"Defines a single menu step, including prompts, input handling rules, input-to-command matches, and failure handling.\n\nEach collected input is matched against the values in the `matches` property.\nIf no match succeeds, the `onFailure` commands are executed.\n\nIf no match succeeds and `onFailure` is not defined, a `call.menu` webhook request including the collected input is sent when the service call behavior is set to `WEBHOOK`.","properties":{"prompt":{"$ref":"#/components/schemas/menuPrompt","description":"Prompt played when this menu starts.\n\nThis prompt is also used as the repeat prompt when repeatPrompt is not defined for the menu."},"repeatPrompt":{"$ref":"#/components/schemas/menuPrompt","description":"Prompt played when the menu is repeated.\n\nRepeats occur when input times out or when the provided input does not match any menu match item. If not specified, the initial prompt is used as the repeat prompt.\n\nA repeat prompt can only be defined when a prompt is also defined for this menu item."},"inputTimeoutDurationSeconds":{"type":"integer","description":"Maximum number of seconds to wait for user input before the input attempt times out.","minimum":1,"maximum":60,"default":5,"example":10},"repeatCount":{"type":"integer","description":"Maximum number of times the menu is repeated.\n\nA repeat occurs when input times out or when the provided input does not match any menu match item.","minimum":0,"maximum":10,"default":2,"example":3},"minimumInputLength":{"type":"integer","description":"Minimum number of input characters required before the menu evaluates the collected input.","minimum":1,"maximum":100,"default":1,"example":3},"maximumInputLength":{"type":"integer","description":"Maximum number of input characters that triggers the menu to evaluate the collected input.","minimum":1,"maximum":100,"default":1,"example":10},"terminatingSequence":{"type":"string","pattern":"^[0-9*#]+$","description":"Character sequence that signals the end of input and triggers immediate evaluation.\n\nUseful when variable-length input is allowed and shorter valid options should be submitted without waiting for timeout or maximum length.\n\nThe terminating sequence value is included in the evaluated input.","maxLength":10},"inputMethods":{"type":"array","description":"Input methods accepted for this menu when collecting user input.","default":["DTMF"],"items":{"type":"string","enum":["DTMF"],"x-enumDescriptions":{"DTMF":"Collect input from keypad tones (Dual-Tone Multi-Frequency)."}}},"matches":{"type":"object","description":"Items matched against the collected input. Maximum number of allowed match expressions is 50.\n\nDefined as a dictionary where each property name is a literal or a regular expression string.\n\nValues are evaluated in the order they are defined.","maxProperties":50,"propertyNames":{"type":"string","minLength":1,"maxLength":256,"description":"A regular expression or literal string to match against the collected user input. Must not be empty.\n\nProperty keys are evaluated sequentially in the order defined. The first key that matches the input will trigger its associated SVAML commands.\n\n**Note**: Use `\\\\*` to match the DTMF star tone (*)."},"additionalProperties":{"$ref":"#/components/schemas/svamlCommands"}},"onFailure":{"$ref":"#/components/schemas/svamlCommands","description":"SVAML commands executed when the menu fails to collect a matching input.\n\nThis handler runs after the repeat limit is reached without any input matching a menu match item."}}}}}},"schemaResolvedErrors":[]},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"gotomenu","__idx":15},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["gotoMenu"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Navigate IVR Menus"]},{"$$mdtype":"Tag","name":"JsonExample","attributes":{"json":{"command":"gotoMenu","menuName":"string"},"errors":[]},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Schema:"]}]},{"$$mdtype":"Tag","name":"JsonSchema","attributes":{"schema":{"$ref":"./voice.yaml#/components/schemas/gotoMenu"},"options":{},"schemaResolved":{"openapi":"3.1.0","components":{"schemas":{"__root":{"$ref":"#/components/schemas/gotoMenu"},"gotoMenu":{"type":"object","additionalProperties":false,"title":"Goto Menu","description":"Switches execution to another menu within the current menu context. The menu name must be a menu defined in the `menu` command. This is a blocking command — execution waits for the menu to complete before proceeding to the next command.\n\n**Important**: this command can only be called within a menu execution context.","required":["command","menuName"],"properties":{"command":{"type":"string","const":"gotoMenu","description":"Switch execution to another menu within the current menu context."},"menuName":{"type":"string","description":"Name of the target menu to execute next. Must match a key in menus.","minLength":1,"maxLength":16}}}}}},"schemaResolvedErrors":[]},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["See the API reference for a full list of supported commands and their parameters."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"example-an-entire-call-behavior-defined-with-svaml-commands","__idx":16},"children":["Example: An entire call behavior defined with SVAML Commands"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This example illustrates a complete call flow defined in a single SVAML payload:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The call begins with a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["dial"]}," command."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["When the call is answered, the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["on_answer"]}," event triggers a sequence of other commands:",{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["AMD Detection:"]}," Performs Answering Machine Detection."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Pause:"]}," Introduces a brief delay."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Message Playback:"]}," Plays a message to the callee."]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["If AMD detects a machine or a beep, nested event handlers execute additional commands:",{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Stop Messages:"]}," Stops any ongoing message playback."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Play Alternate Messages:"]}," Delivers an alternate message based on the event."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Hang Up:"]}," Ends the call."]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["All actions are handled within the SVAML payload, eliminating the need for webhook round-trips."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"commands\": [\n    {\n      \"command\": \"dial\",\n      \"name\": \"outbound_call\",\n      \"from\": {\n        \"type\": \"PHONE\",\n        \"phone\": {\n          \"number\": \"+46701234567\"\n        }\n      },\n      \"to\": {\n        \"type\": \"PHONE\",\n        \"phone\": {\n          \"number\": \"+46701234568\"\n        }\n      },\n      \"events\": [\n        {\n          \"on_answer\": [\n            {\n              \"command\": \"amd\",\n              \"events\": [\n                {\n                  \"on_machine\": [\n                    {\n                      \"command\": \"pause\",\n                      \"duration\": \"1500ms\"\n                    },\n                    {\n                      \"command\": \"messages\",\n                      \"name\": \"da-other-messages\",\n                      \"messages\": [\n                        {\n                          \"type\": \"say\",\n                          \"say\": \"Detected machine, alternate message played.\",\n                          \"format\": \"text\"\n                        }\n                      ]\n                    },\n                    {\n                      \"command\": \"hangup\"\n                    }\n                  ]\n                },\n                {\n                  \"on_beep\": [\n                    {\n                      \"command\": \"stop-messages\",\n                      \"name\": \"da-messages\"\n                    },\n                    {\n                      \"command\": \"messages\",\n                      \"name\": \"da-other-messages\",\n                      \"messages\": [\n                        {\n                          \"type\": \"say\",\n                          \"say\": \"Beep detected, stopping previous messages and playing new one.\",\n                          \"format\": \"text\"\n                        }\n                      ]\n                    },\n                    {\n                      \"command\": \"hangup\"\n                    }\n                  ]\n                }\n              ]\n            },\n            {\n              \"command\": \"pause\",\n              \"duration\": \"1500ms\"\n            },\n            {\n              \"command\": \"messages\",\n              \"name\": \"da-messages\",\n              \"messages\": [\n                {\n                  \"type\": \"say\",\n                  \"say\": \"Hello, this is a test message\",\n                  \"format\": \"text\"\n                }\n              ]\n            }\n          ]\n        }\n      ]\n    }\n  ]\n}\n","lang":"json"},"children":[]}]},"headings":[{"value":"Controlling Calls (SVAML v2)","id":"controlling-calls-svaml-v2","depth":1},{"value":"Command Structure","id":"command-structure","depth":3},{"value":"Common Command Types","id":"common-command-types","depth":2},{"value":"answer","id":"answer","depth":3},{"value":"dial","id":"dial","depth":3},{"value":"amd","id":"amd","depth":3},{"value":"messages","id":"messages","depth":3},{"value":"stopMessages","id":"stopmessages","depth":3},{"value":"pause","id":"pause","depth":3},{"value":"hangup","id":"hangup","depth":3},{"value":"webhook","id":"webhook","depth":3},{"value":"startRecording","id":"startrecording","depth":3},{"value":"stopRecording","id":"stoprecording","depth":3},{"value":"bridgeCall","id":"bridgecall","depth":3},{"value":"menu","id":"menu","depth":3},{"value":"gotoMenu","id":"gotomenu","depth":3},{"value":"Example: An entire call behavior defined with SVAML Commands","id":"example-an-entire-call-behavior-defined-with-svaml-commands","depth":2}],"frontmatter":{"seo":{"title":"Sinch Voice API Markup Language | Voice API v2 API | Sinch","description":"Read about how SVAML commands work in the the Voice API v2 API."}},"lastModified":"2026-10-23T15:54:27.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/docs/voice-2.0/api-reference/svaml","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}