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 实现)。