Skip to main content
POST
/
voice
/
v1
/
speak
Text-to-speech synthesis
curl --request POST \
  --url https://api.case.dev/voice/v1/speak \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "text": "<string>",
  "voice_id": "EXAVITQu4vr4xnSDxMaL",
  "model_id": "eleven_multilingual_v2",
  "output_format": "mp3_44100_128",
  "voice_settings": {
    "stability": 0.5,
    "similarity_boost": 0.5,
    "style": 0.5,
    "use_speaker_boost": true
  },
  "language_code": "en",
  "optimize_streaming_latency": 2,
  "enable_logging": true,
  "seed": 123,
  "previous_text": "<string>",
  "next_text": "<string>",
  "apply_text_normalization": true
}
'
"<string>"

Authorizations

Authorization
string
header
required

API key starting with sk_case_

Body

application/json
text
string
required

Text to convert to speech

Maximum string length: 5000
voice_id
string
default:EXAVITQu4vr4xnSDxMaL

ElevenLabs voice ID (defaults to Rachel - professional, clear)

model_id
enum<string>
default:eleven_multilingual_v2

ElevenLabs model ID

Available options:
eleven_multilingual_v2,
eleven_turbo_v2,
eleven_monolingual_v1
output_format
enum<string>
default:mp3_44100_128

Audio output format

Available options:
mp3_44100_128,
mp3_44100_192,
pcm_16000,
pcm_22050,
pcm_24000,
pcm_44100
voice_settings
object

Voice customization settings

language_code
string

Language code for multilingual models

Example:

"en"

optimize_streaming_latency
integer

Optimize for streaming latency (0-4)

Required range: 0 <= x <= 4
enable_logging
boolean
default:true

Enable request logging

seed
integer

Seed for reproducible generation

previous_text
string

Previous context for better pronunciation

next_text
string

Next context for better pronunciation

apply_text_normalization
boolean
default:true

Apply automatic text normalization

Response

Audio file generated successfully

The response is of type file.