Skip to main content
Glama

Show the ideas for a film's picture

studio_video_ideas

BEFORE WE START, as a conversation. When a film's storyboard says before_we_start.wanted (get_studio_video or studio_video_message, once its script is written), call this to get three ideas for what the picture is, each with ONE key frame: before_we_start.ideas numbered 1 to 3 (kind, title, line, image_url), our_pick, our guess at the shape (shape.guess, shape.why: where it will be posted), the music now and up to three music.options, captions, and what it can include. ideas_sheet_url is all three on one picture, left to right. FREE, and made once per film (calling again shows the same ideas). For DIFFERENT ideas, send fresh: true and the person's wish as feedback ("more playful", "show real people"): a new set replaces the old one, free, a few times per film (new_sets_left). Show the ideas with our pick and our guesses STATED, not asked, in one short message, then keep talking: studio_video_storyboard draws the chosen idea's storyboard. Never put up make_studio_video while they are still choosing.

Input Schema

NameRequiredDescriptionDefault
freshNotrue: a NEW set of three ideas instead of the ones shown
feedbackNoWhat they want from the new ideas, in their words ("more playful", "show real people")
user_goalNoOptional: the user's goal behind this call, in one short sentence of plain words (e.g. "add a page so customers can book tables"). No names, emails or other personal details.
project_idYesProject id from create_motion_project. The bare project id or the library id ("studio-video:<uuid>" from list_creations / find_creation) both work.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the annotations it discloses cost (FREE), memoization behavior (made once per film; calling again returns the same ideas), the replace semantics of a fresh set, and a rate limit proxy (`new_sets_left` a few times per film). It also states a conversational behavioral rule — present the pick and guesses as stated, not asked — which no annotation could convey.

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?

Nearly every clause carries operational information — trigger, payload fields, cost, limits, follow-up tool, prohibition — and the trigger is front-loaded. It is dense and backtick-heavy with stacked parentheticals, which costs readability, but there is little filler to cut.

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

Completeness5/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 must carry the return shape, and it does: the three numbered ideas and their fields, `our_pick`, `shape.guess`/`shape.why`, current music plus up to three `music.options`, captions, `include`, and `ideas_sheet_url` as a single left-to-right sheet. For a 4-parameter creation tool with a display guideline, nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description adds genuine meaning: `fresh` is only meaningful with a wish passed as `feedback`, and a new set *replaces* the previous one. That replacement consequence is not derivable from the short schema strings, and `new_sets_left` gives the practical limit on repeated fresh calls.

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 states a specific action (get three picture ideas, each with one key frame) on a specific resource (a film's 'before_we_start' storyboard stage), and ties it to concrete return fields (`kind`, `title`, `line`, `image_url`, `our_pick`, `shape.guess`). It is clearly separable from siblings like `studio_video_storyboard` (draws the chosen idea) and `make_studio_video` (the actual render).

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?

It gives the exact trigger condition (storyboard says `before_we_start.wanted`, after `get_studio_video` or `studio_video_message` has a script), the branch condition for `fresh: true` + `feedback`, and explicit exclusions: use `studio_video_storyboard` next, and never surface `make_studio_video` while the person is still choosing.

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