Skip to content

Eleven Audios 音乐生成 API 对接说明

YoYAI 套餐明细(企业商业合作请联系邮箱:support@yoy-ai.com)

套餐等级积分总量优惠价格 (税前)税后价格 (加5.3%)折扣力度
基础版100¥98.0¥1039.8折
白银版540¥520.0¥5489.629折
黄金版1,120¥1050.0¥1,1069.375折
铂金版6,000¥5,450.00¥5,7399.083折
钻石版13,000¥11,400.00¥12,0048.769折
尊享版25,200¥21,550.00¥22,6928.551折
旗舰版68,000¥55,800.00¥58,7578.206折
至尊版143,000¥114,400.00¥120,4638.0折

注:只有在要求开具 6% 增值税专用发票时,才需按照“税后价格”进行结算。

积分消耗说明

模型音乐时长(duration)消耗积分
music_v160000ms0.83

基本使用

想些提示词来生成视频,可以任意输入一段文字,比如我想生成一个关于小猫的视频,就可以输入 cat running on the road,下面使用apifox进行发送请求,具体的参数如下所示:

json
{
    "prompt":"新年快乐",
    "duration": 180000,
    "action": "generate",
    "model": "music_v1"
}

传入参数的字段说明如下:

  • action 生成音乐的行为参数,主要包含generate,默认是生成音乐。
  • prompt:生成音乐的提示词。
  • duration:生成音乐的时长,目前支持最短3000,最长600000,单位是毫秒。
  • seed:生成音乐的种子。
  • model:生成音乐的模型,默认:music_v1
  • composition_plan:歌曲段落列表。

自定义创作生成音乐功能

如果想对更精细控制生成的话,可以使用参数composition_plan来控制,但要注意的是,duration的时长必须和composition_plan里面的总时长相等,具体的输入如下:

填写样例如下:

json
{
    "action": "generate",
    "duration": 35000,
    "model": "music_v1",
    "composition_plan": {
        "positive_global_styles": [
            "流行摇滚",
            "高能量",
            "男声独唱",
            "4/4 拍"
        ],
        "negative_global_styles": [
            "爵士",
            "慢速",
            "器乐独奏"
        ],
        "sections": [
            {
                "section_name": "主歌 1",
                "positive_local_styles": [
                    "清脆的吉他扫弦",
                    "节奏感强"
                ],
                "negative_local_styles": [
                    "重金属失真"
                ],
                "duration_ms": 15000,
                "lines": [
                    "清晨的阳光洒在窗台",
                    "我推开门走向那片大海",
                    "风在耳边轻轻地诉说"
                ]
            },
            {
                "section_name": "副歌",
                "positive_local_styles": [
                    "强力的鼓点",
                    "激昂的合成器",
                    "情感爆发"
                ],
                "negative_local_styles": [
                    "安静的钢琴"
                ],
                "duration_ms": 20000,
                "lines": [
                    "奔跑吧 追逐那道光芒",
                    "心跳声 响彻整个天堂",
                    "不再回头 勇敢去闯"
                ]
            }
        ]
    }
}

点击发送,可以发现会得到一个结果,如下:

json
{
    "success": true,
    "task_id": "dd1c96df-37eb-4fe1-b546-2cfb390126f5",
    "trace_id": "c654400f-7cd1-4866-8f56-fcb2472480d9",
    "data": [
        {
            "id": "0537a80f-c004-4f6e-81ef-bd58ff763ba4",
            "size": 560946,
            "duration": 35059,
            "audio_url": "https://cdn.sunohub.cn/suno/dd1c96df-37eb-4fe1-b546-2cfb390126f5.mp3",
            "created_at": "2026-04-13T08:32:15.476Z",
            "finished_at": "2026-04-13T08:32:25.514Z",
            "model": "music_v1",
            "state": "succeeded",
            "metadata": {
                "song_metadata": {
                    "title": null,
                    "genres": [],
                    "languages": [],
                    "description": null,
                    "is_explicit": null
                },
                "composition_plan": {
                    "sections": [
                        {
                            "lines": [
                                "清晨的阳光洒在窗台",
                                "我推开门走向那片大海",
                                "风在耳边轻轻地诉说"
                            ],
                            "duration_ms": 15000,
                            "section_name": "主歌 1",
                            "negative_local_styles": [
                                "重金属失真"
                            ],
                            "positive_local_styles": [
                                "清脆的吉他扫弦",
                                "节奏感强"
                            ]
                        },
                        {
                            "lines": [
                                "奔跑吧 追逐那道光芒",
                                "心跳声 响彻整个天堂",
                                "不再回头 勇敢去闯"
                            ],
                            "duration_ms": 20000,
                            "section_name": "副歌",
                            "negative_local_styles": [
                                "安静的钢琴"
                            ],
                            "positive_local_styles": [
                                "强力的鼓点",
                                "激昂的合成器",
                                "情感爆发"
                            ]
                        }
                    ],
                    "negative_global_styles": [
                        "爵士",
                        "慢速",
                        "器乐独奏"
                    ],
                    "positive_global_styles": [
                        "流行摇滚",
                        "高能量",
                        "男声独唱",
                        "4/4 拍"
                    ]
                },
                "words_timestamps": null
            }
        }
    ]
}

可以看出,结果内容里面的name就是我们需要的值,

异步回调

由于 Sora Videos 生成视频的时间相对较长,大约需要 1-2 分钟,如果 API 长时间无响应,HTTP 请求会一直保持连接,导致额外的系统资源消耗,所以本 API 也提供了异步回调的支持。

整体流程是:客户端发起请求的时候,额外指定一个 callback_url 字段,客户端发起 API 请求之后,API 会立马返回一个结果,包含一个 task_id 的字段信息,代表当前的任务 ID。当任务完成之后,生成音乐的结果会通过 POST JSON 的形式发送到客户端指定的 callback_url,其中也包括了 task_id 字段,这样任务结果就可以通过 ID 关联起来了。

下面我们通过示例来了解下具体怎样操作。

首先,Webhook 回调是一个可以接收 HTTP 请求的服务,开发者应该替换为自己搭建的 HTTP 服务器的 URL。此处为了方便演示,使用一个公开的 Webhook 样例网站 https://webhook.site/,打开该网站即可得到一个 Webhook URL,如图所示:

将此 URL 复制下来,就可以作为 Webhook 来使用,此处的样例为 https://webhook.site/03e60575-3d96-4132-b681-b713d78116e2。

接下来,我们可以设置字段 callback_url 为上述 Webhook URL,同时填入 prompt,如图所示:

点击运行,可以发现会立即得到一个结果,如下:

{
  "task_id": "446344aa-b990-44bf-a136-366ba7937496"
}

稍等片刻,我们可以在 https://webhook.site/03e60575-3d96-4132-b681-b713d78116e2 上观察到生成歌曲的结果,如图所示:

内容如下:

json
{
    "success": true,
    "task_id": "3ad94e1d-0a6c-4d35-a188-a32787fc1f93",
    "trace_id": "3680afb7-7b79-4388-98b8-3e24bb3a4ddd",
    "data": [
        {
            "id": "7edb9e9d-e294-4afa-9a1c-2f36075cafa7",
            "video_url": "https://cdn.sunohub.cn/suno/3ad94e1d-0a6c-4d35-a188-a32787fc1f93.mp4",
            "created_at": "2025-10-10T01:44:16.877Z",
            "complete_at": "2025-10-10T01:48:23.986Z",
            "state": "succeeded"
        }
    ]
}

可以看到结果中有一个 task_id 字段,其他的字段都和上文类似,通过该字段即可实现任务的关联。