OpenAI gpt-transcribe keywords vs Sume STT: no vocabulary field
OpenAI's STT guide lists keywords, prompt and languages parameters. Sume STT has none: only audio_url, language_code, duration and segmentation.

OpenAI's speech-to-text guide lists keywords, prompt and languages parameters for gpt-transcribe, which let you bias recognition toward product names and jargon (read 2026-10-03). Sume's POST /v1/stt-1.0/transcribe has no keyword or vocabulary field, so names have to be fixed after the fact.
Parameters side by side
Sume's request takes audio_url, language_code, duration_seconds between 1 and 600, optional segmentation.mode set to sentence, and metadata. That is the whole input.
| Control | OpenAI gpt-transcribe | Sume STT 1.0 |
|---|---|---|
| Vocabulary or keyword hints | keywords and prompt | None |
| Language | languages | language_code |
| Speaker separation | Separate diarize model | Not documented |
| Word timestamps | whisper-1 for timestamps | words[] on every result |
| Max input | 25 MB file | 600 seconds |
Fixing names after the transcript
Because the result includes words[] with start and end offsets, a find-and-replace pass keeps timing intact. Build a small map of the misheard form to the correct spelling, apply it to text and to each word, and leave the offsets alone. For captions, the Sume caption endpoint accepts script_text, so you can supply the correct script instead of correcting a transcript.
Choosing between them
If your audio is full of brand terms, product codes or names, a keyword hint is worth real accuracy and OpenAI's parameter is the better fit. If you need word timings that feed a Sume caption or timeline job, Sume's result is already in the right shape. For per-minute cost see the 1,000-hour comparison.
Sources
Related posts
More in Comparisons
- OpenAI tts-1 vs tts-1-hd vs ElevenLabs: cost for 10,000 characters
OpenAI lists tts-1 at $15 per 1M characters and tts-1-hd at $30; ElevenLabs Flash is $0.04 per 1K. For 10,000 characters: $0.15, $0.30 and $0.40.
- OpenRouter video expired status vs Sume job statuses
OpenRouter video jobs can end as expired, 'exceeded maximum time to live'. Sume has queued, processing, completed, failed and canceled. Map them in a client.
- OpenRouter video: frame_images and input_references together
Send both frame_images and input_references to an OpenRouter-style video API and Sume treats it as image-to-video. What changes, and how to split the fields.
- OpenRouter video webhook idempotency key vs Sume job_id
OpenRouter's video webhook sends X-OpenRouter-Idempotency-Key as job_id-status. Sume says use job_id alone. How to dedupe both, with a runnable verifier.
Written by Sume