apimaxDocs
文档定价控制台
API 参考接入指南用户指南更新日志

音乐系列

POSTRelink 音频链接POST润色风格标签GET获取风格灵感建议POST获取 MIDIPOST获取歌词时间轴POST提交歌词生成任务POST获取 WAV 无损音频POST获取 MP4 视频POST裁剪音频片段POST添加淡入淡出POST调整音频速度POST重制或升采样POST获取节拍点分析POST倒放音频POST获取波形聚合数据

图像系列

视频系列

任务管理

错误码参考查询任务状态GET

账户管理

查询额度使用情况GET

文档 / 音乐系列 / Suno / 辅助功能

辅助功能POSTSunoMIDIclipsuno_midi

获取 MIDI

为本服务已生成的 clip 获取 MIDI 文件。

POSThttps://api.apimax.ai/v1/music/midi
试一试
Bearer API KeyJSON服务端调用

用途#

提交一个 获取 MIDI 文件(MIDI) 任务。接口为异步模式:服务在校验通过后立即返回公开 task_id,不会等待任务完成。后续通过 GET /v1/tasks/:id 轮询任务状态与结果。

该动作针对本服务已生成的 clip,获取其对应的 MIDI 文件(音符与时序的符号化表示),适合做二次编曲、扒谱、导入 DAW 等场景。MIDI 属于只读分析类动作,不会改变源音频。

clip_id 必须来自本服务已完成的历史任务,否则请求会失败。

请求字段#

字段类型必填默认值说明
clip_idstring是—目标 clip 的 UUID,必须来自本服务已完成的历史任务
callback_urlstring否—任务到达终态时的回调通知地址

clip_id 为必填项。缺失时返回 400 clip_id_empty。

callback_url 必须是公网可访问的 HTTPS 地址,长度不超过 2048 字符;禁止使用本机、内网、回环、链路本地地址,也禁止使用解析到这些地址的域名。

任务完成或失败后,服务会向该地址发送 POST JSON。回调接收端须在 10 秒内返回任意 2xx 状态码;超时、网络错误或非 2xx 响应均视为失败。

失败后会分别等待 1 秒、2 秒和 4 秒重试,连同首次请求最多发送 4 次。接收端应使用任务 ID 做幂等处理,避免重复处理。

请求示例#

cURL
curl --request POST \
  --url https://api.apimax.ai/v1/music/midi \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "clip_id": "1f78f8de-4ca6-4375-ae79-46c33a2c97f7"
  }'

成功响应#

200
{
  "code": "success",
  "message": "",
  "data": "task_01HV7..."
}

响应字段#

字段类型说明
codestring响应码,成功固定为 success
messagestring提示信息,成功时通常为空
datastring公开任务 ID(40 字符以内),用于后续查询

data 返回公开 task_id,所有后续查询均使用该 ID。

错误码#

HTTPcode场景
400invalid_request请求体 JSON 解析失败
400clip_id_empty未提供 clip_id
400invalid_actionaction 不在支持列表内
503no_available_channel无可用渠道
502upstream_failed任务处理服务请求失败(网络错误等)

查询任务结果#

提交成功后,使用返回的 task_id 轮询:

  • 单个查询:GET /v1/tasks/:id

status 枚举#

值说明
queued任务已创建,等待处理
in_progress任务正在处理
completed任务处理完成,可读取 data
failed任务处理失败,可读取 error

completed 和 failed 为终态;其余状态请继续轮询。

查询结果中的 data 字段包含 MIDI 数据:

json
{
  "id": "task_UF4331il8FL0QI2oLpjoDjfQUXGco0P8",
  "model": "suno_midi",
  "object": "task",
  "platform": "suno",
  "type": "suno",
  "status": "completed",
  "progress": 100,
  "created_at": 1783070939,
  "started_at": 1783070940,
  "finished_at": 1783070948,
  "data": [
    {
      "state": "complete",
      "instruments": [
        {
          "name": "Electric Piano 1",
          "notes": [
            { "start": 0.09375, "end": 2.09375, "pitch": 63, "velocity": 0.0866 },
            { "start": 0.09375, "end": 2.09375, "pitch": 60, "velocity": 0.0866 }
          ]
        },
        {
          "name": "Drums",
          "notes": [
            { "start": 0.8541, "end": 1.6354, "pitch": 39, "velocity": 0.1181 }
          ]
        }
      ]
    }
  ]
}

字段名与结构以实际响应为准。

下一步

全部文档
润色风格标签把风格标签和歌词润色扩写成更完整的风格描述。获取风格灵感建议获取 Suno 上游的随机风格或灵感建议。方法一:从已有歌曲创建音色使用本池已生成的歌曲 clip 直接创建人声音色。上传音频把用户音频导入为 Suno 自有 clip,返回异步上传任务 ID;带 copyright=true 时改走版权音乐管线。获取歌词时间轴获取已生成 clip 的歌词对齐时间轴。[核心]音乐生成通过统一音乐生成接口提交异步任务,并使用公开任务 ID 查询规范化音乐结果。
本页导航
概览用途请求字段请求示例成功响应响应字段错误码查询任务结果status 枚举下一步
API

POST /v1/music/midi