Skip to main content
Glama

generate_music

Generate full songs with natural AI vocals, precise BPM/key control, and 14+ section tags for arrangement. Pay per song via Bitcoin Lightning without signup.

Instructions

Generate full songs (up to 6 min) with natural AI vocals, BPM/key control (99%+ accuracy), and 14+ section tags for precise arrangement. Uses Music-2.6 — orchestral and traditional instruments, style-aware mixing. Specify BPM, key, genre, mood in prompt. Returns MP3 URL. 300 sats per song. Pay per request with Bitcoin Lightning — no API key or signup needed. Requires create_payment with toolName='generate_music'.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
paymentIdYesValid payment ID (must be paid)
promptYesMusic style with BPM, key, genre, mood, instruments (up to 2,000 chars). Example: 'E minor, 90 BPM, acoustic guitar ballad, male vocal'
modelIdNoOptional. Omit for default model.
lyricsNoSong lyrics with section tags (up to 3,500 chars). Tags: [Intro], [Verse], [Pre Chorus], [Chorus], [Bridge], [Outro], [Solo], [Hook], [Drop], [Build Up], [Inst], [Interlude], [Transition], [Break], [Post Chorus]
is_instrumentalNoSet true for instrumental-only (no vocals). When true, prompt is required, lyrics are ignored.
lyrics_optimizerNoSet true to auto-generate lyrics from prompt when lyrics are empty.
sample_rateNoAudio sample rate. Default: 44100
bitrateNoAudio bitrate. Default: 256000
audio_formatNoOutput format. Default: mp3

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed9 schema fields changed
    • addedInput schema / properties / audio_format
      Added value: +{
      +  "description": "Output format. Default: mp3",
      +  "enum": [
      +    "mp3",
      +    "wav",
      +    "pcm"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / bitrate
      Added value: +{
      +  "description": "Audio bitrate. Default: 256000",
      +  "enum": [
      +    32000,
      +    64000,
      +    128000,
      +    256000
      +  ],
      +  "type": "integer"
      +}
    • addedInput schema / properties / is_instrumental
      Added value: +{
      +  "description": "Set true for instrumental-only (no vocals). When true, prompt is required, lyrics are ignored.",
      +  "type": "boolean"
      +}
    • changedInput schema / properties / lyrics / description
      Previous value: -"Optional lyrics for the music"New value: +"Song lyrics with section tags (up to 3,500 chars). Tags: [Intro], [Verse], [Pre Chorus], [Chorus], [Bridge], [Outro], [Solo], [Hook], [Drop], [Build Up], [Inst], [Interlude], [Transition], [Break], [Post Chorus]"
    • addedInput schema / properties / lyrics_optimizer
      Added value: +{
      +  "description": "Set true to auto-generate lyrics from prompt when lyrics are empty.",
      +  "type": "boolean"
      +}
    • changedInput schema / properties / modelId / description
      Previous value: -"The AI model database ID"New value: +"Optional. Omit for default model."
    • changedInput schema / properties / prompt / description
      Previous value: -"Description of the music to generate"New value: +"Music style with BPM, key, genre, mood, instruments (up to 2,000 chars). Example: 'E minor, 90 BPM, acoustic guitar ballad, male vocal'"
    • addedInput schema / properties / sample_rate
      Added value: +{
      +  "description": "Audio sample rate. Default: 44100",
      +  "enum": [
      +    16000,
      +    24000,
      +    32000,
      +    44100
      +  ],
      +  "type": "integer"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "paymentId",
      -  "prompt",
      -  "modelId"
      -]New value: +[
      +  "paymentId",
      +  "prompt"
      +]
  2. First observedv1.0.0

TDQS

A4/5.0
Behavior4/5

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

No annotations exist, but the description discloses key behaviors: uses Music-2.6 model, returns MP3 URL, costs 300 sats, requires prepaid payment via Bitcoin Lightning. It does not mention error handling or rate limits, but covers essential traits.

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 sentences front-load the purpose and key features, then cover pricing and payment flow. No wasted words; efficient and structured.

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 purpose, model, output format, prerequisites, and cost. Missing error handling or async details, but for a direct generation tool with 9 parameters and no output schema, it is fairly complete.

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% with good descriptions. The description paraphrases some parameters (e.g., 'Specify BPM, key, genre, mood in prompt') but adds no new meaning beyond the schema. Baseline 3 is appropriate.

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?

The description clearly states the tool generates full songs with natural AI vocals, BPM/key control, and section tags. It distinguishes from sibling tools like text_to_speech by specifying song generation with vocal and arrangement capabilities.

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 description tells when to use (specify BPM, key, genre, mood) and requires a payment step, but does not compare to alternatives or state when not to use the tool. Usage context is implied, not explicit.

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