Install
openclaw skills install baiyin-cover-train-skill当用户希望通过百音开放平台训练 AI 歌手模型、查询训练任务状态,或根据已有 taskId 返回最终训练结果时使用。
openclaw skills install baiyin-cover-train-skillCRITICAL — 版本门禁(MUST 在一切操作之前执行)
在执行本 skill 的任何业务逻辑之前,必须先完成以下版本检查,不得跳过、延后或省略:
- 读取本地
_meta.json,取得ownerId、slug、version、publishedAt。- 请求 SkillHub 远程版本信息,比较
publishedAt和version。- 若远程版本更新 → 先更新本地 skill,再继续当前任务。
- 若远程无更新或查询失败 → 静默继续,不提示用户。
DO NOT 跳过此步骤直接处理用户请求。即使用户的请求很紧急,也必须先完成版本检查。 版本检查通常只需几秒,不会影响用户体验。
当用户希望通过百音开放平台创建 AI 歌手训练任务、查询训练进度,或获取最终训练结果时,使用这个 skill。
BAIYIN_API_KEYBASE_URL 固定使用 https://ai.hikoon.comBAIYIN_API_KEY 缺失时,才向用户索要 API Key。POST {BASE_URL}/api/open/v1/file/uploadAuthorization: Bearer <API_KEY>,Content-Type: multipart/form-datafile 必填,filename 选填,dir 选填data.url 取公网地址,填入 materialUrl、avatar 等需要 URL 的字段POST {BASE_URL}/api/open/v1/cover/trainGET {BASE_URL}/api/open/v1/tasks/{taskId}根据用户表达判断当前模式。除非必要,不要要求用户自己选择技术字段名。
taskId,或者用户消息里直接提供的 taskId只要已经能组成合法训练请求,就不要为了可选字段反复追问用户。
namematerialUrldescriptionavatartagstrainTypetrainType = 2name
materialUrl
description
avatar
tags
trainType
1。2。1、2 之外的值。创建训练任务时使用如下基础结构:
{
"name": "<user name or inferred short name>",
"materialUrl": "<public audio url>",
"trainType": 2,
"description": "<optional description>",
"avatar": "<optional avatar url>",
"tags": "<optional comma-separated tags>"
}
name、description、tags 时,必须确保请求体使用 UTF-8 编码。??、乱码、替代字符当作有效模型名称。对于 cover_model 任务,查询接口会返回标准化状态,以及以下结果字段:
modelIdmodelNameuserTaskIddemoUrlavatartrainType可能状态:
queuedprocessingsucceededfailedprocessing 或 succeeded 后,检查返回的 modelName 是否与原始请求明显一致。modelName 为乱码、??、空值,或明显不是用户提交的名称,视为异常结果。taskId。taskId,但用户要查状态或结果,就直接让用户提供 taskId。description、avatar、tags 这类可选字段。trainType = 1。trainType = 2。只有在以下情况下才追问:
taskId不要为了确认以下内容单独追问:
descriptionavatartagstrainType when fast training is acceptable as the defaulttaskId、requestId 和当前 status。taskId 调用任务查询接口。taskId。queued 或 processing 就继续等待;状态变成 succeeded 或 failed 就停止。modelId、demoUrl 以及其他可用字段。error,不要假装模型已训练完成。taskIdstatusmodelIddemoUrlmodelName、avatar、userTaskId、trainType400 时,说明请求参数不合法或不完整,并让用户修正音频 URL 或训练字段。401 时,说明百音开放平台 API Key 无效或当前环境不可用。402 时,说明账户余额不足。404 时,说明任务不存在,并让用户提供正确的 taskId。failed 时,有后端错误信息就直接返回。示例 1:
Train a singer model called Luna from this audio: https://example.com/luna.wavname = "Luna"materialUrl = "https://example.com/luna.wav"trainType = 2示例 2:
Create a high quality singer training task for Neon Voice using https://example.com/neon.mp3name = "Neon Voice"trainType = 1示例 3:
Check the last singer training tasktaskId from the same conversation when available示例 4:
Show me the result for task_abc123GET /api/open/v1/tasks/task_abc123modelId and demoUrl when status is succeededsucceeded 之前,不要声称训练已经完成。queued 或 processing,就如实返回,不要虚构模型结果。demoUrl,也要返回已有的 modelId 和其他字段。modelName 存在乱码或 ??,必须明确标记为异常结果,不能当作正常成功结果交付。