Skip to main content
Glama

suno_upload_audio

Upload external audio files to make them available for covers, samples, and mashups, using standard mode for normal uploads or enhanced mode for authorized audio that standard processing cannot handle.

Instructions

Upload external audio for use in subsequent operations.

Use standard mode for normal uploads. Use enhanced mode only when standard
upload cannot process authorized audio; it returns a task_id for suno_get_task.
Enhanced audio IDs support Cover, Samples, and Mashup.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNoUpload mode. standard preserves normal upload behavior; enhanced handles some authorized audio that standard mode cannot process, costs 1.87 Credits on success, and runs asynchronously.standard
nameNoAudio name, required for enhanced mode and limited to 100 characters.
audio_urlYesPublic URL of the audio file. Enhanced mode requires HTTPS and audio you own or are authorized to use.
callback_urlNoOptional HTTPS webhook URL for the enhanced upload result.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed4 schema fields changedv0.1.15
    • changedInput schema / properties / audio_url / description
      Previous value: -"Public URL of the audio file to upload. The URL must be directly accessible (CDN link, cloud storage URL, etc.)."New value: +"Public URL of the audio file. Enhanced mode requires HTTPS and audio you own or are authorized to use."
    • addedInput schema / properties / callback_url
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Optional HTTPS webhook URL for the enhanced upload result.",
      +  "title": "Callback Url"
      +}
    • addedInput schema / properties / mode
      Added value: +{
      +  "default": "standard",
      +  "description": "Upload mode. standard preserves normal upload behavior; enhanced handles some authorized audio that standard mode cannot process, costs 1.87 Credits on success, and runs asynchronously.",
      +  "enum": [
      +    "standard",
      +    "enhanced"
      +  ],
      +  "title": "Mode",
      +  "type": "string"
      +}
    • addedInput schema / properties / name
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Audio name, required for enhanced mode and limited to 100 characters.",
      +  "title": "Name"
      +}
  2. Addedv0.1.5
  3. Removedv0.1.3
  4. First observedv0.1.0

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral burden; it does disclose that enhanced mode returns a task_id for suno_get_task and that enhanced audio IDs unlock Cover/Samples/Mashup. However, it leaves other behavioral details (standard-mode result shape, ownership/authorization checks, cost, failure behavior) to the schema rather than the description. This is adequate but not thorough.

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

Conciseness5/5

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

Four short sentences, front-loaded with the core purpose and then mode guidance. Every sentence adds distinct information with no filler.

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?

The description covers the critical decision point (standard vs enhanced), the async task_id handoff, and downstream operation support. With a full input schema and an output schema available, the remaining unspecified details are minor; still, a brief note on specialized sibling tools would round it out.

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 coverage is 100%, so the baseline is 3; the description adds no per-parameter semantics beyond the schema. It reinforces the mode distinction but doesn't explain how mode relates to name, audio_url, or callback_url beyond what the schema already states.

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

Purpose5/5

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

States a precise action and object ('Upload external audio') and adds its purpose ('for use in subsequent operations'). It also calls out enhanced mode's downstream coverage of Cover, Samples, and Mashup, which separates this generic upload tool from more specialized sibling tools.

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

Usage Guidelines4/5

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

Gives explicit routing between standard and enhanced modes and an explicit condition ('only when standard upload cannot process authorized audio'). It points the agent to suno_get_task for the async enhanced result. It does not explicitly contrast with sibling upload-specific tools such as suno_upload_extend or suno_upload_cover, so it loses the top score.

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AceDataCloud/SunoMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server