Generate music
generate_musicCreate a song from a description or lyrics; make covers, extend tracks, add vocals or instrumental, split stems, write lyrics, or make sound effects with Suno.
Instructions
Full Suno suite. mode 'music' (default) makes a new song from a description (or lyrics with custom:true). Transform an existing track (pass audio_url): 'cover' (new style), 'extend' (longer, +continue_at), 'add-vocals' / 'add-instrumental' (layer on). Split a prior clip (pass clip_id): 'stems' / 'stems-all', or 'wav' to export it. 'lyrics' writes lyrics; 'sound' makes a sound effect from a prompt. Set instrumental for no vocals. Returns the audio URL(s).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mv | No | Suno model version for songs — default 'chirp-bluejay'; others 'chirp-v3-5', 'chirp-v4', 'chirp-auk', 'chirp-crow', 'chirp-fenix'. ('sound' defaults to 'chirp-fenix' and 'lyrics' to 'default' — both still honor an explicit mv if you pass one.) | |
| mode | No | Suno operation. 'music' (default) makes a new song. 'cover' re-sings a track; 'extend' lengthens it (needs continue_at); 'add-vocals'/'add-instrumental' layer onto it; 'stems'/'stems-all' split a track (need clip_id); 'lyrics' writes lyrics; 'sound' makes a sound effect from a prompt; 'wav' exports a clip as WAV (needs clip_id). cover/extend/add-vocals/add-instrumental need audio_url. | |
| tags | No | Music style tags, e.g. 'pop, electronic, upbeat'. | |
| wait | No | Default true: wait for the job and return the finished result. Set false to get the task_id back immediately and poll with get_task — use for long jobs (high-quality video, full songs) or when the connection might time out. | |
| title | No | Song title. | |
| custom | No | music/cover/extend only. false (default): prompt is a description. true: prompt is the full lyrics; style goes in tags. | |
| prompt | No | For mode 'music' (default): the song description (simple) or full lyrics (custom:true). For 'cover'/'extend'/'add-vocals'/'add-instrumental': optional style/lyrics guidance. For 'sound': describe the sound effect (required). For 'lyrics': the lyric idea. Not used by stems/stems-all/wav. | |
| clip_id | No | Clip id of a completed Suno music task — required by 'stems'/'stems-all' (split into stems) and 'wav' (export as WAV). | |
| audio_url | No | Source track (public https URL) for cover/extend/add-vocals/add-instrumental. For local files, upload_file first. | |
| continue_at | No | For extend: the time in seconds of the source track to continue from (required for 'extend'). | |
| callback_url | No | Optional webhook URL. When set, the tool returns immediately with the task_id and UnificAlly POSTs the result to this URL when the task finishes. Webhook body: { task_id, status: 'completed'|'failed', data: { video_url | image_url | audio_url | ... }, error_message? } — note the media arrives under 'data', not 'output'. Use for long jobs instead of waiting. | |
| confirm_cost | No | Only relevant if the operator enabled a spend guard. When a call exceeds the configured confirm threshold it returns a quote; retry with confirm_cost: true to proceed. Safe to ignore otherwise. | |
| instrumental | No | true for instrumental-only (no vocals). | |
| negative_tags | No | Styles to avoid, e.g. 'metal, jazz'. | |
| provider_options | No | Escape hatch for model-specific fields not exposed as named parameters (e.g. Kling multi_shots, Flux steps). Merged into the API 'input' payload. Rejected: fields the tool already manages (prompt, media URLs, task_id, ...) and reserved routing/billing/auth keys (model, callback_url, dry_run, api_key, authorization) — switch models with the 'model' parameter, not here. See https://docs.unifically.com for per-model fields. |