Zip code handling error
# support
k
For some reason my bot keeps saying the zip code incorrectly by saying 0 as like airline or something like that I’ve tried multiple prompts and things and still can’t figure out how to make it stop Here is the voice recording https://storage.vapi.ai/2493f0d6-d1a9-4773-9f7d-3a39d5a51faa-1758921078772-800498bf-ce8a-4c2e-b467-7386386669db-mono.wav
c
Hi there, Thank you for your message. Our team is currently out of the office. We operate Monday through Friday, from 9:00 AM to 8:00 PM Pacific Standard Time (PST). We’ll get back to you as soon as possible during our normal business hours. If your message is urgent, please mark it accordingly or include “URGENT” in the subject line, and we’ll do our best to respond promptly. Warm regards, Vapi Customer Support Team
v
Thanks for sharing the details and the recording link. To help pinpoint the issue, could you let me know which voice provider and model (e.g., ElevenLabs, Deepgram, etc.) your assistant is currently using for text-to-speech? This will help me suggest the most effective fix for the zip code pronunciation problem. Sources: - [Pronunciation dictionaries](https://docs.vapi.ai/assistants/pronunciation-dictionaries) - [Prompting Guide](https://docs.vapi.ai/prompting-guide)
k
Useing eleven labs and deep gram
Using eleven labs and deep gram with the ai provider open ai and 4o cluster @Vapi Support Bot
v
Try adding a pronunciation dictionary rule to force digit-by-digit reading of zip codes. For example, to make "90210" pronounced as "nine zero two one zero", use the following API call:
Copy code
json
POST https://api.vapi.ai/provider/11labs/pronunciation-dictionary
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY

{
  "name": "Zip Code Fix",
  "rules": [
    {
      "stringToReplace": "90210",
      "type": "alias",
      "alias": "nine zero two one zero"
    }
  ]
}
After uploading, associate this dictionary with your assistant's voice config. This should correct the mispronunciation for that zip code and can be repeated for others as needed. See the [pronunciation dictionary docs](https://docs.vapi.ai/assistants/pronunciation-dictionaries) for more details. Source: - [Pronunciation dictionaries](https://docs.vapi.ai/assistants/pronunciation-dictionaries)
k
How do I upload it @Vapi Support Bot
v
To upload your pronunciation dictionary, send a POST request to the following endpoint with your API key:
Copy code
bash
curl -X POST https://api.vapi.ai/provider/11labs/pronunciation-dictionary \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Zip Code Fix",
    "rules": [
      {
        "stringToReplace": "90210",
        "type": "alias",
        "alias": "nine zero two one zero"
      }
    ]
  }'
Replace
YOUR_API_KEY
with your actual key. After uploading, associate the dictionary with your assistant's voice config as described in the docs.
See [Pronunciation dictionaries](https://docs.vapi.ai/assistants/pronunciation-dictionaries) for more details. Source: - [Pronunciation dictionaries](https://docs.vapi.ai/assistants/pronunciation-dictionaries)
k
Do I do it as a tool call? @Vapi Support Bot
v
Thanks for your question! Just to clarify, when you ask "Do I do it as a tool call," are you referring to uploading the pronunciation dictionary using the Vapi custom tools feature, or are you asking if the pronunciation dictionary upload itself is considered a tool call? This will help me guide you to the correct process. Sources: - [Pronunciation dictionaries](https://docs.vapi.ai/assistants/pronunciation-dictionaries) - [Custom Tools](https://docs.vapi.ai/tools/custom-tools)
k
Uploading the dictionary using the vapi custom tools function @Vapi Support Bot
v
Uploading a pronunciation dictionary is not done via the Vapi custom tools function. Instead, use a direct API call to the provider resource endpoint. Here’s the correct way:
Copy code
bash
curl -X POST https://api.vapi.ai/provider/11labs/pronunciation-dictionary \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Zip Code Fix", "rules": [ { "stringToReplace": "90210", "type": "alias", "alias": "nine zero two one zero" } ] }'
After uploading, associate the dictionary with your assistant’s voice config as described in the docs. See [Pronunciation dictionaries](https://docs.vapi.ai/assistants/pronunciation-dictionaries) for more details. Source: - [Pronunciation dictionaries](https://docs.vapi.ai/assistants/pronunciation-dictionaries)
k
so is this a one time update or do we have to tigger this everytime @Vapi Support Bot
v
Uploading a pronunciation dictionary is a one-time update. Once you upload the dictionary and associate it with your assistant's voice configuration, the custom pronunciations are applied automatically whenever the assistant encounters those words—no need to trigger it each time. If you want to change pronunciations later, simply update or replace the dictionary as needed. See the [Pronunciation dictionaries documentation](https://docs.vapi.ai/assistants/pronunciation-dictionaries) for more details. Source: - [Pronunciation dictionaries](https://docs.vapi.ai/assistants/pronunciation-dictionaries)
k
If i use a different voice provider not 11 labs could that also fix the issue @Vapi Support Bot
v
Pronunciation dictionaries for custom fixes (like digit-by-digit zip code reading) are only supported with ElevenLabs voices. Switching to a different provider (such as Deepgram) may result in different pronunciation, but you won't be able to enforce custom pronunciations using a dictionary. If you want precise control over how numbers are spoken, it's best to use ElevenLabs with a pronunciation dictionary. See the [Pronunciation dictionaries documentation](https://docs.vapi.ai/assistants/pronunciation-dictionaries) for details. Source: - [Pronunciation dictionaries](https://docs.vapi.ai/assistants/pronunciation-dictionaries)
k
how would you do this in n8n to update the assistant @Vapi Support Bot
v
To upload a pronunciation dictionary in n8n, use an HTTP Request node configured as follows:
Copy code
json
{
  "method": "POST",
  "url": "https://api.vapi.ai/provider/11labs/pronunciation-dictionary",
  "headers": {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
  },
  "body": {
    "name": "Zip Code Fix",
    "rules": [
      {
        "stringToReplace": "90210",
        "type": "alias",
        "alias": "nine zero two one zero"
      }
    ]
  }
}
Replace
YOUR_API_KEY
with your actual key. Add this node to your n8n workflow to automate the upload process.
See the [Pronunciation dictionaries documentation](https://docs.vapi.ai/assistants/pronunciation-dictionaries) for more details. Source: - [Pronunciation dictionaries](https://docs.vapi.ai/assistants/pronunciation-dictionaries)
k
how do i apply it so it applies to all zip codes not just the 90210 you recommended @Vapi Support Bot
@Vapi Support Bot how do i apply it so it applies to all zip codes not just the 90210 you recommended
v
Currently, the pronunciation dictionary requires you to specify each zip code explicitly—there is no built-in support for wildcards or dynamic rules to cover all zip codes at once. To help you further: Are you looking for a way to automate the creation of rules for a large set of zip codes, or do you need guidance on the best manual approach given this limitation? Source: - [Pronunciation dictionaries](https://docs.vapi.ai/assistants/pronunciation-dictionaries)
k
Yes for every call there is a different zip code that will need pronounced so how do i do that @Vapi Support Bot
v
Currently, each zip code must be added explicitly to the pronunciation dictionary. To help you further, could you clarify: Are you looking to automate adding new zip code rules in real time for each call, or would a bulk/pre-generated list of zip codes work for your use case? Source: - [Pronunciation dictionaries](https://docs.vapi.ai/assistants/pronunciation-dictionaries)
k
new zip code rules in real time for each call @Vapi Support Bot
v
To add a new zip code rule in real time for each call, automate an API call to update the pronunciation dictionary just before the call starts. For example, in your workflow, use an HTTP request like:
Copy code
json
{
  "method": "PATCH",
  "url": "https://api.vapi.ai/provider/11labs/pronunciation-dictionary/{dictionaryId}",
  "headers": {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
  },
  "body": {
    "rules": [
      {
        "stringToReplace": "{{zipCode}}",
        "type": "alias",
        "alias": "{{digitSpacedZipCode}}"
      }
    ]
  }
}
Replace
{{zipCode}}
and
{{digitSpacedZipCode}}
with the actual values for each call. This ensures the correct pronunciation for the current zip code.
See [Pronunciation dictionaries documentation](https://docs.vapi.ai/assistants/pronunciation-dictionaries) for more details. Source: - [Pronunciation dictionaries](https://docs.vapi.ai/assistants/pronunciation-dictionaries)
k
or could i do a custom tool to be called and it updates it or howelse will it know whcih zip code as this is in real timewhere we get teh zip code from the caller @Vapi Support Bot
v
To clarify your workflow: Are you looking to have the assistant trigger a custom tool during the call (after receiving the zip code from the caller) to update the pronunciation dictionary, or would you prefer to automate the update before the call starts based on known caller input? Source: - [Pronunciation dictionaries](https://docs.vapi.ai/assistants/pronunciation-dictionaries)
k
it will be during the call after receiving hte zip code from the caller @Vapi Support Bot
v
You can create a custom tool in Vapi that the assistant calls after receiving the zip code, which updates the pronunciation dictionary in real time. Here’s a sample endpoint for your tool:
Copy code
js
app.post("/update-zip-pronunciation", async (req, res) => {
  const { zipCode, digitSpacedZipCode } = req.body;
  await fetch("https://api.vapi.ai/provider/11labs/pronunciation-dictionary/{dictionaryId}", {
    method: "PATCH",
    headers: {
      "Authorization": "Bearer YOUR_API_KEY",
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      rules: [{ stringToReplace: zipCode, type: "alias", alias: digitSpacedZipCode }]
    })
  });
  res.json({ success: true });
});
Trigger this tool from your assistant after capturing the zip code, passing the values as arguments. See [custom tools guide](https://docs.vapi.ai/tools/custom-tools) for setup details. Sources: - [Pronunciation dictionaries](https://docs.vapi.ai/assistants/pronunciation-dictionaries) - [Custom tools guide](https://docs.vapi.ai/tools/custom-tools)
k
is this for a api request or a custom tool i do in n8n @Vapi Support Bot
v
You should use an HTTP Request node in n8n to call your custom tool endpoint (the API you host), not build the tool logic inside n8n. After your assistant receives the zip code, trigger this HTTP Request node to POST to your
/update-zip-pronunciation
endpoint, passing the zip code and its digit-spaced version as JSON:
Copy code
json
{
  "zipCode": "12345",
  "digitSpacedZipCode": "one two three four five"
}
This lets your n8n workflow update the pronunciation dictionary in real time by calling your external custom tool API. See the [custom tools guide](https://docs.vapi.ai/tools/custom-tools) for more details. Source: - [Custom tools guide](https://docs.vapi.ai/tools/custom-tools)
k
how do i structure the http request @Vapi Support Bot
v
To structure the HTTP Request node in n8n for your custom tool, use the following configuration:
Copy code
json
{
  "method": "POST",
  "url": "https://your-api.com/update-zip-pronunciation",
  "headers": {
    "Content-Type": "application/json"
  },
  "body": {
    "zipCode": "12345",
    "digitSpacedZipCode": "one two three four five"
  }
}
Replace the URL with your actual endpoint, and set the body fields dynamically based on the zip code received during the call. Source: - [Custom tools guide](https://docs.vapi.ai/tools/custom-tools)
k
i mean for my vapi assistant so my vapi assistant makes it better @Vapi Support Bot
v
To clarify, are you asking how to configure your Vapi assistant to automatically trigger the custom tool for zip code pronunciation during calls, or are you looking for suggestions to improve the overall user experience with zip code handling? Let me know which aspect you'd like help with! Sources: - [Pronunciation dictionaries](https://docs.vapi.ai/assistants/pronunciation-dictionaries) - [Custom tools guide](https://docs.vapi.ai/tools/custom-tools)
k
both? but so the vapi assistant can pronounce the zip code correctly.
@Vapi Support Bot
v
To help you best, could you confirm which is your top priority right now: A) Step-by-step guidance on configuring your Vapi assistant to automatically trigger the custom tool for real-time zip code pronunciation, or B) Suggestions to improve the overall user experience with zip code handling (e.g., conversational flow, error handling)? Let me know which you'd like to focus on first! Sources: - [Pronunciation dictionaries](https://docs.vapi.ai/assistants/pronunciation-dictionaries) - [Custom tools guide](https://docs.vapi.ai/tools/custom-tools)
k
A.) @Vaibhav Goyal
A.) @Vapi Support Bot
v
Thank you for confirming you'd like step-by-step guidance for configuring your Vapi assistant to automatically trigger a custom tool for real-time zip code pronunciation. To tailor the instructions, could you clarify: Are you configuring your assistant using the Vapi Dashboard, the API, or the Workflow Builder? This will help me provide the most relevant step-by-step setup for your environment. For reference, the general approach is: 1. Create a custom tool endpoint (e.g.,
/update-zip-pronunciation
) that updates the pronunciation dictionary. 2. Configure your assistant to call this tool after capturing the zip code, passing both the zip code and its digit-spaced version. 3. Use an HTTP Request node (if using n8n) to trigger the tool. Let me know your setup so I can provide detailed steps! Sources: - [Pronunciation dictionaries](https://docs.vapi.ai/assistants/pronunciation-dictionaries) - [Custom tools guide](https://docs.vapi.ai/tools/custom-tools)
k
I'm using hte vapi assistant and using a custom tool to send an api request back to the vapi assistant to pronounce the zip code correctly @Vapi Support Bot
v
Thank you for clarifying your setup! To provide the most accurate step-by-step guidance for integrating your custom tool with your Vapi assistant, could you please specify how you are configuring your assistant? Are you using the Vapi Dashboard, the API, or the Workflow Builder? Once I know this, I can give you detailed instructions tailored to your environment. Sources: - [Pronunciation dictionaries](https://docs.vapi.ai/assistants/pronunciation-dictionaries) - [Custom tools guide](https://docs.vapi.ai/tools/custom-tools)
k
vapi custom tool to send a webhook to n8n which will rmake the api request or respond back to the tool whatever is needed @Vapi Support Bot
v
Thank you for the details! To provide the exact step-by-step setup for your real-time zip code pronunciation fix, could you confirm **how you are configuring your Vapi assistant**—are you using the Dashboard, the API, or the Workflow Builder? Sources: - [Pronunciation dictionaries](https://docs.vapi.ai/assistants/pronunciation-dictionaries) - [Custom tools guide](https://docs.vapi.ai/tools/custom-tools)
k
The api @Vapi Support Bot
v
To configure your Vapi assistant via the API to trigger your custom tool for real-time zip code pronunciation, use a PATCH request like this:
Copy code
bash
curl --location --request PATCH 'https://api.vapi.ai/assistant/ASSISTANT_ID' \
  --header 'Authorization: Bearer <YOUR_API_KEY>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": {
      "provider": "openai",
      "model": "gpt-4o",
      "toolIds": ["your-tool-id-here"]
    }
  }'
Replace
ASSISTANT_ID
and
your-tool-id-here
with your actual assistant and tool IDs. This will enable your assistant to call the custom tool (which can trigger your n8n workflow) after capturing the zip code during the call. Tip: Make sure your tool is set up to receive the zip code and return the correct pronunciation result. Source: [Custom tools guide](https://docs.vapi.ai/tools/custom-tools)
k
huh? @Vapi Support Bot
v
To connect your Vapi assistant (via API) with your custom tool for real-time zip code pronunciation, use this PATCH request:
Copy code
bash
curl -X PATCH 'https://api.vapi.ai/assistant/ASSISTANT_ID' \
  -H 'Authorization: Bearer <YOUR_API_KEY>' \
  -H 'Content-Type: application/json' \
  -d '{
    "model": {
      "provider": "openai",
      "model": "gpt-4o",
      "toolIds": ["YOUR_TOOL_ID"]
    }
  }'
Replace
ASSISTANT_ID
and
YOUR_TOOL_ID
with your actual IDs. This setup lets your assistant call your custom tool (which triggers your n8n webhook) after capturing the zip code during the call. For more details, see the [Custom tools guide](https://docs.vapi.ai/tools/custom-tools). Source: - [Custom tools guide](https://docs.vapi.ai/tools/custom-tools)
k
okay so i got that but how do i update the pronounciation @Vapi Support Bot
v
To update the pronunciation for a zip code in real time, have your n8n workflow send a PATCH request to the Vapi API like this:
Copy code
bash
curl -X PATCH 'https://api.vapi.ai/provider/11labs/pronunciation-dictionary/DICTIONARY_ID' \
  -H 'Authorization: Bearer <YOUR_API_KEY>' \
  -H 'Content-Type: application/json' \
  -d '{
    "rules": [
      {
        "stringToReplace": "ZIPCODE",
        "type": "alias",
        "alias": "Z I P C O D E"  // or use phoneme type for more control
      }
    ]
  }'
Replace
DICTIONARY_ID
,
ZIPCODE
, and
<YOUR_API_KEY>
with your actual values. This will update the pronunciation dictionary so your Vapi assistant pronounces the zip code correctly on the fly. For more details, see the [Pronunciation dictionaries documentation](https://docs.vapi.ai/assistants/pronunciation-dictionaries). Source: - [Pronunciation dictionaries](https://docs.vapi.ai/assistants/pronunciation-dictionaries)
k
where do i find the dictionary_ID? @Vapi Support Bot
v
To find your
DICTIONARY_ID
, list your pronunciation dictionaries with this API call:
Copy code
bash
curl -X GET 'https://api.vapi.ai/provider/11labs/pronunciation-dictionary' \
  -H 'Authorization: Bearer <YOUR_API_KEY>'
Look for the
"pronunciationDictionaryId"
field in the response—this is the ID you need for updates. For more details, see the [Pronunciation dictionaries documentation](https://docs.vapi.ai/assistants/pronunciation-dictionaries). Source: - [Pronunciation dictionaries](https://docs.vapi.ai/assistants/pronunciation-dictionaries)
v
It looks like your API call returned no pronunciation dictionaries. Have you already created a pronunciation dictionary for your ElevenLabs voice in Vapi? If not, you'll need to create one first before you can update or list it. Would you like step-by-step instructions on how to create a new pronunciation dictionary via the API? Source: - [Pronunciation dictionaries](https://docs.vapi.ai/assistants/pronunciation-dictionaries)
k
yes @Vapi Support Bot
v
To create a new pronunciation dictionary for your ElevenLabs voice, use this API call:
Copy code
bash
curl -X POST 'https://api.vapi.ai/provider/11labs/pronunciation-dictionary' \
  -H 'Authorization: Bearer <YOUR_API_KEY>' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Zip Code Dictionary",
    "rules": [
      {
        "stringToReplace": "90210",
        "type": "alias",
        "alias": "nine zero two one zero"
      }
    ]
  }'
Replace
<YOUR_API_KEY>
and the rule values as needed. After creation, you can update this dictionary with new zip codes as required. See: [Pronunciation dictionaries documentation](https://docs.vapi.ai/assistants/pronunciation-dictionaries) Source: - [Pronunciation dictionaries](https://docs.vapi.ai/assistants/pronunciation-dictionaries)
k
so i gott this error here { "errorMessage": "Bad request - please check your parameters", "errorDescription": "Bad Request", "errorDetails": { "rawErrorMessage": [ "400 - \"{\\\"message\\\":\\\"Found credentials for 11labs. Use 11labs's API with your own credentials to manage 'pronunciation-dictionary' resources.\\\",\\\"error\\\":\\\"Bad Request\\\",\\\"statusCode\\\":400}\"" ], "httpCode": "400" }, "n8nDetails": { "nodeName": "Add dictionary to assistant", "nodeType": "n8n-nodes-base.httpRequest", "nodeVersion": 4.2, "itemIndex": 0, "time": "9/29/2025, 9:50:14 AM", "n8nVersion": "1.107.4 (Self Hosted)", "binaryDataMode": "default", "stackTrace": [ "NodeApiError: Bad request - please check your parameters", " at ExecuteContext.execute (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-nodes-base@file+packages+nodes-base_@aws-sdk+credential-providers@3.808.0_asn1.js@5_1af219c3f47f2a1223ec4ccec249a974/node_modules/n8n-nodes-base/nodes/HttpRequest/V3/HttpRequestV3.node.ts:780:15)", " at processTicksAndRejections (node:internal/process/task_queues:105:5)", " at WorkflowExecute.runNode (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_0c275070fd0434c00ffd62213b2bcae4/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1212:9)", " at /usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_0c275070fd0434c00ffd62213b2bcae4/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1582:27", " at /usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_0c275070fd0434c00ffd62213b2bcae4/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:2158:11" ] } }
@Vapi Support Bot
v
Thanks for sharing the error details! Can you confirm if you are using your own ElevenLabs API key (BYOK) in your Vapi setup? If so, pronunciation dictionaries must be created and managed directly in your ElevenLabs account—not via the Vapi API. Let me know, so I can guide you on the correct next steps! Source: - [Pronunciation dictionaries](https://docs.vapi.ai/assistants/pronunciation-dictionaries)
k
okay i got this now { "errorMessage": "The resource you are requesting could not be found", "errorDescription": "Not Found", "errorDetails": { "rawErrorMessage": [ "404 - \"{\\\"message\\\":\\\"Cannot PATCH /provider/11labs/pronunciation-dictionary\\\",\\\"error\\\":\\\"Not Found\\\",\\\"statusCode\\\":404}\"" ], "httpCode": "404" }, "n8nDetails": { "nodeName": "Add dictionary to assistant", "nodeType": "n8n-nodes-base.httpRequest", "nodeVersion": 4.2, "itemIndex": 0, "time": "9/29/2025, 9:56:14 AM", "n8nVersion": "1.107.4 (Self Hosted)", "binaryDataMode": "default", "stackTrace": [ "NodeApiError: The resource you are requesting could not be found", " at ExecuteContext.execute (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-nodes-base@file+packages+nodes-base_@aws-sdk+credential-providers@3.808.0_asn1.js@5_1af219c3f47f2a1223ec4ccec249a974/node_modules/n8n-nodes-base/nodes/HttpRequest/V3/HttpRequestV3.node.ts:780:15)", " at processTicksAndRejections (node:internal/process/task_queues:105:5)", " at WorkflowExecute.runNode (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_0c275070fd0434c00ffd62213b2bcae4/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1212:9)", " at /usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_0c275070fd0434c00ffd62213b2bcae4/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1582:27", " at /usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_0c275070fd0434c00ffd62213b2bcae4/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:2158:11" ] } } @Vapi Support Bot https://cdn.discordapp.com/attachments/1421441331070238782/1422220723321045122/image.png?ex=68dbe1c4&is=68da9044&hm=92fd669453d789848394c51ba12abb28fa0df4684b8ea59f9fcd91f1f978482f& https://cdn.discordapp.com/attachments/1421441331070238782/1422220723748999199/image.png?ex=68dbe1c4&is=68da9044&hm=edd70146dabfe205b1776df53235c483c985b3cc3a84ec88a4ee26bb0649d228&
v
Since you're using your own ElevenLabs API key (BYOK), you must create and manage pronunciation dictionaries directly in your ElevenLabs account—not via the Vapi API. 1. Log in to your ElevenLabs dashboard and create a pronunciation dictionary there. 2. Once created, copy the
pronunciationDictionaryId
and
versionId
, then reference them in your Vapi assistant's voice config like this:
Copy code
json
"voice": {
  "model": "eleven_turbo_v2_5",
  "voiceId": "your-voice-id",
  "provider": "11labs",
  "pronunciationDictionaryLocators": [
    {
      "pronunciationDictionaryId": "your-elevenlabs-dict-id",
      "versionId": "your-elevenlabs-version-id"
    }
  ]
}
Manage all future updates to the dictionary directly in ElevenLabs. See: [Pronunciation dictionaries documentation](https://docs.vapi.ai/assistants/pronunciation-dictionaries) Source: - [Pronunciation dictionaries](https://docs.vapi.ai/assistants/pronunciation-dictionaries)
5 Views