---
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 its language target ids.

## 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: 'preparing'/'processing' while it transcribes, 'ready' once transcription is done, or 'failed'.
  - `reference` string, nullable — Optional free-form string the customer can provide to identify the project on their end.
  - `source_language` string, nullable — BCP-47 language tag of the source media (null if auto-detected).
  - `model_id` string, nullable — Default dubbing model id applied to this project's language targets.
  - `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.
  - `language_ids` string[] — Identifiers of the language targets created under this project.
  - `webhook_ids` string[] — Workspace webhooks notified when this project becomes ready or fails, and when any of its languages completes or fails.
  - `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 treat an unrecognized value as 'internal_error'.
    - `message` string, required — Human-readable description of the failure, for display. The wording may change at any time; branch on `code` instead.
    - `retryable` boolean, required — Whether resubmitting the same input could succeed. 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 fields below.
    - `speaker_ids` string[], required — Speakers whose voices were not permitted for cloning. The dub used a replacement voice for each of them; the rest of the speakers are unaffected.
    - `message` string, required — Human-readable description of the warning, for display. The wording may change at any time; branch 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

---

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