Uploading files

Pass a file path or a URL to an SDK and it uploads the audio for you, up to 10 GB per file.

Upload a file

Pass a path and the SDK uploads the file in parts, retries any part that fails, reports upload progress, and waits for the result. The limit is 10 GB per file.

from speechrevolutions import SpeechRevolutions

client = SpeechRevolutions()  # reads SPEECHREVOLUTIONS_API_KEY
result = client.transcribe("board-meeting.mp4", speaker_labels=True)
print(result.text)

Transcribe audio from a URL

Pass an https URL instead of a path and the API fetches the audio for you. The URL must be reachable from the public internet. For a private bucket, pass a signed URL that stays valid until the job finishes (see Amazon S3 and Supabase).

result = client.transcribe("https://example.com/audio.mp3")

Get notified when a job finishes

For batches and background work, pass a callback_url and the API sends a signed POST to it when each job finishes. The webhooks guide covers the payload, verifying the signature, and retries.

Test from a terminal

POST /api/v1/transcribe takes up to 200 MB as the request body and streams the transcript back on the same connection. Use it to try the API from a shell. In applications, use an SDK.

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

The one-request transcription guide covers the stream, its events, and how to resume if the connection drops.

Formats and limits

Common audio and video formats are accepted, and any file that can be decoded is transcoded for you. The API overview lists the formats, size limits, rate limits, and error codes.

Next steps