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.
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.mp3The 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
- One-request transcription: the stream, events and resuming.
- SDKs: upload progress, retries and every option.
- Job lifecycle: list, fetch and cancel jobs.