---
title: "Get Dubbing Project"
method: GET
path: "/v1/dubbing/project/{project_id}"
tags: ["Dubbing"]
---

# Get Dubbing Project

`GET /v1/dubbing/project/{project_id}`

Full project detail, including the IDs of every language target under it. To follow a project to `ready`, we recommend a `webhook_ids` subscription rather than polling this endpoint.

## Path parameters

- `project_id` string, required — Identifier of the dubbing project to fetch.

## Headers

- `xi-api-key` string, nullable — Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website.

## Response `200`

Successful Response

- DubbingProjectResponse
  - `project_id` string, required — Unique identifier of the dubbing project.
  - `status` 'queued' | 'preparing' | 'processing' | 'ready' | 'failed', required — Lifecycle status of the project: `queued` before the source is picked up, `preparing` while it is transcribed, `ready` once transcription is done and language targets can start, or `failed`. A project is never reported as `processing` — that value belongs to language targets.
  - `reference` string, nullable — The free-form string you supplied as `reference` when creating the project, or null if you supplied none.
  - `source_language` string, nullable — BCP-47 language tag of the source media (null if auto-detected).
  - `model_id` string, nullable — Dubbing model every language target of this project is dubbed with. Fixed at create time and not selectable per language.
  - `media` DubbingSourceMediaInfo — Metadata about the project's source media.
    - `filename` string, nullable — Original filename of the uploaded source media (null for URL sources).
    - `duration_s` number, nullable — Duration of the source media, in seconds.
    - `has_video` boolean, nullable — Whether the source media contains a video stream.
    - `mime_type` string, nullable — MIME type of the uploaded source media (null for URL sources).
  - `language_ids` string[] — Identifiers of the language targets under this project. Populated when a single project is fetched, and on create when `target_language` creates one. Always empty in list responses — list the project's language targets instead.
  - `webhook_ids` string[] — IDs of the workspace webhooks notified as this project and its languages reach `ready`, `completed`, or `failed`.
  - `revision` integer, required — Monotonic counter incremented whenever the source transcript is edited (segment add/edit/delete).
  - `error` DubbingError
    - `code` string, required — Stable identifier for the failure, safe to branch on. New codes are added over time, so we recommend treating an unrecognized value as `internal_error`.
    - `message` string, required — Human-readable description of the failure, for display. The wording may change at any time, so we recommend branching on `code` instead.
    - `retryable` boolean, required — Whether resubmitting the same input could succeed. A value of false means the failure describes the input or the account, so an identical retry will fail the same way.
  - `warnings` VoicesNotPermittedWarning[] — Non-fatal conditions raised while preparing the source, empty when there are none. Reflects the latest preparation. Conditions raised while dubbing a particular language are reported on that language instead.
    - `type` 'voices_not_permitted', required — Identifies this warning; branch on it to read the other fields.
    - `speaker_ids` string[], required — Speakers whose voices were not permitted for cloning. The dub used a replacement voice for each of them; all other speakers are unaffected.
    - `message` string, required — Human-readable description of the warning, for display. The wording may change at any time, so we recommend branching on `type` instead.
  - `created_at` string, date-time, required — When the project was created.
  - `updated_at` string, date-time, required — When the project was last updated.

## Other responses

- `422` — Validation Error

## Changes

- **2026-08-07** `57d56f34628a` — 1 info
  - added the optional property `webhook_ids` to the response with the `200` status
- **2026-08-06** `1cae8adcc965` — 2 info
  - added the optional property `error` to the response with the `200` status
  - added the optional property `warnings` to the response with the `200` status

[Change history](https://skmtc.dev/elevenlabs/apis/elevenlabs-api-documentation/changes/v1/dubbing/project/:project_id/get.md)

---

[API](https://skmtc.dev/elevenlabs/apis/elevenlabs-api-documentation.md) · [All operations](https://skmtc.dev/elevenlabs/apis/elevenlabs-api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/elevenlabs/elevenlabs-api-documentation/revisions/b1797a1d5e80/schema)
