> ## Documentation Index
> Fetch the complete documentation index at: https://docs.reedapt.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Retrieve a dub

> A dub's status and progress. Prefer webhooks to polling; if you poll, every 30 seconds is plenty.



## OpenAPI

````yaml /openapi.json get /dubs/{dub_id}
openapi: 3.1.0
info:
  title: Reedapt Dubbing API
  description: >-
    Dub video and audio into other languages in the speaker's own voice.
    Authenticate with `Authorization: Bearer <key>`; make keys in Reedapt under
    Developers.
  version: 1.0.0
servers:
  - url: https://api.reedapt.com/v1
security:
  - apiKey: []
paths:
  /dubs/{dub_id}:
    get:
      tags:
        - Dubs
      summary: Retrieve a dub
      description: >-
        A dub's status and progress. Prefer webhooks to polling; if you poll,
        every 30 seconds is plenty.
      operationId: get_dub_dubs__dub_id__get
      parameters:
        - name: dub_id
          in: path
          required: true
          schema:
            type: string
            title: Dub Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Dub'
              example:
                id: job_3f9a2c7e1b4d
                object: dub
                status: completed
                stage: null
                progress: 100
                source_language: en
                target_language: fr
                audio: false
                test: false
                preview_seconds: null
                duration_minutes: 12.4
                created_at: '2026-10-28T09:12:44'
                started_at: '2026-10-28T09:12:51'
                completed_at: '2026-10-28T09:31:02'
                error: null
                metadata:
                  order_id: '1042'
        '401':
          description: The key is missing, wrong or revoked.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '404':
          description: Nothing with this id belongs to the key's account.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '422':
          description: The request is invalid; the code and `fields` say why.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '429':
          description: >-
            Too many requests, or a plan limit was reached. Wait for
            `Retry-After` seconds.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
components:
  schemas:
    Dub:
      properties:
        id:
          type: string
          title: Id
          examples:
            - job_3f9a2c7e1b4d
        object:
          type: string
          const: dub
          title: Object
          default: dub
        status:
          type: string
          enum:
            - queued
            - processing
            - completed
            - failed
          title: Status
          description: '`completed` and `failed` are final.'
          examples:
            - processing
        stage:
          anyOf:
            - type: string
            - type: 'null'
          title: Stage
          description: >-
            What a processing dub is doing now. For display only; the values may
            change.
          examples:
            - transcribing
        progress:
          type: integer
          title: Progress
          description: 0 to 100.
          examples:
            - 35
        source_language:
          anyOf:
            - type: string
            - type: 'null'
          title: Source Language
          examples:
            - en
        target_language:
          anyOf:
            - type: string
            - type: 'null'
          title: Target Language
          examples:
            - fr
        audio:
          type: boolean
          title: Audio
          description: >-
            Whether the dub is audio (made from an audio file) rather than
            video.
        test:
          type: boolean
          title: Test
          description: >-
            Made with a test key: only the first seconds are dubbed, with a
            watermark.
        preview_seconds:
          anyOf:
            - type: integer
            - type: 'null'
          title: Preview Seconds
          description: For a test dub, how many seconds were dubbed.
          examples:
            - 60
        duration_minutes:
          anyOf:
            - type: number
            - type: 'null'
          title: Duration Minutes
          description: The media's length, which is what the dub costs.
          examples:
            - 12.4
        created_at:
          type: string
          format: date-time
          title: Created At
        started_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Started At
        completed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Completed At
        error:
          anyOf:
            - $ref: '#/components/schemas/DubError'
            - type: 'null'
          description: Why a failed dub failed.
        metadata:
          additionalProperties:
            type: string
          type: object
          title: Metadata
          description: What you sent when creating it.
          examples:
            - order_id: '1042'
      type: object
      required:
        - id
        - status
        - progress
        - source_language
        - target_language
        - audio
        - test
        - created_at
      title: Dub
      example:
        audio: false
        completed_at: '2026-10-28T09:31:02'
        created_at: '2026-10-28T09:12:44'
        duration_minutes: 12.4
        id: job_3f9a2c7e1b4d
        metadata:
          order_id: '1042'
        object: dub
        progress: 100
        source_language: en
        started_at: '2026-10-28T09:12:51'
        status: completed
        target_language: fr
        test: false
    ErrorBody:
      properties:
        error:
          $ref: '#/components/schemas/ErrorDetail'
      type: object
      required:
        - error
      title: ErrorBody
    DubError:
      properties:
        code:
          type: string
          title: Code
          examples:
            - NO_SPEECH
        message:
          type: string
          title: Message
          examples:
            - We couldn't hear anyone speaking in this file.
      type: object
      required:
        - code
        - message
      title: DubError
    ErrorDetail:
      properties:
        code:
          type: string
          title: Code
          description: Stable and machine-readable; branch on this, not on the message.
          examples:
            - UPLOAD_INCOMPLETE
        message:
          type: string
          title: Message
          description: What went wrong and what to do, in plain English.
          examples:
            - Complete the upload before dubbing it.
        request_id:
          type: string
          title: Request Id
          description: Quote it when you contact us about this request.
          examples:
            - req_8f2c1e0a9b7d6c5e4f3a
        fields:
          anyOf:
            - items:
                additionalProperties:
                  type: string
                type: object
              type: array
            - type: 'null'
          title: Fields
          description: >-
            On INVALID_REQUEST from validation: each field that is missing or
            invalid.
          examples:
            - - field: target_languages
                message: Field required
      type: object
      required:
        - code
        - message
        - request_id
      title: ErrorDetail
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: '`rk_live_…` or `rk_test_…`, made in Reedapt under Developers.'

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.