Back to Suno Model

Upload Cover (Audio-to-Audio)

Generate new music using your own uploaded audio as a starting point. Supports non-custom and custom modes.

1. Generate from Upload

POST/api/v1/audio/music/upload-cover/generate

First, upload your audio via the Suno web interface or a standard upload API to get an audio_id.

Then, call this API using the audio_id as the source. You can choose to extend it as-is or override the style with custom parameters.

Length Limits: Uploaded audio must be between 6 and 60 seconds.

Credits: 5-12 credits based on the model variation generated.

Required Parameters

Body ParametersJSON
audio_id:string

The ID of the uploaded audio file.

Optional / Custom Mode Parameters

Body ParametersJSON
custom_mode:optional boolean

Set to true to use custom settings (prompt, style, title). Defaults to false.

prompt:optional string

Lyrics or detailed prompt. Required if custom_mode is true.

style:optional string

Musical style/genre for the generated track.

title:optional string

Title of the generated track.

callback_url:optional string

Webhook URL to get the result asynchronously.

cURL Example

bash
1curl -X POST "https://apiin.one/api/v1/audio/music/upload-cover/generate" \
2 -H "Authorization: Bearer aio_your_api_key_here" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "audio_id": "aud123456789",
6 "custom_mode": true,
7 "prompt": "Here are some new lyrics for the intro...",
8 "style": "acoustic pop"
9 }'

Response Example

json
1{
2 "code": 200,
3 "message": "success",
4 "data": {
5 "task_id": "upl987654321bksv"
6 }
7}

2. Check Status

GET/api/v1/audio/music/upload-cover/status?task_id={task_id}

Poll for the status of your task using the task_id returned from the generation endpoint.

Request Parameters

Body ParametersJSON
task_id:string

The task ID returned from /upload-cover/generate

cURL Example

bash
1curl -X GET "https://apiin.one/api/v1/audio/music/upload-cover/status?task_id=upl987654321bksv" \
2 -H "Authorization: Bearer aio_your_api_key_here"

Response Example

json
1{
2 "code": 200,
3 "message": "success",
4 "data": {
5 "task_id": "upl987654321bksv",
6 "status": "complete",
7 "clips": [
8 {
9 "id": "song_abc",
10 "audio_url": "https://audiopipe.suno.ai/?item_id=song_abc",
11 "image_url": "https://cdn2.suno.ai/image_abc.jpeg"
12 }
13 ],
14 "created_at": "2026-02-24T12:00:30Z"
15 }
16}

Error Handling

Body ParametersJSON
400:optional invalid_request

Missing audio_id, or uploaded audio length does not meet guidelines (6-60s).

401:optional authentication_error

Invalid or missing API key.

404:optional not_found

Audio ID or task ID not found.