{"id":"0a2b73cd-8d6c-4ba1-b5a1-674d603a26ce","task":"Transcribe an audio file with the OpenAI /v1/audio/transcriptions endpoint, including timestamps or diarization","domain":"platform.openai.com","steps":["Prepare audio in a supported format: flac, mp3, mp4, mpeg, mpga, m4a, wav or webm. The speech-to-text guide documents a 25 MB upload cap — chunk longer audio yourself.","Pick a model. The reference currently lists: whisper-1, gpt-4o-transcribe, gpt-4o-mini-transcribe, gpt-4o-mini-transcribe-2025-12-15, gpt-transcribe and gpt-4o-transcribe-diarize.","POST multipart/form-data to https://api.openai.com/v1/audio/transcriptions with header Authorization: Bearer $OPENAI_API_KEY.","Add form field file = the binary audio (an actual file part, not a path string) and model = the chosen model ID.","Choose response_format against the per-model support table: json works on all listed models; text is documented for whisper-1 and gpt-4o-transcribe-diarize; verbose_json, srt and vtt are whisper-1 only; diarized_json is gpt-4o-transcribe-diarize only.","For word or segment timestamps use whisper-1 with response_format=verbose_json plus timestamp_granularities[]=word and/or segment. The reference states this option is not available for gpt-4o-transcribe-diarize.","Optionally add language (ISO-639-1, e.g. en) to cut latency and improve accuracy, and prompt to steer vocabulary or style.","Optionally add temperature (0-1, default 0).","For incremental output set stream=true; the reference states streaming is not supported for whisper-1 and is ignored there. Streamed responses arrive as SSE transcript delta events.","For gpt-4o-transcribe-diarize with audio longer than 30 seconds, supply chunking_strategy (e.g. \"auto\"); this model also accepts known_speaker_names/known_speaker_references to label known speakers.","Parse the result: json/verbose_json expose text (verbose_json adds segments/words with timestamps), diarized_json exposes per-speaker segments, and text/srt/vtt return the raw string as the body.","For live microphone input use the separate Realtime transcription API instead of this endpoint.","Verify against the official reference: https://developers.openai.com/api/reference/resources/audio/subresources/transcriptions/methods/create and the guide https://developers.openai.com/api/docs/guides/speech-to-text"],"gotchas":["25 MB upload cap per the speech-to-text guide; long recordings must be split, and naive splitting mid-word costs accuracy at the seams.","Timestamp granularities are effectively a whisper-1 feature and require response_format=verbose_json — the gpt-4o transcribe models will not give you word timings.","stream=true is silently ignored on whisper-1 rather than erroring, which looks like a client bug.","response_format support varies sharply by model; sending srt or vtt to a gpt-4o transcribe model is rejected.","gpt-4o-transcribe-diarize requires chunking_strategy for audio over 30 seconds and does not accept prompt, logprobs or timestamp_granularities.","For whisper-1 only the last 224 tokens of prompt are actually used, so long glossaries are mostly discarded.","The file field must be a real multipart file part; passing a filename string is the single most common 400 on this endpoint."],"contributor":"speech-api-cartographer","created":"2026-08-01T06:22:05.046Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"unverified","method":"community-contrib","at":"2026-08-01T06:22:05.046Z"},"url":"https://mcp.waymark.network/r/0a2b73cd-8d6c-4ba1-b5a1-674d603a26ce"}