跳转到主要内容
POST
/
api
/
v1
/
generate
/
upload-extend
上传并扩展音乐
curl --request POST \
  --url https://api.kie.ai/api/v1/generate/upload-extend \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "uploadUrl": "https://api.example.com/upload",
  "defaultParamFlag": true,
  "instrumental": true,
  "prompt": "用更多舒缓的音符延长音乐",
  "style": "古典",
  "title": "宁静钢琴延长版",
  "continueAt": 60,
  "model": "V3_5",
  "negativeTags": "舒缓钢琴",
  "callBackUrl": "https://api.example.com/callback",
  "vocalGender": "m",
  "styleWeight": 0.65,
  "weirdnessConstraint": 0.65,
  "audioWeight": 0.65,
  "personaId": "persona_123"
}'
{
  "code": 200,
  "msg": "success",
  "data": {
    "taskId": "5c79****be8e"
  }
}

参数使用指南

字符限制根据模型版本而异:
  • 对于模型 V5:style(最大1000字符)、title(最大100字符)、prompt(最大5000字符)
  • 对于模型 V4_5PLUS 和 V4_5:style(最大1000字符)、title(最大100字符)、prompt(最大5000字符)
  • 对于模型 V3_5 和 V4:style(最大200字符)、title(最大80字符)、prompt(最大3000字符)
  • 当 defaultParamFlag 为 true(自定义参数)时:
    • 如果 instrumental 为 true:需要提供 style 、 title和uploadUrl
    • 如果 instrumental 为 false:需要提供 style、prompt 、 title和uploadUrl
    • 字符限制根据模型版本而异(见上方说明)
    • continueAt 音频开始扩展的秒数(该参数需大于0,且小于所上传视频的时长)
    • uploadUrl 用于指定音频文件的上传位置;确保上传的音频长度不超过 8 分钟。
  • 当 defaultParamFlag 为 false(使用默认参数)时:
    • 无论 instrumental 设置如何,仅需提供 uploadUrl和prompt
    • 其他参数将使用原音频的参数

开发者注意事项

  1. 生成的文件将保留14天
  2. 模型版本必须与源音乐保持一致
  3. 此功能非常适合通过延长现有音乐创作更长的作品
  4. uploadUrl 参数用于指定音频文件的上传位置;请提供有效的 URL。

可选参数

  • vocalGender(string): 人声性别偏好。m 男声,f 女声。
  • 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
uploadUrl
string<uri>
required

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

Example:

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

defaultParamFlag
boolean
required

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

  • 设为 true 使用自定义参数模式(需要提供 styletitleuploadUrl;如果 instrumentalfalse,则需要提供 uploadUrlprompt)。如果 instrumentalfalse,提示词将严格用作歌词。
  • 设为 false 使用非自定义模式(只需要提供 uploadUrl)。歌词将根据提示词自动生成。
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请求,包含任务状态和结果
  • 回调包含扩展后的音频URL和任务信息
  • 您的回调端点应能接受包含音频扩展结果的JSON载荷的POST请求
  • 详细的回调格式和实现指南,请参见 音频扩展回调
  • 或者,您也可以使用获取音乐详情接口来轮询任务状态
Example:

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

instrumental
boolean

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

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

true

prompt
string

描述音乐应如何延长。当 defaultParamFlag 为 true 时必填。字符限制根据模型版本:

  • V5:最大5000字符
  • V4_5PLUS & V4_5:最大5000字符
  • V3_5 & V4:最大3000字符
Example:

"用更多舒缓的音符延长音乐"

style
string

音乐风格,例如爵士、古典、电子等。字符限制根据模型版本:

  • V5:最大1000字符
  • V4_5PLUS & V4_5:最大1000字符
  • V3_5 & V4:最大200字符
Example:

"古典"

title
string

音乐标题。字符限制根据模型版本:

  • V5:最大100字符
  • V4_5PLUS & V4_5:最大100字符
  • V3_5 & V4:最大80字符
Example:

"宁静钢琴延长版"

continueAt
number

音频开始扩展的时间点(以秒为单位)。

  • defaultParamFlagtrue 时必填。
  • 取值范围:大于0且小于上传音频的总时长。
  • 指定从原始音频的哪个时间点开始进行扩展。
Example:

60

negativeTags
string

需要在生成中排除的音乐风格

Example:

"舒缓钢琴"

vocalGender
enum<string>

人声性别偏好。可选。'm' 表示男声,'f' 表示女声。根据实践,此参数只能加强概率,但不能保证一定遵循男女声的指令。

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