Points d'accès API

Image de couverture

POST/v2/cover/generate

Générer une API de couverture musicale

Générez des images de couverture AI pour vos morceaux de musique. Consomme 1 crédit par demande.

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

tips

Fonctionnement : générez une tâche, interrogez l'état, puis récupérez des images.

Remarque : les URL sont conservées pendant 14 jours.

requestHeaders

namerequireddescription
AuthorizationyesJeton du porteur pour l'authentification
Content-Typeyesapplication/json

requestBody

Corps de la demande pour la génération de couverture

commonParams

paramNameparamTyperequireddescriptionexample
taskIdstringyesID de tâche de génération de musique d'originegen123213213213123bksv

responses

json
{
  "code": 200,
  "msg": "success",
  "data": {
    "taskId": "cover123123213213b880d2"
  }
}
json
{
  "code": 400,
  "msg": "Cover already exists for this task"
}
json
{
  "code": 401,
  "message": "No API key provided in Authorization header"
}
json
{
  "code": 402,
  "message": "Insufficient balance, please recharge"
}
json
{
  "code": 404,
  "message": "Original music task not found, please check your task id"
}

codeExamples

curl
curl -X POST "https://udioapi.pro/api/v2/cover/generate" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "taskId": "gen123213213213123bksv"
  }'
javascript
// Step 1: Generate cover
const generateResponse = await fetch('https://udioapi.pro/api/v2/cover/generate', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    taskId: 'gen123213213213123bksv'
  })
});

const generateData = await generateResponse.json();
console.log('Cover task created:', generateData.data.taskId);

// Step 2: Poll for status
const checkStatus = async (coverTaskId) => {
  const statusResponse = await fetch(
    `https://udioapi.pro/api/v2/cover/status?task_id=${coverTaskId}`,
    {
      method: 'GET',
      headers: {
        'Authorization': 'Bearer YOUR_API_KEY'
      }
    }
  );
  return await statusResponse.json();
};

let status = await checkStatus(generateData.data.taskId);
while (status.data?.status === 'IN_PROGRESS') {
  await new Promise(resolve => setTimeout(resolve, 5000));
  status = await checkStatus(generateData.data.taskId);
}

console.log('Cover images:', status.data.images);
GET/v2/cover/status

API de statut de couverture musicale

Vérifiez l'état de la génération de couverture et récupérez les images.

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

requestHeaders

namerequireddescription
AuthorizationyesJeton du porteur pour l'authentification

requestParams

paramNameparamTyperequireddescription
task_idstringyesID de tâche de couverture renvoyé par /v2/cover/generate

responses

json
{
  "code": 200,
  "msg": "success",
  "data": {
    "taskId": "cover123123213213b880d2",
    "status": "SUCCESS",
    "images": [
      "https://tempcover.storage.com/s/123.png",
      "https://tempcover.storage.com/s/456.png"
    ],
    "created_at": "2026-01-01 00:00:30"
  }
}
json
{
  "code": 200,
  "msg": "success",
  "data": {
    "taskId": "cover123123213213b880d2",
    "status": "IN_PROGRESS",
    "images": null,
    "created_at": "2026-01-01 00:00:00"
  }
}
json
{
  "code": 200,
  "msg": "success",
  "data": {
    "taskId": "cover123123213213b880d2",
    "status": "FAILED",
    "error": "Cover generation failed",
    "images": null,
    "created_at": "2026-01-01 00:00:00"
  }
}
json
{
  "code": 404,
  "msg": "Cover task not found",
  "data": null
}

codeExamples

curl
curl -X GET "https://udioapi.pro/api/v2/cover/status?task_id=cover123123213213b880d2" \
  -H "Authorization: Bearer YOUR_API_KEY"