使用百音开放平台创建 AI音乐任务(SUNO音乐生成),支持普通生成、参考音频生成、音乐改编,并在同一 skill 内继续查询任务状态、结果链接和余额。用于用户要生成歌曲、参考音频做歌、改编上一首歌、查询音乐任务进度或下载结果时。
name: baiyin-music-generate是一项面向实际任务的技能,主要用于description: 使用百音开放平台创建 AI音乐任务(SUNO音乐生成),支持普通生成、参考音频生成、音乐改编,并在同一 skill 内继续查询任务状态、结果链接和余额;用于用户要生成歌曲、参考音频做歌、改编上一首歌、查询音乐任务进度或下载结果时;
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
_ROOT="$(git rev-parse --show-toplevel 2>/dev/null || pwd)"
[ -x "$_ROOT/skill/bin/baiyin-skill-update-check" ] && _UPD=$(bash "$_ROOT/skill/bin/baiyin-skill-update-check" "$_ROOT/skill/baiyin-music-generate" 2>/dev/null || true)
[ -n "${_UPD:-}" ] && echo "$_UPD"
如果输出 UPGRADE_AVAILABLE :
skill/baiyin-skills-upgrade/SKILL.md,执行其中的「内联升级流程」。AskUserQuestion,使用中文四选一:立即更新 / 以后自动更新 / 暂不更新 / 不再提醒。AskUserQuestion(例如 OpenClaw 当前会话),直接询问用户:
检测到百音技能 有新版本(当前 v,最新 v)。请回复:1 立即更新 / 2 以后自动更新 / 3 暂不更新 / 4 不再提醒。 如果输出 JUST_UPGRADED :
百音技能 已更新到 v,继续处理你的请求。 如果输出 UP_TO_DATE、SNOOZED、CHECK_DISABLED 或 CHECK_FAILED:
把自然语言请求稳定映射为百音开放平台的音乐任务请求。不要猜模型、不要猜字段类型、不要猜边界值;只使用本文明确列出的模型、枚举和规则。
BAIYIN_API_KEYBASE_URL 固定使用 https://ai.hikoon.comBAIYIN_API_KEY 缺失时,才向用户索要 API Key。POST {BASE_URL}/api/open/v1/file/uploadAuthorization: Bearer ,Content-Type: multipart/form-datafile 必填,filename 选填,dir 选填data.url 取公网地址,填入 url 等需要 URL 的字段POST {BASE_URL}/api/open/v1/music/generateGET {BASE_URL}/api/open/v1/tasks/{taskId}GET {BASE_URL}/api/open/v1/account/quotamv 值。不要自行猜测 chirp-v2、chirp、invalid-model-xyz 之类的值。prompt 必须是非空字符串。空字符串或缺失都会触发 400。task = "cover" 时,必须同时有 cover_clip_id。只有外部 url 不足以进入改编模式。url 只接受可访问的 http:// 或 https:// 公网链接。不要传本地路径、file://、../ 这类路径。mv 的拦截并不可靠,skill 侧必须自己做白名单校验。只使用这些值:
mv 值 |
展示版本 | 特点 | 适用场景 | prompt 上限 |
tags 上限 |
|---|---|---|---|---|---|
chirp-fenix |
V5.5 | 次世代旗舰音乐模型,超越录音棚级音质 | 默认首选,通用高质量生成 | 5000 | 1000 |
chirp-crow |
V5 | 录音棚级音质,强音质表现 | 对音质要求高 | 5000 | 1000 |
规则:
chirp-fenixchirp-fenix| 字段 | 类型 | 是否必填 | 允许值 / 边界 | 说明 |
|---|---|---|---|---|
prompt |
string | 是 | 非空;长度受 mv 限制 |
歌词或歌曲描述 |
mv |
string | 否,但 skill 应始终传 | 见模型白名单 | 音乐模型 |
title |
string | 否 | 未见明确后端长度校验 | 歌曲标题;缺失时自动生成短标题 |
tags |
string | 否 | 长度受 mv 限制 |
逗号分隔的风格标签 |
negative_tags |
string | 否 | 未见明确后端长度校验 | 负向风格约束 |
make_instrumental |
boolean | 否 | true / false |
是否纯音乐 |
isCustom |
boolean | 是 | true / false |
完整歌词时通常为 true,只有创作描述时通常为 false |
url |
string | 否 | 必须是可访问的 http/https 链接 |
参考音频链接,仅参考生成或外部音频辅助时使用 |
task |
string | 否 | "" 或 "cover" |
任务模式;改编才用 "cover" |
cover_clip_id |
string | 条件必填 | task = "cover" 时必填 |
改编目标的 musicId / clip_id |
cusromPrompt |
boolean | 否,但建议固定传 | true |
接口历史字段,拼写就是 cusromPrompt,不要改成 customPrompt |
options.parentMessageId |
number | 否,但建议固定传 | 0 |
固定传 0 即可 |
control_option| 字段 | 类型 | 是否必填 | 允许值 / 边界 | 说明 |
|---|---|---|---|---|
control_option.gender |
string | 否 | m / f / random |
歌手性别 |
control_option.weirdness_constraint |
number | 否 | 0 到 1 |
随机度;越高越放飞 |
control_option.style_weight |
number | 否 | 0 到 1 |
风格影响权重 |
control_option.audio_weight |
number | 否 | 0 到 1 |
参考音频影响权重 |
promptprompt,并设 isCustom = trueprompt,并设 isCustom = falsetitlemvchirp-fenixtags流行,温暖,女声,钢琴tagsmake_instrumentaltruefalsecontrol_option.gendermfrandomrandomnegative_tagsurlurlhttp/https 链接task 与 cover_clip_idtask = "",不传 cover_clip_idtask = "",可传 urltask = "cover"cover_clip_id 有值musicId,这更像“参考音频生成”,不是严格的“改编”适用:
请求特征:
urltask = ""适用:
请求特征:
urltask = ""cover_clip_id适用:
请求特征:
task = "cover"cover_clip_id 必填url,但不能只靠 url除非用户明确指定,否则使用:
{
"mv": "chirp-fenix",
"make_instrumental": false,
"negative_tags": "",
"cusromPrompt": true,
"options": { "parentMessageId": 0 },
"control_option": {
"gender": "random",
"weirdness_constraint": 0.5,
"style_weight": 0.5,
"audio_weight": 0.5
}
}
{
"prompt": "<非空字符串>",
"mv": "chirp-fenix",
"title": "<标题>",
"tags": "<逗号分隔标签>",
"negative_tags": "",
"make_instrumental": false,
"isCustom": false,
"cusromPrompt": true,
"options": { "parentMessageId": 0 },
"control_option": {
"gender": "random",
"weirdness_constraint": 0.5,
"style_weight": 0.5,
"audio_weight": 0.5
}
}
如果是参考音频生成,再额外补:
{
"url": "https://example.com/demo.mp3"
}
{
"prompt": "<非空字符串>",
"mv": "chirp-fenix",
"title": "<标题>",
"tags": "<逗号分隔标签>",
"negative_tags": "",
"make_instrumental": false,
"isCustom": true,
"task": "cover",
"cover_clip_id": "<历史 Baiyin musicId>",
"cusromPrompt": true,
"options": { "parentMessageId": 0 },
"control_option": {
"gender": "random",
"weirdness_constraint": 0.5,
"style_weight": 0.5,
"audio_weight": 0.5
}
}
promptmvmvcontrol_option.weirdness_constraint0 <= x <= 1control_option.style_weight0 <= x <= 1control_option.audio_weight0 <= x <= 1control_option.genderm / f / randomtask"" 或 "cover"cover_clip_idtask = "cover" 时必填taskIdmusicIdmusicId,不要硬上 task = "cover";先追问要改编哪一首只有这些情况才追问:
prompt 都组不出来musicIdtaskId不要为了这些事情打断用户:
400prompt、数值越界、数值类型错误、task="cover" 但缺 cover_clip_id401API_KEY 无效或不可用402404 查询任务taskId 不存在404 查询余额Not found帮我生成一首明亮一点的流行歌,主题是春天和重新出发mv = "chirp-fenix"make_instrumental = falseisCustom = false帮我生成一首歌,歌名叫《夜航》,女声,歌词是“城市灯火都睡去”,风格是流行电子,模型用 chirp-v4-5title = "夜航"control_option.gender = "f"prompt = "城市灯火都睡去"tags = "流行,电子,女声"mv = "chirp-v4-5"isCustom = true生成一首赛博电子风的纯音乐,做短视频 BGMmake_instrumental = truetags 应包含 赛博,电子,BGM参考这个音频做一版电子流行:https://example.com/demo.mp3url = "https://example.com/demo.mp3"task = ""把第二首改编成男声摇滚版task = "cover"cover_clip_id = "<第二首对应的 musicId>"control_option.gender = "m"tags 包含 摇滚succeeded 之前,不要假装歌曲已完成result.items 时,必须遍历并返回全部条目,不要只返回第一个音频链接result.items 里每个条目都带 audioUrl,优先把每个条目的 audioUrl 全量列出来;有 videoUrl、coverUrl 时,再作为补充附在对应条目下result.items 视为最终结果的完整列表;列表里有几个音乐条目,就返回几个音乐条目把结果给我result.items 中有 4 个音乐条目第 1 首 - 版本 1:第 1 首 - 版本 2:第 2 首 - 版本 1:第 2 首 - 版本 2:版本 1:版本 2:版本 3:版本 4:result.items 时,必须把 result.items 视为完整结果列表result.items 中有几个音乐条目,就返回几个音乐条目;不要只取第一个audioUrlvideoUrl、coverUrl,可以作为该条目的补充信息一起返回把结果给我result.items 一共返回 4 个音乐条目第 1 首 - 版本 1:第 1 首 - 版本 2:第 2 首 - 版本 1:第 2 首 - 版本 2:版本 1:版本 2:版本 3:版本 4:相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 133.7万人学习
共49课时 | 82.4万人学习