上传并翻唱音乐
此 API 通过在保留其核心旋律的同时将音轨转换为新样式来覆盖音轨。它结合了 Suno 的上传功能,使用户能够上传音频文件进行处理。预期的结果是刷新了具有新风格的音轨,同时保持了原始旋律的完整性。
参数使用指南
-
当 customMode 为 true(自定义模式)时:
- 如果 instrumental 为 true:需要提供 style、title 和 uploadUrl
- 如果 instrumental 为 false:需要提供 style、prompt、title和uploadUrl
- 字符限制(基于模型):
- V4_5、V4_5PLUS、V5、V5_5 模型:prompt 最多 5000 字符,style 最多 1000 字符,title 最多 100 字符
- V4 模型:prompt 最多 3000 字符,style 最多 200 字符,title 最多 80 字符
- V4_5ALL 模型:prompt 最多 5000 字符,style 最多 1000 字符,title 最多 80 字符
- model(string,必填):
V4_5ALL、V4、V4_5、V4_5PLUS、V5、V5_5。V5_5:释放你的声音:定制模型,贴合你的独特品味 — 与V5适用场景下的限制一致。 - 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(建议保留两位小数)
- personaId(string):自定义模式下可传入 Persona ID 或 Suno Voice 生成的
voiceId。如果使用 Voice 生成的 ID,personaModel必须设置为voice_persona。 - personaModel(string):Persona 类型。生成 Persona 接口返回的 ID 使用
style_persona,Suno Voice 生成的 ID 使用voice_persona。
开发者注意事项
- 新用户推荐设置:将 customMode 设为 false,instrumental 设为 false,只提供 prompt和uploadUrl。这是最简单的配置,可以快速测试API并体验结果。
- 生成的文件将保留15天后删除
- 请根据 customMode 和 instrumental 设置确保提供所有必要参数,避免出错
- 请注意 prompt、style 和 title 的字符长度限制,确保成功处理
- 回调过程有三个阶段:text(文本生成完成)、first(第一首完成)、complete(全部完成)
- 您可以使用音乐生成详情查询接口主动检查任务状态,而不必等待回调
- uploadUrl 参数用于指定音频文件的上传位置;请提供有效的 URL。
授权
🔑 API 认证说明
所有接口都需要通过 Bearer Token 方式进行认证。
获取 API Key
- 访问 API Key 管理页面 获取您的 API Key
使用方式
在请求头中添加:
Authorization: Bearer YOUR_API_KEY⚠️ 注意:
- 请妥善保管您的 API Key,不要泄露给他人
- 如果怀疑 API Key 泄露,请立即在管理页面重置
请求体
用于上传音频文件的 URL,无论 customMode 和 instrumental 是 true 还是 false,都是必需的。
上传音频时长限制: 最大上传时长为 8 分钟
"https://api.example.com/upload"
启用自定义模式进行高级音频生成设置。
- 设为
true使用自定义模式(需要提供style和title;如果instrumental为false,则需要提供prompt)。如果instrumental为false,提示词将严格用作歌词。 - 设为
false使用非自定义模式(只需要提供prompt)。歌词将根据提示词自动生成。
true
决定音频是否为纯音乐(无歌词)。
- 在自定义模式下(
customMode: true):- 如果为
true:只需提供style和title。 - 如果为
false:需要提供style、title和prompt(prompt将作为精确歌词使用)。
- 如果为
- 在非自定义模式下(
customMode: false):不影响必填字段(只需prompt)。如果为false,将自动生成歌词。
true
用于生成的AI模型版本。
- 所有请求都必填。
- 可用选项:
V5:更卓越的音乐表现力,生成速度更快。V5_5:释放你的声音:定制模型,贴合你的独特品味。与 V5 的自定义模式下prompt、style字数上限一致(5000 / 1000)。V4_5PLUS:V4.5+ 音色更丰富,新的创作方式,最长8分钟。V4_5:V4.5 更智能的提示词,更快的生成速度,最长8分钟。V4:V4 改进的人声质量,最长4分钟。V4_5ALL:V4.5-all 更好的歌曲结构,最长8分钟。
V4_5ALL, V4, V4_5, V4_5PLUS, V5, V5_5 "V4_5ALL"
描述期望生成的音频内容。
- 在自定义模式下(
customMode: true):当instrumental为false时必填。提示词将严格用作歌词并在生成的音乐中演唱。不同模型的字符限制:- V4:最多3000字符
- V4_5、V4_5PLUS、V5、V5_5 和 V4_5ALL:最多5000字符
示例:"一段平静舒缓的钢琴曲,带有柔和的旋律"
- 在非自定义模式下(
customMode: false):始终必填。提示词作为核心创意,歌词将基于此自动生成(不会严格匹配输入内容)。最大长度:500字符。
示例:"一段短小舒缓的钢琴曲"
"一段平静舒缓的钢琴曲,带有柔和的旋律"
音乐风格或流派。
- 在自定义模式下(
customMode: true)必填。示例:"爵士"、"古典"、"电子"。- 对于 V4 模型:最大长度为 200 字符。
- 对于 V4_5、V4_5PLUS、V5、V5_5 和 V4_5ALL 模型:最大长度为 1000 字符。
示例:"古典"
- 在非自定义模式下(
customMode: false):留空。
"古典"
生成音乐的标题。
- 在自定义模式下(
customMode: true)必填。不同模型的字符限制:- V4和V4_5ALL:最大长度80字符
- V4_5、V4_5PLUS、V5、V5_5:最大长度100字符
示例:"宁静钢琴冥想"
- 在非自定义模式下(
customMode: false):留空。
"宁静钢琴冥想"
仅在开启自定义参数时可用。应用到生成音乐的 Persona ID,可选。你可以传入以下两类 ID:
- 通过 生成 Persona 接口生成的 Persona ID。此时可使用
personaModel: style_persona,或省略personaModel使用默认值。 - 通过 Suno Voice 流程生成的
voiceId。当使用 Voice 生成的 ID 时,必须设置personaModel: voice_persona。
"persona_123"
使用 personaId 时应用的 Persona 模型类型,可选。
style_persona(默认):用于生成 Persona 接口返回的 Persona ID。voice_persona:当personaId使用 Suno Voice 生成的voiceId时必须选择该值。该选项仅在 V5 与 V5_5 模型下可用。
style_persona, voice_persona "style_persona"
需要在生成的音频中排除的音乐风格或特征。
- 可选。用于避免特定风格。
示例:"重金属, 强节奏鼓点"
"重金属, 强节奏鼓点"
偏好人声性别。可选。允许值:'m'(男)、'f'(女)
m, f "m"
风格贴合权重。可选。范围:0-1。建议保留两位小数。
0 <= x <= 1必须是以下数值的倍数 0.010.65
创造性/新颖度约束。可选。范围:0-1。建议保留两位小数。
0 <= x <= 1必须是以下数值的倍数 0.010.65
音频一致性与其他控制项的相对权重。可选。范围:0-1。建议保留两位小数。
0 <= x <= 1必须是以下数值的倍数 0.010.65
回调
响应
请求成功
状态码说明
- ✅ 200 - 请求成功
- ⚠️ 400 - 参数错误
- ⚠️ 401 - 没有访问权限
- ⚠️ 404 - 请求方式或者路径错误
- ⚠️ 405 - 调用超过限制
- ⚠️ 413 - 主题或者prompt过长
- ⚠️ 429 - 积分不足
- ⚠️ 430 - 您的调用频率过高。请稍后再试。
- ⚠️ 455 - 网站维护
- ❌ 500 - 服务器异常
200, 400, 401, 404, 405, 413, 429, 430, 455, 500 200
当 code != 200 时,展示错误信息
"success"
