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

Get job

Get job status, cost, and caption links

GET https://api.el.ai/v1/jobs/{id}

Authorization

  • Authorization header · string Required

    Bearer el_live_…, a workspace API key. About keys

Path parameters

  • id string · uuid Required

Response · 200

application/json

Success.

  • id string · uuid
  • object string
    One of
    job
  • status string
    One of
    queued
    processing
    completed
    cancelled
  • progress integer · nullable
    0–100
  • eta string · date-time · nullable
  • title string
  • media object
    • type string
      One of
      url
      upload
    • url string · nullable
    • upload_id string · uuid · nullable
    • duration_seconds number
  • language string · nullable
  • options object
    • style string

      clean removes fillers, false starts, and stutters; verbatim keeps every spoken word.

      One of
      clean
      verbatim
      Default
      clean
    • model string

      Captioning model. Only ave-base is supported.

      One of
      ave-base
      Default
      ave-base
    • speaker_labels boolean

      Identify speaker turns. Set false for dialogue without labels.

      Default
      true
    • speaker_label_style string

      SRT/VTT labels: >> NAME:, [NAME], NAME:, or dashes without names. Ignored when speaker_labels is false. Transcripts use their native speaker headings; JSON has a separate speaker field.

      One of
      gt_name
      brackets
      colon
      dashes
      Default
      gt_name
    • atmospherics boolean

      Include meaningful non-speech sounds. Uses the same add-on pricing as dashboard checkout.

      Default
      true
    • profanity string

      Keep profanity, mask it (f***), replace it with [expletive], or omit it. Does not alter source audio.

      One of
      as_spoken
      mask
      label
      omit
      Default
      as_spoken
    • redactions Redactions

      Privacy controls for caption text, using the same redaction pricing as checkout. Source audio and video are unchanged.

      Accepts one of:
      • Standard replacement
      • Custom replacement requires replacement, custom_replacement
      • pii boolean

        Redact personal data such as emails and phone numbers.

        Default
        false
      • names boolean

        Redact named individuals.

        Default
        false
      • organizations boolean

        Redact organization names.

        Default
        false
      • terms array of string

        Custom terms to redact, one term per item; each must be a nonblank single line.

        Default
        []
        ≤ 200 items
      • replacement string

        Replace with [REDACTED], a category such as [EMAIL], nothing, or custom_replacement.

        One of
        redacted
        category_label
        silent
        custom_string
        Default
        category_label
      • custom_replacement string

        Required when replacement is custom_string. Nonblank, single-line text.

        1–120 chars
    • glossary array of string
    • webhook_url string · nullable
  • cost object · nullable
    • amount string

      Decimal amount in USD, net of refunds.

    • currency string
      One of
      usd
  • cancellation object · nullable
    • reason string
      One of
      unsupported_language
      unsupported_media
      unusable_media
      media_unavailable
      deleted
      not_started
    • message string
  • captions object · nullable
    • srt string · uri
    • vtt string · uri
    • txt string · uri
    • docx string · uri
    • json string · uri
  • metadata map of string

    String values. Defaults: 20 keys of 1–40 characters, values up to 500 characters. These maxima are configurable per workspace.

  • created_at string · date-time
  • completed_at string · date-time · nullable

Headers

  • request-id string

    Support request identifier.

  • cache-control string
    One of
    no-store

Errors

Errors share one shape: an error object with a stable code and a human-readable message. See Errors and retries.

400Invalid request
401Missing, invalid or revoked API key
402Insufficient funds or budget
403Key or workspace does not allow this operation
404Resource not found in this workspace
409Conflict
413JSON body exceeds 64 KiB
415Unsupported content type
422Media or order cannot be processed
429Shared read limit per API key or write limit per workspace exceeded
500Internal error
503temporarily_unavailable: request limit enforcement is unavailable, or job submission is busy. Retry after 5 seconds.