no_audio_stream · 4106 · HTTP 422
The downloaded media carried no audio stream, so it could not be transcribed. Distinct from no_speech, which means audio exists but carries no speech. PERMANENT on purpose: retrying re-runs the same conversion on the same bytes and fails identically.
Example response
{ "ok": false, "request_id": "req_…", "error": { "code": "no_audio_stream", "number": 4106, "message": "The downloaded media carried no audio stream, so it could not be transcribed. Distinct from no_speech, which means audio exists but carries no speech. PERMANENT on purpose: retrying re-runs the same conversion on the same bytes and fails identically.", "docs": "https://transcriptfetch.com/docs/errors/no_audio_stream" } }
Every failure carries error.code, error.number, error.message and error.docs, plus at most one of retry_with (the request change that would succeed), details (structured specifics) or issues (validation problems). Family: 4xxx · the media has no transcript to give.
What it means
No audio track. The downloaded media carried no audio stream, so it could not be transcribed. Distinct from no_speech, which means audio exists but carries no speech. PERMANENT on purpose: retrying re-runs the same conversion on the same bytes and fails identically.
Shown to end users as: “That video has no audio, so there is nothing to transcribe.”
Why it happens
- No audio track. The downloaded media carried no audio stream, so it could not be transcribed. Distinct from no_speech, which means audio exists but carries no speech. PERMANENT on purpose: retrying re-runs the same conversion on the same bytes and fails identically.
What to do
- Permanent for this input: the same request will fail the same way, so do not retry unchanged. Failed requests are never charged.
- AI transcription would not help here: there is no accessible speech to transcribe.
request_id; include it when contacting support.Related errors
- unsupported_platform (3001), an input on a platform we do not serve at all