跳转到主要内容
POST
/
api
/
v1
/
generate
/
upload-cover
{
  "customMode": true,
  "instrumental": false,
  "prompt": "保留旋律但改成更暗黑电影风格",
  "style": "Cinematic",
  "title": "Dark Reprise",
  "uploadUrl": "https://storage.example.com/upload",
  "model": "V3_5",
  "callBackUrl": "https://example.com/callback",
  "vocalGender": "m",
  "styleWeight": 0.61,
  "weirdnessConstraint": 0.72,
  "audioWeight": 0.65
}
{
  "code": 200,
  "msg": "success",
  "data": {
    "taskId": "5c79****be8e"
  }
}

参数使用指南

  • 当 customMode 为 true(自定义模式)时:
    • 如果 instrumental 为 true:需要提供 style、title 和 uploadUrl
    • 如果 instrumental 为 false:需要提供 style、prompt、title和uploadUrl
    • 字符限制(基于模型):
      • V4_5、V4_5PLUS 和 V5:prompt 最多 5000 字符,style 最多 1000 字符,title 最多 100 字符
      • V3_5 和 V4 模型:prompt 最多 3000 字符,style 最多 200 字符,title 最多 80 字符
    • uploadUrl 用于指定音频文件的上传位置;确保上传的音频长度不超过 8 分钟。
  • 当 customMode 为 false(非自定义模式)时:
    • 无论 instrumental 设置如何,只需要提供 prompt和uploadUrl
    • prompt 长度限制:500字符
    • 其他参数应留空

可选参数

以下字段为可选控制项:
  • vocalGender(string):偏好人声性别。允许值:m(男)、f(女)
  • styleWeight(number):风格贴合权重,范围 0–1(建议保留两位小数)
  • weirdnessConstraint(number):创造性/新颖度约束,范围 0–1(建议保留两位小数)
  • audioWeight(number):音频一致性相对权重,范围 0–1(建议保留两位小数)
{
  "customMode": true,
  "instrumental": false,
  "prompt": "保留旋律但改成更暗黑电影风格",
  "style": "Cinematic",
  "title": "Dark Reprise",
  "uploadUrl": "https://storage.example.com/upload",
  "model": "V3_5",
  "callBackUrl": "https://example.com/callback",
  "vocalGender": "m",
  "styleWeight": 0.61,
  "weirdnessConstraint": 0.72,
  "audioWeight": 0.65
}

开发者注意事项

  1. 新用户推荐设置:将 customMode 设为 false,instrumental 设为 false,只提供 prompt和uploadUrl。这是最简单的配置,可以快速测试API并体验结果。
  2. 生成的文件将保留15天后删除
  3. 请根据 customMode 和 instrumental 设置确保提供所有必要参数,避免出错
  4. 请注意 prompt、style 和 title 的字符长度限制,确保成功处理
  5. 回调过程有三个阶段:text(文本生成完成)、first(第一首完成)、complete(全部完成)
  6. 您可以使用音乐生成详情查询接口主动检查任务状态,而不必等待回调
  7. uploadUrl 参数用于指定音频文件的上传位置;请提供有效的 URL。

Authorizations

Authorization
string
header
required

🔑 API 认证说明

所有接口都需要通过 Bearer Token 方式进行认证。

获取 API Key

  1. 访问 API Key 管理页面 获取您的 API Key

使用方式

在请求头中添加:

Authorization: Bearer YOUR_API_KEY

⚠️ 注意:

  • 请妥善保管您的 API Key,不要泄露给他人
  • 如果怀疑 API Key 泄露,请立即在管理页面重置

Body

application/json
uploadUrl
string<uri>
required

用于上传音频文件的 URL,无论 customMode 和 instrumental 是 true 还是 false,都是必需的。确保上传的音频长度不超过 2 分钟。

Example:

"https://api.example.com/upload"

customMode
boolean
required

启用自定义模式进行高级音频生成设置。

  • 设为 true 使用自定义模式(需要提供 styletitle;如果 instrumentalfalse,则需要提供 prompt)。如果 instrumentalfalse,提示词将严格用作歌词。
  • 设为 false 使用非自定义模式(只需要提供 prompt)。歌词将根据提示词自动生成。
Example:

true

instrumental
boolean
required

决定音频是否为纯音乐(无歌词)。

  • 在自定义模式下(customMode: true):
    • 如果为 true:只需提供 styletitle
    • 如果为 false:需要提供 styletitlepromptprompt 将作为精确歌词使用)。
  • 在非自定义模式下(customMode: false):不影响必填字段(只需 prompt)。如果为 false,将自动生成歌词。
Example:

true

model
enum<string>
required

用于生成的AI模型版本。

  • 所有请求都必填。
  • 可用选项:
    • V5:更卓越的音乐表现力,生成速度更快。
    • V4_5PLUS:V4.5+ 音色更丰富,新的创作方式,最长8分钟。
    • V4_5:V4.5 更智能的提示词,更快的生成速度,最长8分钟。
    • V4:V4 改进的人声质量,最长4分钟。
    • V3_5:V3.5 更好的歌曲结构,最长4分钟。
Available options:
V3_5,
V4,
V4_5,
V4_5PLUS,
V5
Example:

"V3_5"

callBackUrl
string<uri>
required

接收任务完成通知的URL。回调过程有三个阶段:text(文本生成)、first(第一首完成)、complete(全部完成)。注意:某些情况下可能会跳过 textfirst 阶段,直接返回 complete

详细的回调格式和实现指南,请参见 上传并翻唱音频回调

  • 或者,您也可以使用获取音乐生成详情接口来轮询任务状态
Example:

"https://api.example.com/callback"

prompt
string

描述期望生成的音频内容。

  • 在自定义模式下(customMode: true):当 instrumentalfalse 时必填。提示词将严格用作歌词并在生成的音乐中演唱。不同模型的字符限制:
    • V3_5 和 V4:最多3000字符
    • V4_5、V4_5PLUS 和 V5:最多5000字符
      示例:"一段平静舒缓的钢琴曲,带有柔和的旋律"
  • 在非自定义模式下(customMode: false):始终必填。提示词作为核心创意,歌词将基于此自动生成(不会严格匹配输入内容)。最大长度:500字符。
    示例:"一段短小舒缓的钢琴曲"
Example:

"一段平静舒缓的钢琴曲,带有柔和的旋律"

style
string

音乐风格或流派。

  • 在自定义模式下(customMode: true)必填。示例:"爵士"、"古典"、"电子"。
    • 对于 V3_5 和 V4 模型:最大长度为 200 字符。
    • 对于 V4_5、V4_5PLUS 和 V5 模型:最大长度为 1000 字符。
      示例:"古典"
  • 在非自定义模式下(customMode: false):留空。
Example:

"古典"

title
string

生成音乐的标题。

  • 在自定义模式下(customMode: true)必填。不同模型的字符限制:
    • V3_5 和 V4:最大长度80字符
    • V4_5、V4_5PLUS 和 V5:最大长度100字符
      示例:"宁静钢琴冥想"
  • 在非自定义模式下(customMode: false):留空。
Example:

"宁静钢琴冥想"

negativeTags
string

需要在生成的音频中排除的音乐风格或特征。

  • 可选。用于避免特定风格。
    示例:"重金属, 强节奏鼓点"
Example:

"重金属, 强节奏鼓点"

vocalGender
enum<string>

偏好人声性别。可选。允许值:'m'(男)、'f'(女)

Available options:
m,
f
Example:

"m"

styleWeight
number

风格贴合权重。可选。范围:0-1。建议保留两位小数。

Required range: 0 <= x <= 1Must be a multiple of 0.01
Example:

0.65

weirdnessConstraint
number

创造性/新颖度约束。可选。范围:0-1。建议保留两位小数。

Required range: 0 <= x <= 1Must be a multiple of 0.01
Example:

0.65

audioWeight
number

音频一致性与其他控制项的相对权重。可选。范围:0-1。建议保留两位小数。

Required range: 0 <= x <= 1Must be a multiple of 0.01
Example:

0.65

Response

请求成功

code
enum<integer>

状态码说明

  • ✅ 200 - 请求成功
  • ⚠️ 400 - 参数错误
  • ⚠️ 401 - 没有访问权限
  • ⚠️ 404 - 请求方式或者路径错误
  • ⚠️ 405 - 调用超过限制
  • ⚠️ 413 - 主题或者prompt过长
  • ⚠️ 429 - 积分不足
  • ⚠️ 430 - 您的调用频率过高。请稍后再试。
  • ⚠️ 455 - 网站维护
  • ❌ 500 - 服务器异常
Available options:
200,
400,
401,
404,
405,
413,
429,
430,
455,
500
Example:

200

msg
string

当 code != 200 时,展示错误信息

Example:

"success"

data
object
I