文档 / 音乐系列 / Suno / 辅助功能
添加淡入淡出
为已生成 clip 添加淡入、淡出效果。
用途#
提交一个 淡入淡出(FADE) 任务,为本服务已生成的 clip 添加淡入、淡出效果。接口为异步模式:服务在校验通过后立即返回公开 task_id,不会等待任务完成。后续通过 GET /v1/tasks/:id 轮询任务状态与结果。
fade_in_time 与 fade_out_time 至少提供一个。两者数值单位均为秒,需 >= 0。
请求字段#
| 字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
clip_id | string | 是 | — | 目标 clip 的 UUID,必须来自本服务已完成的历史任务 |
fade_in_time | number | 条件必填 | — | 淡入时长,单位秒。与 fade_out_time 至少提供一个 |
fade_out_time | number | 条件必填 | — | 淡出时长,单位秒。与 fade_in_time 至少提供一个 |
callback_url | string | 否 | — | 任务到达终态时的回调通知地址 |
clip_id 为必填项,缺失时返回 400 clip_id_empty。fade_in_time 与 fade_out_time 必须至少提供一个,两者都缺失时返回 400 fade_time_empty。
callback_url 必须是公网可访问的 HTTPS 地址,长度不超过 2048 字符;禁止使用本机、内网、回环、链路本地地址,也禁止使用解析到这些地址的域名。
任务完成或失败后,服务会向该地址发送 POST JSON。回调接收端须在 10 秒内返回任意 2xx 状态码;超时、网络错误或非 2xx 响应均视为失败。
失败后会分别等待 1 秒、2 秒和 4 秒重试,连同首次请求最多发送 4 次。接收端应使用任务 ID 做幂等处理,避免重复处理。
请求示例#
curl --request POST \
--url https://api.apimax.ai/v1/music/fade \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"clip_id": "1f78f8de-4ca6-4375-ae79-46c33a2c97f7",
"fade_in_time": 2.0,
"fade_out_time": 3.0
}'成功响应#
{
"code": "success",
"message": "",
"data": "task_01HV7..."
}响应字段#
| 字段 | 类型 | 说明 |
|---|---|---|
code | string | 响应码,成功固定为 success |
message | string | 提示信息,成功时通常为空 |
data | string | 公开任务 ID(40 字符以内),用于后续查询 |
data 返回公开 task_id,所有后续查询均使用该 ID。
错误码#
| HTTP | code | 场景 |
|---|---|---|
| 400 | invalid_request | 请求体 JSON 解析失败 |
| 400 | clip_id_empty | 未提供 clip_id |
| 400 | fade_time_empty | fade_in_time 与 fade_out_time 均未提供 |
| 400 | invalid_action | action 不在支持列表内 |
| 503 | no_available_channel | 无可用渠道 |
| 502 | upstream_failed | 任务处理服务请求失败(网络错误等) |
查询任务结果#
提交成功后,使用返回的 task_id 轮询:
- 单个查询:
GET /v1/tasks/:id
status 枚举#
| 值 | 说明 |
|---|---|
queued | 任务已创建,等待处理 |
in_progress | 任务正在处理 |
completed | 任务处理完成,可读取 data |
failed | 任务处理失败,可读取 error |
completed 和 failed 为终态;其余状态请继续轮询。
查询结果中的 data 字段包含添加淡入淡出效果后的新 clip,包括音频地址等信息。
{
"id": "task_wPxumimfGbqj6RZQ0b3GoMILORDBPlRa",
"model": "suno_fade",
"object": "task",
"platform": "suno",
"type": "suno",
"status": "completed",
"progress": 100,
"created_at": 1783072672,
"started_at": 1783072673,
"finished_at": 1783072686,
"data": [
{
"id": "task_wPxumimfGbqj6RZQ0b3GoMILORDBPlRa",
"status": "complete",
"title": "Chalk Comet (Remove Section) (Fade In)",
"audio_url": "https://cdn1.suno.ai/c7482e29-a18b-4442-91da-3301eefe65b7.mp3",
"image_url": "https://cdn2.suno.ai/image_c7482e29-a18b-4442-91da-3301eefe65b7.jpeg",
"created_at": "2026-07-03T09:58:05.618Z",
"metadata": {
"type": "edit_fade",
"duration": 143.04,
"edited_clip_id": "e30bf56e-f978-47ac-98b6-ef54cab07679",
"is_remix": true,
"tags": "mandopop, upbeat, acoustic guitar, light percussion",
"prompt": "[Verse]
背包装满梦想
...
[Chorus]
走吧走吧
世界那么大
..."
}
}
]
}data[] 为处理后生成的新 clip 数组:audio_url / image_url 为结果音频与封面地址,metadata.type 为 edit_fade,metadata.edited_clip_id 指向源 clip,duration 为新片段时长(秒)。字段名与结构以实际响应为准。

