Transcribe 100 ten-minute clips: Scribe v2, gpt-transcribe, MAI, Sume

1,000 minutes of audio costs about $3.67 on Scribe v2 list, $4.50 on gpt-transcribe, $9 on MAI intro pricing, and $10 on Sume STT. The sums and the caveats.

4 min readSume
All posts

For 100 clips of 10 minutes each, 1,000 minutes in all, the list prices work out to about $3.67 on ElevenLabs Scribe v2, $4.50 on OpenAI's gpt-transcribe, $9.00 on Microsoft's MAI-Transcribe-2-Streaming at its introductory price, and $10.00 on Sume STT. The cheapest line is not automatically the best, because the products differ in accuracy, language support and how they take audio.

Sume STT takes up to 10 minutes per request, so 100 clips of exactly 10 minutes is 100 jobs, each billed for 10 minutes.

The sums

Vendor prices are from their pages as read; Sume's is about $0.01 per minute ($0.008 provider list times 1.25).

  • MAI-Transcribe-2-Streaming is a streaming model; I priced it per hour as published, not as a batch product.
  • Sume's provider cost table uses $0.008 a minute for Scribe v2, while ElevenLabs' own page lists $0.22 per hour; I could not reconcile the two, so Sume's price is shown as sold.
Cost of 1,000 minutes (16.7 hours) of audio (read 2026-10-08)
ServiceList priceCost for 1,000 minutes
ElevenLabs Scribe v2$0.22 per hourAbout $3.67
OpenAI gpt-transcribe$0.0045 per minute$4.50
OpenAI Whisper$0.006 per minute$6.00
Microsoft MAI-Transcribe-2-Streaming (intro, to end of 2026)$0.54 per hour$9.00
Sume STTAbout $0.01 per minuteAbout $10.00

Run the batch in four steps

  • Host each clip at a public HTTPS URL, preferably a Sume media URL.
  • Submit one job per clip, with a unique Idempotency-Key and duration_seconds set to the true length.
  • Poll /v1/jobs/:id/status, then fetch /v1/jobs/:id/result.
  • Keep the word timings; sort the clips by errors you find in a 10-clip human check.
import os, requests

r = requests.post(
    "https://api.sume.com/v1/stt-1.0/transcribe",
    headers={
        "Authorization": f"Bearer {os.environ['SUME_API_KEY']}",
        "Idempotency-Key": "stt-demo-001",
    },
    json={
        "audio_url": "https://media.sume.com/example/clip.mp3",
        "duration_seconds": 540,
    },
    timeout=30,
)
r.raise_for_status()
print(r.json())

Why duration_seconds matters

If you leave out duration_seconds, the job reserves one minute. A 10-minute clip then needs a larger charge when it completes. Set the real length (1 to 600 seconds) so the reservation matches the work.

What the cheapest line hides

A price per minute assumes the transcript is usable. If a cheaper service makes more errors on names, numbers or accents, a person must fix them, and an hour of human review costs far more than the difference between $3.67 and $10 on 1,000 minutes. That is why the fair test is cost per correct transcript, not cost per minute.

Also check the shape of the output. The services return different structures: some give word times, some give speaker labels, some give only text. If you need captions, word times matter. Sume STT always returns word timings, and it does not label speakers. Write down the fields you need before you compare prices, then drop any service that cannot supply them.

What Sume does not do

Sume STT does not label speakers, does not stream, and does not accept clips over 10 minutes. The price gap to the cheapest option on this list is real; accuracy on your own clips is the only fair way to decide whether it is worth paying.

Related

For a 1,000-hour projection see the cost to transcribe 1,000 hours and for scoring measure word error rate.

Sources

Related posts

More in Pricing

All Pricing posts

Written by Sume