APIOverview (1/6)

POST /v2/cover/generate

Generate AI cover images for your music tracks. Consumes 1 credit per request.

POSThttps://aimusicapi.org/api/v2/cover/generate

tips

How it works:

  • Step 1: Call /v2/cover/generate with your music task ID to start cover generation
  • Step 2: Use the returned taskId to poll /v2/cover/status for results
  • Step 3: When status is SUCCESS, get the generated cover images from images array

Credit Cost: 1 credit per cover generation request.


Important Notes:

  • Cover image file URLs will be retained for 14 days
  • Each music task can only generate a Cover once; duplicate requests will return a 400 error
  • It's recommended to call this interface after music generation is complete
  • Usually generates 2 different style images for selection

requestHeaders

Authorizationrequired

Bearer token for authentication (your API key)

Content-Typerequired

application/json

Request Body

Request body for generating music cover

Common Parameters
Parameter Type Required Description Example
taskIdstringYesThe task ID of the original music generation. This is the workId returned from the /v2/generate endpoint.gen123213213213123bksv

responses

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

codeExamples

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

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://aimusicapi.org/api/v2/cover/status?task_id=${coverTaskId}`,
    {
      method: 'GET',
      headers: {
        'Authorization': 'Bearer YOUR_API_KEY'
      }
    }
  );
  return await statusResponse.json();
};

// Poll until complete
let status = await checkStatus(generateData.data.taskId);
while (status.data?.status === 'IN_PROGRESS') {
  await new Promise(resolve => setTimeout(resolve, 5000)); // Wait 5 seconds
  status = await checkStatus(generateData.data.taskId);
}

console.log('Cover images:', status.data.images);

GET /v2/cover/status

Check the status of a cover generation task and retrieve generated cover images.

GEThttps://aimusicapi.org/api/v2/cover/status

requestParams

task_idstringrequired

The cover task ID returned from /v2/cover/generate

requestHeaders

Authorizationrequired

Bearer token for authentication (your API key)

responses

{
  "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"
  }
}
{
  "code": 200,
  "msg": "success",
  "data": {
    "taskId": "cover123123213213b880d2",
    "status": "IN_PROGRESS",
    "images": null,
    "created_at": "2026-01-01 00:00:00"
  }
}
{
  "code": 200,
  "msg": "success",
  "data": {
    "taskId": "cover123123213213b880d2",
    "status": "FAILED",
    "error": "Cover generation failed",
    "images": null,
    "created_at": "2026-01-01 00:00:00"
  }
}
{
  "code": 404,
  "msg": "Cover task not found",
  "data": null
}

codeExamples

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