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

> ## Agent Instructions
> Automate.ax automations are TypeScript programs.
> Use Bun for installation and command examples.
> Use Automate.ax for the product name and automate.ax for the package, CLI, and domain.
> Treat documented public APIs as current; do not invent transitional or deprecated names.

# Create dubbing

> Starts an automatic dub for uploaded or remote media.

`elevenLabs.createDubbing` requires `targetLanguage` and exactly one of `file` or `sourceUrl`. `sourceLanguage` defaults to `auto`; voice cloning, background audio, and highest resolution can be controlled with booleans. `name`, `numSpeakers`, and `targetAccent` are optional. It returns `dubbingId` and `expectedDurationSec`.

```ts automations/create-dubbing.automation.ts theme={null}
import { automation, markSignificant, onInvocation } from "automate.ax"
import { elevenLabs } from "automate.ax/elevenlabs"

export default automation("Dub a recording", () => {
  const request = onInvocation<{ video: File }>()
  markSignificant(
    elevenLabs.createDubbing({ file: request.video, targetLanguage: "es" }),
  )
})
```

Automate.ax does not replay this action after an uncertain provider response because a second request could create another dubbing project.
