Text to Speech
POST text, get audio back as a stream. Twelve natural English voices, Opus or WAV, streaming from the first token.
Endpoint
POST https://api.quickdial.ai/v1/tts
The response body is the audio stream itself, not JSON. Chunks begin arriving before generation
finishes, so write them straight to a file, a socket or an audio sink. The content type is
audio/opus or audio/wav depending on format.
Request parameters
text The text to speak. Billed per character of this field. voice Voice name. See the voice list below or GET /v1/voices. format opus or wav. WAV is lossless and bills at the higher rate. speed Playback rate multiplier, 0.5–2.0. sample_rate Output sample rate in Hz: 16000, 24000 or 48000. {
"text": "I found three options that match your request.",
"voice": "azelma",
"format": "opus",
"speed": 1.0,
"sample_rate": 24000
} Voices
Twelve English voices ship today, male and female, in conversational and reading styles. Fetch the live list rather than hard-coding names, since voices are added over time:
curl https://api.quickdial.ai/v1/voices \ -H "Authorization: Bearer $QUICKVOICE_KEY"
Voice cloning and non-English synthesis are not available today. Speech-to-text does handle several languages. See Speech to Text.
Formats and latency
- Opus (default): small enough to stream comfortably over a live connection. Bills at $0.0028 per 1,000 characters.
- WAV: lossless PCM, for archival or further processing. Bills at $0.0045 per 1,000 characters.
- First audio typically leaves in under 75ms. The
X-First-Audio-Msresponse header reports the measured value for that request.
Response headers
X-First-Audio-Ms Milliseconds until the first audio byte was produced. X-Characters-Billed Characters counted against your balance for this request. X-Request-Id Opaque id. Quote it in any support conversation. Streaming
The REST endpoint already streams its response. If you also need to send text incrementally, for example piping tokens out of an LLM as they generate, use the WebSocket endpoint described in Streaming.