Quickstart

Get an API key, install an SDK (or use cURL), and transcribe a file.

1. Get an API key

Create a key in the developer console. Export it in your shell:

export SPEECHREVOLUTIONS_API_KEY=stt_...

2a. SDK (recommended for apps)

The SDK uses the upload flow under the hood (POST /api/v1/upload → storage → complete → SSE wait).

pip install speechrevolutions

Then transcribe a file:

from speechrevolutions import SpeechRevolutions

client = SpeechRevolutions()  # reads SPEECHREVOLUTIONS_API_KEY
result = client.transcribe("audio.mp3", speaker_labels=True)

print(result.text)
for u in result.utterances:
    print(f"{u.speaker}: {u.text}")

2b. Terminal (one request)

For scripts and one-off jobs, stream the file to POST /api/v1/transcribe. The connection stays open and emits percentage-style progress until the transcript is ready.

curl -N -X POST \
  "https://api.speechrevolutions.com/api/v1/transcribe?output_type=json&word_timestamps=true&speaker_labels=true&nltk=true" \
  -H "X-API-Key: $SPEECHREVOLUTIONS_API_KEY" \
  --data-binary @audio.mp3

SDK vs terminal

Prefer the SDK in application code. Prefer /transcribe when you want a single streaming HTTP call from a shell.

3. Watch live progress (optional)

The SDKs surface real-time upload and transcription progress — as console bars (progress=True) or callbacks with a percent field. Neither AssemblyAI nor Deepgram exposes this for pre-recorded audio.

result = client.transcribe("audio.mp3", progress=True)

# or a callback
result = client.transcribe(
    "audio.mp3",
    on_progress=lambda e: print(e.percent, e.step),
)

See each SDK page for the full onProgress / onUploadProgress API.

Next steps