Skip to main content
Glama

Auto-Storyboard

lab_auto_storyboard

Auto-generate a storyboard from either script OR situationen (mutually exclusive). An LLM splits script into scenes; situationen bypasses that LLM entirely and generates exactly one frame per entry, ignoring max_scenes. situationen requires figur_id of an existing character sheet with a reference image: every frame uses that character on seedream_5_pro, without creating a new sheet. format selects 16:9 (default) or 9:16 for every model. bewegung_en is saved in each frame’s metadata for later animation. COSTS CREDITS — every scene is one generated image, charged up front for the number of scenes the script is split into (at most max_scenes). Ask the human before running it. CHARACTERS ARE NOT GUESSED: every character who appears in more than one frame first gets a reference image (an existing project character with a reference is reused for free; a new one is created and its reference sheet is charged separately as character_sheet_generate), and every frame showing such a character is generated WITH those references on seedream_5_pro instead of model. Frames without a recurring character use model. The answer lists figuren (name, status, scenes), figuren_kosten_geschaetzt and kosten_je_bild; prices per model come from lab_list_models. If a reference cannot be made, the frames that need it fail and are refunded — they are never generated without it. The scene split is SYNCHRONOUS and can take up to ~55s and then time out (504) for long scripts; run it in the app if so. The answer lists the new image ids; the frames themselves render in the background as pending images — poll them with lab_job_status (type 'image').

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modelNoImage model for the frames. Default krea_2_medium. Prices per model: lab_list_models.
formatNoFrame aspect ratio for every model, default 16:9
scriptNoScreenplay or scene description; provide either script or situationen. The backend splits script into scenes; each scene becomes one image.
figur_idNoExisting character-sheet id with a reference image; required for situationen, only used with situationen
creativityNoKrea 2 creativity setting; ignored by flux_pro. Default medium.
max_scenesNoUpper limit for the number of scenes, and therefore images charged. Backend default when omitted.
project_idYesProject id
situationenNoIndependent situations, each exactly one frame. Requires figur_id; excludes script and figuren_raten.
figuren_ratenNoOpt-out, off by default: true skips the character references and lets the image model invent every character from the text — a different face in every frame. Only set it when the human explicitly asks for that; it is recorded on every frame (figuren_geraten).
style_reference_urlNoShared moodboard image applied to ALL frames for one consistent look. Used by Krea 2 and by the Seedream character-reference path (one additional reference, included in pricing). Must be an asset of this project or an absolute URL — anything else is refused before credits are spent.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • addedInput schema / properties / figur_id
      Added value: +{
      +  "description": "Existing character-sheet id with a reference image; required for situationen, only used with situationen",
      +  "exclusiveMinimum": 0,
      +  "maximum": 9007199254740991,
      +  "type": "integer"
      +}
    • addedInput schema / properties / format
      Added value: +{
      +  "description": "Frame aspect ratio for every model, default 16:9",
      +  "enum": [
      +    "16:9",
      +    "9:16"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / script / description
      Previous value: -"Screenplay or scene description to storyboard. Required — the backend splits it into scenes; each scene becomes one image."New value: +"Screenplay or scene description; provide either script or situationen. The backend splits script into scenes; each scene becomes one image."
    • addedInput schema / properties / situationen
      Added value: +{
      +  "description": "Independent situations, each exactly one frame. Requires figur_id; excludes script and figuren_raten.",
      +  "items": {
      +    "properties": {
      +      "bewegung_en": {
      +        "description": "English motion prompt with a strong movement verb",
      +        "maxLength": 1000,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "bild_en": {
      +        "description": "English still prompt: one moment, one action",
      +        "maxLength": 4000,
      +        "minLength": 1,
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "bild_en",
      +      "bewegung_en"
      +    ],
      +    "type": "object"
      +  },
      +  "maxItems": 16,
      +  "minItems": 8,
      +  "type": "array"
      +}
    • changedInput schema / properties / style_reference_url / description
      Previous value: -"Shared moodboard image applied to ALL frames for one consistent look. Used by the Krea 2 models only. Must be an asset of this project or an absolute URL — anything else is refused before credits are spent."New value: +"Shared moodboard image applied to ALL frames for one consistent look. Used by Krea 2 and by the Seedream character-reference path (one additional reference, included in pricing). Must be an asset of this project or an absolute URL — anything else is refused before credits are spent."
    • changedInput schema / required
      Previous value: -[
      -  "project_id",
      -  "script"
      -]New value: +[
      +  "project_id"
      +]
  2. Changed1 schema field changed
    • addedInput schema / additionalProperties
      Added value: +false
  3. Changed1 schema field changed
    • addedInput schema / properties / figuren_raten
      Added value: +{
      +  "description": "Opt-out, off by default: true skips the character references and lets the image model invent every character from the text — a different face in every frame. Only set it when the human explicitly asks for that; it is recorded on every frame (figuren_geraten).",
      +  "type": "boolean"
      +}
  4. Changed6 schema fields changed
    • addedInput schema / properties / creativity
      Added value: +{
      +  "description": "Krea 2 creativity setting; ignored by flux_pro. Default medium.",
      +  "enum": [
      +    "raw",
      +    "low",
      +    "medium",
      +    "high"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / max_scenes
      Added value: +{
      +  "description": "Upper limit for the number of scenes, and therefore images charged. Backend default when omitted.",
      +  "maximum": 20,
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • addedInput schema / properties / model
      Added value: +{
      +  "description": "Image model for the frames. Default krea_2_medium. Prices per model: lab_list_models.",
      +  "enum": [
      +    "krea_2_medium",
      +    "krea_2_large",
      +    "krea_2_turbo",
      +    "flux_pro"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / script
      Added value: +{
      +  "description": "Screenplay or scene description to storyboard. Required — the backend splits it into scenes; each scene becomes one image.",
      +  "maxLength": 80000,
      +  "minLength": 20,
      +  "type": "string"
      +}
    • addedInput schema / properties / style_reference_url
      Added value: +{
      +  "description": "Shared moodboard image applied to ALL frames for one consistent look. Used by the Krea 2 models only. Must be an asset of this project or an absolute URL — anything else is refused before credits are spent.",
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "project_id"
      -]New value: +[
      +  "project_id",
      +  "script"
      +]
  5. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Adds substantial behavior beyond the readOnlyHint=false/destructiveHint=false annotations: credits are charged up front per scene, failed reference frames are refunded and never generated, the scene split is synchronous and can 504 after ~55s, and frames render in the background. This is exactly the disclosure a credit-spending mutation needs.

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 script/situationen split, and every sentence carries operational information. It is long and heavy with caps-emphasis, but almost nothing is padding.

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 10-parameter, credit-spending tool with no output schema, the description covers return values (figuren, figuren_kosten_geschaetzt, kosten_je_bild, new image ids), background rendering, and polling. Nothing an agent needs to call it correctly 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 the baseline is 3, but the description adds real meaning: situationen ignores max_scenes and yields exactly one frame per entry, bewegung_en is persisted for later animation, style_reference_url counts as one extra reference in pricing, and figuren_raten is recorded per frame. It mainly reinforces schema text rather than extending it, so 4.

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+resource (auto-generate a storyboard) and precisely distinguishes its two input modes: script (LLM-split into scenes) vs situationen (one frame per entry, no LLM). An agent can tell exactly what this produces and how the two paths differ.

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?

Gives explicit routing rules: script OR situationen are mutually exclusive, situationen requires figur_id, figuren_raten is an opt-out only when the human asks, and 'Ask the human before running it.' It also names the fallback path (run in the app on 504) and the follow-up tool (lab_job_status).

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