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

# Eleven Dubbing v1

> Translate and re-voice a video or audio file into 32 languages, without a watermark. $0.75 per minute.

`eleven-dubbing-v1` translates and re-voices the speech in a video or audio file into another language. It runs as an asynchronous task; download the dubbed file when the task succeeds. Output has no watermark.

| Property | Value |
| - | - |
| Model ID | `eleven-dubbing-v1` |
| Endpoint | `POST /v1/audio/dubbing` |
| Output | A task; download the dubbed audio or video from `GET /v1/tasks/{id}/content` |
| Limits | Source up to 1,800 seconds (30 minutes) |
| Billed on | Source length measured by SnapGen, in whole seconds |
| Price | \$0.0125 per second (\$0.75 per minute, 1.25 credits per second) |

Confirm live rates on the [SnapGen models page](https://snapgen.org/models). Failed requests are not charged.

<ParamField body="model" type="string" required>
  Set to `eleven-dubbing-v1`.
</ParamField>

<ParamField body="source_url" type="string" required>
  Public `http` or `https` URL of the video or audio to dub. The provider fetches it; SnapGen measures its length for billing.
</ParamField>

<ParamField body="target_language" type="string" required>
  Language to dub into, as a code from the [language list](/api-reference/audio-dubbing#languages), such as `es`.
</ParamField>

<ParamField body="source_language" type="string" default="auto">
  Language spoken in the source, from the same list. `auto` detects it.
</ParamField>

<ParamField body="num_speakers" type="integer">
  Number of speakers, from `0` to `32`. `0` detects it automatically.
</ParamField>

<ParamField body="highest_resolution" type="boolean">
  Uses the highest available resolution for video output.
</ParamField>

<ParamField body="drop_background_audio" type="boolean">
  Drops the background audio from the dub, which can help speeches and monologues.
</ParamField>

<ParamField body="webhook" type="string">
  Optional public `https` URL that receives one signed event when the task finishes. See [Task webhooks](/api-reference/webhooks).
</ParamField>

<ParamField body="webhook_secret" type="string">
  Required with `webhook`: 16 to 256 characters, used to sign the delivery.
</ParamField>

## Request

```bash theme={null}
curl https://api.snapgen.org/v1/audio/dubbing \
  -H "Authorization: Bearer $SNAPGEN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "eleven-dubbing-v1",
    "source_url": "https://example.com/product-demo.mp4",
    "target_language": "es"
  }'
```

The response is HTTP `202` with a task. Poll [`GET /v1/tasks/{id}`](/api-reference/task-status) until `status` is `succeeded`, then download the dubbed file:

```bash theme={null}
curl -L https://api.snapgen.org/v1/tasks/$TASK_ID/content \
  -H "Authorization: Bearer $SNAPGEN_API_KEY" \
  --output dubbed.mp4
```

## Price examples

| Length | Price |
| - | - |
| 1 minute | \$0.75 |
| 10 minutes | \$7.50 |
| 30 minutes | \$22.50 |

<Note>
  Send an `Idempotency-Key` header (1 to 200 characters) so a retried submission returns the same task instead of a second, billed one.
  See [Dubbing](/api-reference/audio-dubbing) for every field, the response, and errors.
</Note>
