SUPPORT.TWILIO.COM END OF LIFE NOTICE: This site, support.twilio.com, is scheduled to go End of Life on February 27, 2024. All Twilio Support content has been migrated to help.twilio.com, where you can continue to find helpful Support articles, API docs, and Twilio blog content, and escalate your issues to our Support team. We encourage you to update your bookmarks and begin using the new site today for all your Twilio Support needs.

Understanding Unexpected Text-to-Speech and Call Recording Storage Charges on Your Twilio Invoice

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.

Have more questions? Submit a request
Powered by Zendesk