Skip to main content
Glama

Create song

create_song

Make an original song in any genre and mood: sung from lyrics you write with the person (in many languages, female or male vocals), or instrumental from a description. Set style, tempo, instruments, title and target length up to six minutes. Each job gives two different takes in about a minute. Then remix, extend, split into stems, or turn it into a lyric video or a music video. Spends the account's PrismPoster credits at the same price as on prismposter.com (quote_job prices it first, free). When the person must decide something first (a price above their ask-first amount, consent for real people in pictures, the right to use a clip), it returns approval_required and nothing runs until they answer in PrismPoster's card or at the link. Everything made is saved to their PrismPoster library. Requests involving anyone under 18 or depicting public figures or office holders are refused before any charge.

Input Schema

NameRequiredDescriptionDefault
styleNoGenre and sound, e.g. "upbeat synth-pop, female vocals, 120 bpm".
titleNoOptional song title.
lyricsNoThe words to sing, at least a verse and a chorus marked [Verse] and [Chorus], four lines or more. Required for a song with vocals: PrismPoster sings the lyrics it is given and never writes its own. Show them to the person before calling.
promptNoWhat the song is about and how it should feel. Required for an instrumental.
approval_idNoOnly after an approval_required answer: the approval_id it returned, once the person has answered. The job then runs exactly as they approved it and the other arguments are ignored.
instrumentalNotrue for music without vocals.
idempotency_keyNoOptional. A unique key for this job (8-128 letters, digits, . _ : -). Repeating a call with the same key returns the first call's job instead of starting and charging a second one, so set it whenever a retry is possible.
reference_audioNoInstrumental only, without duration_seconds: tracks whose sound to follow, as a track_id from get_job or an audio asset_id (list_library or import_media).
reference_clipsNoInstrumental only, without duration_seconds: clips to score, as a clip_id or a video asset_id.
duration_secondsNoOptional target length, 10-360 seconds. A target, not an exact cut: takes often run longer, and an instrumental with a set length is priced like a song with vocals.
reference_imagesNoInstrumental only, without duration_seconds: pictures whose mood to follow, as https links.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior5/5

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

Annotations only say readOnly=false, destructive=false, openWorld=false, idempotent=false; the description carries far more — credits are charged at prismposter.com parity, each job yields two takes in about a minute, the approval_required gate blocks all execution until the person answers, output is auto-saved to the library, and disallowed content is refused before any charge. The stated idempotency_key behavior is consistent with idempotentHint=false, since a fresh call still charges.

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?

Front-loaded with the purpose and the vocal/instrumental branch, then moves through cost, approval gate and refusals in a logical order. Sentences are long and the downstream-capability list ("then remix, extend, split into stems...") is more promotional than operative, but nearly every clause carries decision-relevant information.

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 11 optional params, real credit charges and no output schema, the description covers cost, latency, the approval loop and content policy well, and hints at the return (two takes). It does not say how to retrieve results after the job starts — no mention of get_job or track/job identifiers — which is the main gap for a tool with no output schema.

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% and the schema already explains style, lyrics vs prompt, instrumental, approval_id, idempotency_key and the reference_audio/clips/images exclusivity rules in detail. The description restates the broad shape ("set style, tempo, instruments, title and target length up to six minutes") but adds no syntax or edge-case meaning beyond the schema, so baseline 3 applies.

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?

Opens with a specific verb+resource ("Make an original song") and immediately splits the two modes — vocal from supplied lyrics, or instrumental from a description — which is the exact distinction an agent needs. It also names the adjacent capabilities (remix, extend, stems, lyric/music video) so the agent knows where the boundary with edit_song, extend_video and make_music_video lies.

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 real routing context: quote_job prices first and is free, and approval_required is returned when the person must decide something before anything runs. It states what is refused up front (under-18, public figures). It stops short of explicitly contrasting create_song with edit_song or extend_video for iterating on an existing song, so it is strong but not complete.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources