HyperFrames Media Use
heygen-com/hyperframes
Finds, generates and edits media for HyperFrames video projects: music, sound effects, images, icons, logos, voiceovers, captions and color grades.
Generates text-to-speech narration and custom sound effects for a video timeline, keeping existing voiceover in sync after visual retiming edits.
$ npx skills add 0xsline/OpenChatCut --skill voice -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install 0xsline/OpenChatCut voice --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/0xsline/OpenChatCut.git skills-src && mkdir -p .claude/skills && cp -r skills-src/src/agent/skills/voice .claude/skills/voice && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "voice" agent skill from https://github.com/0xsline/OpenChatCut/tree/main/src/agent/skills/voice into .claude/skills/voice/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "voice", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/0xsline/OpenChatCut/tree/main/src/agent/skills/voiceType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add 0xsline/OpenChatCut --skill voice -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install 0xsline/OpenChatCut voice --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/0xsline/OpenChatCut.git skills-src && mkdir -p .agents/skills && cp -r skills-src/src/agent/skills/voice .agents/skills/voice && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "voice" agent skill from https://github.com/0xsline/OpenChatCut/tree/main/src/agent/skills/voice into .agents/skills/voice/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "voice", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add 0xsline/OpenChatCut --skill voice -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install 0xsline/OpenChatCut voice --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/0xsline/OpenChatCut.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/src/agent/skills/voice .cursor/skills/voice && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "voice" agent skill from https://github.com/0xsline/OpenChatCut/tree/main/src/agent/skills/voice into .cursor/skills/voice/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "voice", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/0xsline/OpenChatCut.git --path src/agent/skills/voice--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add 0xsline/OpenChatCut --skill voice -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install 0xsline/OpenChatCut voice --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/0xsline/OpenChatCut.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/src/agent/skills/voice .gemini/skills/voice && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "voice" agent skill from https://github.com/0xsline/OpenChatCut/tree/main/src/agent/skills/voice into .gemini/skills/voice/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "voice", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install 0xsline/OpenChatCut voiceInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add 0xsline/OpenChatCut --skill voice -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/0xsline/OpenChatCut.git skills-src && mkdir -p .github/skills && cp -r skills-src/src/agent/skills/voice .github/skills/voice && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "voice" agent skill from https://github.com/0xsline/OpenChatCut/tree/main/src/agent/skills/voice into .github/skills/voice/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "voice", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add 0xsline/OpenChatCut --skill voice -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install 0xsline/OpenChatCut voice --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/0xsline/OpenChatCut.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/src/agent/skills/voice .opencode/skills/voice && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "voice" agent skill from https://github.com/0xsline/OpenChatCut/tree/main/src/agent/skills/voice into .opencode/skills/voice/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "voice", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
voiceGenerates text-to-speech narration and custom sound effects for a video timeline, keeping existing voiceover in sync after visual retiming edits.
This skill generates voiceover audio and sound effects for a video timeline, requiring a concrete provider and voice to be chosen before calling its generation tool — configured provider options can include several speech vendors, each used only when shown as available. A curated voice catalog covers only a few of them by name; any other provider needs a concrete voice id supplied directly.
When narration targets an existing visual sequence — a screen recording, slide animation, product demo, or edited clip — it reads a dedicated sync reference before drafting new narration or placing audio, even if the request never says the word sync, since timing and meaning may need to track what's on screen. The same reference applies when visuals get trimmed, reordered, or replaced and existing narration needs to stay aligned without being regenerated from scratch. For sound effects, it checks the existing library before generating a new one from a description.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 2e6f4a2. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are typescript and html).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Video Voiceover And SFX Generator loads about 4.4k tokens when it runs, and up to ~10k if it reads all its reference files. Until then it costs about 113 tokens; SKILL.md has 1,759 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from 0xsline/OpenChatCut at commit 2e6f4a2, republished under its AGPL-3.0 licence (© 0xsline). 1,759 words, ~4,424 tokens.
.claude/skills/voice/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.Generate voiceovers (TTS) and sound effects. For TTS, choose a concrete
provider and voice before calling submit_voice.
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 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 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 exception is
deliberate MiniMax timbreWeights mixing, where voiceId must be empty. Do
not mix catalogs./voice-samples/... URL.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.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.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.speedRatio, loudnessRatio, pitch, emotion,
emotionScale, performancePrompt, and explicitDialect, but not every
voice supports every expressive control. Check
references/voices.md before using them.Doubao control support for current curated voices:
vivi, xiaohe, yunzhou, xiaotian, naiqimengwa, yingtaowanzi,
wenroumama, zhixingnv, dayi, jitangnv, liuchang, ruyayichen,
morgan, qingcang, huiben, popo, yuanboxiaoshu, baqiqingshu, and
tangseng support explicit emotion / emotionScale,
performancePrompt, and ASMR-style prompt directions.shuanglangshaonian supports performancePrompt and COT/QA-style
instruction following, but does not support explicit emotion /
emotionScale or ASMR-style control.explicitDialect is only supported by vivi and can be dongbei,
shaanxi, or sichuan.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.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 [slowly], [pause],
[short pause], [long pause], [rushed], and [drawn out]; and
accent/special-performance tags such as
[strong X accent], for example [strong French accent], plus [sings],
[singing], [woo], and [pirate voice]. Official examples are
non-exhaustive; similar auditory tags can be tried when the user explicitly
asks for that delivery and the tag describes how the voice should sound, not
a visual action. Write tags directly in text, close to the short phrase
they should affect. Treat tags as local guidance, not paragraph-wide controls.eleven_v3, use punctuation, text structure,
shorter generated segments, or local audio tags such as [short pause] and
[slowly] when needed.// English / multilingual via ElevenLabs
submit_voice({
provider: "elevenlabs",
text: "Hello world",
voiceId: "peter",
});
// Chinese via Doubao
submit_voice({
provider: "doubao",
text: "你好世界",
voiceId: "liuchang",
});
// With speed adjustment (Doubao only)
submit_voice({
provider: "doubao",
text: "这是一段稍快的中文旁白。",
voiceId: "liuchang",
speedRatio: 1.5,
});
// With expressive Doubao controls
submit_voice({
provider: "doubao",
text: "这次事故提醒我们,安全永远不能侥幸。",
voiceId: "liuchang",
emotion: "sad",
emotionScale: 3,
performancePrompt: "痛心但克制,语速稍慢,像新闻专题旁白",
pitch: -1,
speedRatio: 0.92,
});
// With ElevenLabs delivery controls
submit_voice({
provider: "elevenlabs",
text: "The launch changed how teams plan their daily work.",
voiceId: "peter",
speed: 0.95,
stability: 0.4,
similarityBoost: 0.8,
outputFormat: "wav_44100",
});
// MiniMax TTS (when configured) — see references/minimax-tts.md
submit_voice({
provider: "minimax",
text: "欢迎使用视频编辑助手。",
voiceId: "female-yujie",
speed: 1,
name: "VO · welcome",
});
// Cartesia shape after the user confirms the exact account voice ID.
// confirmedCartesiaVoiceId represents that supplied value, not a preset.
submit_voice({
provider: "cartesia",
text: "A concise product introduction.",
voiceId: confirmedCartesiaVoiceId,
modelId: "sonic-3",
speed: 1,
languageCode: "en",
outputFormat: "mp3",
});When the user needs TTS and has not already chosen a concrete voice, first separate providers with curated OpenChatCut choices from providers that require an account-specific voice ID.
For Doubao, ElevenLabs, or MiniMax, read references/voices.md before recommending, rendering, or submitting an option. Use it as the only source for curated preset IDs, provider choice, display labels, tags, and bundled sample URLs. Do not create voice options from memory, translated names, or broad user descriptions.
For Inworld, Fish Audio, Speechify, OpenAI, Gemini, Mistral, or Cartesia, do not
offer an invented audition list or sample URL. Ask the user for the concrete
voice ID from that configured provider. A broad description such as "warm
female" is not a valid voiceId.
First determine two separate languages:
form-visual label, visual-option name,
and summary.The audition widget's submit button is fixed to the default label in this build
(submitLabel is accepted but not rendered); keep the question label and option
labels in the user conversation language, not the target narration language. For example:
English users see submit_label="Submit", Chinese users see
submit_label="提交", and Spanish users see submit_label="Enviar".
"help me generate ... voice over in Chinese" is an English conversation asking for Chinese narration, so the audition widget copy stays in English while the voice candidates come from Doubao.
For a curated provider:
references/voices.md by target narration language / provider and
explicit requirements such as gender, age range, tone, and use case.widget-forms, then call ask_followup_questions with voice options
and real bundled audio samples.submit_voice with the selected preset ID as voiceId.For a provider without a curated OpenChatCut catalog, ask for a free-text,
concrete provider voice ID instead. Do not add media or synthesize a
/voice-samples/... path. Wait for the user to supply/confirm the exact ID
before calling submit_voice.
For each curated audition option, keep value, display label, media, and
summary tied to the same preset row from references/voices.md. Use only the
sample URLs recorded there. Keep value as the preset ID and media as its
matching sample URL. Write name and summary in the user's conversation
language. The target narration language only decides the provider/voice
catalog. After submission, map the display name back to the preset ID from the
same candidate list.
English request for Chinese narration:
<widget submit_label="Submit">
<form-visual
id="voiceId"
label="For Chinese voiceover, I recommend a few voices to try:"
required="true"
>
<visual-option
value="vivi"
name="Vivi"
media="/voice-samples/doubao-vivi.mp3"
aspect-ratio="16:5"
summary="Female / young / friendly, general"
/>
<visual-option
value="xiaohe"
name="Xiaohe"
media="/voice-samples/doubao-xiaohe.mp3"
aspect-ratio="16:5"
summary="Female / young / soft, clear"
/>
<visual-option
value="yunzhou"
name="Yunzhou"
media="/voice-samples/doubao-yunzhou.mp3"
aspect-ratio="16:5"
summary="Male / young / neutral, business"
/>
</form-visual>
</widget>Chinese request for Chinese narration:
<widget submit_label="提交">
<form-visual
id="voiceId"
label="我推荐这几个中文旁白音色,先试听一下:"
required="true"
>
<visual-option
value="morgan"
name="Morgan"
media="/voice-samples/doubao-morgan.mp3"
aspect-ratio="16:5"
summary="男 / 中年 / 低沉知识解说"
/>
<visual-option
value="zhixingnv"
name="知性女声"
media="/voice-samples/doubao-zhixingnv.mp3"
aspect-ratio="16:5"
summary="女 / 中年 / 冷静知识讲解"
/>
<visual-option
value="vivi"
name="Vivi"
media="/voice-samples/doubao-vivi.mp3"
aspect-ratio="16:5"
summary="女 / 年轻 / 亲切通用口播"
/>
</form-visual>
</widget>For ordinary editing sound effects (SFX), do not generate first. Use the built-in Sound Effects library before generating:
browse_library with category:"sound-effects" and a query such as
"whoosh", "camera shutter", "notification", "censor beep", or
"record scratch".library:sound:<id>.edit_item, using fromFrame as the sound's
anchor/editorial moment frame:browse_library({
category: "sound-effects",
query: "short whoosh transition",
});
edit_item({
adds: [
{
type: "audio",
assetId: "library:sound:whoosh-short",
fromFrame: 120,
trackId: "A1",
},
],
});Only generate sound effects from text descriptions with submit_sound when:
browse_library({ category:"sound-effects", query }) returns no suitable
match.// Custom/generated sound effect after the library has no suitable match
submit_sound({ prompt: "A dog barking in the distance" });
// With custom duration (0.5-22 seconds)
submit_sound({
prompt: "Thunder and heavy rain",
durationSeconds: 15,
});
// High prompt adherence
submit_sound({
prompt: "Sci-fi laser gun firing",
promptInfluence: 0.8,
});Tips for better results:
| Field | Description | Notes |
|---|---|---|
provider | doubao, elevenlabs, minimax, inworld, fishaudio, speechify, openai, gemini, mistral, or cartesia | Required; configured choices only |
text | Text to synthesize | Required |
voiceId | Concrete provider-specific voice ID | Required except MiniMax timbre mix |
modelId | Provider model override | ElevenLabs, Inworld, Fish Audio, Speechify, OpenAI, Gemini, Mistral, Cartesia |
speed | Speech speed | ElevenLabs, MiniMax, OpenAI, Cartesia |
languageCode | Language hint/code | ElevenLabs, Cartesia |
outputFormat | Provider-supported output format | ElevenLabs, OpenAI, Gemini, Mistral, Cartesia |
instructions | Natural-language delivery direction | OpenAI, Gemini |
speedRatio | Speech speed | Doubao only |
name | Media-pool asset name | Optional |
| Field | Description | Notes |
|---|---|---|
prompt | Sound description | Required |
durationSeconds | Duration | 0.5-22 seconds |
promptInfluence | Prompt adherence | 0-1 |
name | Asset name | Optional |
Use the submit_voice voiceId guide and
references/voices.md for the current curated preset
list, display labels, tags, and sample URLs.
The curated catalog contains separate Doubao, ElevenLabs, and MiniMax IDs.
vivi / dayi are only Doubao; mark / amelia / james are only
ElevenLabs; female-yujie is only MiniMax. Inworld, Fish Audio, Speechify,
OpenAI, Gemini, Mistral, and Cartesia require a concrete provider-specific ID
confirmed by the user and have no bundled OpenChatCut samples.
Provider choice:
© 0xsline, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files (references) in src/agent/skills/voice of 0xsline/OpenChatCut.
Open the folder on GitHubat commit 2e6f4a2
Video Voiceover And SFX Generator next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Video Voiceover And SFX Generator this skill0xsline/OpenChatCut | 2.2k | — | ~4.4k | Automated safety check: Pass | AGPL-3.0 | |
| HyperFrames Media Useheygen-com/hyperframes | 59k | — | ~2.4k | Automated safety check: Pass | Apache-2.0 | |
| Musictadaspetra/loop | 296 | 2 repos | ~827 | Automated safety check: Pass | MIT | |
| Sound Effectstadaspetra/loop | 296 | 2 repos | ~1.1k | Automated safety check: Pass | MIT | |
| Characteristic VoiceNoizAI/skills | 526 | — | ~1.8k | Automated safety check: Pass | None | |
| Sound FxNoizAI/skills | 526 | — | ~1.4k | Automated safety check: Pass | None |
heygen-com/hyperframes
Finds, generates and edits media for HyperFrames video projects: music, sound effects, images, icons, logos, voiceovers, captions and color grades.
tadaspetra/loop
Generate music using ElevenLabs Music API. An agent skill from tadaspetra/loop.
tadaspetra/loop
Generate sound effects from text descriptions using ElevenLabs.
NoizAI/skills
A skill your agent uses whenever the user wants speech to sound more human, companion-like, or emotionally expressive.
NoizAI/skills
A skill your agent uses whenever the user wants to generate sound effects, ambient audio, or short audio clips from a text description.
tjxj/z-skills
A skill your agent uses when creating complete generated audio with qwen-audio-3.1-tts-next, including podcasts, radio drama, advertisements, multiple speakers, reference voices, ambience, sound…
0xsline/OpenChatCut
Connects an MCP-capable agent to the local OpenChatCut video editor to inspect and edit projects through draft edit sessions, with manual approval by default.
0xsline/OpenChatCut
Generates WebGL shaders for video effects, transitions, masks and color grades in the OpenChatCut editor, trying built-in catalog effects such as zoom before making anything new.
0xsline/OpenChatCut
Generates still images through the submit_image tool, choosing among Fal.ai, gpt-image-2, nano-banana, MiniMax image-01 and Grok Imagine by configured keys.
0xsline/OpenChatCut
Cuts a livestream recording into evidence-backed, platform-ready clips by combining transcript, visual, audio and genre-specific signals.
0xsline/OpenChatCut
Generates instrumentals, songs, soundtracks and covers through Mureka, MiniMax, Atlas Cloud or Sonilo using the `submit_music` tool.
0xsline/OpenChatCut
Submits AI video generation jobs to Fal.ai, Seedance, Kling, MiniMax Hailuo, xAI Grok Imagine or OFox for text-to-video, image-to-video, transitions and clip extension.
Categories
Generates text-to-speech narration and custom sound effects for a video timeline, keeping existing voiceover in sync after visual retiming edits. This skill generates voiceover audio and sound effects for a video timeline, requiring a concrete provider and voice to be chosen before calling its generation tool — configured provider options can include several speech vendors, each used only when shown as available. A curated voice catalog covers only a few of them by name; any other provider needs a concrete voice id supplied directly.
Video Voiceover And SFX Generator fits situations like: generating narration or voiceover audio from a script for a video; keeping an existing voiceover aligned after retiming or reordering a timeline; creating a custom sound effect not already in the effects library.
Run `npx skills add 0xsline/OpenChatCut --skill voice -a claude-code`. Or copy the skill folder (src/agent/skills/voice in 0xsline/OpenChatCut) into .claude/skills/voice in your project. Claude Code loads it when a task matches its description.
Run `npx skills add 0xsline/OpenChatCut --skill voice -a codex`. Or copy the skill folder (src/agent/skills/voice in 0xsline/OpenChatCut) into .agents/skills/voice in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add 0xsline/OpenChatCut --skill voice -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/voice, .gemini/skills/voice, .github/skills/voice and .opencode/skills/voice in your project.
SKILL.md names no scripts, command-line tools or credentials: Video Voiceover And SFX Generator is instructions for the agent only. Our summary lists: A configured text-to-speech provider and API access for it.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Video Voiceover And SFX Generator is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.4k tokens (SKILL.md is roughly 18k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 5.8k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Video Voiceover And SFX Generator: HyperFrames Media Use (heygen-com/hyperframes, 59k stars), Music (tadaspetra/loop, 296 stars), Sound Effects (tadaspetra/loop, 296 stars) and Characteristic Voice (NoizAI/skills, 526 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
0xsline (a GitHub user) maintains it in 0xsline/OpenChatCut, which has 2,211 GitHub stars. The repository holds 31 skills in this directory. The repository was last updated on October 7, 2026.
Source: 0xsline/OpenChatCut on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.