0
0
via GitHub · Posted Jul 19, 2026 · 1 min read

Perso Dubbing Plugin for Coding Agents

perso-ai/perso-dubbing-plugin
Claude Skill

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.

30Stars
1Forks
2Open issues
JavaScript MIT Updated 1 month ago

At a glance

Node.js 2 skills Actively maintained Commercial OK

An AI-powered video dubbing and subtitle extraction skill for coding agents like Claude Code, Cursor, and Codex. It automatically translates and dubs videos into multiple languages, handles large files by splitting and merging, and can extract SRT subtitles via speech-to-text.

0 comments

README

Perso Dubbing Plugin

Every video, every language. Dub, subtitle, and clip right from your coding agent. "Dub this video into English" is the whole workflow.

Perso AI Node.js Agent Skills Hosts MIT skills.sh

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

Feature You say You get
Dubbing "Dub this video into Japanese" The same video, re-voiced
Lip-sync "…with lip-sync" Mouth matched to the dubbed audio
Voice separation "Split the voice from the music" Voice and background tracks
Subtitles from speech "Make me an English SRT" An SRT extracted via STT
Subtitle translation "Translate subs.srt into Spanish" Translated SRT, timing intact, QA included FREE
Styled subtitles "Burn these subtitles onto the video" Styled subtitles on the video FREE
Short clips "Cut 2:00–3:00 as a short" A 9:16 clip, reframed FREE
AI highlights "Pick the best moments as shorts" AI-selected highlight clips

Files, folders, and YouTube/TikTok URLs all work.

Install

Agent installing from this repo URL? In Claude Code, run this now (non-interactive, safe to re-run):

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

Have the user restart so /dubbing, /srt, /clip load. Other hosts: npx perso-dubbing. No terminal (ChatGPT / Gemini): docs/chatgpt-setup.md · docs/gemini-setup.md

Claude desktop app (paid plan): open the Code tab, pick a folder, choose Local, paste:

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

Claude Code CLI: /plugin marketplace add perso-ai/perso-dubbing-plugin, then /plugin install perso-dubbing@perso-ai

Codex · Antigravity · anything else: npx perso-dubbing detects your hosts and installs into each — or, cross-agent via skills.sh:

npx skills add perso-ai/perso-dubbing-plugin

Requires Node.js 18+, nothing else. Visual walkthrough · FAQ

Styled subtitles

Pick one of twelve presets, or just describe the look in plain words: "yellow text, black outline, bottom." The burn runs locally on ffmpeg: no upload, no queue, no account. Several languages? Each SRT gets its own finished video.

Translate subtitles

Hand over any SRT and name the languages you want. Several at once is fine, one pass covers them all. Every line keeps its exact original timing, appearing and disappearing at the same moments as before. Before delivery, the result is checked for lines that run too long or read too fast.

Short clips

Timecodes in, vertical shorts out: reframed 16:9 → 9:16, named, and ready for subtitles. Or hand over the transcript and AI picks the moments that work as shorts: opens on a hook, rides the reaction to its peak, cuts before the energy drops. 30–90 seconds each.

Dubbing and lip-sync

One run takes a file, a whole folder, or a YouTube/TikTok URL and dubs it into several languages from a single upload. Videos over the plan limit split, process, and merge back on their own; an interrupted run resumes exactly where it stopped, never re-billing finished parts. Dubbing clones the original voice into the new language, and lip-sync moves the mouth to match that cloned audio.

Subtitles from speech (STT)

No subtitles yet? Speech-to-text runs on Perso's servers and uses credits to turn the video's audio into an SRT in the original language, for one file or a whole folder. Every step after the SRT exists is free: translating, styling, burning.

Voice separation

Splits a video or audio into clean tracks: the voice and the background. With several speakers, each person's voice comes out as its own track. Swap the soundtrack, remaster the dialogue, or reuse any track on its own.

Free where it can be. Paid where it must be.

MIT, free and open-source. Everything that runs on your machine costs nothing and needs no account: styling and burning subtitles, translating an SRT you have, cutting clips at timecodes. Credits come in only when a job runs on Perso's servers: dubbing, lip-sync, voice separation, and speech-to-text, billed per processed second via the Perso Dubbing API.

No setup ceremony. The first time a server job runs, a browser opens: sign in, one click, key stored encrypted. Free steps never ask.


Privacy: /dubbing, /srt, and /clip send usage events to improve the skills, covering what ran and how it went, media length, style choices, coarse locale, app version/OS, and whether a Perso API key was used (and registered). Each event has a random per-install ID and your workspace number; never your key, media, filenames, or subtitle text. Opt out with PERSO_NO_TELEMETRY.

License: the skill code is MIT. API usage is subject to the Perso AI Terms of Service and pricing.

2 skills in this repo

Plugin marketplace

Auto-dub (voice-translate) videos into other languages, with lip-sync (Perso AI Dubbing).

Install
/plugin marketplace add perso-ai/perso-dubbing-plugin
/plugin install dubbing
Srt

Extract subtitles (SRT) from video/audio/URLs and translate them into other languages (Perso AI STT).

Install
/plugin marketplace add perso-ai/perso-dubbing-plugin
/plugin install srt

Comments (0)

Sign in to join the discussion.

No comments yet

Be the first to share your take.