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 upload-extend musicSuno | Starter | 1per run | $0.005 | - | - |
Complete guide to using Suno
Upload any audio file and extend it with AI-generated continuation that seamlessly matches your source material.

The Upload & Extend API allows you to upload any audio file and have AI generate a continuation that extends the music. Unlike the standard extend API (which works with Suno-generated tracks), this API works with any audio source - your own recordings, music from other tools, or any audio file. The AI analyzes the uploaded audio to understand its style, tempo, key, and feel, then generates new content that naturally continues from where the source audio ends or from any specified point.
Let the AI analyze your audio and automatically generate a matching continuation. The AI infers style, tempo, and mood from the source audio for seamless extension.
Take control by specifying the start point, style, title, and prompt. Guide the AI to extend your audio in a specific direction while maintaining coherence with the source.
Works with any audio source - your own recordings, DAW exports, samples, or third-party generated music. No need for audio to be Suno-generated.
AI automatically analyzes your audio to understand tempo, key, style, and instrumentation for natural-sounding extensions.
Extend from any point in your audio. Add new sections mid-song, extend the outro, or continue from a specific moment.
Use prompts and style parameters to guide how the extension develops. Maintain the original feel or evolve into something new.
Extend your own audio files in just a few steps
Upload the audio file you want to extend. Supports MP3, WAV, OGG, M4A, and FLAC formats up to 50MB.
Use automatic mode for quick extensions or custom mode for precise control over the continuation.
For custom mode, specify continueAt point, style, title, and optionally a prompt describing the extension.
Submit the request. The AI analyzes your audio and generates a matching continuation.
Retrieve the extended track, which includes your original audio plus the new AI-generated continuation.
Follow these guidelines for optimal results
Higher quality source files with clear audio result in better extensions. Avoid heavily compressed or noisy recordings.
Set continueAt to natural musical transition points - end of phrases, after a section, or during sustained notes for smoothest results.
In prompts, describe how the music should develop - build energy, transition to bridge, create outro, or add specific elements.
Upload your work-in-progress recordings and let AI help complete them with natural-sounding continuations.
Take audio from any source and extend it - samples, licensed music, or output from other AI tools.
Start from an existing piece and extend it in new directions to create variations and alternative versions.
Upload short loops or segments and extend them into full-length compositions.
Not limited to Suno-generated content. Extend any audio file from any source with high-quality AI continuation.
Advanced AI understands your source audio's musical characteristics for natural, coherent extensions.
Easy file upload API supporting all major audio formats. Upload, extend, and download in one seamless workflow.
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 uploaded audio file
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/upload-extend",
9 "callBackUrl": "https://your-domain.com/api/callback",
10 "input": {
11 "audioUrl": "https://your-storage.com/audio/my-song.mp3",
12 "continueAt": 60,
13 "prompt": "Build into an epic chorus with full instrumentation",
14 "style": "Pop Rock, Anthemic",
15 "title": "My Song (Extended)"
16 }
17});
18
19console.log(task.data.taskId);The API accepts a JSON payload with the following structure:
1{
2 "model": "suno/upload-extend",
3 "callBackUrl": "string (optional)",
4 "input": {
5 "model_version": "V6 | V6_MINI | V6_WILD",
6 "audioUrl": "string (required)",
7 "instrumental": "boolean",
8 "continueAt": "integer",
9 "prompt": "string",
10 "style": "string",
11 "title": "string",
12 "vocalGender": "m | f",
13 "personaId": "string",
14 "negativeTags": "string",
15 "styleWeight": "number",
16 "weirdnessConstraint": "number",
17 "audioWeight": "number"
18 },
19 "channel": "auto"
20}modelRequiredstringModel identifier for Suno V6 upload & extend
"suno/upload-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 upload & extend:
input.model_versionOptionalstringSuno model version to use. Defaults to V6.
Available options:
"V6"
input.audioUrlRequiredstringURL of the audio file to extend. Must be a publicly accessible URL.
"https://your-storage.com/audio/my-song.mp3"
input.instrumentalOptionalbooleanGenerate instrumental extension without vocals.
Optional. Defaults to false. If provided, must be a boolean.
false
input.continueAtRequiredintegerTime in seconds to start extension. Required Must be > 0.
Must be > 0 when using custom parameters
60
input.promptOptionalstringDescription for the extended section.
Required when instrumental=false. Optional when instrumental=true. V6 | V6_MINI | V6_WILD: max 5000 characters
"Build to an epic chorus with harmonies"
input.styleRequiredstringMusic style for the extension. Required
V6 | V6_MINI | V6_WILD: max 1000 characters
"Pop Rock, Uplifting"
input.titleRequiredstringTitle for the extended track. Required
Max length: 80 characters
"My Song (Extended)"
personaIdOptionalinputPersona ID Optional string. Only effective when customMode=true.
vocalGenderOptionalradioChoose the gender of the vocals for the extension.
negativeTagsOptionalinputStyles or features to exclude from the extension.
styleWeightOptionalsliderStyle guidance weight for the extension.
weirdnessConstraintOptionalsliderControls creativity level for the extension.
audioWeightOptionalsliderAudio influence weight for the extension.
1{
2 "code": 200,
3 "message": "success",
4 "data": {
5 "taskId": "task_upload_ext_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_upload_ext_xyz789",
5 "state": "success",
6 "completeTime": 1755599800000,
7 "costTime": 75000,
8 "model": "suno/upload-extend",
9 "resultJson": {
10 "data": [
11 {
12 "id": "ext_001",
13 "audio_url": "https://cdn.apipass.dev/results/task_upload_ext_xyz789_0_audio.mp3",
14 "image_url": "https://cdn.apipass.dev/results/task_upload_ext_xyz789_0_cover.jpeg",
15 "duration": 180.5
16 }
17 ]
18 }
19 },
20 "msg": "Extension completed successfully."
21}1{
2 "code": 501,
3 "data": {
4 "taskId": "task_upload_ext_xyz789",
5 "state": "fail",
6 "failCode": "INVALID_AUDIO_URL",
7 "failMsg": "Unable to download audio from provided URL"
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_upload_ext_xyz789");
8
9console.log(result.data.state);
10console.log(result.data.resultJson);1{
2 "code": 200,
3 "data": {
4 "taskId": "task_upload_ext_xyz789",
5 "state": "success",
6 "resultJson": {
7 "data": [
8 {
9 "id": "ext_001",
10 "audio_url": "https://cdn.apipass.dev/results/task_upload_ext_xyz789_0_audio.mp3",
11 "image_url": "https://cdn.apipass.dev/results/task_upload_ext_xyz789_0_cover.jpeg",
12 "duration": 180.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 uploaded audio file
The API accepts a JSON payload with the following structure:
1{
2 "model": "suno/upload-extend",
3 "callBackUrl": "string (optional)",
4 "input": {
5 "model_version": "V6 | V6_MINI | V6_WILD",
6 "audioUrl": "string (required)",
7 "instrumental": "boolean",
8 "continueAt": "integer",
9 "prompt": "string",
10 "style": "string",
11 "title": "string",
12 "vocalGender": "m | f",
13 "personaId": "string",
14 "negativeTags": "string",
15 "styleWeight": "number",
16 "weirdnessConstraint": "number",
17 "audioWeight": "number"
18 },
19 "channel": "auto"
20}modelRequiredstringModel identifier for Suno V6 upload & extend
"suno/upload-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 upload & extend:
input.model_versionOptionalstringSuno model version to use. Defaults to V6.
Available options:
"V6"
input.audioUrlRequiredstringURL of the audio file to extend. Must be a publicly accessible URL.
"https://your-storage.com/audio/my-song.mp3"
input.instrumentalOptionalbooleanGenerate instrumental extension without vocals.
Optional. Defaults to false. If provided, must be a boolean.
false
input.continueAtRequiredintegerTime in seconds to start extension. Required Must be > 0.
Must be > 0 when using custom parameters
60
input.promptOptionalstringDescription for the extended section.
Required when instrumental=false. Optional when instrumental=true. V6 | V6_MINI | V6_WILD: max 5000 characters
"Build to an epic chorus with harmonies"
input.styleRequiredstringMusic style for the extension. Required
V6 | V6_MINI | V6_WILD: max 1000 characters
"Pop Rock, Uplifting"
input.titleRequiredstringTitle for the extended track. Required
Max length: 80 characters
"My Song (Extended)"
personaIdOptionalinputPersona ID Optional string. Only effective when customMode=true.
vocalGenderOptionalradioChoose the gender of the vocals for the extension.
negativeTagsOptionalinputStyles or features to exclude from the extension.
styleWeightOptionalsliderStyle guidance weight for the extension.
weirdnessConstraintOptionalsliderControls creativity level for the extension.
audioWeightOptionalsliderAudio influence weight for the extension.
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/upload-extend",
6 "callBackUrl": "https://your-domain.com/api/callback",
7 "input": {
8 "audioUrl": "https://your-storage.com/audio/my-song.mp3",
9 "continueAt": 60,
10 "prompt": "Build into an epic chorus with full instrumentation",
11 "style": "Pop Rock, Anthemic",
12 "title": "My Song (Extended)"
13 }
14 }'1{
2 "code": 200,
3 "message": "success",
4 "data": {
5 "taskId": "task_upload_ext_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