跳转到主要内容
POST
/
api
/
v1
/
generate
生成音乐
curl --request POST \
  --url https://api.kie.ai/api/v1/generate \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "prompt": "A calm and relaxing piano track with soft melodies",
  "style": "Classical",
  "title": "Peaceful Piano Meditation",
  "customMode": true,
  "instrumental": true,
  "model": "V3_5",
  "callBackUrl": "https://api.example.com/callback",
  "negativeTags": "重金属, 快节奏鼓点",
  "vocalGender": "m",
  "styleWeight": 0.65,
  "weirdnessConstraint": 0.65,
  "audioWeight": 0.65,
  "personaId": "persona_123"
}'
{
  "code": 200,
  "msg": "success",
  "data": {
    "taskId": "5c79****be8e"
  }
}

使用指南

  • 此接口根据您的文本提示创建音乐
  • 每个请求会生成多个变体
  • 您可以通过自定义模式和纯音乐设置来控制细节级别

参数详情

  • 自定义模式下(customMode: true):
    • 如果 instrumental: true:需提供 styletitle
    • 如果 instrumental: false:需提供 styleprompttitle
    • 不同模型的字符限制:
      • V3_5 和 V4prompt 3000字符,style 200字符
      • V4_5 和 V4_5PLUSprompt 5000字符,style 1000字符
      • V5prompt 5000字符,style 1000字符
    • title 长度限制:80字符(所有模型)
  • 非自定义模式下(customMode: false):
    • 无论 instrumental 设置如何,仅需提供 prompt
    • prompt 长度限制:500字符
    • 其他参数应留空

开发者注意事项

  • 新用户建议:以 customMode: false 开始使用,更简单
  • 生成的文件将保留14天
  • 回调过程分三个阶段:text(文本生成)、first(第一首完成)、complete(全部完成)

可选参数

  • vocalGender(string): 人声性别偏好。m 男声,f 女声。注意:此参数仅在 customModetrue 时生效。根据实践,此参数只能加强概率,但不能保证一定遵循男女声的指令。
  • styleWeight(number): 对风格的遵循强度。范围 0–1,保留两位小数。示例:0.65
  • weirdnessConstraint(number): 创意/离散程度。范围 0–1,保留两位小数。示例:0.65
  • audioWeight(number): 音频要素权重。范围 0–1,保留两位小数。示例:0.65
  • personaId(string): 应用到生成音乐的personaId。仅在开启自定义模式时可用。使用此参数为音乐生成应用特定的人格风格。要生成personaId,请访问 生成 Persona 接口。

Authorizations

Authorization
string
header
required

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

获取 API Key:

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

使用方式: 在请求头中添加: Authorization: Bearer YOUR_API_KEY

注意事项:

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

Body

application/json
prompt
string
required

描述所需音频内容的提示词。

  • 自定义模式下(customMode: true):当 instrumentalfalse 时必填。提示词将严格作为歌词使用并在生成的音轨中演唱。不同模型的字符限制:

    • V3_5 和 V4:最多3000字符
    • V4_5 和 V4_5PLUS:最多5000字符
    • V5:最多5000字符
      示例:"一段平静舒缓的钢琴曲,带有柔和的旋律"
  • 非自定义模式下(customMode: false):始终必填。提示词作为核心创意,歌词将根据它自动生成(不严格匹配输入),最多500字符。

    示例:"一段简短放松的钢琴曲"

Example:

"A calm and relaxing piano track with soft melodies"

customMode
boolean
required

确定是否启用高级参数自定义。

  • 如果为 true:允许详细控制,对 styletitle 字段有特定要求。
  • 如果为 false:简化模式,只需要 prompt,其他参数将被忽略。
Example:

true

instrumental
boolean
required

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

  • 在自定义模式(customMode: true)下:
    • 如果为 true:只需要 styletitle
    • 如果为 false:需要 styletitleprompt(prompt将作为精确歌词使用)。
  • 在非自定义模式(customMode: false)下:对所需字段没有影响(只需prompt)。
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分钟。
可用选项:
V3_5,
V4,
V4_5,
V4_5PLUS,
V5
Example:

"V3_5"

callBackUrl
string<uri>
required

用于接收音乐生成任务完成更新的URL地址。所有音乐生成请求都需要此参数。

  • 系统将在音乐生成完成时向此URL发送POST请求,包含任务状态和结果
  • 回调过程有三个阶段:text(文本生成)、first(第一个音轨完成)、complete(所有音轨完成)
  • 您的回调端点应能接受包含音乐生成结果的JSON载荷的POST请求
  • 详细的回调格式和实现指南,请参见 音乐生成回调
  • 或者,您也可以使用获取音乐详情接口来轮询任务状态
  • 注意:某些情况下可能会跳过 textfirst 阶段,直接返回 complete
Example:

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

style
string

生成音频的音乐风格规范。

  • 在自定义模式(customMode: true)下必填。定义流派、情绪或艺术方向。
  • 不同模型的字符限制:
    • V3_5 和 V4:最多200字符
    • V4_5 和 V4_5PLUS:最多1000字符
    • V5:最多1000字符
  • 常见示例:爵士乐、古典乐、电子乐、流行乐、摇滚乐、嘻哈等。
Example:

"Classical"

title
string

生成音乐曲目的标题。

  • 在自定义模式(customMode: true)下必填。
  • 最大长度:80字符。
  • 将显示在播放器界面和文件名中。
Example:

"Peaceful Piano Meditation"

negativeTags
string

从生成的音频中排除的音乐风格或特征。可选。用于避免特定风格。

Example:

"重金属, 快节奏鼓点"

vocalGender
enum<string>

人声性别偏好。可选。'm' 表示男声,'f' 表示女声。注意:此参数仅在customMode为true时生效。根据实践,此参数只能加强概率,但不能保证一定遵循男女声的指令。

可用选项:
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

personaId
string

仅在开启自定义模式(customMode: true)时可用。应用到生成音乐的人格ID。可选。使用此参数为音乐生成应用特定的人格风格。

要生成人格ID,请使用 生成 Persona 接口,基于已生成的音乐创建个性化的音乐人格。

Example:

"persona_123"

Response

请求成功

code
enum<integer>

响应状态码

  • 200: 成功 - 请求已成功处理
  • 401: 未授权 - 身份验证凭据缺失或无效
  • 402: 积分不足 - 账户没有足够的积分执行此操作
  • 404: 未找到 - 请求的资源或端点不存在
  • 409: 冲突 - WAV记录已存在
  • 422: 验证错误 - 请求参数未通过验证检查
  • 429: 超出限制 - 已超过对此资源的请求限制
  • 451: 未授权 - 获取图像失败。请验证您或您的服务提供商设置的任何访问限制。
  • 455: 服务不可用 - 系统当前正在进行维护
  • 500: 服务器错误 - 处理请求时发生意外错误
可用选项:
200,
401,
402,
404,
409,
422,
429,
451,
455,
500
msg
string

当 code != 200 时的错误信息

Example:

"success"

data
object