API エンドポイント

コールバック

POST/generate

音楽コールバック API を生成する

コールバック サポートを備えた AI を使用して音楽を生成します。

POSThttps://udioapi.pro/api/generate

tips

このエンドポイントは、生成結果をコールバック URL に送信します。

コールバック URL はパブリックであり、POST リクエストを受け入れる必要があります。

requestHeaders

namerequireddescription
Authorizationyes認証用ベアラートークン
Content-Typeyesapplication/json

requestBody

リクエスト本文は、インスピレーション モードまたはカスタム モードに加えてコールバック URL をサポートします

インスピレーションモード

テキストの説明から生成

paramNameparamTyperequireddescriptionexample
gpt_description_promptstringyesテキスト説明プロンプトA upbeat pop song about summer vacation with catchy melody

カスタムモード

カスタムの歌詞、スタイル、タイトルを使用して生成

paramNameparamTyperequireddescriptionexample
promptstringyesカスタムの歌詞またはプロンプトVerse 1: Walking down the street, feeling so free...
stylestringno音楽スタイルpop, upbeat, electronic, 120 bpm
titlestringno曲名Summer Dreams
tagsstringnoネガティブタグsad, slow

commonParams

paramNameparamTyperequireddescriptionexample
callback_urlstringyes生成コールバックを受信するためのパブリック URLhttps://your-domain.com/api/callback
modelstringnoAIモデルchirp-v5-5
make_instrumentalbooleannoインストゥルメンタル音楽を生成するfalse
genderstringno声の性別の好みfemale
style_weightnumbernoスタイル密着力0.65
weirdness_constraintnumberno創造的な偏差制御0.65
audio_weightnumbernoオーディオ機能のバランス0.65

responses

json
{
  "code": 200,
  "message": "success",
  "workId": "gen2abc123def456bksv",
  "data": {
    "task_id": "gen2abc123def456bksv"
  }
}
json
{
  "code": 400,
  "message": "callback_url is required"
}
json
{
  "code": 401,
  "message": "No API key provided in Authorization header"
}
json
{
  "code": 500,
  "message": "Internal Server Error",
  "data": {
    "task_id": "gen2abc123def456bksv"
  },
  "workId": "gen2abc123def456bksv"
}
json
[
  {
    "id": "081a452c-45e2-44d2-88cc-15e06fb2544d",
    "audio_url": "",
    "image_url": "https://image_.jpeg",
    "image_large_url": "https://image_0.jpeg",
    "created_at": "2025-08-19T23:07:28.936Z",
    "createTime": "2025-08-19T23:07:28.936Z",
    "timestamp": 1755616048327,
    "status": "text",
    "title": "xxxx",
    "prompt": "xxxxxxxxx",
    "tags": "xxx",
    "duration": "",
    "model_name": "chirp-v3-5",
    "extra_message": "Text generated successfully.",
    "fail_message": "",
    "error_message": ""
  },
  {
    "id": "2a20be9d-c876-45e3-a3ed-867b5bf3c4e6",
    "audio_url": "",
    "image_url": "https://image_.jpeg",
    "image_large_url": "https://image_.jpeg",
    "created_at": "2025-08-19T23:07:28.936Z",
    "createTime": "2025-08-19T23:07:28.936Z",
    "timestamp": 1755616048327,
    "status": "text",
    "title": "xxxx",
    "prompt": "xxxxxxxx",
    "tags": "xxxxx",
    "duration": "",
    "model_name": "chirp-v3-5",
    "extra_message": "Text generated successfully.",
    "fail_message": "",
    "error_message": ""
  }
]
json
[
  {
    "id": "081a452c-45e2-44d2-88cc-15e06fb2544d",
    "audio_url": "https://xxxx.mp3",
    "image_url": "https://xxxx.jpeg",
    "image_large_url": "https://xxxx.jpeg",
    "created_at": "2025-08-19T23:09:09.050Z",
    "createTime": "2025-08-19T23:09:09.050Z",
    "timestamp": 1755616048327,
    "status": "first",
    "title": "xxxx",
    "prompt": "xxxxx",
    "tags": "xxx",
    "duration": 156.36,
    "model_name": "chirp-v3-5",
    "extra_message": "First audio generated successfully.",
    "fail_message": "",
    "error_message": ""
  },
  {
    "id": "2a20be9d-c876-45e3-a3ed-867b5bf3c4e6",
    "audio_url": "",
    "image_url": "https://xxxx.jpeg",
    "image_large_url": "https://xxxxx.jpeg",
    "created_at": "2025-08-19T23:09:09.050Z",
    "createTime": "2025-08-19T23:09:09.050Z",
    "timestamp": 1755616048327,
    "status": "first",
    "title": "xxxx",
    "prompt": "xxxxxxx",
    "tags": "xxxxx",
    "duration": "",
    "model_name": "chirp-v3-5",
    "extra_message": "First audio generated successfully.",
    "fail_message": "",
    "error_message": ""
  }
]
json
[
  {
    "id": "94316433-5bf5-4fb2-9285-83e60aaca920",
    "audio_url": "https://xxxx.mp3",
    "image_url": "https://xxx.jpeg",
    "image_large_url": "https://xxx.jpeg",
    "created_at": "2025-08-19T23:20:53.879Z",
    "createTime": "2025-08-19T23:20:53.879Z",
    "timestamp": 1755616853152,
    "status": "complete",
    "title": "xxxx",
    "prompt": "xxxxx",
    "tags": "xxxx",
    "duration": 122,
    "model_name": "chirp-v3-5",
    "extra_message": "All generated successfully.",
    "fail_message": "",
    "error_message": ""
  },
  {
    "id": "8206443a-1bd8-4cfd-8ef2-29c16b25c8b7",
    "audio_url": "https://xxxxx.mp3",
    "image_url": "https://xxxxxx.jpeg",
    "image_large_url": "https://xxxxx.jpeg",
    "created_at": "2025-08-19T23:20:53.879Z",
    "createTime": "2025-08-19T23:20:53.879Z",
    "timestamp": 1755616853152,
    "status": "complete",
    "title": "xxxx",
    "prompt": "xxx",
    "tags": "xxxx",
    "duration": 178.64,
    "model_name": "chirp-v3-5",
    "extra_message": "All generated successfully.",
    "fail_message": "",
    "error_message": ""
  }
]

codeExamples

curl
curl -X POST "https://udioapi.pro/api/generate" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "callback_url": "https://your-domain.com/api/callback",
    "model": "chirp-v4-5",
    "gpt_description_prompt": "A upbeat pop song about summer vacation with catchy melody",
    "make_instrumental": false,
    "gender": "female",
    "style_weight": 0.65,
    "weirdness_constraint": 0.65,
    "audio_weight": 0.65
  }'
curl
curl -X POST "https://udioapi.pro/api/generate" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "callback_url": "https://your-domain.com/api/callback",
    "model": "chirp-v4-5",
    "prompt": "Verse 1: Walking down the street, feeling so free\nChorus: Summer dreams are calling me",
    "style": "pop, upbeat, electronic, 120 bpm",
    "title": "Summer Dreams",
    "make_instrumental": false,
    "gender": "female",
    "style_weight": 0.65,
    "weirdness_constraint": 0.65,
    "audio_weight": 0.65
  }'
javascript
const response = await fetch('https://udioapi.pro/api/generate', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    callback_url: 'https://your-domain.com/api/callback',
    model: 'chirp-v4-5',
    gpt_description_prompt: 'A upbeat pop song about summer vacation with catchy melody',
    make_instrumental: false,
    gender: 'female',
    style_weight: 0.65,
    weirdness_constraint: 0.65,
    audio_weight: 0.65
  })
});

const data = await response.json();
console.log(data);
javascript
const response = await fetch('https://udioapi.pro/api/generate', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    callback_url: 'https://your-domain.com/api/callback',
    model: 'chirp-v4-5',
    prompt: 'Verse 1: Walking down the street, feeling so free\nChorus: Summer dreams are calling me',
    style: 'pop, upbeat, electronic, 120 bpm',
    title: 'Summer Dreams',
    make_instrumental: false,
    gender: 'female',
    style_weight: 0.65,
    weirdness_constraint: 0.65,
    audio_weight: 0.65
  })
});

const data = await response.json();
console.log(data);
python
import requests

url = "https://udioapi.pro/api/generate"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
}
data = {
    "callback_url": "https://your-domain.com/api/callback",
    "model": "chirp-v4-5",
    "gpt_description_prompt": "A upbeat pop song about summer vacation with catchy melody",
    "make_instrumental": False,
    "gender": "female",
    "style_weight": 0.65,
    "weirdness_constraint": 0.65,
    "audio_weight": 0.65
}

response = requests.post(url, headers=headers, json=data)
print(response.json())
python
import requests

url = "https://udioapi.pro/api/generate"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
}
data = {
    "callback_url": "https://your-domain.com/api/callback",
    "model": "chirp-v4-5",
    "prompt": "Verse 1: Walking down the street, feeling so free\nChorus: Summer dreams are calling me",
    "style": "pop, upbeat, electronic, 120 bpm",
    "title": "Summer Dreams",
    "make_instrumental": False,
    "gender": "female",
    "style_weight": 0.65,
    "weirdness_constraint": 0.65,
    "audio_weight": 0.65
}

response = requests.post(url, headers=headers, json=data)
print(response.json())
javascript
// Example callback endpoint to receive generation results
app.post('/api/callback', express.json(), (req, res) => {
  const results = req.body;

  console.log('Received callback:', results);

  results.forEach(result => {
    console.log(`Task ${result.id} status: ${result.status}`);

    switch(result.status) {
      case 'text':
        console.log('Lyrics generated:', result.title);
        break;
      case 'first':
        console.log('First audio ready:', result.audio_url);
        break;
      case 'complete':
        console.log('All audio complete:', result.audio_url);
        break;
    }
  });

  res.status(200).json({ received: true });
});