Skip to main content
文本生成音乐接口采用异步的“提交 + 查询”模式:先创建生成任务并获取 task_id,再轮询任务状态,直到任务进入 SUCCESSFAILED 终态。
音乐生成是自回归长任务,生成一首完整歌曲通常需要数十秒到数分钟。

服务地址

POST https://api.stepfun.com/v1/audio/music

能力范围

本次提供三个任务类型,覆盖四种用法: text_to_music 未提供 lyrics 时,服务端会自动生成歌词。

通用约定

请求头

统一错误响应

所有非 2xx 响应采用以下结构:
客户端应根据 error.type 做程序化判断,不要匹配 message 文本。 响应同时返回 x-should-retry 头:
  • 参数、鉴权和资源类错误(400 / 401 / 404):false
  • 速率限制和临时服务故障(429 / 500 / 503):true
  • 额度类 429 重试无效,仍需根据 error.type 单独处理。
音频输入字段使用原始文件字节的 Base64 字符串,不包含 data: 前缀。

提交音乐生成任务

POST https://api.stepfun.com/v1/audio/music/submit

请求参数

  • task string required
    任务类型,支持 text_to_musicmusic_covervocal_to_music
  • model_id string required
    音乐模型标识,固定填 stepaudio-3-music-preview
  • caption string required
    曲风、人声、情绪、调式等风格描述。
  • lyrics string optional
    歌词,支持歌曲结构标签。music_covervocal_to_music 必填;text_to_music 不传时由服务端自动写词。
  • instrumental boolean optional
    是否生成纯器乐,默认 false,仅 text_to_music 支持。
  • song_audio string optional
    完整参考歌曲的 Base64 编码,music_cover 必填。
  • vocal_audio string optional
    无伴奏干声的 Base64 编码,vocal_to_music 必填。
  • response_format string optional
    输出格式,支持 wavflacopusmp3pcm,默认 wav
  • sample_rate integer optional
    输出采样率,默认 48000;省略或传 0 时保持模型原生采样率。
  • bit_rate integer optional
    MP3 / Opus 比特率,单位为 kbps。
  • lyrics_rewrite boolean optional
    是否改写传入的歌词,默认 false
  • disable_caption_rewrite boolean optional
    是否跳过 caption 自动改写,默认 false
  • max_tokens integer optional
    生成 token 数上限,默认 16000
  • temperature number optional
    采样温度,默认 0.85,暂不支持 0
  • top_k integer optional
    采样参数,默认 80
  • top_p number optional
    采样参数,默认 0.92
  • repetition_penalty number optional
    重复惩罚,默认 1.08

参数适用矩阵

参数说明

器乐与歌词

instrumental=true 时不得同时传入 lyrics。歌词中的 [Instrumental] 仅表示局部器乐段,不能代替顶层的 instrumental=true

翻唱

music_cover 的旋律跟随参考歌曲,caption 控制风格、音色、编曲和情绪。建议传入与原曲演唱内容一致的歌词。

干声配乐

vocal_to_music 的旋律主要跟随干声,并保留输入干声的人声音色。干声实际演唱内容需要是 lyrics 的子集或全集。

Caption 改写

服务端默认将 caption 改写为规范的英文 style prompt,并通过查询接口的 rewritten_caption 返回。 disable_caption_rewrite=true 不能与 lyrics_rewrite=true 同时使用;在非器乐 text_to_music 场景使用时,必须显式提供歌词。

输出时长

输出时长由模型决定,无法通过参数精确控制。同一输入多次生成的时长可能不同,通常为 1~3 分钟。

歌词结构标签

歌词结构标签需要独占一行。 常用标签:
  • [Intro]
  • [Verse 1]
  • [Pre-Chorus]
  • [Chorus 1]
  • [Bridge]
  • [Instrumental]
  • [Hook]
  • [Break]
  • [Drop]
  • [Ad-lib]
  • [Outro]

Caption 写法建议

caption 支持中文或英文,建议描述以下维度:

响应

task_id 用于查询任务结果和问题排查。

错误码

内容审核可能在提交阶段同步返回 451,也可能在任务执行阶段以 FAILED + error.stage=censor 返回。

调用示例

查询任务结果

POST https://api.stepfun.com/v1/audio/music/query 建议每 5 秒轮询一次,直到 status 进入终态;成功后请及时保存音频。

请求参数

任务状态

进行中响应

成功响应

失败响应

FAILED 是业务终态,HTTP 状态码仍为 200。

响应字段

失败阶段

查询错误码

查询示例

音频与输出约束

推荐使用 MP3 输出以降低响应体积。PCM 为无文件头裸流,需按 48 kHz、16 bit、立体声自行解析。

合规说明

生成内容对外分发、发布或用于商业用途时,调用方应根据适用法律法规添加人工智能生成内容标识。