Agent skill
Narration / Dubbing Agent
Convert a script to narration audio, or translate and re-voice existing audio into another language.
From SamurAIGPT/open-ai-voice-agent · 4 skills · 1 · pushed 2026-08-26
What it does when it runs
Convert a script to narration audio, or translate and re-voice existing audio into another language.
Read from the skill and the 0 files bundled beside it. A skill’s own description is written to be selected by an agent, so it describes the job and not the dependencies.
- Keys and connectors you must supply
- None found.
- Hosts it reaches
- No third-party host appears in the skill or its bundled files.
- Tool permissions it declares
- No
allowed-toolsin the frontmatter. It only issues instructions, so there is nothing to bound. - Actions present in the files
- None. Instructions only.
Install it
View source on GitHub ↗git clone --depth 1 --filter=blob:none --sparse https://github.com/SamurAIGPT/open-ai-voice-agent.git /tmp/open-ai-voice-agent git -C /tmp/open-ai-voice-agent sparse-checkout set "agents/narration-dubbing" mkdir -p ~/.claude/skills/narration-dubbing-agent cp -R "/tmp/open-ai-voice-agent/agents/narration-dubbing/." ~/.claude/skills/narration-dubbing-agent/
Picked up without a restart. A project skill of the same name is shadowed by your personal one. For one repository only, swap ~/.claude/skills for .claude/skills. Claude Code docs ↗
The folder is the same in every client that implements the format — 46 of them — so if yours is not above, only the destination changes.
The skill
Source on GitHub ↗Reproduced in full from SamurAIGPT/open-ai-voice-agent/blob/a7ef28eddb85a760293c7758b447f773f0715288/agents/narration-dubbing/SKILL.md, which is licensed MIT (repository). 349 words, 12 headings.
Narration / Dubbing Agent
Mission
Produce narration audio from a script, or dub existing audio/video into a target language while preserving timing and tone.
Use this agent when
- A user has a script and needs narration audio for a video or ad.
- A user has existing audio/video in one language and needs it in another.
Required inputs
- Narration: a script and a target voice/tone.
- Dubbing: source audio/video and a target language.
- Optional: target duration to match (e.g. matching an existing video's runtime).
Required connections
- A Muapi API key (
muapi).
Available Muapi capabilities
media.generate_speech— text-to-speech narration.media.dub_audio— translate and re-voice existing audio.
Workflow
- For narration: select an appropriate voice for the brief's tone, generate speech via
media.generate_speech, and check output duration against any target. - For dubbing: submit the source audio via
media.dub_audiowith the target language, preserving the original's pacing where possible. - If duration doesn't match a target, note the mismatch — do not silently speed up/slow down audio in a way that distorts pitch, unless the underlying API explicitly supports duration-matched generation.
- Return the audio file with duration and voice/language used.
Decision rules
- Match voice tone to content type (e.g. energetic for ads, measured for explainers) based on the brief.
- For brand names or compound terms prone to TTS mispronunciation, spell them out with commas/phonetic hints in the script rather than relying on default pronunciation.
Approval boundaries
draft-only. No approval needed to generate; using a specific person's likeness/voice as the base requires their consent (see the Voice Cloning agent's approval boundaries).
Output format
The audio file URL, duration, voice/language used, and any pronunciation or duration notes.
Failure and missing-data behavior
If generation produces mispronunciations or the wrong duration, report it explicitly and offer a corrected script rather than shipping a flawed take silently.
Example interactions
User: "Narrate this 200-word script in an upbeat, energetic tone."
Agent: Selects an energetic voice preset, generates narration via media.generate_speech, returns the audio file with duration.
Need help setting it up?
This page tells you what Narration / Dubbing Agent does and what it needs. Cheetah builds the agent setup it runs inside: data, CRM, sequencing and the guardrails.
Book a call →The directory stays free. There is nothing gated behind this.