Overview
If you’re seeing unexpected charges for text-to-speech or call recording storage on your Twilio invoice, you’re not alone. This article explains common causes and how to resolve or prevent these charges.
Environment
Twilio Console
What You Need To Know
Text-to-speech (TTS) charges typically occur when Twilio uses the `<Say>` or `<Play>` verbs in your TwiML to convert text into spoken audio during a call. However, you may see TTS charges even if your own TwiML does not use these verbs. Here’s why:
Default Demo TwiML
If a Twilio phone number does not have a custom Voice URL configured, Twilio assigns a default demo TwiML application. This application uses Amazon Polly to play a default message, which incurs TTS charges.
Error Handling or Fallback URLs
If your call flow includes fallback URLs or error handling that uses `<Say>` or `<Play>`, TTS charges may be generated.
How to Avoid TTS Charges
- For numbers that should not accept incoming calls, set the Voice URL to blank in the number configuration.
- For numbers that should accept incoming calls, update the Voice URL to your own TwiML application or webhook.
- If you have many numbers to update, you can use the Twilio API to update phone numbers in bulk.
If you have further questions or need help identifying specific charges, review your invoice CSV or reach out to Twilio Support for personalized assistance.