Points d'accès API

Conversion WAV

POST/v2/wav/generate

Créer une conversion WAV

Crée une tâche de conversion WAV pour un élément audio d'une tâche musicale existante.

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

tips

Utilisez le task_id de génération musicale et l'audio_id du résultat choisi.

L'ID wav... retourné sert au statut, aux journaux et aux webhooks. Interrogez toutes les 5-10 secondes.

requestHeaders

namerequireddescription
nameAuthorizationrequiredyesdescriptionClé API Bearer pour l'authentification et la vérification du propriétaire
nameContent-TyperequiredyesdescriptionCorps de requête JSON

requestBody

Tâche source, élément audio et destination webhook facultative

commonParams

paramNameparamTyperequireddescriptionexample
paramNametask_idparamTypestringrequiredyesdescriptiontaskId Udio API de génération musicaleexamplegen2abc123def456bksv
paramNameaudio_idparamTypestringrequiredyesdescriptionID audio du résultat de la tâche sourceexamplee231f197-6bcb-4d70-bb8f-749b7f3272b8
paramNamecallback_urlparamTypestringrequirednodescriptionAdresse HTTPS recevant le statut WAV finalexamplehttps://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

Statut de conversion WAV

Récupère le statut et l'URL WAV avec l'ID retourné par l'endpoint de création.

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

tips

Statuts : IN_PROGRESS, SUCCESS, FAILED, ERROR.

Seul l'ID WAV Udio API est accepté ; aucun autre identifiant de tâche n'est requis ni retourné.

requestHeaders

namerequireddescription
nameAuthorizationrequiredyesdescriptionClé API Bearer pour l'authentification et la vérification du propriétaire

requestParams

paramNameparamTyperequireddescription
paramNametask_idparamTypestringrequiredyesdescriptionID WAV retourné par l'endpoint de création

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 de conversion WAV

Avec callback_url, le statut final est envoyé avec le même ID WAV que l'API de statut.

POSTcallback_url

tips

Répondez rapidement en 2xx. La stratégie existante effectue une seule tentative.

Le payload contient uniquement l'ID public de la tâche et les champs de résultat documentés ici.

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 });
});