Udio 音频生成 API 集成指南

4 阅读4分钟

在这篇文章中,我们将介绍如何集成 Udio 音频生成 API。该 API 可通过输入自定义参数生成 Udio 的官方音乐,适用于音乐制作、内容创作等多种场景。

申请使用

要使用 Udio 音频生成 API,您需要先在 Udio Audios Generation API 页面申请相应的服务。进入页面后,点击“获取”按钮,如下图所示:

如果您尚未登录或注册,系统会自动将您重定向到登录页面,请先完成注册或登录。首次申请时,您将获得免费的 API 使用配额。

基本用法

在使用 API 之前,您需要了解基本的调用方法。构造请求时,主要需输入以下参数:

  • action: 设置为 generate
  • model: 当前可选的模型主要有 udio32-v1.5udio130-v1.5

以下是请求的构造示例:

请求头

在请求头中,您需要设置以下内容:

  • accept: 期望的响应格式,填入 application/json 表示返回 JSON 格式。
  • authorization: API 调用所需的密钥,申请后可直接选择。

请求体

请求体需要设置的字段包括:

  • model: 生成音乐的模型,主要为 udio32-v1.5udio130-v1.5
  • lyrics_type: 生成歌曲的歌词类型,默认值为用户。
  • action: 音乐生成任务的动作。
  • lyrics: 上传的歌词,生成的歌曲将基于此。
  • prompt: 自定义提示。
  • lyrics_strength: 歌词的强度。
  • negative_prompt: 负面提示。
  • prompt_strength: 提示的强度,值范围为 [0,1]。
  • clarity_strength: 清晰度强度,值范围为 [0,1]。
  • song_section_start: 歌曲段落的起始位置,值范围为 [0,1]。
  • song_section_end: 歌曲段落的结束位置,值范围为 [0,1]。
  • lyrics_placement_start: 歌词放置的起始位置,值范围为 [0,1]。
  • lyrics_placement_end: 歌词放置的结束位置,值范围为 [0,1]。
  • quality: 生成音乐的质量。
  • callback_url: 回调结果的 URL。

构造完成后,您可以在右侧看到生成的代码示例,如下图所示:

点击“尝试”按钮进行测试,您将收到如下结果:

{
  "success": true,
  "data": [
    {
      "id": "c97f3596-f355-46be-b204-032c0122e628",
      "title": "Morning Reflections",
      "image_url": "https://imagedelivery.net/C9yUr1FL21Q6JwfYYh2ozQ/58034603-f941-4002-5ca4-6b9a5cd2a400/public",
      "lyric": "",
      "audio_url": "https://storage.googleapis.com/udio-artifacts-c33fe3ba-3ffe-471f-92c8-5dfef90b3ea3/samples/ce45f47cbac34eabb582412a91eaa528/1/The%2520Untitled.mp3",
      "created_at": "2025-04-09T13:23:42.882609+00:00",
      "state": "completed",
      "prompt": "White ceramic coffee mug on glossy marble countertop with morning window light. Camera slowly rotates 360 degrees around the mug, pausing briefly at the handle.",
      "style": [
        "White ceramic coffee mug on glossy marble countertop with morning window light. Camera slowly rotates 360 degrees around the mug",
        "pausing briefly at the handle."
      ],
      "duration": 32.8106666666667
    }
  ],
  "task_id": "57691d34-5ffe-41f3-8a3c-7824235db4bf",
  "trace_id": "6f5916ae-3535-422a-b798-1dc8bb721bc4"
}

返回结果中包含多个字段,具体说明如下:

  • success: 音乐生成任务的状态。
  • data: 音乐任务的结果。
    • id: 当前音乐生成任务的 ID。
    • title: 音乐的标题。
    • image_url: 音乐的封面。
    • audio_url: 音频文件的链接。
    • prompt: 此音乐生成任务的提示。
    • style: 音乐的风格。
    • state: 当前音乐生成任务的状态。

通过音频链接,您可以获取生成的 Udio 音乐。

CURL 示例

如果您需要生成相应的集成代码,可以直接复制生成的代码,以下是 CURL 示例:

curl -X POST 'https://api.acedata.cloud/udio/audios' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "action": "generate",
  "model": "udio130-v1.5",
  "prompt": "White ceramic coffee mug on glossy marble countertop with morning window light. Camera slowly rotates 360 degrees around the mug, pausing briefly at the handle."
}'

异步回调

由于 Udio Audios Generation API 的生成时间较长,通常需要 1-2 分钟,如果长时间未响应,HTTP 请求会保持连接,导致额外的系统资源消耗。因此,该 API 还支持异步回调。

流程如下:客户端发起请求时,指定一个 callback_url 字段。API 会立即返回一个包含 task_id 字段的结果,表示当前任务 ID。当任务完成后,生成的任务结果将以 POST JSON 的形式发送到客户端指定的 callback_url,同时包含 task_id 字段,便于通过 ID 关联任务。

示例

首先,Webhook 回调是一个可以接收 HTTP 请求的服务,开发者应将其替换为自己的 HTTP 服务器的 URL。为演示目的,我们可以使用公共 Webhook 示例网站 webhook.site/,获取 Webhook URL,如下图所示:

复制该 URL,作为 Webhook 使用。示例为 https://webhook.site/624b2c78-6dbd-4618-9d2b-b32eade6d8c3

接下来,我们可以将 callback_url 字段设置为上述 Webhook URL,并填写相应参数,如下图:

点击运行后,您将立即收到如下结果:

{
  "task_id": "20068983-0cc9-4c6a-aeb6-9c6a3c668be0"
}

稍后,您可以在 https://webhook.site/624b2c78-6dbd-4618-9d2b-b32eade6d8c3 查看生成任务结果,如下图所示:

其内容如下:

{
  "success": true,
  "data": [
    {
      "id": "c97f3596-f355-46be-b204-032c0122e628",
      "title": "Morning Reflections",
      "image_url": "https://imagedelivery.net/C9yUr1FL21Q6JwfYYh2ozQ/58034603-f941-4002-5ca4-6b9a5cd2a400/public",
      "lyric": "",
      "audio_url": "https://storage.googleapis.com/udio-artifacts-c33fe3ba-3ffe-471f-92c8-5dfef90b3ea3/samples/ce45f47cbac34eabb582412a91eaa528/1/The%2520Untitled.mp3",
      "created_at": "2025-04-09T13:23:42.882609