---
title: "Get a dubbing pro job"
method: GET
path: "/v1/dubbing-pro/{job_id}"
tags: ["Dubbing"]
---

# Get a dubbing pro job

`GET /v1/dubbing-pro/{job_id}`

## Request

- Base URL: `https://api.veed.io`
- URL: `https://api.veed.io/v1/dubbing-pro/{job_id}`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/veed/apis/veed-api/docs/v1/dubbing-pro/:job_id/get.ts> (a function with typed inputs; its response is checked against the schema)

Retrieve the current state of a dubbing pro job by its `job_id`.

The response uses the shared job envelope, whose `status` is one of:

- **`PROCESSING`** — still dubbing; the result is empty
- **`COMPLETED`** — done; the result holds the dubbed video
- **`FAILED`** — the job was accepted but processing failed; the error holds a failure code

Poll this endpoint until the status is `COMPLETED` or `FAILED`. An unknown `job_id` returns `404 Not Found`.

**Failure codes**

| Code | Meaning |
| --- | --- |
| `input_validation` | An input is missing or invalid. `error.details` names the input at fault when there is one. |
| `content_moderation` | An input breaks the content rules. Only send images, video and voices you own or have permission to use. |
| `invalid_file` | A file could not be read. Check its format, and that it is not corrupted. |
| `audio_too_long` | The audio is longer than the model accepts. Shorten it, or split it across jobs. |
| `transload_failed` | A file could not be downloaded from its URL. Make sure the URL is public and works without a login. |
| `generation_failed` | The model failed while rendering. Retry; if it keeps failing, contact support with the `job_id`. |
| `timeout` | The job ran out of time. Retry; if it keeps failing, contact support with the `job_id`. |
| `insufficient_credits` | The balance ran out before the job could be paid for. Top up in the dashboard's Billing, then retry. |

## Path parameters

- `job_id` string, uuid, required: Identifier of the dubbing job, returned when the job was submitted.

## Headers

- `X-Veed-Store-IO` '0' | '1'
- `X-Veed-Media-Expiration-Seconds` integer

## Response `200`

OK

- ResourceDubbingJob
  - `$schema` string, uri: A URL to the JSON Schema for this object.
  - `data` DubbingJob, required
    - `credits_charged` integer: Credits charged for the job. Present once the job is COMPLETED and the final charge is known.
    - `credits_estimated` integer: Credits quoted before the job ran. Present only on the response that created the job. This is an estimate, not the price: the charged amount can be higher or lower.
    - `error` JobErrorDubbingErrorCode
      - `code` 'input_validation' | 'content_moderation' | 'invalid_file' | 'audio_too_long' | 'transload_failed' | 'generation_failed' | 'timeout' | 'insufficient_credits', required: Stable, machine-readable failure code for this job type.
      - `details` JobErrorDetail[], nullable: Optional structured failure details.
        - `field` string: Dotted path to the offending input, when applicable.
        - `message` string, required: Human-readable explanation of this detail.
        - `type` string, required: The category of this detail entry.
      - `message` string, required: Human-readable failure message.
    - `job_id` string, uuid, required: Stable identifier of the job and of the resource it produces.
    - `result` Dubbing
      - `video` File, required
        - `content_type` string: The mime type of the file.
        - `file_name` string: The name of the file.
        - `file_size` integer: The size of the file in bytes.
        - `url` string, required: The URL where the file can be downloaded from.
    - `status` 'PROCESSING' | 'COMPLETED' | 'FAILED' | 'CANCELLED', required: Current lifecycle state of the job.

## Other responses

- `401`: Unauthorized
- `404`: Not Found
- `422`: Unprocessable Entity
- `429`: Rate limit exceeded
- `500`: Internal Server Error

## Changes

- **2026-10-28** `b55472650209`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/veed/apis/veed-api/changes/v1/dubbing-pro/:job_id/get.md)

---

[API](https://skmtc.dev/veed/apis/veed-api.md) - [All operations](https://skmtc.dev/veed/apis/veed-api/llms.txt) - [OpenAPI document](https://skmtc.dev/veed/apis/veed-api/revisions/b55472650209?raw)
