除了轮询查询音乐详情 接口,你还可以在提交音乐生成任务时提供 callback_url,在生成完成时自动接收通知。
工作原理
提交时附带回调 URL :在音乐生成请求中加入 callback_url 参数
任务处理 :Vidgo API 处理你的音乐生成任务
接收通知 :当任务状态变为 finished 或 failed 时,Vidgo API 会向你的回调 URL 发送 POST 请求
处理结果 :你的服务器会收到完整的任务数据,包括生成的文件
回调请求
任务完成时,Vidgo API 会向你的回调 URL 发送 POST 请求:
请求头
请求体结构
files 数组的内容取决于创建任务的模型。详见下方的响应字段 。
files 数据响应字段
files 数组的内容取决于创建任务的模型。
JSON 字段详情
separate-vocals
separate_vocals 字段:
vocal_url - 提取出的人声音轨 URL
instrumental_url - 伴奏音轨 URL
upload-and-separate-vocals
vocal_removal 字段:
bass - 贝斯音轨 URL
drums - 鼓音轨 URL
piano - 钢琴音轨 URL
guitar - 吉他音轨 URL
vocals - 人声音轨 URL
other - 其他音频元素 URL
stem-split
stem_split 字段:
backing_vocals_url - 和声 URL
bass_url - 贝斯音轨 URL
brass_url - 铜管乐器 URL
drums_url - 鼓音轨 URL
fx_url - 音效 URL
guitar_url - 吉他音轨 URL
keyboard_url - 键盘音轨 URL
percussion_url - 打击乐音轨 URL
strings_url - 弦乐音轨 URL
synth_url - 合成器音轨 URL
vocal_url - 主唱人声 URL
woodwinds_url - 木管乐器音轨 URL
generate-music-cover
generate_cover 是包含封面图对象的 JSON 数组:
file_url - 生成的封面图 URL
file_type - 文件类型(例如 “image”)
回调示例
音乐生成(generate-music、extend-music 等)
带时间戳的歌词(get-timestamped-lyrics)
生成歌词(generate-lyrics)
音乐风格增强(boost-music-style)
WAV 转换(convert-to-wav)
人声分离(separate-vocals)
上传并分离人声(upload-and-separate-vocals)
音轨分离(stem-split)
音乐封面图(generate-music-cover)
生成 Persona(generate-persona)
音乐视频(create-music-video)
失败任务
你的回调接口必须满足以下要求:
仅限 HTTPS :必须使用 HTTPS 协议(不支持 HTTP)
URL 最大长度 :2048 个字符
响应超时 :必须在 10 秒内响应
成功响应 :应返回 HTTP 200-299 状态码
禁止内网 IP :不能使用私有或内网 IP 地址(例如 192.168.x.x、10.x.x.x)
公网可访问 :必须能从互联网公开访问
重试策略
如果你的回调接口未响应或返回错误:
重试次数 :自动重试 3 次
重试间隔 :分别在 1 秒、2 秒和 4 秒后重试
最终失败 :3 次重试均失败后,不再继续重试
如果所有重试均失败,你仍然可以通过轮询查询音乐详情 接口获取结果。
安全最佳实践
验证请求 :建议添加签名验证机制,确保请求来自 Vidgo API
幂等性 :将 Webhook 处理程序设计为幂等,以应对重复投递
异步处理 :异步处理回调并尽快返回 200,避免超时
日志记录 :记录所有 Webhook 请求,便于调试和监控