transcript.imDocs
DocumentationAPI Reference

Errors

Handle the standard error envelope, HTTP statuses, and retryable failures.

Public endpoints return business failures in a standard envelope:

{
  "error": {
    "code": "NO_TRANSCRIPT",
    "message": "Transcript not in your library. Use POST /v1/transcript to extract or save it."
  }
}

Plan-gated 402 responses may also include actionLabel, actionUrl, and the backwards-compatible upgrade_url alias. A language miss that cannot fall back to speech recognition returns 404 with availableLanguages.

Some framework-level failures are still returned as a flat string body — for example { "error": "unauthorized" }, { "error": "rate_limited" }, or { "error": "invalid_credential" }. A robust client reads error as either an object or a string and only inspects error.code when it is present.

HTTP statuses

StatusMeaningClient action
400Malformed inputFix the request before retrying.
401Missing or invalid credentialSupply or rotate the API key.
402Plan or entitlement gateSurface the returned action URL.
403Valid key with insufficient scopeUse a key with the required scope.
404Resource or requested language not foundInspect the response details and available languages.
409Resource state conflictWait for the required state, then retry.
422Valid JSON with unsupported values or sourceCorrect the semantic input.
429Rate limit exceededRespect Retry-After and back off.
502A dependent capability or upstream discovery call failedRetry with bounded exponential backoff; do not treat it as "no transcript".
503A required capability is unavailable or unconfiguredDo not treat it as "no transcript"; surface the error.

POST /v1/transcript also uses 202 for accepted asynchronous speech recognition. It is a successful handoff, not an error.

Common error codes

CodeMeaning
INVALID_VIDEOThe supplied URL or platform id is invalid.
NO_TRANSCRIPTA usable transcript is not available for the request.
LANGUAGE_NOT_AVAILABLECaptions exist in other languages but none matched the request, and speech recognition was not allowed.
UNAVAILABLEThe source is private, removed, or inaccessible.
UPLOAD_INVALIDA multipart upload failed declaration, media-type, or integrity validation.
IDEMPOTENCY_CONFLICTThe same Idempotency-Key was reused with a different request.
IP_BLOCKEDThe source platform temporarily blocked extraction infrastructure.
PO_TOKEN_REQUIREDThe source platform requires additional login state.
VIDEO_TOO_LONGThe media exceeds the current plan's duration limit.
RATE_LIMITEDThe caller exceeded its current request window.
UPGRADE_REQUIREDThe account is not eligible to use the requested API capability.
INSUFFICIENT_CREDITSThe account cannot start the gated operation.
TRANSCRIPT_QUOTA_EXCEEDEDThe transcript allowance for the current period is exhausted.
ASR_QUOTA_EXCEEDEDThe ASR minute allowance for the current period is exhausted.
ASR_CONCURRENCY_LIMITThe plan's concurrency limit is fully in use; ASR minutes are not exhausted. Retry once an in-flight task finishes.
BATCH_LIMIT_EXCEEDEDThe batch exceeds the plan's per-job item limit.

Retry guidance

Retry 429 and transient 503 responses only. Honor Retry-After when supplied, add jitter, cap the delay, and set a maximum attempt count. Do not automatically retry authentication, scope, validation, or plan failures without changing the request or credential.

On this page