Echo Labs Docs
Search the docs
Find a guide, an endpoint or a section

Job lifecycle

Track jobs, handle cancellations, and download captions.

Status

Read GET /jobs/{id} about once a minute, or use webhooks.

StatusMeaning
queuedAccepted, waiting to start.
processingCaptioning is in progress.
completedCaptions are ready.
cancelledStopped; inspect cancellation.

eta is an estimate; passing it does not mean the job failed. progress reaches 100 on completion.

Cancellations

A cancelled job still returns HTTP 200. Check status, use cancellation.reason in your code, and show cancellation.message to users.

ReasonActionCharge
unsupported_languageSubmit a supported language.Refunded
unsupported_mediaDuration mismatch; submit a corrected file or link.Refunded
unusable_mediaReplace damaged or unreadable audio.Refunded
media_unavailableMake the media accessible.Refunded
deletedSomeone deleted the job in the dashboard.Kept
not_startedSubmit a new order.Never charged

Refunded jobs show cost.amount: "0.00".

Downloading captions

GET /jobs/{id}/captions returns the file in the requested format: SRT (default), VTT, TXT, DOCX, or JSON. See the reference for format options and restrictions.

The job’s captions object also contains download URLs. These require the same bearer authentication as API requests.

Downloads return the latest revision, including dashboard edits. JSON includes a revision number.