Skip to main content
Glama

Update a film

update_storyboard
Destructive

Change a film's own properties in one call; only the fields you send change. name; description (null clears it); user_tags (replaces the account's own tags, never the Organizer's); favorite; cover_scene (that scene's still becomes the cover); cast (replaces it with the Subjects named, which list_subjects finds; empty casts nobody); settings (aspect ratio, default image and clip models, clip resolution and audio, style by id or name, null takes the film off a style — scenes whose takes no longer fit are re-fitted and listed); archived (reversible, the first answer to a film the user no longer wants; delete_storyboard is the permanent one). One undo step; undo_storyboard takes it back. Spends no credits.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "storyboard_id": "<storyboard_id>"
    },
    "name": "update_storyboard"
  }
}

Input Schema

NameRequiredDescriptionDefault
castNo
nameNo
archivedNo
favoriteNo
settingsNo
user_tagsNo
cover_sceneNo
descriptionNo
storyboard_idYes

Output Schema

NameRequiredDescriptionDefault
castYes
briefYes
notesYes
quoteNo
textsYes
scenesYes
soundsYes
videosYes
creditsYes
historyYes
messageYes
skippedNo
startedNo
stoppedNo
acceptedNo
receiptsNo
scheduleYes
settingsYes
referenceNo
storyboardYes
download_urlNo
generation_idNo
remaining_scenesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / settings / properties / default_image_model / enum
      Previous value: -[
      -  "seedream-5-lite",
      -  "nano-banana-2.1",
      -  "nano-banana-2",
      -  "gpt-image-2.5-flare",
      -  "gpt-image-2.5-sunburst",
      -  "gpt-image-2",
      -  "nano-banana-2-lite",
      -  "seedream-5-pro",
      -  "seedream-5-pro-spicy",
      -  "flux-schnell",
      -  "flux-2-flex",
      -  "flux-2-pro",
      -  "flux-2-max",
      -  "recraft-v4.1-svg",
      -  "recraft-v4.1-pro-svg",
      -  "p-image",
      -  "grok-imagine-image",
      -  "grok-imagine-image-quality",
      -  "krea-3",
      -  "qwen-image-3-pro",
      -  "soul-2"
      -]New value: +[
      +  "seedream-5-lite",
      +  "nano-banana-2.1",
      +  "nano-banana-2",
      +  "gpt-image-2.5-flare",
      +  "gpt-image-2.5-sunburst",
      +  "gpt-image-2",
      +  "nano-banana-2-lite",
      +  "seedream-5-pro",
      +  "flux-schnell",
      +  "flux-2-flex",
      +  "flux-2-pro",
      +  "flux-2-max",
      +  "recraft-v4.1-svg",
      +  "recraft-v4.1-pro-svg",
      +  "p-image",
      +  "grok-imagine-image",
      +  "grok-imagine-image-quality",
      +  "krea-3",
      +  "qwen-image-3-pro",
      +  "soul-2"
      +]
    • changedInput schema / properties / settings / properties / default_video_model / enum
      Previous value: -[
      -  "seedance-2.5",
      -  "seedance-2.5-spicy",
      -  "seedance-2.0",
      -  "seedance-2.0-mini",
      -  "seedance-2.0-fast",
      -  "grok-imagine-video-1.5",
      -  "veo-3.1",
      -  "veo-3.1-fast",
      -  "veo-3.1-lite",
      -  "gemini-omni-1.1",
      -  "kling-v3-omni-video",
      -  "kling-v3-video",
      -  "happyhorse-1.0",
      -  "wan-3",
      -  "wan-3-prime",
      -  "gen-4.5",
      -  "p-video",
      -  "p-video-2",
      -  "flux-3",
      -  "minimax-h3-max",
      -  "p-video-avatar",
      -  "p-video-animate",
      -  "p-video-replace",
      -  "omni-human-1.5",
      -  "kling-avatar-v2",
      -  "kling-v3-motion-control",
      -  "kling-lip-sync",
      -  "sync-lipsync-2",
      -  "genjutsu-motion-transfer",
      -  "genjutsu-object-swap"
      -]New value: +[
      +  "seedance-2.5",
      +  "seedance-2.0",
      +  "seedance-2.0-mini",
      +  "seedance-2.0-fast",
      +  "grok-imagine-video-1.5",
      +  "veo-3.1",
      +  "veo-3.1-fast",
      +  "veo-3.1-lite",
      +  "gemini-omni-1.1",
      +  "kling-v3-omni-video",
      +  "kling-v3-video",
      +  "happyhorse-1.0",
      +  "wan-3",
      +  "wan-3-prime",
      +  "gen-4.5",
      +  "p-video",
      +  "p-video-2",
      +  "flux-3",
      +  "minimax-h3-max",
      +  "p-video-avatar",
      +  "p-video-animate",
      +  "p-video-replace",
      +  "omni-human-1.5",
      +  "kling-avatar-v2",
      +  "kling-v3-motion-control",
      +  "kling-lip-sync",
      +  "sync-lipsync-2",
      +  "genjutsu-motion-transfer",
      +  "genjutsu-object-swap"
      +]
  2. Added

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare destructive/not-idempotent, and the description adds genuinely new context: per-field replace-vs-clear semantics, that re-fitting happens when style changes and affected scenes are listed, one undo step, and no credit spend. This is rich behavioral disclosure beyond the annotations.

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?

Purpose and partial-update rule are front-loaded, and every clause carries semantics. However, the semicolon-separated field list is a dense run-on that is harder to scan than bullets for nine parameters.

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?

For a 9-parameter nested mutation with an output schema present, the description covers field semantics, reversible/irreversible alternatives, undo availability, and cost. Nothing an agent needs to call it correctly is missing; return shape is covered by the output schema.

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

Parameters5/5

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

With 0% schema description coverage, the description compensates almost fully: description null clearing, user_tags replacing only account tags (never Organizer's), cast replacement with empty-clears and pointer to list_subjects, cover_scene effect, settings sub-fields including style by id or name with null-removal consequences, and archived reversibility. Nearly every non-obvious parameter gains 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 object ('Change a film's own properties in one call') and immediately clarifies the partial-update semantics ('only the fields you send change'). 'A film's own properties' distinguishes it from scene-level siblings like update_scene, and it names delete_storyboard/undo_storyboard explicitly.

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 clear routing for the destructive cases: archived is 'reversible' and the 'first answer' vs delete_storyboard as 'the permanent one', with undo_storyboard for rollback. It does not give an explicit when-not against scene/annotation siblings, leaving some boundary inference to the agent.

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