Skip to main content

🔧 TTS Troubleshooting Guide

Solve common TTS issues quickly with provider-specific solutions and general troubleshooting strategies.

Quick Diagnosis

🩺 Identify Your Issue

Start here to quickly identify the type of problem you’re experiencing.
Symptoms: TTS request completes but no audio is producedQuick Checks:
  • ✅ API key is valid and has TTS permissions
  • ✅ Voice ID exists and is spelled correctly
  • ✅ Audio format is supported by your system
  • ✅ Network connectivity is stable
Jump to: No Audio Output

No Audio Output

Common Causes & Solutions:Voice ID Issues:
  • Verify voice ID is correct (case-sensitive)
  • Ensure voice is available on your plan
  • Try with default voice: 21m00Tcm4TlvDq8ikWAM (Rachel)
Model Compatibility:API Key Issues:
  • Verify API key has TTS permissions
  • Check key isn’t expired or revoked
  • Test with a simple curl request first
Common Causes & Solutions:WebSocket Connection:
Audio Format Issues:
  • Ensure your system supports the requested format
  • Try µ-law for phone systems: encoding=mulaw&sample_rate=8000
  • Use linear16 for web: encoding=linear16&sample_rate=24000
Voice Model Issues:
  • Use correct voice format: aura-asteria-en not asteria
  • Verify model exists: aura-2 vs aura
  • Check Deepgram voice list
Common Causes & Solutions:Bearer Token:
Language/Voice Compatibility:
  • Verify voice supports selected language
  • Check language code format: en not english
  • Use language matrix
Model Selection:
  • Try inworld-tts-1 before inworld-tts-1-max
  • Ensure model supports your voice
  • Check model compatibility
Common Causes & Solutions:WebSocket Requirements:
  • Business plan required for WebSocket streaming
  • Check plan status in Resemble dashboard
  • Fallback to REST API if needed
UUID Format:
Voice Training Status:
  • Ensure custom voice training is complete
  • Check voice status in Resemble dashboard
  • Wait for training completion before using

Audio Quality Issues

ElevenLabs Solutions:
Inworld Solutions:
  • Reduce emotional markup intensity
  • Try different voice with your content
  • Switch from inworld-tts-1.5-max to inworld-tts-1 for stability
Deepgram Solutions:
  • Use Aura-2 instead of original Aura
  • Ensure proper audio encoding for your system
  • Check sample rate matches playback system
General Solutions:
  • Test with shorter text samples
  • Remove special characters from input text
  • Verify network stability during generation
Text Preprocessing:
Provider-Specific:
  • ElevenLabs: Use SSML for pronunciation control
  • Inworld: Leverage phonetic variations in training
  • Deepgram: English-optimized, fewer pronunciation issues
  • Resemble: Train custom voice with problematic words
Stability Optimization:
  • ElevenLabs: Increase stability to 0.6-0.7
  • Inworld: Use inworld-tts-1 instead of inworld-tts-1.5-max
  • Resemble: Retrain voice with more consistent samples
Network Optimization:
  • Use WebSocket connections for streaming providers
  • Implement connection keepalive
  • Add retry logic for failed chunks
  • Monitor network latency and jitter

Latency Problems

⚡ Speed Optimization

Optimize TTS response times across all providers.
Model Selection:
Best Practices:
  • Use Flash v2.5 for phone calls when you want the fastest ElevenLabs profile
  • Keep text chunks under 100 characters
  • Avoid complex punctuation and formatting
  • Use WebSocket streaming for real-time apps
Optimal Configuration:
Speed Tips:
  • Already the speed-focused provider option
  • Use µ-law encoding for phone systems
  • Keep WebSocket connections alive
  • Send text in 20-50 word chunks
Text Optimization:
Connection Optimization:
  • Reuse connections where possible
  • Implement connection pooling
  • Use regional endpoints when available
  • Monitor and retry failed requests quickly

API and Authentication Errors

Common Causes:
  • Expired or invalid API key
  • Incorrect authentication header format
  • Key doesn’t have required permissions
Solutions by Provider:ElevenLabs:
Deepgram:
Inworld:
Resemble:
Common Causes:
  • Plan limitations (voice access, features)
  • Usage quota exceeded
  • Geographic restrictions
Solutions:
  • Check plan features and upgrade if needed
  • Verify voice is available on your plan
  • Review usage dashboard for quota limits
  • Contact provider support for restrictions
Rate Limit Solutions:
Prevention:
  • Implement proper rate limiting in your code
  • Use connection pooling and queuing
  • Distribute requests across time
  • Consider upgrading to higher tier plans

Provider-Specific Issues

Training Issues:
  • Upload 1-25 minutes of clear audio
  • Use consistent speaker and environment
  • Include diverse sentence types
  • Wait for full training completion
Usage Issues:
  • Use correct voice ID from dashboard
  • Ensure plan supports voice cloning
  • Try different similarity_boost values
  • Check voice model compatibility
Language Detection:
  • Explicitly set language parameter
  • Use models that support target language
  • Test with native speakers
  • Avoid mixing languages in single request
Model Compatibility:

Emergency Troubleshooting

🚨 When Everything Breaks

Quick recovery strategies for critical TTS failures.

Fallback Strategy Implementation

Health Check Implementation

Getting Help

📞 Support Resources

When you need additional help beyond this troubleshooting guide.

Provider Support

Community Resources

Community Help:

💡 Still Having Issues?

If this guide didn’t solve your problem, check our Best Practices guide or reach out to our community for help!