No audio yet. Submit the form to generate audio.
Explore different use cases and parameter configurations
Transparent pricing with no hidden fees. Pay as you go.
| Rule & Modality | Channel | Credits | Price (USD) | Official / Reference Price | Daily Savings |
|---|---|---|---|---|---|
Suno extend musicSuno | Starter | 1per run | $0.005 | - | - |
Complete guide to using Suno
Extend existing AI-generated songs with seamless continuation, adding new sections while maintaining musical coherence.

The Suno V5_5 Extension API allows you to extend songs previously generated with Suno V5_5. This feature enables you to create longer compositions by adding new sections that seamlessly continue from any point in the original track. Whether you want to add another verse, extend the outro, or build toward a climactic finish, the extension API maintains the musical style, key, tempo, and feel of the original while generating new content.
Let the AI automatically continue the song using the original parameters. Perfect for quick extensions that maintain perfect consistency with the source track.
Take control by specifying the start point, new prompt, style, and title. Ideal for creative control over how the song develops and evolves.
Extensions blend naturally with the original track, matching tempo, key, and style for professional-sounding longer compositions.
Choose exactly where to start the extension. Continue from the end, overlap with the outro, or branch from any moment in the song.
Maintain the original style or evolve it with custom parameters. Build up energy, transition to a different mood, or add new musical elements.
Extend songs multiple times to create epic-length tracks. Each extension can be further extended, enabling complex song structures.
Extend your AI-generated songs in a few simple steps
First, create a song using the suno/generate API. Note the audio ID from the response for the track you want to extend.
Decide between automatic extension (using original parameters) or custom extension (with your own parameters).
For custom extensions, specify the continueAt time in seconds where the extension should begin.
Call the API with the audio ID and your chosen parameters. The extension will generate seamlessly from your specified point.
Retrieve the extended audio file. The result includes the original content plus the new extension as a complete track.
Follow these guidelines for seamless song extensions
Extend from natural transition points like the end of a phrase, after a chorus, or during an instrumental break for the smoothest results.
In custom mode, describe how the music should evolve - build energy, add instruments, transition to bridge, or wind down for outro.
When using custom parameters, keep the style similar to the original for cohesive results, or intentionally contrast for dynamic transitions.
Create complete 4-5 minute songs by extending initial generations, perfect for commercial music production.
Extend tracks with variations perfect for DJ mixing, live performances, and extended dance versions.
Build longer background music pieces for videos, games, and multimedia projects by chaining extensions.
Create alternative versions of songs by extending from different points with different styles.
Works perfectly with suno/generate generated tracks. Use the same API key and workflow for original generation and extensions.
Create longer compositions without regenerating entire songs. Extensions are priced fairly based on the new content generated.
Extensions maintain the same high quality as original Suno V5_5 generations with seamless audio continuity.
All APIs require authentication via Bearer Token.
Authorization: Bearer
Use the SDK to create tasks, store the returned taskId, and retrieve results for Suno.
Install @apipass-dev/apipass-sdk before running these SDK examples.
1npm install @apipass-dev/apipass-sdk
2# or
3pnpm add @apipass-dev/apipass-sdk
4# or
5yarn add @apipass-dev/apipass-sdkKeep your API key in server-side environment variables. The SDK sends it as a Bearer token and adds JSON headers automatically.
client.jobs.createTaskCreate a new task to extend an existing Suno V6 generated song
Use this example to get started quickly with the selected SDK.
1import { Apipass } from "@apipass-dev/apipass-sdk";
2
3const client = new Apipass({
4 apiKey: process.env.APIPASS_API_KEY!,
5});
6
7const task = await client.jobs.createTask({
8 "model": "suno/extend",
9 "callBackUrl": "https://your-domain.com/api/callback",
10 "input": {
11 "audioId": "abc123-def456-ghi789",
12 "continueAt": 120,
13 "prompt": "Build up to a powerful chorus with harmonies and drums",
14 "style": "Pop Rock, Uplifting, Anthemic",
15 "title": "Rise Again (Extended)"
16 }
17});
18
19console.log(task.data.taskId);The API accepts a JSON payload with the following structure:
1{
2 "model": "suno/extend",
3 "callBackUrl": "string (optional)",
4 "input": {
5 "model_version": "V6 | V6_MINI | V6_WILD",
6 "audioId": "string (required)",
7 "instrumental": "boolean",
8 "continueAt": "integer",
9 "prompt": "string",
10 "style": "string",
11 "title": "string",
12 "personaId": "string",
13 "negativeTags": "string",
14 "styleWeight": "number",
15 "weirdnessConstraint": "number",
16 "audioWeight": "number"
17 },
18 "channel": "auto"
19}modelRequiredstringModel identifier for Suno V6 extension
"suno/extend"
callBackUrlOptionalstringURL to receive webhook notifications when extension completes
"https://your-domain.com/api/callback"
channelOptionalstringYou may specify the corresponding provider within APIPASS via the channel parameter; these providers handle the actual image and video generation tasks. APIPASS currently offers three provider options:
The default value for the channel parameter is auto. When enabled, APIPASS automatically allocates tasks across available providers based on real-time pricing and stability metrics to balance minimal cost and reliable performance. Retain the default auto value unless you have custom routing requirements.
Available options:
auto
Parameters for extending an existing song:
input.model_versionOptionalstringSuno model version to use. Defaults to V6(latest).
Available options:
"V6"
input.audioIdRequiredstringThe ID of the source audio track to extend. Obtained from the result of a previous suno/v6 generation.
"abc123-def456-ghi789"
input.instrumentalOptionalbooleanGenerate instrumental extension without vocals.
false
input.continueAtRequiredintegerTime point in seconds to start extension. Required
Must be > 0
120
input.promptRequiredstringDescription for the extended section.
V6 | V6_MINI | V6_WILD: max 5000 characters
"Build up to a powerful chorus with harmonies"
input.styleRequiredstringMusic style for the extension. Required
V6 | V6_MINI | V6_WILD: max 1000 characters
"Pop Rock, Uplifting"
input.titleOptionalstringTitle for the extended track. Required
Max length: 80 characters
"Rise Again (Extended)"
input.vocalGenderOptionalstringVocal gender for the extension.
Available options:
"f"
input.personaIdOptionalstringPersona ID for the generated song.
Only effective when customMode=true.
"1234567890"
input.negativeTagsOptionalstringStyles or features to exclude from generation.
Only effective when customMode=true.
"aggressive, heavy metal, screaming"
input.styleWeightOptionalnumberHow strictly to follow the style. Range: 0.0-1.0
Only effective when customMode=true. Ignored when customMode=false. Number between 0.00 and 1.00. Must use increments of 0.01. Boolean values are not accepted.
0.5
input.weirdnessConstraintOptionalnumberControls creativity level. Higher values produce more experimental results. Range: 0.0-1.0
Only effective when customMode=true. Ignored when customMode=false. Number between 0.00 and 1.00. Must use increments of 0.01. Boolean values are not accepted.
0.3
input.audioWeightOptionalnumberAudio influence weight for generation. Range: 0.0-1.0
Only effective when customMode=true. Ignored when customMode=false. Number between 0.00 and 1.00. Must use increments of 0.01. Boolean values are not accepted.
0.5
1{
2 "code": 200,
3 "message": "success",
4 "data": {
5 "taskId": "task_extend_xyz789"
6 }
7}codeStatus code, 200 for success
messageResponse message
data.taskIdTask ID for querying extension status
When extension completes, a POST request is sent to your callBackUrl
1{
2 "code": 200,
3 "data": {
4 "taskId": "task_extend_xyz789",
5 "state": "success",
6 "completeTime": 1755599700000,
7 "costTime": 50000,
8 "model": "suno/extend",
9 "resultJson": {
10 "data": [
11 {
12 "id": "audio_ext_001",
13 "audio_url": "https://cdn.apipass.dev/results/task_extend_xyz789_0_audio.mp3",
14 "image_url": "https://cdn.apipass.dev/results/task_extend_xyz789_0_cover.jpeg",
15 "duration": 240.5
16 }
17 ]
18 }
19 },
20 "msg": "Extension completed successfully."
21}1{
2 "code": 501,
3 "data": {
4 "taskId": "task_extend_xyz789",
5 "state": "fail",
6 "failCode": "INVALID_AUDIO_ID",
7 "failMsg": "Source audio ID not found or expired"
8 },
9 "msg": "Extension failed."
10}client.jobs.recordInfoQuery extension task status and retrieve results
Use this example to get started quickly with the selected SDK.
1import { Apipass } from "@apipass-dev/apipass-sdk";
2
3const client = new Apipass({
4 apiKey: process.env.APIPASS_API_KEY!,
5});
6
7const result = await client.jobs.recordInfo("task_extend_xyz789");
8
9console.log(result.data.state);
10console.log(result.data.resultJson);1{
2 "code": 200,
3 "data": {
4 "taskId": "task_extend_xyz789",
5 "state": "success",
6 "resultJson": {
7 "data": [
8 {
9 "id": "audio_ext_001",
10 "audio_url": "https://cdn.apipass.dev/results/task_extend_xyz789_0_audio.mp3",
11 "image_url": "https://cdn.apipass.dev/results/task_extend_xyz789_0_cover.jpeg",
12 "duration": 240.5
13 }
14 ]
15 }
16 }
17}data.stateCurrent state: queuing, generating, success, or fail
data.resultJson.dataArray containing the extended audio track with URL and metadata
The API page shows the parameter schema, but Suno also has several business-specific mode combinations and callback rules that are easy to miss.
All APIs require authentication via Bearer Token.
Authorization: Bearer
Create a new task to extend an existing Suno V6 generated song
The API accepts a JSON payload with the following structure:
1{
2 "model": "suno/extend",
3 "callBackUrl": "string (optional)",
4 "input": {
5 "model_version": "V6 | V6_MINI | V6_WILD",
6 "audioId": "string (required)",
7 "instrumental": "boolean",
8 "continueAt": "integer",
9 "prompt": "string",
10 "style": "string",
11 "title": "string",
12 "personaId": "string",
13 "negativeTags": "string",
14 "styleWeight": "number",
15 "weirdnessConstraint": "number",
16 "audioWeight": "number"
17 },
18 "channel": "auto"
19}modelRequiredstringModel identifier for Suno V6 extension
"suno/extend"
callBackUrlOptionalstringURL to receive webhook notifications when extension completes
"https://your-domain.com/api/callback"
channelOptionalstringYou may specify the corresponding provider within APIPASS via the channel parameter; these providers handle the actual image and video generation tasks. APIPASS currently offers three provider options:
The default value for the channel parameter is auto. When enabled, APIPASS automatically allocates tasks across available providers based on real-time pricing and stability metrics to balance minimal cost and reliable performance. Retain the default auto value unless you have custom routing requirements.
Available options:
auto
Parameters for extending an existing song:
input.model_versionOptionalstringSuno model version to use. Defaults to V6(latest).
Available options:
"V6"
input.audioIdRequiredstringThe ID of the source audio track to extend. Obtained from the result of a previous suno/v6 generation.
"abc123-def456-ghi789"
input.instrumentalOptionalbooleanGenerate instrumental extension without vocals.
false
input.continueAtRequiredintegerTime point in seconds to start extension. Required
Must be > 0
120
input.promptRequiredstringDescription for the extended section.
V6 | V6_MINI | V6_WILD: max 5000 characters
"Build up to a powerful chorus with harmonies"
input.styleRequiredstringMusic style for the extension. Required
V6 | V6_MINI | V6_WILD: max 1000 characters
"Pop Rock, Uplifting"
input.titleOptionalstringTitle for the extended track. Required
Max length: 80 characters
"Rise Again (Extended)"
input.vocalGenderOptionalstringVocal gender for the extension.
Available options:
"f"
input.personaIdOptionalstringPersona ID for the generated song.
Only effective when customMode=true.
"1234567890"
input.negativeTagsOptionalstringStyles or features to exclude from generation.
Only effective when customMode=true.
"aggressive, heavy metal, screaming"
input.styleWeightOptionalnumberHow strictly to follow the style. Range: 0.0-1.0
Only effective when customMode=true. Ignored when customMode=false. Number between 0.00 and 1.00. Must use increments of 0.01. Boolean values are not accepted.
0.5
input.weirdnessConstraintOptionalnumberControls creativity level. Higher values produce more experimental results. Range: 0.0-1.0
Only effective when customMode=true. Ignored when customMode=false. Number between 0.00 and 1.00. Must use increments of 0.01. Boolean values are not accepted.
0.3
input.audioWeightOptionalnumberAudio influence weight for generation. Range: 0.0-1.0
Only effective when customMode=true. Ignored when customMode=false. Number between 0.00 and 1.00. Must use increments of 0.01. Boolean values are not accepted.
0.5
1curl -X POST "https://api.apipass.dev/api/v1/jobs/createTask" \
2 -H "Content-Type: application/json" \
3 -H "Authorization: Bearer YOUR_API_KEY" \
4 -d '{
5 "model": "suno/extend",
6 "callBackUrl": "https://your-domain.com/api/callback",
7 "input": {
8 "audioId": "abc123-def456-ghi789",
9 "continueAt": 120,
10 "prompt": "Build up to a powerful chorus with harmonies and drums",
11 "style": "Pop Rock, Uplifting, Anthemic",
12 "title": "Rise Again (Extended)"
13 }
14 }'1{
2 "code": 200,
3 "message": "success",
4 "data": {
5 "taskId": "task_extend_xyz789"
6 }
7}codeStatus code, 200 for success
messageResponse message
data.taskIdTask ID for querying extension status

MiniMax
MiniMax
MiniMax Music 1.5 AI music generation model, supports lyrics and style prompt to generate music
Starting from
0 credits
Starting from
0 credits