KIE.AI
old-model
  • All Model
  • old-model
language
language
  • 🇺🇸 English
  • 🇨🇳 Chinese
language
language
  • 🇺🇸 English
  • 🇨🇳 Chinese
Support
old-model
  • All Model
  • old-model
old-model
  • All Model
  • old-model
Suno API
4o Image APIVeo3.1 APIRunway APIFlux Kontext API
Suno API
4o Image APIVeo3.1 APIRunway APIFlux Kontext API
  1. Lyrics Generation
  • Suno API 快速开始
  • Music Generation
    • 音乐封面生成回调
    • 生成音乐回调
    • 音乐扩展回调
    • 音频上传和翻唱回调
    • 音频上传和扩展回调
    • 添加伴奏回调
    • 添加人声回调
    • 替换音乐分区回调
    • 生成音乐
      POST
    • 延长音乐
      POST
    • 上传并翻唱音乐
      POST
    • 上传并扩展音乐
      POST
    • 添加伴奏生成音乐
      POST
    • 添加人声生成音乐
      POST
    • 获取音乐任务详情
      GET
    • 获取带时间戳的歌词
      POST
    • 提升音乐风格
      POST
    • 替换音乐分区
      POST
    • 生成音乐封面
      POST
    • 获取音乐封面生成详情
      GET
    • 生成 Persona
      POST
    • 生成混音音乐
      POST
    • 恢复音频
      POST
  • Lyrics Generation
    • 生成歌词回调
    • 生成歌词
      POST
    • 获取歌词任务详情
      GET
  • WAV Conversion
    • 转换为WAV格式回调
    • 转换为WAV格式
    • 获取WAV转换详情
  • Vocal Removal
    • 音频分离回调
    • MIDI 生成回调
    • 人声和乐器分离
    • 获取人声和乐器分离详情
    • 从音频生成 MIDI
    • 获取 MIDI 生成详情
  • Music Video Generation
    • MP4生成完成回调
    • 创建音乐视频
    • 获取音乐视频详情
  • Sounds Generation
    • 生成声音
  • voice
    • Suno Voice 生成回调
    • Suno Voice 验证短句回调
    • Suno Voice生成验证短句接口
    • Suno Voice获取验证短句接口
    • Suno Voice自建音色生成接口
    • Suno Voice获取自建音色记录
    • Suno Voice 重新生成验证短句
    • Suno Voice检查是否可用接口
  1. Lyrics Generation

生成歌词回调

当音乐分区替换完成时,系统会调用此回调通知结果。
当您向Suno API提交音乐分区替换任务时,可以使用 callBackUrl 参数设置回调URL。任务完成时,系统将自动向您指定的地址推送结果。

回调机制概述#

回调机制消除了轮询API获取任务状态的需要。系统会主动向您的服务器推送任务完成结果。
Webhook 安全性:为确保回调请求的真实性和完整性,我们强烈建议您实现 webhook 签名验证。请参阅我们的 Webhook 校验指南 了解详细实现步骤。

回调时机#

系统将在以下情况发送回调通知:
音乐分区替换任务成功完成
音乐分区替换任务失败
任务处理过程中发生错误

回调方式#

HTTP方法: POST
内容类型: application/json
超时设置: 15秒

回调请求格式#

任务完成时,系统将以下格式向您的 callBackUrl 发送POST请求:
Success Callback
Failure Callback
{
  "code": 200,
  "msg": "All generated successfully.",
  "data": {
    "callbackType": "complete",
    "task_id": "3b66882fde0a5d398bd269cab6d9542b",
    "data": [
      {
        "error_message": "",
        "status": "complete",
        "text": "[Verse]\nMoonlight spreads across the windowsill\nStars dance, never standing still\nNight breeze weaves dreams with gentle skill\nLeaving all worries on the hill\n\n[Verse 2]\nLights reflect in your bright eyes\nLike meteors across the skies\nThe world stops in that moment's prize\nChasing future, no goodbyes\n\n[Chorus]\nIn starry dreams we find tomorrow\nBreak free from ordinary sorrow\nAll our dreams will bloom and follow\nDon't fear the path, don't fear tomorrow",
        "title": "Starry Night Dreams"
      },
      {
        "error_message": "",
        "status": "complete",
        "text": "[Verse]\nMoonlight spreads across the windowsill\nStars dance, never standing still\nNight breeze weaves dreams with gentle skill\nLeaving all worries on the hill\n\n[Verse 2]\nLights reflect in your bright eyes\nLike meteors across the skies\nThe world stops in that moment's prize\nChasing future, no goodbyes\n\n[Chorus]\nIn starry dreams we find tomorrow\nBreak free from ordinary sorrow\nAll our dreams will bloom and follow\nDon't fear the path, don't fear tomorrow",
        "title": "Main Street Summer"
      }
    ]
  }
}

状态码说明#

code (integer, required)#

回调状态码,表示任务处理结果:
状态码描述
200成功 - 请求已成功处理
400验证错误 - 参数验证失败
408超出限制 - 超时
500服务器错误 - 处理请求时发生意外错误
501音频生成失败
531服务器错误 - 抱歉,由于问题生成失败。您的积分已退还。请重试

msg (string, required)#

状态消息,提供更详细的状态描述

响应数据字段#

data (object, required)#

包含回调数据的容器对象

data.callbackType (string, required)#

回调类型,表示当前回调阶段:
类型描述
complete替换任务全部完成
error任务失败或发生错误

data.task_id (string, required)#

任务唯一标识符,用于追踪和查询

data.data (array)#

生成的音乐数据数组。成功时包含替换后的音乐详细信息,失败时为 null
音乐对象属性
id (string): 音乐片段的唯一标识符
audio_url (string): 替换后音乐的完整URL,可直接下载
stream_audio_url (string): 替换后音乐的流媒体URL,用于在线播放
image_url (string): 替换后音乐的封面图片URL
prompt (string): 用于生成替换片段的提示词
model_name (string): 使用的AI模型名称(例如 chirp-v3-5)
title (string): 替换后的音乐标题
tags (string): 替换片段的音乐风格标签
createTime (string): 替换任务创建时间(格式:YYYY-MM-DD HH:MM:SS)
duration (number): 替换后音乐的总时长(秒)

实现回调处理器#

以下示例展示如何实现回调处理器:
Node.js
Python Flask

回调安全建议#

为确保回调的安全性,建议实施以下措施:
1.
验证请求来源:检查请求IP或使用签名验证
2.
使用HTTPS:确保回调URL使用HTTPS协议
3.
实现幂等性:处理可能的重复回调
4.
超时处理:确保在15秒内响应回调请求
5.
错误日志:记录所有回调详情以便调试

常见问题#

为什么没有收到回调?
可能的原因:
回调URL不可访问(检查防火墙设置)
回调处理器响应超时(超过15秒)
URL格式错误或使用了HTTP而非HTTPS
服务器返回了非200状态码
如何处理回调重试?
系统可能会在以下情况重试回调:
回调URL返回非200状态码
请求超时
网络错误
建议:
实现幂等性处理,使用task_id识别重复回调
快速响应200状态码,然后异步处理数据

替代方案:轮询查询#

如果您不使用回调,也可以通过轮询方式查询任务状态:
轮询查询结果
使用获取音乐详情接口定期查询任务状态,建议每30秒查询一次。

下一步#

替换音乐分区
了解如何使用替换分区接口
获取音乐详情
查询替换任务的状态和结果
Previous
恢复音频
Next
生成歌词
Built with