Skip to content
Content
Skill

/voice

Text-to-Speech (TTS), voiceover, narration placement/sync, and custom sound effects (SFX) generator. Use when the user wants generated speech from text, wants to add/replace/align narration or voiceover for an existing video/timeline, wants to keep existing voiceover synced

From plugin
openchatcut
3.1k31 skills1 MCP

Claude Code

$ npx -y skills add 0xsline/OpenChatCut --skill voice --agent claude-code

SKILL.md

voice.SKILL.md
name: voice
description: |
  Text-to-Speech (TTS), voiceover, narration placement/sync, and custom sound effects (SFX) generator. Use when the user wants generated speech from text, wants to add/replace/align narration or voiceover for an existing video/timeline, wants to keep existing voiceover synced after visual retiming edits, needs voice audition/selection, or explicitly wants a newly generated/custom sound effect that is not available in the Sound Effects library.
user-invocable: true

Voice & Sound Effects Generator

Generate voiceovers (TTS) and sound effects. For TTS, choose a concrete provider and voice before calling `submit_voice`.

When to Use

  • Generate voiceover/narration from text
  • Create text-to-speech audio for videos
  • Add, replace, or redo narration/voiceover for an existing video, timeline,

screen recording, slide animation, product demo, B-roll edit, MG explainer, or other visual sequence

  • Keep existing narration/voiceover aligned after trimming, speeding up, slowing

down, moving, reordering, or replacing the visuals it describes

  • Offer and audition TTS voice choices when the user has not picked a concrete voice
  • Generate custom sound effects from text descriptions only after checking the Sound Effects library first

TTS (Text-to-Speech)

If the current request has an existing visual target and the user wants narration, voiceover, dubbing, or replacement speech for that target, read [references/video-sync.md](references/video-sync.md) before drafting new narration, using existing narration text to generate TTS, or placing audio. Do this even when the user did not explicitly say "sync" or "match the visuals"; the existence of a visual target means narration timing and meaning may need to follow on-screen content. Use the normal standalone TTS path only when there is no visual target or the user just wants an audio asset from text.

Also read [references/video-sync.md](references/video-sync.md) when the timeline already has narration/voiceover and the user asks to change the visuals while keeping that voiceover aligned. This is a sync maintenance task even if no new TTS is needed.

Use `submit_voice` to create a TTS audio asset. The current MCP tool contract is:

  • `provider` is required. Configured choices may be `doubao`, `elevenlabs`,

`minimax`, `inworld`, `fishaudio`, `speechify`, `openai`, `gemini`, `mistral`, or `cartesia`. All providers are opt-in; use only providers shown as configured in the capabilities prompt.

  • `voiceId` is required, concrete, and provider-specific. The only exceptions are

deliberate MiniMax `timbreWeights` mixing, where `voiceId` must be empty, and Doubao when Settings → 配音 / TTS → 豆包 TTS has a default 音色 ID (the server uses it when `voiceId` is omitted). Do not mix catalogs.

  • Doubao `voiceId` accepts either a curated alias from

[references/voices.md](references/voices.md) or the exact Volcengine speaker ID the user supplies (for example `S_5wulnA7i2` or `zh_female_vv_uranus_bigtts`). The server sends it verbatim as `references[].speaker`; never shorten, translate, or "correct" a supplied ID.

  • The curated catalog in [references/voices.md](references/voices.md) covers

only Doubao, ElevenLabs, and MiniMax. Other providers have no bundled preset or sample catalog in OpenChatCut. Require a concrete voice ID from the user or their provider account; never invent a preset or `/voice-samples/...` URL.

  • AI SDK-backed fields are provider-specific: OpenAI supports `modelId`,

`speed`, `outputFormat`, and `instructions`; Gemini supports `modelId`, `outputFormat`, and `instructions`; Mistral supports `modelId` and `outputFormat`; Cartesia supports `modelId`, `speed`, `languageCode`, and `outputFormat`. Omit unsupported or unrequested fields.

  • Inworld, Fish Audio, and Speechify accept only `voiceId` plus optional

`modelId`. Do not pass expressive, speed, language, or output controls to these providers.

  • `submit_voice` creates an audio asset only. Timeline placement, replacement,

trimming, and alignment happen later with timeline tools.

  • For long narration, multiple `submit_voice` calls can be useful: split at

natural pauses, sentence groups, or script beat boundaries when the workflow benefits from separately timed or placed voice clips.

  • Doubao (`seed-audio-1.0` via `/api/v3/tts/create`) supports `speedRatio`,

`loudnessRatio`, and native `pitch` (`pitch_rate` −12–12). `emotion`, `emotionScale`, `performancePrompt`, and `explicitDialect` are not supported.

  • ElevenLabs retains its official voice settings, language, seed, output,

normalization, pronunciation-dictionary, continuity, logging, and latency controls. MiniMax retains its dedicated controls documented in [references/minimax-tts.md](references/minimax-tts.md).

ElevenLabs control support for current curated voices:

  • `amelia`, `brittney`, `hope`, `jessica`, `arabella`, `jane`, `maria`,

`mark`, `frederick`, `peter`, `james`, `jon`, `sully`, `david`, and `alex` all support the same request-level controls; model-specific support is still validated by ElevenLabs.

  • These controls are not per-voice guarantees of a specific acting style.

Use the preset tags/samples to pick a naturally suitable voice, then use the controls for moderate delivery changes.

  • For ElevenLabs `eleven_v3`, inline audio tags are available when the user

asks for expressive delivery such as emotion, tone, nonverbal cues, accent hints, or local pacing. Official examples fit these useful TTS categories: emotion/tone tags such as `[happy]`, `[sad]`, `[angry]`, `[excited]`, `[curious]`, `[sarcastic]`, `[crying]`, `[annoyed]`, `[appalled]`, `[thoughtful]`, `[surprised]`, and `[mischievously]`; vocal delivery and nonverbal cue tags such as `[whispers]`, `[laughs]`, `[sighs]`, `[exhales]`, `[inhales deeply]`, `[clears throat]`, `[snorts]`, `[swallows]`, `[wheezing]`, and `[coughs]`; pacing/pause/local speed tags such as

Read more
@0xsline
Ships withopenchatcut

Open-source, local-first conversational AI video editor with a professional multi-track timeline, Agent Skills, MCP integration, and Remotion rendering.

3.1k31 skills1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
3.1k
Star history of 0xsline/OpenChatCut on GitHub, a chart by star-history.com

Other skills on openchatcut.

openchatcut

openchatcut

Connect an MCP-capable coding agent to OpenChatCut and edit local video projects. Use when the user asks to install, connect, or…

@0xsline@0xslineInstall Skill
asset-import

asset-import

Use when acquiring or importing media into a OpenChatCut project asset library for video editing or creation, including…

@0xsline@0xslineInstall Skill
batch-montage-variants

batch-montage-variants

Turn one pool of existing project media into a batch of distinct, publishable montage cuts instead of a single hero edit. Use for…

@0xsline@0xslineInstall Skill
beat-sync-montage

beat-sync-montage

Plan and build a finished beat-synced montage where cut placement serves the content, not just the metronome. Use for 卡点混剪, 卡点剪辑,…

@0xsline@0xslineInstall Skill
create-motion-graphics

create-motion-graphics

Use whenever the agent needs to add, create, hand-author, patch, or place Motion Graphic JSX assets in a OpenChatCut project.…

@0xsline@0xslineInstall Skill

More skills from other plugins.

prompt-lookup

prompt-lookup

Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use…

@gh-f@gh-fInstall Skill
ppt-master

ppt-master

AI-driven presentation workflow for generating editable PPTX decks and slides, reconstructing page visuals, creating reusable…

@hugohe3@hugohe3Install Skill
morph-ppt

morph-ppt

Use this skill when the user wants a .pptx with smooth cross-slide animation — PowerPoint Morph transitions, Keynote-style…

officecli12d33k
@iofficeai@iofficeaiInstall Skill

Questions about voice.

Which coding agents can use voice?
voice installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.