gensong
基于火山引擎 GenSong:从创意到成品歌曲(歌词、音频、结构化标签),不含 MV 生成。 所有任务须从 P0_PRECHECK 开始,按阶段汇报进度;配置见 scripts/.env。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
基于火山引擎 GenSong:从创意到成品歌曲(歌词、音频、结构化标签),不含 MV 生成。 所有任务须从 P0_PRECHECK 开始,按阶段汇报进度;配置见 scripts/.env。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
根据视频内容生成与画面匹配的解说旁白,使用 Ark TTS 合成有吸引力的配音并替换原音轨
根据视频情绪/风格从音乐库中自动匹配合适的 BGM 并混音,支持 ducking
基于豆包大模型 ASR(LAS-ASR-PRO)的高精度语音转写:支持视频自动抽取音轨、降噪预处理、超大文件与超长时长、 TOS 内网路径(tos://)输入;输出带时间戳的分句 JSON,可选说话人分离、情感/性别/语速、敏感词过滤等扩展分析。 异步 submit/poll。适用于台词精转、会议纪要、多语言音视频(支持多格式与自动语种检测)。需 LAS 侧鉴权与算子配置。
从视频或纯音频中提取音轨,并按固定时长切分;支持 wav/mp3/flac 等格式转换,输入输出可对接 TOS。 需 LAS_API_KEY。适用于批量抽音频、等长分段、给 ASR/剪辑流水线备料。
按自然语言描述从长视频中抽取片段:高光、指定场景、参考图找人/找物、长视频语义分段与带时间戳的摘要。 支持参考图锁定目标,结果多为 TOS 上的剪辑 URL。需 LAS_API_KEY 与算子区域配置。适合云端粗剪、素材初筛与自动化拆条。
OpenClaw 系统诊断和性能分析工具。分析 agent 推理耗时、Token 用量、工具调用统计、 Run 时间线、Gateway 重启历史。支持多种模式:批量分析(默认)、实时跟踪(-f)、 摘要统计(-s)、高级诊断(--advanced)。支持多 Agent 过滤。 使用场景:当用户询问 OpenClaw 运行状态、性能瓶颈、推理延迟、Token 消耗、 工具执行统计、错误排查、agent 活动分析时触发。 触发词:诊断、diagnostics、性能分析、推理耗时、token统计、运行状态、 agent分析、工具调用统计、Run详情、Gateway重启。 指令触发:/diag — 直接执行诊断,支持参数透传。
| name | GenSong 人物情绪歌 |
| description | 基于火山引擎 GenSong:从创意到成品歌曲(歌词、音频、结构化标签),不含 MV 生成。 所有任务须从 P0_PRECHECK 开始,按阶段汇报进度;配置见 scripts/.env。 |
| version | 1.0.0 |
| trigger | GenSong、人物情绪歌、生成歌曲、作词、配乐素材 |
本 Skill 专注于歌曲生成链路,从一句模糊想法到「歌词 + 成品音频 + 结构化标签」,不涉及分镜与 MV 生成。
所有任务必须从
P0_PRECHECK开始执行。
整体阶段如下:
[P0_PRECHECK] 环节准备与检测
↓
[S1_INTENT] 结构化意图 & 场景
↓
[S2_LYRICS] 歌词生成 & 清洗
↓
[S3_PARAM_INFER] 演唱者/乐器/音色推断(宿主 Agent)
↓
[S4_GENSONG_SUBMIT] GenSong 任务提交
↓
[S5_GENSONG_POLL] GenSong 结果轮询 & 下载
↓
输出:song.mp3 + lyrics.txt + song_meta.json
执行过程中,宿主 Agent 需要实时向用户汇报当前阶段,例如:
在进入任何生成逻辑之前,必须先完成以下检查:
scripts/.env 文件必须存在且可读。.env 中建议配置:
VOLC_ACCESS_KEY_IDVOLC_ACCESS_KEY_SECRETVOLC_REGION(可选,默认 cn-beijing)VOLC_SERVICE(可选,默认 imagination)OUTPUT_ROOT(可选,用于统一输出根目录)python 3.10+ 与 uv;uv 在 scripts/pyproject.toml 所在目录安装,例如:
# 在 song-production/scripts 目录下
uv sync
uv run python scripts/main.py --mode submit ...
S1_INTENT。OUTPUT_ROOT(若配置)和一次任务的歌名或随机 ID,规划本次的 output_dir:
OUTPUT_ROOT:OUTPUT_ROOT/music_output/<歌曲名|6位随机数>/music_output/<歌曲名|6位随机数>/通过以上检查后,宿主 Agent 需向用户确认当前阶段已完成,例如:
当前阶段:P0_PRECHECK 已通过,开始进入 S1_INTENT(结构化意图)。
从用户的一句话或几句话中,提炼成适合火山 GenSong 调用的结构化音乐描述信息(角色、人设、情绪、场景、时长等)。
宿主 Agent 应构造一个结构化 JSON(示例):
{
"character": "猪八戒",
"emotion_theme": "打工人职场疲惫与想回家的念头",
"music_style": "流行 + 轻说唱",
"tempo_mood": "中速,主歌偏丧,副歌略带释怀和自嘲",
"duration_seconds": 70,
"scene": "下班地铁刷短视频",
"platform": "Douyin",
"notes": "强调高老庄、取经路与打工路的类比,把紧箍咒写成生活压力和 KPI。"
}
该结构将作为后续歌词创作与参数推断的统一输入。
S1_INTENT 的结构化信息,生成完整歌词与一个适合作为 GenSong Prompt 的音乐描述。lyrics.txt,便于后续 GenSong 或其它系统直接使用。可参考原 music-generate Skill 中的歌词创作模板,并做轻度泛化(不局限西游):
你是一位擅长用 IP / 历史人物 / 原创人设做情绪歌二创的短视频音乐创作者。
请以【{{character}}】为第一视角,创作一段**{{music_style}}**风格的中文歌词。
要求:
- 角色人设贴合其基础特质,但需加入「当代人情绪」:{{emotion_theme}}。
- 歌词可以融入该题材世界观的专属元素(如地点、道具、称呼等),用场景隐喻现实困境。
- 歌词结构建议包含主歌和副歌(可用
[Verse 1]、[Chorus]标注),字数控制在适合 {{duration_seconds}} 秒左右的短视频歌曲长度。- 语言口语化,适合短视频平台传播,但要保证有 2–3 句具有共鸣感的金句。
- 请先给出一句简短的歌名,然后给出一段简短的「音乐描述 prompt」(供音乐模型使用),最后输出完整歌词。
歌名:《{{title}}》
音乐描述 Prompt:
{{enhanced_prompt}}
歌词:
{{lyrics}}
其中:
enhanced_prompt:结合人物设定、情绪、风格与关键意象的中/英混合描述。lyrics:包含 [Verse] / [Chorus] 等标签的完整歌词。宿主 Agent 应在生成歌词后进行简单清洗:
[Verse 1]、[Chorus] 等段落标签,可根据需要选择保留或去掉;output_dir/lyrics.txt本阶段完全由宿主 Agent 实现,脚本不内置规则。
S1_INTENT 输出的结构化信息;S2_LYRICS 生成的歌词文本。宿主 Agent 应参考 reference/performance_inference_rules.md,推断:
vocal_gender:如 Male / Female;vocal_persona:如「沧桑中年男声」「少年感男声」「治愈系女声」等。emotion_theme / tempo_mood 进一步映射为 Mood。Instrument 可选值。Scene、Lang、Duration 等补充参数。最终输出写入:
output_dir/song_meta.jsonsong_meta.json 字段设计 & GenSong 参数映射字段均为「宿主 Agent 可读/可写」的中间层,调用脚本时再映射到 GenSong 的正式参数。
推荐字段(带约束)如下:
{
"character": "猪八戒",
"emotion_theme": "打工人职场疲惫与想回家的念头",
"music_style": "流行 + 轻说唱",
"duration_seconds": 70,
"model_version": "v4.3",
"genre": "Chinese Pop,Chinese Ballad Pop",
"mood": "Sorrow/Sad,Sentimental/Melancholic/Lonely",
"vocal_gender": "Male",
"timbre": "Husky,Deep,Gentle",
"instrument": "Acoustic_Guitar,Drums,Strings",
"scene": "Vlog/DailyLife",
"lang": "Chinese",
"vod_format": "wav",
"skip_copy_check": false
}
其中与 GenSong GenSongV4 请求体的对应关系为:
model_version → ModelVersiongenre → Genremood → Moodvocal_gender → Gendertimbre → Timbreduration_seconds → Durationinstrument → Instrumentscene → Scenelang → Langvod_format → VodFormatskip_copy_check → SkipCopyCheck取值与约束(强烈建议宿主 Agent 严格遵守):
genre)
reference/歌曲生成参数信息.md 中的「Genre / GenreExtra 可选值」。, 分隔,如:"Chinese Pop,Chinese Ballad Pop"。mood)
, 分隔,如:"Sorrow/Sad,Sentimental/Melancholic/Lonely"。vocal_gender)
"Male" / "Female"。timbre)
, 分隔,如:"Husky,Deep,Gentle"。instrument)
, 分隔,如:"Acoustic_Guitar,Drums,Strings"。scene)
"Vlog/DailyLife"、"Commute" 等。lang)
"Chinese" / "English"。duration_seconds)
vod_format)
"wav" / "mp3"。skip_copy_check)
false 表示开启版权检测(推荐默认);true 表示关闭。宿主 Agent 在做推断时,可以先在更自由的语义空间中思考,最终落地到 song_meta.json 时必须规整到上述枚举与约束范围内。
本阶段由脚本 scripts/main.py 负责,宿主 Agent 通过 CLI 调用。
在 Skill 根目录(song-production)下执行:
uv run python scripts/main.py \
--mode submit \
--lyrics-file /absolute/path/to/output_dir/lyrics.txt \
--genre "{{song_meta.genre}}" \
--mood "{{song_meta.mood}}" \
--gender "{{song_meta.vocal_gender}}" \
--timbre "{{song_meta.timbre}}" \
--duration {{song_meta.duration_seconds}} \
--model-version {{song_meta.model_version}} \
{{ song_meta.skip_copy_check ? "--skip-copy-check" : "" }}
song_meta.json(由 S3_PARAM_INFER 生成,字段设计见上一节)。scripts/main.py 会从 scripts/.env 读取 VOLC_ACCESS_KEY_ID 等配置。由 .env 提供(详见 P0_PRECHECK):
VOLC_ACCESS_KEY_ID / VOLC_ACCESS_KEY_SECRETVOLC_REGION(可选)VOLC_SERVICE(可选)TaskID=xxx 字样,宿主 Agent 需解析并持久化:
output_dir/song_task.json 中建议记录:{
"task_id": "202408308513817850019840",
"created_at": "2026-03-11T12:00:00+08:00"
}
uv run python scripts/main.py \
--mode poll \
--task-id YOUR_TASK_ID \
--max-attempts 120 \
--interval 5
脚本内部会调用 DescribeSongJob 等接口,返回结果格式可参考:
reference/歌曲结果查询任务结果.md示例返回:
{
"Result": {
"TaskID": "202408308513817850019840",
"Status": 2,
"Progress": 100,
"SongDetail": {
"AudioUrl": "https://..."
}
}
}
AudioUrl 下载歌曲音频到:
output_dir/song.mp3mv-production 中的 download_audio.py)或宿主环境能力。在轮询过程中,宿主 Agent 需定期向用户报告:
成功后,需明确告知:
output_dir 路径;mv-production Skill 继续生成 MV。reference/歌曲生成参数信息.md:GenSong 主要参数说明与可选值。reference/歌曲结果查询任务结果.md:DescribeSongJob/查询结果示例。reference/performance_inference_rules.md:演唱者 / 乐器 / 音色推断规则(宿主 Agent 实现)。