cosyvoice-ssml
内部技能,仅用于数字人 / VideoRetalk / 资产库角色口播视频链路中的 CosyVoice TTS 子步骤。普通 AI 聊天、普通音频、普通短视频、产品视频或广告视频请求不得直接调用本技能;这些视频请求必须先走 video-director。只有 video-director 已确认这是数字人口播,且需要把已批准的台词合成为角色驱动音频时,才可激活本技能。
npx skills add Jamailar/Beav --skill cosyvoice-ssml --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
What it does
Internal skill used only within theCosyVoice SSML playback path for digital humans in VideoRetalk/asset library videos. It activates only after video-director confirms a digital-person playback and approved lines, and if the TTS model is CosyVoice. It does not run for ordinary chats, plain audio, or non-SSML entry points.
How it works
When invoked, it does not perform text-to-SSML conversion or return SSML by itself. Instead, it guides the user to:
- split the approved lines into character performance segments (opening, scene progression, emphasis, conclusion, etc.);
- write a full <speak> SSML for each segment with rate, pitch, and volume, plus a short prompt per segment;
- call voice.speech once to generate the audio. It requires producing either a single <speak> for short text or multiple <speak> blocks organized as segments with their own prompts. Each segment must be a complete <speak> and must not nest <speak> tags.
It supports CosyVoice models: cosyvoice-v3.5-plus, cosyvoice-v3.5-flash, cosyvoice-v3-plus, cosyvoice-v3-flash, cosyvoice-v2, and requires explicit SSML per segment. The final payload is either a single input SSML or a segments array with inputs that are complete SSML blocks.
When to use it
Use only when the current task is under video-director management for asset-library talking-head playback, and the TTS model chosen is CosyVoice. If user asks for a video or product/advertisement in plain chat, first go through video-director.
What it can touch
- tool: voice.speech (single invocation for final audio)
- inputs/segments must contain complete SSML blocks with rate, pitch, and volume attributes
Caveats
- Activation does not produce SSML outputs on its own; it does not modify text beyond structuring SSML per segments.
- It cannot be used as an entry point for non-digital-human playback tasks; only invoked within the specified video-director pathway.
- It requires CosyVoice SSML constraints (no <prosody>, fixed allowed tags, and numeric ranges for rate/pitch/volume).
- License is NOASSERTION; exact usage rights depend on repository terms.
# CosyVoice SSML 表演导演 仅当当前任务已经是 `video-director` 管理下的数字人 / VideoRetalk / 资产库角色 talking-head 口播视频,并且选中的 TTS 模型是 CosyVoice 时,使用这个技能。 普通 AI 聊天里的“做一个口播视频 / 生成视频 / 短视频 / 产品视频 / 广告片”不能直接进入本技能。必须先激活 `video-director`,由它完成视频脚本、分镜、确认、角色与音频驱动链路。普通音频、普通旁白、普通 TTS 也不能用本技能作为入口。 ## 技能激活语义 `skills.invoke` 只会把本技能说明加入当前轮上下文,不会替你转换文本,也不会返回 SSML。 只有在数字人口播视频链路中激活后,你必须自己完成这三步: 1. 根据已经批准的数字人口播台词拆出角色表演片段:开头、场景、信息推进、重点、收束等。 2. 为每个片段写出一个完整 `<speak rate="..." pitch="..." volume="...">...</speak>` SSML,并给这个片段写一个简短 `prompt`。 3. 立即调用一次 `voice.speech` 生成音频。 不要再次调用 `cosyvoice-ssml` 等待结果;不要说“缺少 SSML 加工结果”;不要创造 `cosyvoice-ssml-turn` 之类不存在的技能名。 你的任务不是展示 SSML 知识,而是把最终要朗读的文本变成一次可执行的 `voice.speech` 请求: - 先判断文本类型、听众、商业目标、卖点结构和口播节奏。 - 再逐句决定怎么读:哪里慢、哪里轻、哪里强调、哪里停顿。 - 在 Agent 音频创作里,多句、换行、短视频带货、自媒体口播、产品讲解、知识分享、种草测评或用户要求语气时,必须产出 `<speak>...</speak>` SSML。 - 长文本、多段文本、带货口播、自媒体口播、种草测评、产品讲解、广告口播、教程和任何明显有信息推进的文本,必须使用 `segments`。每个 segment 是一个独立 CosyVoice 合成片段,media runtime 会自动合并最终音频。 - 只有极短、中性、单一语气的一句话,才可以使用单个 `input`。 - 只有用户明确要求“不要 SSML / 直接纯文本”,或者文本就是极短中性一句话时,才可以不用 SSML。 - 保留用户原文含义;除非用户要求改写,否则不要改词。 - 最终只调用一次 `voice.speech`,不要逐句多次调用工具,也不要手动拼接音频。 ## 可用模型 只在这些 CosyVoice 系列模型上使用本技能: - `cosyvoice-v3.5-plus` - `cosyvoice-v3.5-flash` - `
- 技能激活语义
- 可用模型
- 最终输出格式
- 合格输出标准
- 1. 合法
- 2. 可朗读
- 3. 有细颗粒度表演设计
- 生成前自检
- 4. 可执行
- 5. 最小合格示例
- 细颗粒度标注原则
- 必须细标的位置
- 颗粒度示例
- CosyVoice 支持的 SSML
What does the cosyvoice-ssml skill do?
内部技能,仅用于数字人 / VideoRetalk / 资产库角色口播视频链路中的 CosyVoice TTS 子步骤。普通 AI 聊天、普通音频、普通短视频、产品视频或广告视频请求不得直接调用本技能;这些视频请求必须先走 video-director。只有 video-director 已确认这是数字人口播,且需要把已批准的台词合成为角色驱动音频时,才可激活本技能。
How do I install it?
Run `npx skills add Jamailar/Beav --skill cosyvoice-ssml --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From Jamailar/Beav, a repository with 1,349 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
