This API creates a cover version of an audio track by transforming it into a new style while retaining its core melody. It incorporates Suno's upload capability, enabling users to upload an audio file for processing. The expected result is a refreshed audio track with a new style, keeping the original melody intact.
style (max 1000 chars), title (max 80 chars), lyrics / prompt (max 5000 chars)style (max 1000 chars), title (max 100 chars), prompt (max 5000 chars)style (max 1000 chars), title (max 100 chars), prompt (max 5000 chars)style (max 1000 chars), title (max 80 chars), prompt (max 5000 chars)style (max 200 chars), title (max 80 chars), prompt (max 3000 chars)image_urls. Cover does not support simple-mode reference images.instrumental, model, plus a source: either upload_url, or task_id + audio_id of a track you generated on KIEupload_url, or task_id + audio_id), generation can proceed; lyrics (formerly used via prompt), title, and style are optionallyrics takes priority over prompt as lyrics. If lyrics is omitted, prompt is used as lyrics when providedinstrumental is true: generate instrumental music (no vocals). Do not pass lyrics, prompt, or vocal_genderupload_url specifies the source audio file; ensure the uploaded audio does not exceed 8 minutes in lengthtask_id + audio_id cover a track you already generated: task_id is the generation task, audio_id is the id of the specific track in its result (each track in the callback data or recordInfo carries an id). Mutually exclusive with upload_urllyrics / prompt, style, and title to ensure successful processing.text (text generation complete), first (first track complete), and complete (all tracks complete).upload_url parameter is used to specify the source audio file; please provide a valid URL. To cover a track generated on KIE, pass task_id and audio_id instead.| Parameter | Type | Description |
|---|---|---|
lyrics | string | Lyrics for the covered audio. Optional. V6 maximum 5000 characters. Takes priority over prompt as lyrics. |
prompt | string | Used as lyrics only when lyrics is not provided. Optional. V6 maximum 5000 characters. |
style | string | Music style specification. Optional. V6 maximum 1000 characters. |
title | string | Track title. Optional. Maximum 80 characters. |
negative_tags | string | Music styles or traits to exclude from the generated audio. |
vocal_gender | string | Vocal gender preference. Use m for male, f for female. |
style_weight | number | Strength of adherence to style. Range 0–1, up to 2 decimal places. Example: 0.65. |
weirdness_constraint | number | Controls creative deviation. Range 0–1, up to 2 decimal places. Example: 0.65. |
audio_weight | number | Balance weight for audio features. Range 0–1, up to 2 decimal places. Example: 0.65. |
variety | integer | Diversity of generated results. Integer from 0–4, default 1. 0 off, 1 normal, 2 high, 3 extra, 4 max. |
persona_id | string | Persona ID or Voice ID to apply to the generated music. To create one, use Generate Persona. |
duration | integer | Target length in seconds (10–360). Optional; if omitted, the model chooses the length. Valid when model is |
curl --location 'https://api.kie.ai/api/v1/jobs/createTask' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "ai-music-api/upload-and-cover-audio",
"callBackUrl": "https://api.example.com/callback",
"input": {
"upload_url": "https://storage.example.com/upload",
"prompt": "A calm and relaxing piano track with soft melodies",
"instrumental": true,
"model": "V4",
"style": "Classical",
"title": "Peaceful Piano Meditation",
"negative_tags": "Heavy Metal, Upbeat Drums",
"vocal_gender": "m",
"style_weight": 0.65,
"weirdness_constraint": 0.65,
"audio_weight": 0.65,
"persona_id": "persona_123",
"persona_model": "style_persona",
"lyrics": "[Verse]\nKeep the melody flowing\nInto a gentle bridge\n[Chorus]\nLet the piano rise and fall",
"variety": 1
}
}'{
"code": 200,
"msg": "success",
"data": {
"taskId": "5c79****be8e"
}
}