perso-dubbing-plugin

agent
Security Audit
Fail
Health Warn
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 6 GitHub stars
Code Fail
  • process.env — Environment variable access in skills/dubbing/lib/api_adapter.mjs
  • network request — Outbound network request in skills/dubbing/lib/api_adapter.mjs
  • process.env — Environment variable access in skills/dubbing/lib/config.mjs
  • exec() — Shell command execution in skills/dubbing/lib/ffmpeg.mjs
Permissions Pass
  • Permissions — No dangerous permissions requested

No AI report is available for this listing yet.

SUMMARY

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.

README.md

🎬 /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 Dubbing (AI dubbing) to your agent. It auto-dubs videos into other languages — a single file or a whole folder, and even oversized or very long media is automatically split, processed, and merged back together. It can also lip-sync the dubbed video and separate voice from background audio.

It calls the Perso Dubbing API under the hood, so a Perso Dubbing API key is required.Get an API key

Because every host uses the same Agent Skills standard (SKILL.md), it works identically wherever you install it — just run /dubbing or say "dub this video for me."


🖥️ Easiest way — the Claude desktop app (about 3 minutes)

📖 Prefer pictures? Follow the step-by-step visual guide → (English · 한국어)

No terminal needed. In the Claude desktop app (paid plan):

  1. Open the Code tab (top center) and pick any folder — choose the Local environment (plugins are not available in cloud sessions).

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

    /plugin marketplace add est-perso-dubbing-agent/perso-dubbing-plugin
    
    /plugin install perso-dubbing@perso-ai
    

    Prefer clicking? After the first command, press the + button next to the prompt box → PluginsAdd plugin → install perso-dubbing.

  3. Ask for a dub — e.g. "Dub this video into English — C:\videos\clip.mp4" (a YouTube URL or a whole folder works too). On the first run a key file opens for your Perso API key — paste the key into that file, not into the chat. Unless you pass --out, results are saved next to the source video.

💡 The skill itself runs on Node.js 18+. If your PC doesn't have it, the agent will say node was not found — just reply "install Node.js for me" (or grab the LTS from nodejs.org), then try again.

The same two /plugin commands also work in the Claude Code CLI.


Install on other hosts

The shortcut that works everywhere: paste this repository's URL into your agent and say "install this."

🤖 To the agent: If you were given only this repository's URL, pick the path for your host:

  • Claude Code (desktop app or CLI): do not run npx right away — even if the user said "install this". Show the user the two /plugin commands from the Claude desktop app section above and ask them to type the commands themselves, one per message (they are user-typed slash commands you cannot execute). Also mention the desktop-app click path: after the first command, + button → Plugins → Add plugin. If you need to tailor the wording, CLAUDE_CODE_ENTRYPOINT=cli in your shell env suggests a terminal session (undocumented signal — when unsure, present both paths). Fall back to npx only if the user still wants you to handle the install after seeing them.
  • Codex · Cursor · Antigravity, or the user delegated the install to you: run this single command — it fetches the package, auto-detects every installed host, and installs the skill into each:
npx perso-dubbing

If the repo is already cloned, run node scripts/install.mjs from the repo root instead (no network needed).

Codex

Codex reads skills from the shared Agent Skills folder. Run npx perso-dubbing --codex, or copy manually:

~/.agents/skills/dubbing/        # personal (all repos) — current Codex
~/.codex/skills/dubbing/         # older Codex versions (the installer writes both)
<repo>/.agents/skills/dubbing/   # this repository only

The repo also ships a Codex plugin manifest (.codex-plugin/plugin.json) for marketplace-based installs.

Cursor

Run npx perso-dubbing --cursor, or copy into:

~/.cursor/skills/dubbing/        # global
.cursor/skills/dubbing/          # this project only

The repo ships a Cursor plugin manifest (.cursor-plugin/plugin.json) for the Cursor plugin marketplace.

Antigravity

Run npx perso-dubbing --antigravity, or copy into either location:

~/.antigravity/skills/dubbing/   # Antigravity 1.x
~/.agents/skills/dubbing/        # Antigravity 2.0+ (shared Agent Skills folder)
⚡ One-line installer (any host)

Detects which hosts you use and installs to all of them — no clone needed:

npx perso-dubbing
  • Specific host only: --claude / --antigravity / --codex / --cursor · all: --all
  • Current project only (./.claude, ./.agents, …): --project

Already have the repo cloned? node scripts/install.mjs from the repo root does the same without any network.

🔧 Manual install

Copy the skill folder into your host's skills directory under the name dubbing. From the repo root:

# macOS / Linux
mkdir -p <skills_folder>/dubbing && cp -r skills/dubbing/* <skills_folder>/dubbing/

💡 Windows (PowerShell): New-Item -ItemType Directory -Force <skills_folder>\dubbing; Copy-Item .\skills\dubbing\* <skills_folder>\dubbing\ -Recurse

After installing, type /dubbing in your agent or just say "dub this video for me" to run it.


Examples

The easiest way — just tell your agent:

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

You can also run the CLI directly from the repo root:

# One video (auto-detect source → English)
npm run dub -- "clip.mp4" --target en --out result.mp4

# Several languages at once (uploaded/split once, reused per language)
npm run dub -- "clip.mp4" --target en,ja,zh

# Several inputs at once (URLs, files, and folders can be mixed)
npm run dub -- "https://youtu.be/..." "clip2.mp4" "C:\videos" --target en

# Dub + lip-sync (mouth matched to the dubbed audio; extra credits)
npm run dub -- "clip.mp4" --target en --lipsync

# Separate voice / background audio tracks (no dubbing)
npm run dub -- "clip.mp4" --separate

(Equivalent direct call: node skills/dubbing/scripts/dubbing.mjs … — or node scripts/dubbing.mjs … from inside an installed skill folder.)


Troubleshooting

More questions? See the FAQ.

Symptom Fix
Claude desktop app asks for Git (Windows) The Code tab needs Git for Windows on first use. Install it, then restart the app.
/plugin commands or the Plugins menu do nothing You are in a cloud session — plugins only work in Local (and SSH) sessions. Switch the environment to Local and retry.
node not found / install or run fails The skill runs on Node.js 18+ — check with node -v. If missing, install the LTS from nodejs.org, or simply ask Claude in the session to install it for you, then restart the app.
No API key yet Just run any dubbing command — a key file opens automatically; paste your key and save (it's encrypted and the file is deleted). Manual check: npm run key:check. Do not paste the key into the chat.Get an API key
ffmpeg-related error ffmpeg is normally installed automatically. If it fails, run npm run doctor.
Stops midway (out of credits, crash, killed process) Progress is saved to a *.dubresume.json state file throughout the run. Run the --resume "<state-file>" command shown in the notice to finish only the remaining parts (completed parts are skipped automatically).

Privacy & Telemetry

/dubbing sends anonymous usage events to improve the skill — for example, which action ran (dub / lip-sync / separate), whether it succeeded, the language pair, app version, and OS. It is tagged only with a random per-install ID and never includes your API key, file names or media content, account/email, or workspace IDs.


Repository layout

.claude-plugin/    Claude Code plugin + marketplace manifests
.codex-plugin/     Codex plugin manifest
.cursor-plugin/    Cursor plugin manifest
docs/              Step-by-step visual install guide (GitHub Pages)
skills/dubbing/    The skill itself (SKILL.md · lib/ · scripts/) — self-contained
scripts/           Repo-level installer (install.mjs)

License

This skill's code is distributed under the MIT License. The actual dubbing is performed through the Perso Dubbing API, so API usage itself is subject to the Perso AI Terms of Service and pricing.

Reviews (0)

No results found