Batch transcription API

Transcribe your audio backlog
for $0.10 an hour

Send a list of audio URLs. Get back transcripts with sentence and word timestamps, as SRT, VTT, plain text or JSON. Whisper large-v3-turbo on a network of independent GPUs, built for backlogs rather than live captions.

$0.10
per audio hour, billed to the second of accepted audio
~12 s
to transcribe a 13-minute recording in our tests
5.3%
word error rate on our LibriVox test reading
SRT · VTT
plus TXT and JSON with sentence and word times

How it works

1
Submit a batch
One API call with your audio URLs. Files up to 4 hours each; long files are split into 10-minute windows and stitched back together.
2
Independent GPUs transcribe it
Work is spread across the network. A sample of results is re-run on a second machine and compared, so output is checked, not trusted blindly.
3
Download the results
Poll the batch or set a webhook, then fetch JSON, SRT, VTT or TXT per file. You pay only for audio that was transcribed and accepted.

Price per audio hour

List prices for batch or pre-recorded audio, from each vendor's pricing page as of October 2026. We are not the lowest per hour: Groq lists the same model for less, one file per request. We are built for backlogs: one call for many URLs, long files split for you, webhooks, and 100 free hours. Full comparison.

ServicePer audio hourNotes
MyAi$0.10Whisper large-v3-turbo; batches of URLs, files up to 4 hours, timestamps and captions included
Groq$0.04whisper-large-v3-turbo; one file per request, 10 s minimum, 25 MB (free) or 100 MB (dev tier) per file
AssemblyAI$0.15–$0.21Universal-2 to Universal-3.5 Pro
OpenAI gpt-4o-mini-transcribe$0.18$0.003 per minute
Rev.ai Reverb$0.20English; other languages $0.30
Deepgram Nova-3$0.22–$0.26Pre-recorded, monolingual; Growth plan to pay-as-you-go
OpenAI gpt-4o-transcribe$0.36$0.006 per minute

Get an API key

Credit

Add credit by card (Stripe). $10 = 100 audio hours.

A batch holds its estimated cost when you submit it and is charged for the audio actually transcribed when it finishes; the rest of the hold is released. Your key stays in this browser tab only.

The API

Submit a batch
curl https://api.myaitoken.io/v1/batches \
  -H "Authorization: Bearer $MYAI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "job_type": "transcription",
    "model": "whisper-large-v3-turbo",
    "items": [
      {"input_url": "https://example.com/episode-101.mp3",
       "duration_s": 3540, "meta": {"language": "en"}}
    ]
  }'
Check it and download results
# status (poll every 30 s, or pass "webhook_url" when you submit)
curl https://api.myaitoken.io/v1/batches/$BATCH_ID -H "Authorization: Bearer $MYAI_KEY"

# captions for item 0
curl "https://api.myaitoken.io/v1/batches/$BATCH_ID/results?format=srt&idx=0" \
  -H "Authorization: Bearer $MYAI_KEY" -o episode-101.srt

# JSON with sentence timestamps (add "word_timestamps": true to an item's meta for words)
curl "https://api.myaitoken.io/v1/batches/$BATCH_ID/results" -H "Authorization: Bearer $MYAI_KEY"

duration_s is required: it sets how long files are split and what is held from your credit. Results include timestamps: segment when sentence timing is available.

Is it a fit for your audio?

Audio is processed on GPUs run by independent operators, not in our own data center. That is what makes the price possible, and it is a good fit for podcasts, lectures, archives, public recordings and dataset building. Please don't send confidential, medical, legal or otherwise regulated recordings yet. Speaker labels (diarization) are not available yet.