Start here
no_captions · 4103 · HTTP 422
No caption track (manual or auto-generated) is available. Send mode "auto" to transcribe the audio instead.
Number4103
HTTP status422Unprocessable Entity
Familycontent4xxx · the media has no transcript to give
Example response
JSON
{ "ok": false, "request_id": "req_…", "error": { "code": "no_captions", "number": 4103, "message": "No caption track (manual or auto-generated) is available. Send mode \"auto\" to transcribe the audio instead.", "docs": "https://transcriptfetch.com/docs/errors/no_captions", "retry_with": { "mode": "auto" } } }
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).
What it means
No captions. No caption track (manual or auto-generated) is available. Send mode "auto" to transcribe the audio instead.
Shown to end users as: “Subtitles aren't available for this video. Switch to auto mode to transcribe the audio instead.”
Why it happens
- No captions. No caption track (manual or auto-generated) is available. Send mode "auto" to transcribe the audio instead.
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.
- The content likely contains speech even though no caption track can be served, so AI Fallback Transcription may still produce a transcript. When it can, the response carries
error.retry_with: { "mode": "auto" }; send that and it bills from 1 credit (1 credit per started 5 minutes of audio) on delivery, never on failure.
Retryable? No, this is permanent for this input. Every error response carries a
request_id; include it when contacting support.