Skip to main content
Glama

producer_generate_custom_music

Create AI-generated songs using your own lyrics, title, and style prompt. Provide structured lyrics with section markers and control genre, mood, and instrumentation.

Instructions

Generate AI music with full control over lyrics, title, and style.

This gives you complete creative control over the song. You provide the lyrics
with section markers, and Producer generates the melody and arrangement.

Use this when:
- You have specific lyrics you want to use
- You want precise control over the music style
- You need a specific song title

For quick generation without writing lyrics, use producer_generate_music instead.

Returns:
    Task ID and generated audio information including URLs, title, lyrics, and duration.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
seedNoSeed for reproducible generation. Reuse the same seed to reproduce a result.
asyncNoWhether to process the request asynchronously.
lyricYesSong lyrics with section markers. Use [Verse], [Chorus], [Pre-Chorus], [Bridge], [Outro], [Intro] to structure the song. Example: [Verse 1] Walking down the empty street Rain is falling at my feet [Chorus] But I keep moving on Until the break of dawn
modelNoProducer model version. 'FUZZ-2.0' or 'FUZZ-2.0 Pro' recommended for best quality.FUZZ-2.0
titleYesTitle of the song. Keep it concise and memorable.
promptNoMusic style prompt. Be specific about genre, mood, tempo, and instruments. Examples: 'upbeat pop rock, energetic drums, electric guitar', 'acoustic folk, gentle, fingerpicking', 'dark electronic, synthwave, 80s retro'
weirdnessNoCreative control for how experimental/unusual the generation is. Range 0-1.
callback_urlNoWebhook callback URL for asynchronous notifications.
instrumentalNoIf true, generate instrumental version (lyrics will be ignored). Default is false.
sound_strengthNoCreative control for how strongly the sound/style drives the generation. Range 0-1.
lyrics_strengthNoCreative control for how strongly the lyrics drive the generation. Range 0-1.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.1.18
    • addedInput schema / properties / prompt
      Added value: +{
      +  "default": "",
      +  "description": "Music style prompt. Be specific about genre, mood, tempo, and instruments. Examples: 'upbeat pop rock, energetic drums, electric guitar', 'acoustic folk, gentle, fingerpicking', 'dark electronic, synthwave, 80s retro'",
      +  "title": "Prompt",
      +  "type": "string"
      +}
    • removedInput schema / properties / style
      Removed value: -{
      -  "default": "",
      -  "description": "Music style description. Be specific about genre, mood, tempo, and instruments. Examples: 'upbeat pop rock, energetic drums, electric guitar', 'acoustic folk, gentle, fingerpicking', 'dark electronic, synthwave, 80s retro'",
      -  "title": "Style",
      -  "type": "string"
      -}
  2. Changed2 schema fields changedv0.1.16
    • addedInput schema / properties / async
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "boolean"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Whether to process the request asynchronously.",
      +  "title": "Async"
      +}
    • changedInput schema / properties / seed / anyOf
      Previous value: -[
      -  {
      -    "type": "integer"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  3. Changed4 schema fields changedv0.1.15
    • addedInput schema / properties / lyrics_strength
      Added value: +{
      +  "anyOf": [
      +    {
      +      "maximum": 1,
      +      "minimum": 0,
      +      "type": "number"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Creative control for how strongly the lyrics drive the generation. Range 0-1.",
      +  "title": "Lyrics Strength"
      +}
    • addedInput schema / properties / seed
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Seed for reproducible generation. Reuse the same seed to reproduce a result.",
      +  "title": "Seed"
      +}
    • addedInput schema / properties / sound_strength
      Added value: +{
      +  "anyOf": [
      +    {
      +      "maximum": 1,
      +      "minimum": 0,
      +      "type": "number"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Creative control for how strongly the sound/style drives the generation. Range 0-1.",
      +  "title": "Sound Strength"
      +}
    • addedInput schema / properties / weirdness
      Added value: +{
      +  "anyOf": [
      +    {
      +      "maximum": 1,
      +      "minimum": 0,
      +      "type": "number"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Creative control for how experimental/unusual the generation is. Range 0-1.",
      +  "title": "Weirdness"
      +}
  4. Addedv0.1.13
  5. Removedv0.1.12
  6. First observedv0.1.0

TDQS

A4.1/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the behavioral disclosure burden. It does explain the workflow (user provides lyrics, Producer generates melody/arrangement) and the return shape (Task ID and audio info with URLs, title, lyrics, duration). However, it does not disclose async execution semantics, callback behavior, or other operational side effects, leaving the agent under-informed for a complex generation tool.

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 well-structured with an intro, use-when bullets, an explicit alternative, and a Returns section. It is slightly redundant in phrasing—'full control' and 'complete creative control' say the same thing—but every section earns its place and the most important information is front-loaded.

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?

Given the tool's complexity (11 parameters) and lack of annotations, the description adequately covers the primary use case, return information, and routing to the sibling tool. It does not mention async/callback nuances or the instrumental flag behavior, though these are documented in the schema. Overall it is sufficient for an agent to select and invoke the tool correctly, with minor 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 100%, so the schema already documents all 11 parameters with defaults, ranges, enums, and examples. The description reinforces that lyrics use section markers and that style control exists, but it adds little beyond what the schema already conveys.

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 opens with a specific action: 'Generate AI music with full control over lyrics, title, and style,' naming the resource and the key differentiator. It also explicitly contrasts with the sibling producer_generate_music, making it clear this tool is for custom lyric-driven generation.

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

Usage Guidelines5/5

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

The 'Use this when' bullets clearly state the intended conditions: specific lyrics, precise style control, and specific song title. It gives an explicit alternative: 'For quick generation without writing lyrics, use producer_generate_music instead,' providing both when-to-use and when-not-to-use guidance.

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