Skip to main content
Glama

Compose a scene clip

compose_scene

Generates one short video clip from a written brief, optionally using up to 4 of your saved characters as references and one of your saved or uploaded images as the opening frame. Spends credits. Returns a task id; check it with get_task. For full control over a single shot, use generate_video instead.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
briefYesWhat the scene shows, its beats and mood.
style_tagsNoOptional style words added to the brief, for example "cinematic", "golden hour", "handheld".
aspect_ratioNoAspect ratio of the clip.9:16
atmosphere_idNoOptional id of one of your saved images (for example a background) to use as the opening frame. Find ids with list_characters.
character_idsNoUp to 4 ids of characters saved in your FXI account (find ids with list_characters).
idempotency_keyNoOptional. Reuse the same key to retry safely: the earlier result is returned and nothing is charged twice.
wait_for_completionNoWhen true, waits a short while for the clip before returning. get_task reports progress either way.
opening_image_uploadNoOptional asset_url of an image you uploaded (create_upload_url, upload_from_url or upload_media_data) to use as the opening frame. Use this or atmosphere_id, not both.
target_duration_secondsNoDesired length in seconds. The clip is at most 12 seconds; longer values are shortened to 12.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false, destructiveHint=false, so the description must add the behavioral context — and it does: this 'Spends credits', it returns a task id, and progress is checked via get_task. It doesn't explain failure/refund behavior or what wait_for_completion's 'short while' means. Note the idempotentHint=false annotation is not contradicted: the description's idempotency_key is an opt-in per-request safety mechanism, not a claim of tool-level idempotency.

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?

Three sentences, each doing distinct work: what it makes, its cost and async return path, and the alternative tool. The cost and task-id facts are front-loaded where they matter.

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?

For a 9-parameter, credit-spending, async generation tool with no output schema, the description covers the essentials an agent needs: cost, task id return, and the polling tool. It omits error/partial-failure behavior and the interaction of wait_for_completion with polling, which keeps it short of 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?

With 100% schema description coverage, the schema already documents all 9 parameters, including character_ids limits and the atmosphere_id/opening_image_upload exclusivity. The description adds only light reinforcement ('up to 4 of your saved characters', 'saved or uploaded images'), which is baseline 3 territory rather than new meaning.

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 specific verb and resource ('Generates one short video clip from a written brief') and immediately bounds the optional inputs (up to 4 saved characters, one image as opening frame). It explicitly distinguishes itself from the sibling generate_video, so an agent can route without opening either schema.

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?

Names two concrete alternates and their conditions: use generate_video for 'full control over a single shot', and use get_task to check the returned task id. The guidance is clear, though 'full control over a single shot' is a somewhat fuzzy criterion and no other siblings (frame_chain, generate_image) are addressed.

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