Skip to content

perso-ai/perso-dubbing-plugin

Repository files navigation

🎬 /dubbing — Perso Dubbing Video Translation

Powered by Perso Dubbing Node.js Agent Skills Platforms License: MIT

English한국어EspañolPortuguêsРусскийBahasa IndonesiaDeutschไทย日本語繁體中文简体中文Tiếng ViệtFrançais

A coding-agent skill that brings Perso Dubbing's AI dubbing to your agent. Install it once, then just say "dub this video into English".

  • Dub into another language — a single file, a whole folder, or a URL
  • Lip-sync the dubbed video so the mouth matches the new audio
  • Separate voice from background audio
  • Subtitles (/srt) — extract an SRT via speech-to-text, then your agent translates it
  • Oversized and very long media is split, processed, and merged back automatically

Runs on Node.js 18+ and needs a Perso Dubbing API key. Built on the Agent Skills standard (SKILL.md), so it behaves identically on Claude, Codex, and Antigravity.

Perso Dubbing demo


Install

📖 Visual walkthrough → — pick your agent and copy the commands.

Claude desktop app — easiest, no terminal (~3 min)

In the Claude desktop app (paid plan):

  1. Open the Code tab (top center), pick any folder, and choose the Local environment — plugins don't work in cloud sessions.

  2. Paste each command into the prompt box and press Enter, one at a time:

    claude marketplace add perso-ai/perso-dubbing-plugin
    
    claude install perso-dubbing@perso-ai
    
  3. Ask for a dub — "Dub this video into English — C:\videos\clip.mp4". A YouTube URL or a folder works too. Results are saved next to the source video unless you pass --out.

Claude Code CLI: use /plugin marketplace add perso-ai/perso-dubbing-plugin and /plugin install perso-dubbing@perso-ai instead.

Every other host

npx perso-dubbing

Detects which hosts you have and installs both skills into each, printing where each one landed. Add --claude / --codex / --antigravity for one host, --all for every host, or --project for the current project only. Already cloned the repo? node scripts/install.mjs from the repo root does the same, offline.

🤖 To the agent — if you were handed only this repository's URL
  • Claude Code (desktop or CLI) — run this one-line install command yourself (non-interactive and idempotent, safe to re-run):

    claude plugin marketplace add perso-ai/perso-dubbing-plugin && claude plugin install perso-dubbing@perso-ai

    When both succeed, tell the user to start a new session (or restart Claude Code) — /dubbing and /srt load from the next session. Only if the claude CLI is unavailable in your shell, fall back to showing the command above for the user to type.

  • Codex · Antigravity, or the user delegated the install — run npx perso-dubbing (or node scripts/install.mjs if the repo is already cloned).

  • ChatGPT (web/app — no terminal on the user's machine) — read https://github.com/perso-ai/perso-dubbing-plugin/blob/main/docs/chatgpt-setup.md and follow it: get Codex running on the user's machine first — the install continues there. (Already inside Codex with a terminal? Use the bullet above instead.)

  • Gemini (web/app — no terminal on the user's machine) — read https://github.com/perso-ai/perso-dubbing-plugin/blob/main/docs/gemini-setup.md and follow it: get Antigravity installed first — the install continues there. (Already inside Antigravity? Use the bullet above instead.)

First run — your API key

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 the key there and save, and the file is encrypted and deleted.

Get an API key · verify anytime with npm run key:check


Usage

Just tell your agent what you want:

"Dub this video into English — C:\videos\clip.mp4"

"Dub every video in this folder into Japanese and Spanish"

"Dub this YouTube link into English, with lip-sync"

"Split the voice and background music out of this clip"

"Make me an English SRT for this video"

Or type /dubbing / /srt to start. For the full list of CLI options, ask your agent for the usage or run npm run dub -- --help.


Troubleshooting

More questions? See the FAQ.

Symptom Fix
node not found Install the LTS from nodejs.org (or ask your agent "install Node.js for me"), then retry.
Claude desktop app asks for Git (Windows) The Code tab needs Git for Windows on first use. Install it and restart the app.
claude commands or the Plugins menu do nothing You're in a cloud session — plugins need a Local (or SSH) session.
Key rejected or missing Register again: node skills/dubbing/scripts/connect.mjs. Check the stored key with npm run key:check.
ffmpeg error ffmpeg normally installs itself; if it fails, run npm run doctor.
Stopped midway (out of credits, crash, killed process) Progress is saved continuously. Run the --resume "<state-file>" command shown in the notice — finished parts are skipped and never re-billed.

Privacy & Telemetry

/dubbing and /srt send usage events to improve the skills — for example, which action ran, whether it succeeded, media length, app version, and OS. Each event carries a random per-install ID and your workspace number. Your API key and your media are never included. Opt out anytime with PERSO_NO_TELEMETRY.


Repository layout

.claude-plugin/    Claude Code plugin + marketplace manifests
.codex-plugin/     Codex plugin manifest
docs/              GitHub Pages landing + translated README · FAQ (12 languages)
skills/dubbing/    The dubbing skill (SKILL.md · lib/ · scripts/) — self-contained
skills/srt/        The SRT subtitle skill (SKILL.md · scripts/) — uses the dubbing skill's lib/
scripts/           Repo-level installer (install.mjs)

License

The skill code is MIT. Dubbing itself runs through the Perso Dubbing API, so API usage is subject to the Perso AI Terms of Service and pricing.

About

AI video auto-dubbing plugin for coding agents — translate & dub videos into multiple languages via the Perso Dubbing API. Works with Claude Code, Cursor, Codex & Antigravity.

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages