Speech to Text
POST audio, get a transcript with word-level timestamps. Stream live audio when you need partial results, and pay per character of output.
Endpoint
POST https://api.quickdial.ai/v1/stt
Send the file as multipart form data. WAV, MP3, M4A, FLAC and OGG are all accepted; anything ffmpeg can decode will generally work. Billing counts the characters of the returned transcript, not the length of the audio.
Request parameters
audio Audio file, sent as multipart form data. language ISO code to force a language. Omit to auto-detect. timestamps Include per-word start and end times in the response. punctuate Restore punctuation and sentence casing. Example
curl https://api.quickdial.ai/v1/stt \ -H "Authorization: Bearer $QUICKVOICE_KEY" \ -F "audio=@meeting.wav" \ -F "language=en"
import os, requests with open("meeting.wav", "rb") as f: r = requests.post( "https://api.quickdial.ai/v1/stt", headers={"Authorization": f"Bearer {os.environ['QUICKVOICE_KEY']}"}, files={"audio": f}, ) data = r.json() print(data["text"])
Response
{
"text": "I found three options that match your request.",
"language": "en",
"duration_ms": 2140,
"compute_ms": 188,
"characters_billed": 34,
"words": [
{ "word": "Your", "start_ms": 40, "end_ms": 210 },
{ "word": "table", "start_ms": 210, "end_ms": 480 },
{ "word": "is", "start_ms": 480, "end_ms": 610 }
]
} Field notes
duration_ms: length of the submitted audio.compute_ms: time spent transcribing, useful for capacity planning.words: omitted entirely whentimestampsisfalse.characters_billed: matches what appears on your invoice for this request.
Languages
Transcription auto-detects the spoken language and handles several beyond English, including French,
German, Spanish, Italian and Portuguese. Pass language explicitly when you already know
it. Detection costs nothing, but a forced language is more reliable on short or noisy clips.
Long audio and live audio
The REST endpoint is intended for complete files. For a live microphone or a call in progress, open the WebSocket endpoint instead and receive partial transcripts as the speaker talks. See Streaming.