Эндпоинты API

Конвертация WAV

POST/v2/wav/generate

Создание конвертации WAV

Создайте задачу конвертации WAV для аудиофайла из существующей задачи генерации музыки.

POSThttps://udioapi.pro/api/v2/wav/generate

tips

Используйте task_id генерации музыки и audio_id выбранного результата.

Возвращенный ID wav... используется для статуса, журналов и webhook. Проверяйте статус каждые 5-10 секунд.

requestHeaders

namerequireddescription
nameAuthorizationrequiredyesdescriptionBearer API-ключ для аутентификации и проверки владельца задачи
nameContent-TyperequiredyesdescriptionТело запроса JSON

requestBody

Исходная задача, аудиофайл и необязательный адрес webhook

commonParams

paramNameparamTyperequireddescriptionexample
paramNametask_idparamTypestringrequiredyesdescriptionID задачи генерации музыки Udio APIexamplegen2abc123def456bksv
paramNameaudio_idparamTypestringrequiredyesdescriptionID аудио из результата исходной задачиexamplee231f197-6bcb-4d70-bb8f-749b7f3272b8
paramNamecallback_urlparamTypestringrequirednodescriptionHTTPS-адрес для итогового статуса WAVexamplehttps://api.example.com/webhooks/wav

responses

json
{
  "code": 200,
  "message": "success",
  "workId": "wav7f93c2a18d4e4d61b63d2fd142f31c90",
  "data": {
    "task_id": "wav7f93c2a18d4e4d61b63d2fd142f31c90",
    "status": "IN_PROGRESS"
  }
}
json
{
  "code": 401,
  "message": "No API key provided in Authorization header",
  "data": null
}
json
{
  "code": 403,
  "message": "You do not have access to this music task",
  "data": null
}
json
{
  "code": 404,
  "message": "Original music task not found",
  "data": null
}
json
{
  "code": 422,
  "message": "task_id and audio_id are required",
  "data": null
}
json
{
  "code": 500,
  "message": "Internal Server Error",
  "data": null
}

codeExamples

curl
curl -X POST "https://udioapi.pro/api/v2/wav/generate" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "task_id": "gen2abc123def456bksv",
    "audio_id": "e231f197-6bcb-4d70-bb8f-749b7f3272b8",
    "callback_url": "https://api.example.com/webhooks/wav"
  }'
javascript
const response = await fetch('https://udioapi.pro/api/v2/wav/generate', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    task_id: 'gen2abc123def456bksv',
    audio_id: 'e231f197-6bcb-4d70-bb8f-749b7f3272b8',
    callback_url: 'https://api.example.com/webhooks/wav'
  })
});

const result = await response.json();
console.log(result.data.task_id);
GET/v2/wav/status

Статус конвертации WAV

Получите текущий статус и URL WAV по ID, возвращенному endpoint создания.

GEThttps://udioapi.pro/api/v2/wav/status

tips

Статусы: IN_PROGRESS, SUCCESS, FAILED, ERROR.

Принимается только ID задачи WAV Udio API; ID провайдера не требуется и не возвращается.

requestHeaders

namerequireddescription
nameAuthorizationrequiredyesdescriptionBearer API-ключ для аутентификации и проверки владельца задачи

requestParams

paramNameparamTyperequireddescription
paramNametask_idparamTypestringrequiredyesdescriptionID задачи WAV из endpoint создания

responses

json
{
  "code": 200,
  "message": "success",
  "data": {
    "type": "IN_PROGRESS",
    "task_id": "wav7f93c2a18d4e4d61b63d2fd142f31c90",
    "audio_wav_url": "",
    "created_at": "2026-07-18 03:20:00",
    "updated_at": "2026-07-18 03:20:00",
    "error_message": null
  }
}
json
{
  "code": 200,
  "message": "success",
  "data": {
    "type": "SUCCESS",
    "task_id": "wav7f93c2a18d4e4d61b63d2fd142f31c90",
    "audio_wav_url": "https://cdn.example.com/audio/converted.wav",
    "created_at": "2026-07-18 03:20:00",
    "updated_at": "2026-07-18 03:21:06",
    "error_message": null
  }
}
json
{
  "code": 200,
  "message": "success",
  "data": {
    "type": "FAILED",
    "task_id": "wav7f93c2a18d4e4d61b63d2fd142f31c90",
    "audio_wav_url": "",
    "created_at": "2026-07-18 03:20:00",
    "updated_at": "2026-07-18 03:21:06",
    "error_message": "WAV conversion failed"
  }
}
json
{
  "code": 401,
  "message": "No API key provided in Authorization header",
  "data": null
}
json
{
  "code": 403,
  "message": "You do not have access to this WAV conversion task",
  "data": null
}
json
{
  "code": 404,
  "message": "WAV conversion task not found",
  "data": null
}
json
{
  "code": 422,
  "message": "task_id is required",
  "data": null
}

codeExamples

curl
curl -X GET "https://udioapi.pro/api/v2/wav/status?task_id=wav7f93c2a18d4e4d61b63d2fd142f31c90" \
  -H "Authorization: Bearer YOUR_API_KEY"
javascript
async function pollWav(taskId) {
  while (true) {
    const response = await fetch(
      'https://udioapi.pro/api/v2/wav/status?task_id=' + encodeURIComponent(taskId),
      { headers: { 'Authorization': 'Bearer YOUR_API_KEY' } }
    );
    const result = await response.json();

    if (['SUCCESS', 'FAILED', 'ERROR'].includes(result.data?.type)) {
      return result;
    }

    await new Promise(resolve => setTimeout(resolve, 5000));
  }
}
POSTcallback_url

Webhook конвертации WAV

Если указан callback_url, итоговый статус отправляется с тем же ID WAV, что используется в API статуса.

POSTcallback_url

tips

Быстро верните ответ 2xx. Используется существующая стратегия одной попытки.

Payload не содержит ID провайдера или исходный ответ провайдера.

requestBody

json
{
  "code": 200,
  "message": "success",
  "data": {
    "type": "SUCCESS",
    "task_id": "wav7f93c2a18d4e4d61b63d2fd142f31c90",
    "audio_wav_url": "https://cdn.example.com/audio/converted.wav",
    "error_message": null
  }
}

codeExamples

javascript
app.post('/webhooks/wav', express.json(), (req, res) => {
  const { type, task_id, audio_wav_url, error_message } = req.body.data;

  if (type === 'SUCCESS') {
    console.log('WAV ready', task_id, audio_wav_url);
  } else {
    console.error('WAV failed', task_id, error_message);
  }

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