当前位置: 首页 > api商店 > Fun-Music 音乐生成 · API 说明
Fun-Music 音乐生成

通义千问

模型 ID 20 音频
模型说明
Fun-Music:根据提示词或歌词生成歌曲,支持男/女声、mp3/wav;非流式一次返回或 SSE 流式。音频 URL 有效期约 24 小时。计费按生成秒数。

进入对话页

Fun-Music 音乐生成:支持输入创作要求(prompt)自定义歌词(lyrics),生成整首男/女声演唱的中文或英文歌曲。通过 POST /v1/chat(非流式)或 POST /v1/chat/stream(流式)调用,参数写在 messagesextra 中。

核心能力

  • 根据 prompt 自动写词并生成完整歌曲
  • 根据自定义 lyrics 谱曲演唱(建议使用结构标签,见下文)
  • 男声 male / 女声 female(默认女声)
  • 歌词与提示词支持中文、英文
  • 非流式一次返回完整音频 URL;流式边生成边返回(适合边播边下)
  • 输出 mp3(默认)或 wav

lyrics 与 prompt 的区别(必读)

参数 用途 extra 字段
prompt 描述风格、场景、情绪、乐器等,模型自动创作歌词并生成音乐 extra.promptmessages 文本
lyrics 传入完整歌词,模型严格按歌词谱曲演唱 extra.lyrics

至少填一项,不可同时为空。同时传入时仅 lyrics 生效,prompt 会被忽略。

请求参数(extra)

字段 说明
extra.prompt 提示词;未传时可用 messages[].content。见下方字数限制表。
extra.lyrics 自定义歌词;支持 [verse] [chorus] 等结构标签。
extra.gender female(默认)/ male
extra.format mp3 适合传输存储;wav 适合后期与高保真播放。
extra.enable_aigc_watermark 默认 false;true 时音频末尾追加 AI 摩尔斯电码标识(会略增时长)。

字数限制(流式 / 非流式不同,请注意)

模式 lyrics(中文) lyrics(英文) prompt
非流式 /v1/chat 5~350 字 5~2000 字符 1~2000 字符
流式 /v1/chat/stream 300~350 字 200~250 词 5~1000 汉字或英文单词

调用方式选择

  • 非流式POST /v1/chat):一次返回完整 audios[].url,对接最简单,推荐大多数业务。
  • 流式POST /v1/chat/stream):中间事件含 base64 音频分片,结束事件含完整 URL 与计费时长。

歌词结构标签(自定义 lyrics 时推荐)

标签 说明
[intro]前奏
[verse]主歌
[chorus]副歌
[bridge]桥段
[outro]尾奏

创作要求:须原创,禁止抄袭;内容健康,仅支持中英文;勿涉政治、暴力、色情等违规内容。

提示词撰写建议(prompt 模式)

尽量写清情绪、场景、乐器,避免过于笼统。推荐「悲伤钢琴曲,雨夜思念」,不推荐仅写「悲伤音乐」。

风格 示例 prompt
民谣温暖治愈的民谣,木吉他伴奏,午后咖啡馆慵懒时光
古风古风歌曲,古筝与竹笛,水墨山水意境,江湖离别
摇滚热血摇滚,电吉他失真,密集鼓点,青春叛逆与自由
抒情抒情慢歌,钢琴伴奏,淡淡忧伤,思念与回忆
说唱嘻哈说唱,808 低音鼓,街头活力,城市生活
儿歌欢快儿童歌曲,木琴手鼓,节奏明快,认识大自然

响应与计费

  • 成功:audios[].url 为音频下载地址,有效期 24 小时,请及时保存。
  • raw.output.extra_info.lyrics 可能返回模型生成/使用的歌词文本。
  • raw.usage.duration 为音乐时长(秒),按计费,单价见右侧「计费」卡片。
  • 流式响应中,生成进行中与结束状态可通过返回体中的完成标识字段区分。

常见问题

生成需要多久?
通常需数分钟,与歌词长度和排队有关;流式可边生成边收分片。
能否只用 messages 不传 extra?
可以。未传 extra.prompt / extra.lyrics 时,将 messages 中 user 文本作为 prompt。
  • 接口说明
  • 调用示例
  • Markdown

左侧为章节切换,右侧为对应内容。

请求头(鉴权)
字段名 类型 必填 说明
Authorization string Bearer 令牌,格式为 Bearer {应用ID}-{应用密钥}(仅在第一个 - 处分割,密钥本身可含连字符)。应用 ID 与密钥在会员中心「我的应用」获取。兼容 OpenAI SDK:将 {应用ID}-{应用密钥} 作为 api_key 传入即可自动携带本请求头。

对接 HTTP 接口请使用上表 Authorization: Bearer {应用ID}-{应用密钥};兼容 OpenAI SDK(将 {应用ID}-{应用密钥} 作为 api_key)。站内网页另有 Cookie 兼容方式,不在此列出。

POST /v1/chat、POST /v1/chat/stream — JSON 请求体根字段

非流式与流式使用同一请求体结构;流式请使用 …/v1/chat/stream 路径。

多轮与上下文:接口按当次请求里的 messages 处理对话,不会替你「记住」上一轮正文。续聊须由客户端在 body 中组装完整历史(含此前的 user / assistant 等)。

字段名 类型 必填 说明
model_id int 模型主键;本页文档对应 `model_id=20`。
messages array 消息对象数组(见 messages[])。至少一条;多轮时须在数组内按顺序包含完整历史(user/assistant/system 等)。按本次列表处理对话,不自动补全缺省轮次。
temperature number 采样温度,默认 0.7;是否生效取决于具体模型。
max_tokens int 或 null 生成长度上限(token);null 表示使用默认。
stream bool 请求体字段,默认 false。**是否流式由 URL 决定**:流式请 POST `/v1/chat/stream`;`/v1/chat` 为非流式。勿仅靠本字段切换 SSE。
attachments array 附件数组,默认 [](见 attachments[])。服务端会把附件整理为模型可识别的上下文(如追加 system 说明 URL 列表)。
extra object 任意 JSON 对象,默认 {}。模型专有参数放于此(如数字人 image_url/audio_url/parameters;文生图/视频类 prompt、尺寸等)。服务端可能合并内部保留字段;请勿使用以下划线 `_` 开头的键名作为业务自定义字段。
messages[] — 单条消息

数组顺序即对话顺序;多轮时把历史轮次一并列入本数组即可。

字段名 类型 必填 说明
role string 角色:如 user、assistant、system 等,与 OpenAI Chat Completions 约定一致。
content string 该轮文本内容。多轮时 assistant 一般为上一轮模型输出,由客户端保存后在后续请求的 messages 中写回。
images array 或 null 历史消息中的多模态图片结构,会话回放用;元素为对象,字段因模型而异。
audios array 或 null 历史消息中的音频结构,会话回放用。
attachments[] — 单条附件
字段名 类型 必填 说明
url string 附件可访问 URL(须能被服务端拉取)。
filename string 或 null 原始文件名,便于展示或日志。
mime string 或 null MIME 类型,如 image/png。
extra object 附件级扩展信息,默认 {}。
本页示例 JSON 涉及字段(model_id=20 · Fun-Music 音乐生成)

**lyrics 与 prompt 二选一**(同时传时仅 `extra.lyrics` 生效)。未写 `extra.prompt` 时可用 **`messages` 文本** 作为 prompt。流式请 **`POST /v1/chat/stream`** 并设 **`stream: true`**。**`extra.gender`** 默认 `female`;**`extra.format`** 默认 `mp3`。计费按响应 **`raw.usage.duration`**(秒)。请求体传 **`model_id: 20`** 即可路由到本模型。

下列说明与下方「调用示例」JSON 对齐,由本站配置维护。

字段名 类型 必填 说明
model_id int 须为 `20`。
messages[].content string 条件 作 prompt 使用(未传 `extra.prompt` / `extra.lyrics` 时)。
extra.prompt string 条件 提示词,模型自动写词并生成歌曲。
extra.lyrics string 条件 自定义歌词;与 prompt 二选一,优先于 prompt。
extra.gender string `male` / `female`(默认)。
extra.format string `mp3`(默认)/ `wav`。
extra.enable_aigc_watermark bool 是否在音频末尾追加 AI 标识音,默认 false。
stream bool 流式请用 `POST /v1/chat/stream` 并设 `stream: true`。