Skip to main content
POST
Mashup
You can also submit through the unified task endpoint POST /v1/task/submit with model set to suno/mashup and the parameters inside input. Both behave and bill the same.
When the task succeeds, data.musics holds the tracks it produced, 2 per run. On partial success you are billed for the tracks that actually succeeded.
string
required
Track ID. Pass it to extend, cover, stem separation, export and other follow-up actions.
string
Title.
string
Style tags.
string
Lyrics. Instrumentals do not include this field.
string
Audio URL, downloadable directly.
string
Cover image URL.
string
Large cover image URL.
string
Video URL. Omitted when there is no video.
number
Duration in seconds.

Authorizations

Authorization
string
header
required

Send your API key in the Authorization: Bearer YOUR_API_KEY header.

Body

application/json
mashup_music_id
string[]
required

Tracks to Blend: IDs of the two tracks to blend into one.

Required array length: 2 elements
mv
enum<string>
default:chirp-v6

Model Version: All three versions are priced the same; pick by the style you want. Options: chirp-v6 v6 (default); chirp-v6-wild v6 Wild (bolder); chirp-v6-mini v6 Mini (faster).

Available options:
chirp-v6,
chirp-v6-wild,
chirp-v6-mini
custom
boolean
default:false

Custom Mode: Off: describe the song in one line. On: supply your own full lyrics.

instrumental
boolean
default:false

Instrumental: Produce music without any vocals.

gpt_description_prompt
string

Inspiration Prompt: One line describing the song you want. Required when custom mode is off. Up to 3000 characters.

prompt
string

Lyrics: Full lyrics, up to 5000 characters. Use markers like [Verse] and [Chorus] to shape the structure.

title
string

Title: Track title, up to 80 characters.

tags
string

Style Tags: The style you want, e.g. 'lo-fi piano, mellow, rain'. Up to 1000 characters.

negative_tags
string

Avoid These Styles: Styles to steer away from.

style_weight
number

Style Weight: 0 to 1. Higher sticks closer to your style tags; lower leaves more room to improvise.

weirdness_constraint
number

Weirdness: 0 to 1. Higher yields more unexpected results; lower stays conventional.

audio_weight
number

Audio Weight: 0 to 1. How strongly the reference audio shapes the result.

auto_lyrics
boolean
default:false

Polish Lyrics: Rewrites your lyrics to sing better. Custom mode only.

vocal_gender
enum<string>

Vocal Gender: Voice gender of the singer. Options: Male Male; Female Female.

Available options:
Male,
Female
persona_id
string

Voice: Sing with a voice you created earlier. Custom mode only.

model_id
string

Custom Model: Generate with a model you trained. Use the model_id from a create-model result. Cannot be combined with persona_id.

variety
enum<string>

Variety: How far the result may drift from the style you specified. Options: off Exact; normal Balanced; high Varied; extra Bold; max Maximum.

Available options:
off,
normal,
high,
extra,
max
max_mode
boolean
default:false

Max Quality: Spend more compute to keep the whole song coherent. Custom mode only; doubles the price.

audio_format
enum<string>

Output Format: Format of the finished audio. Defaults to mp3. Options: mp3 MP3 (common); m4a M4A; wav WAV (lossless).

Available options:
mp3,
m4a,
wav
notify_hook
string<uri>

Notify hook: when the task ends, the same content as the fetch result is POSTed to this URL (a public http / https URL). Omit it to poll instead.

Response

OK

code
enum<string>
required
Available options:
success
data
object
required
message
string