API reference
API v1RESTWebSocket

Text to Speech

POST text, get audio back as a stream. Twelve natural English voices, Opus or WAV, streaming from the first token.

Preview The request and response shapes are confirmed; some fields and limits may change before general availability.

Endpoint

http
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

Proposed: not yet implemented Only text and voice are confirmed. format, speed and sample_rate are proposed and may not be accepted by the API today.
FieldTypeDefaultDescription
text string required The text to speak. Billed per character of this field.
voice string azelma Voice name. See the voice list below or GET /v1/voices.
format string opus opus or wav. WAV is lossless and bills at the higher rate.
speed number 1.0 Playback rate multiplier, 0.5–2.0.
sample_rate integer 24000 Output sample rate in Hz: 16000, 24000 or 48000.
request body
{
  "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
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-Ms response header reports the measured value for that request.

Response headers

Proposed: not yet implemented Only X-First-Audio-Ms is confirmed. X-Characters-Billed and X-Request-Id are proposed.
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.