Skip to main content
Glama

extend_music

Extend an existing Suno track by providing its task ID, audio ID, or URL. Choose source or custom parameters to continue the music from a specified point and get a new task with output URLs.

Instructions

Create a Suno task on RunAPI (extend music). Returns a task id, status, and output URLs.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
waitNoPoll until the task reaches a terminal status.
modelNoRunAPI model slug for this model line.
styleNoStyle preset. Required in custom parameter mode.
titleNoSong title. Required in custom parameter mode.
lyricsNoExact lyrics. Only allowed when extending uploaded audio in custom parameter mode.
promptNoExtension brief. Cannot be combined with lyrics.
task_idNoSource task ID to extend. Provide one of task_id, audio_id, audio_url, or upload_url.
audio_idNoSource audio ID to extend. Provide one of task_id, audio_id, audio_url, or upload_url.
audio_urlNoSource audio URL to extend. Provide one of task_id, audio_id, audio_url, or upload_url.
persona_idNoPersona ID.
timeout_msNo
upload_urlNoUploaded source audio URL to extend. Provide one of task_id, audio_id, audio_url, or upload_url.
continue_atNoSeconds into the source to continue from. Required in custom parameter mode.
audio_weightNoAudio weight (0-1).
callback_urlNoWebhook URL for async notifications.
instrumentalNoWhen true, generate without vocals.
persona_typeNoPersona type.
style_weightNoStyle adherence weight (0-1).
vocal_genderNoVocal gender.
negative_tagsNoStyles to avoid.
parameter_modeYesInherit the source track's parameters (source) or supply custom ones (custom).
poll_interval_msNo
weirdness_constraintNoWeirdness constraint (0-1).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.3.6
    • changedInput schema / properties / model / enum
      Previous value: -[
      -  "suno-v4",
      -  "suno-v4.5",
      -  "suno-v4.5-all",
      -  "suno-v4.5-plus",
      -  "suno-v5",
      -  "suno-v5.5"
      -]New value: +[
      +  "suno-v4",
      +  "suno-v4.5",
      +  "suno-v4.5-all",
      +  "suno-v4.5-plus",
      +  "suno-v5",
      +  "suno-v5.5",
      +  "suno-v6",
      +  "suno-v6-mini",
      +  "suno-v6-wild"
      +]
  2. Changed10 schema fields changedv0.3.5
    • addedInput schema / properties / audio_weight / maximum
      Added value: +1
    • addedInput schema / properties / audio_weight / minimum
      Added value: +0
    • addedInput schema / properties / lyrics / maxLength
      Added value: +5000
    • addedInput schema / properties / prompt / maxLength
      Added value: +5000
    • addedInput schema / properties / style / maxLength
      Added value: +1000
    • addedInput schema / properties / style_weight / maximum
      Added value: +1
    • addedInput schema / properties / style_weight / minimum
      Added value: +0
    • addedInput schema / properties / title / maxLength
      Added value: +80
    • addedInput schema / properties / weirdness_constraint / maximum
      Added value: +1
    • addedInput schema / properties / weirdness_constraint / minimum
      Added value: +0
  3. Changed12 schema fields changedv0.3.2
    • removedInput schema / additionalProperties
      Removed value: -false
    • addedInput schema / properties / parameter_mode / anyOf
      Added value: +[
      +  {
      +    "const": "source",
      +    "type": "string"
      +  },
      +  {
      +    "const": "custom",
      +    "type": "string"
      +  }
      +]
    • removedInput schema / properties / parameter_mode / enum
      Removed value: -[
      -  "source",
      -  "custom"
      -]
    • removedInput schema / properties / parameter_mode / type
      Removed value: -"string"
    • addedInput schema / properties / persona_type / anyOf
      Added value: +[
      +  {
      +    "const": "style",
      +    "type": "string"
      +  },
      +  {
      +    "const": "voice",
      +    "type": "string"
      +  }
      +]
    • removedInput schema / properties / persona_type / enum
      Removed value: -[
      -  "style",
      -  "voice"
      -]
    • removedInput schema / properties / persona_type / type
      Removed value: -"string"
    • addedInput schema / properties / poll_interval_ms / maximum
      Added value: +9007199254740991
    • addedInput schema / properties / timeout_ms / maximum
      Added value: +9007199254740991
    • addedInput schema / properties / vocal_gender / anyOf
      Added value: +[
      +  {
      +    "const": "male",
      +    "type": "string"
      +  },
      +  {
      +    "const": "female",
      +    "type": "string"
      +  }
      +]
    • removedInput schema / properties / vocal_gender / enum
      Removed value: -[
      -  "male",
      -  "female"
      -]
    • removedInput schema / properties / vocal_gender / type
      Removed value: -"string"
  4. Changed20 schema fields changedv0.2.4
    • addedInput schema / properties / audio_id / description
      Added value: +"Source audio ID to extend. Provide one of task_id, audio_id, audio_url, or upload_url."
    • addedInput schema / properties / audio_url / description
      Added value: +"Source audio URL to extend. Provide one of task_id, audio_id, audio_url, or upload_url."
    • addedInput schema / properties / audio_weight / description
      Added value: +"Audio weight (0-1)."
    • addedInput schema / properties / callback_url / description
      Added value: +"Webhook URL for async notifications."
    • addedInput schema / properties / continue_at / description
      Added value: +"Seconds into the source to continue from. Required in custom parameter mode."
    • addedInput schema / properties / instrumental / description
      Added value: +"When true, generate without vocals."
    • addedInput schema / properties / lyrics / description
      Added value: +"Exact lyrics. Only allowed when extending uploaded audio in custom parameter mode."
    • addedInput schema / properties / negative_tags / description
      Added value: +"Styles to avoid."
    • addedInput schema / properties / parameter_mode / description
      Added value: +"Inherit the source track's parameters (source) or supply custom ones (custom)."
    • addedInput schema / properties / persona_id / description
      Added value: +"Persona ID."
    • addedInput schema / properties / persona_type / description
      Added value: +"Persona type."
    • addedInput schema / properties / prompt / description
      Added value: +"Extension brief. Cannot be combined with lyrics."
    • addedInput schema / properties / style / description
      Added value: +"Style preset. Required in custom parameter mode."
    • addedInput schema / properties / style_weight / description
      Added value: +"Style adherence weight (0-1)."
    • addedInput schema / properties / task_id / description
      Added value: +"Source task ID to extend. Provide one of task_id, audio_id, audio_url, or upload_url."
    • addedInput schema / properties / title / description
      Added value: +"Song title. Required in custom parameter mode."
    • addedInput schema / properties / upload_url / description
      Added value: +"Uploaded source audio URL to extend. Provide one of task_id, audio_id, audio_url, or upload_url."
    • addedInput schema / properties / vocal_gender / description
      Added value: +"Vocal gender."
    • addedInput schema / properties / weirdness_constraint / description
      Added value: +"Weirdness constraint (0-1)."
    • addedInput schema / required
      Added value: +[
      +  "parameter_mode"
      +]
  5. Changed11 schema fields changedv0.1.2
    • addedInput schema / properties / audio_id / type
      Added value: +"string"
    • addedInput schema / properties / audio_url / type
      Added value: +"string"
    • addedInput schema / properties / callback_url / type
      Added value: +"string"
    • addedInput schema / properties / lyrics / type
      Added value: +"string"
    • addedInput schema / properties / negative_tags / type
      Added value: +"string"
    • addedInput schema / properties / persona_id / type
      Added value: +"string"
    • addedInput schema / properties / prompt / type
      Added value: +"string"
    • addedInput schema / properties / style / type
      Added value: +"string"
    • addedInput schema / properties / task_id / type
      Added value: +"string"
    • addedInput schema / properties / title / type
      Added value: +"string"
    • addedInput schema / properties / upload_url / type
      Added value: +"string"
  6. First observedv0.1.0

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries full behavioral burden. It discloses that the call returns a task id, status, and output URLs, but does not explain asynchronous behavior, polling, cost implications, required source inputs, or side effects. For a creation task with 23 parameters, this is under-disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one concise sentence that leads with the primary action and then summarizes the return value. There is no wasted wording, though it is arguably too terse for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a complex tool with 23 parameters, one required parameter, no output schema, and no annotations. The description does not explain parameter_mode, the mutually exclusive source inputs, the wait/callback behavior, or how this relates to sibling creation tools, leaving significant gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 91%, so the schema already documents most parameters. The description itself adds no parameter-level meaning, but per the high-coverage baseline it does not need to; a 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('Create'), a specific resource ('a Suno task on RunAPI'), and an operation ('extend music'). It is clear enough to identify the tool's core action, though it does not explicitly distinguish it from siblings like cover_audio or remaster_audio.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus alternatives, no mention of requiring a source track, and no explanation of the source vs custom parameter modes. An agent has to infer usage entirely from the schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.