Skip to main content
Glama

generate_music

Generate music using Suno via kie.ai. Supports V5.5 (custom style), V5 (best quality), V4.5+, V4.5, V4. Up to 8 minutes. Great for game music stems, ambient tracks, and jingles. Polls until done and downloads to kie/assets/raw/.

Instructions

Generate music using Suno via kie.ai. Supports V5.5 (custom style), V5 (best quality), V4.5+, V4.5, V4. Up to 8 minutes. Great for game music stems, ambient tracks, and jingles. Polls until done and downloads to kie/assets/raw/.

Input Schema

NameRequiredDescriptionDefault
waitNoSet false to submit and return immediately with the task_id (async mode) — then poll with check_task and fetch with download_result. Recommended for long generations to avoid client-side watchdog timeouts.
modelNoSuno model. V5_5=custom style, V5=best quality. Default: V5V5
styleNoStyle tags (e.g. "Celtic, orchestral, upbeat, fantasy, game music")
titleNoTrack title (optional)
promptYesMusic description (e.g. "upbeat Celtic fantasy adventure, flute and drums, heroic")
filenameNoOutput filename. Auto-generated if omitted.
max_creditsNoRefuse to submit if the estimated cost exceeds this many credits (overrides KIE_MAX_CREDITS_PER_CALL). Estimates come from published rates; kie bills the actual amount.
download_dirNoAbsolute directory to save the file(s) into (created if missing). Defaults to the server's kie/assets/raw/. Must be absolute — the MCP server's working directory is not the caller's.
instrumentalNoNo vocals when true (recommended for game music)
estimate_onlyNoReturn the estimated credit cost WITHOUT submitting anything. Use before expensive runs (video, 4K, 1080p upgrades, layer splits).
max_wait_secondsNoOverride the blocking-mode polling budget in seconds (defaults: image 600, video 900, audio 300, speech 300). Ignored when wait=false.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv5.8.0
    • addedInput schema / properties / estimate_only
      Added value: +{
      +  "description": "Return the estimated credit cost WITHOUT submitting anything. Use before expensive runs (video, 4K, 1080p upgrades, layer splits).",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / max_credits
      Added value: +{
      +  "description": "Refuse to submit if the estimated cost exceeds this many credits (overrides KIE_MAX_CREDITS_PER_CALL). Estimates come from published rates; kie bills the actual amount.",
      +  "type": "number"
      +}
  2. Changed1 schema field changedv5.5.0
    • changedInput schema / properties / model / enum
      Previous value: -[
      -  "V3_5",
      -  "V4",
      -  "V4_5",
      -  "V4_5PLUS",
      -  "V4_5ALL",
      -  "V5",
      -  "V5_5"
      -]New value: +[
      +  "V4",
      +  "V4_5",
      +  "V4_5PLUS",
      +  "V4_5ALL",
      +  "V5",
      +  "V5_5",
      +  "V6",
      +  "V6_MINI",
      +  "V6_WILD"
      +]
  3. First observedv4.7.0

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden, and it does disclose the default blocking/polling behavior and the output destination ('Polls until done and downloads to kie/assets/raw/') plus an 8-minute duration limit. It omits credit/cost behavior (only hinted at in the schema), failure/timeout handling, and auth requirements, leaving meaningful gaps for a tool with 11 parameters.

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?

Four short sentences, front-loaded with the core action and provider, then capabilities, use cases, and execution behavior. The V5.5/V5/V4.5 enumeration is somewhat redundant with the schema enum descriptions, costing a little efficiency, but there is no padding overall.

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

Completeness4/5

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

There is no output schema, so the description helpfully states that results are downloaded to kie/assets/raw/. Combined with 100% schema coverage for all 11 parameters (including the async wait/check_task/download_result flow), an agent has enough to invoke correctly, though it lacks cost and failure-handling detail.

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 100%, so the schema already documents every parameter, setting the baseline at 3. The description adds only marginal meaning by glossing model tiers ('V5.5 custom style, V5 best quality') and the duration cap, which largely restate information already present in the enum and schema descriptions.

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?

States a specific verb and resource ('Generate music') and names the underlying provider (Suno via kie.ai), which is enough to separate it from generate_sfx, generate_tts, and generate_lyrics. It does not, however, explicitly distinguish itself from music-adjacent siblings like extend_music, cover_audio, or add_instrumental, so it falls short of the 5-level sibling differentiation.

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

Usage Guidelines3/5

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

The phrase 'Great for game music stems, ambient tracks, and jingles' gives implicit usage context, and the model list implies quality/style tradeoffs. But there is no explicit when-to-use-this-vs-siblings guidance (e.g. vs extend_music or cover_audio) and no stated prerequisites or exclusions, so routing remains largely inferential.

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