Dub your videos into any language — right inside the Claude Code you already use

"Dub this folder into Spanish" — that's the whole command.
Original voice kept, lips synced, saved right beside your source files.
Subtitles or speaker separation work the same way. New to AI agents? Install takes a minute.

Install in a minute

Dub, lip sync and subtitle your videos from one plain-English command

Multi-language dubbing and natural lip sync from plain language alone.
The finished video, separated audio, transcript and subtitles all land next to your original.

Install in a minute and start now

Anything marked FREE needs no account — sign up and get a free 30-second dubbing trial

An AI video translator that keeps the original voice

Translate your video while keeping the original voice. Lip dubbing can even match the mouth movements.

Video coming soon
Original · Chinese
Video coming soon
Dubbed · English
Video coming soon
Lip sync · English

Start right in the Claude Code, Codex or Antigravity you already use

Pick your agent and we'll show you the fastest way in. Install is one line — and folders aren't your problem anymore.

1

Open in the Claude Code app

One click opens the Claude Code desktop app in a Code session, install prompt already filled in.

Open in Claude Code app
or open in Terminal · VS Code
2

Hit Enter

Nothing sends on its own. Review it, press Enter, and the install command runs.

3

Start dubbing

Sign in once when the browser opens — your key is saved, and you're dubbing right away.

1

Open in the Codex app

One click opens the Codex app in a new chat with the install prompt ready. On the CLI? Paste command #2 instead.

Open in Codex app
2

Run the install command

Paste this one line and it installs itself to the right skills folder.

https://github.com/perso-ai/perso-dubbing-plugin Install this.
3

Start dubbing

Sign in once when the browser opens — your key is saved, and you're dubbing right away.

1

Open Antigravity

Open the IDE with the button, or jump to the next step if it's already running.

Open Antigravity
2

Give your agent the command

Tell your agent to run the line below and it installs to the right folder.

https://github.com/perso-ai/perso-dubbing-plugin Install this.
3

Start dubbing

Sign in once when the browser opens — your key is saved, and you're dubbing right away.

Claude support is coming soon

You can use it right now in Claude Code, also by Anthropic. Check out the Claude Code setup!

ChatGPT support is coming soon

You can use it right now in Codex, also by OpenAI. Check out the Codex setup!

Gemini support is coming soon

You can use it right now in Antigravity, also by Google. Check out the Antigravity setup!

Same words in any tool — hit the button above, or paste https://github.com/perso-ai/perso-dubbing-plugin Install this.

Frequently asked questions

What do I need to use it?
Node.js 18+ and a Perso Dubbing API key. Install the skill, then just say "dub this video for me."Get an API key
How do I register my API key?
On the first run a browser page opens — sign in and click once, and your key is issued and stored on this machine, encrypted. Nothing to copy. If no browser can open, a key file opens instead: paste only your API key into it and save (it is encrypted and the file is deleted). Never paste the key into the chat. Manual check: npm run key:check.
Does it cost money?
The skill's code is free (MIT), but the dubbing runs through the Perso API, which bills credits. Signing up includes a 30-second free trial, and subtitle translation, styled captions, and clipping are free without an account.
What can I feed it?
A local file, a local folder, or a URL (YouTube, TikTok, Google Drive). Oversized or very long videos are automatically split, processed, and merged back together.
Can it dub into several languages, or process many files at once?
Yes. Put multiple languages in one command (--target en,ja,zh) — the source is uploaded and split once, then reused per language. You can also mix multiple files, folders, and URLs in a single run.
Where are my results saved?
Next to the source video by default, or in the folder you pass with --out. Every run is also a project in your Perso portal (https://perso.ai/en/workspace/vt), where you can re-download it or get other formats.
What is lip-sync?
It matches the mouth movements to the dubbed audio. It runs after dubbing, works on video only, takes considerably longer, and costs extra credits. Add --lipsync.
What is audio separation?
It splits the source into voice / background / sub-background tracks — no dubbing involved. Add --separate.
Can it make subtitles (SRT) instead of dubbing?
The /srt skill extracts original-language subtitles from a video/audio/URL via Perso's speech-to-text. If you also want them translated, ask for the SRT along with the languages you want.
It stopped midway (out of credits, a crash, or a killed shell). Now what?
Progress is saved to a state file throughout the run (*.dubresume.json for /dubbing, *.srtresume.json for /srt). Re-run the printed --resume "<state-file>" command to finish only the remaining parts — completed parts are skipped and never re-billed.
I ran out of credits. How do I top up?
The skill can generate a Stripe payment link (subscribe, change plan, or buy credits, depending on your plan). You open the link and pay yourself — the agent never pays on your behalf. After topping up, resume with the printed --resume command.
Can I dub without saving a local file?
Yes, for a single (unsplit) video: add --no-save. The result stays in your Perso workspace and is not downloaded. Split videos are still saved normally, because the merged file needs a local download.
node was not found — what do I do?
The skill needs Node.js 18+. Check with node -v; install the LTS from https://nodejs.org, or simply ask the agent to install it for you, then retry.
How do I update the skill?
npx perso-dubbing@latest, or in the Claude Code plugin: /plugin update perso-dubbing.
What data does the skill collect?
Usage events only — which action ran, whether it succeeded, coarse counts, app version, and OS — tagged with a random per-install ID and your workspace number. Your API key and your media are never included.

Billed as credits for the volume you process · needs Node.js 18+ (and Git on Windows)