Skip to main content
Glama

Prompt Transform

lab_prompt_transform
Idempotent

Turn a loose idea into a production-ready image or video prompt — the same Dreamer engine the FilmLab web UI uses (modes: beautify, storyboard, polish, format, shorten, expand, simplify, custom, stiluebernahme). beautify GENERATES (a 50-character thought comes back as a full prompt); polish/format/shorten/expand/simplify PRESERVE what is there. medium=video plus depth=skeleton yields the 15-block production prompt; depth only applies to video. anlass only applies to beautify. custom and stiluebernahme require instruction. For video the answer carries clip_duration_seconds — hand THAT number to lab_animate(duration_seconds), otherwise a prompt timed to 12s gets rendered as lab_animate's 5s default. In an Apps-capable host this opens as a form you can adjust and re-run; elsewhere it answers with the prompt as plain text. Pass tool (the registry key you will hand to lab_animate/lab_generate) and the finished prompt is laid out in the skeleton of that model family — location, camera, lens and light land where that family reads them, worded the way it reads them; families without a measured rule keep them appended as before, and the answer says so (prompt_skelett).

Input Schema

NameRequiredDescriptionDefault
modeNoDefault beautify (generates). beautify: Aus der Idee einen vollständigen Prompt bauen — ergänzt Licht, Optik, Kamera, Stimmung | storyboard: Szene in 4–8 nummerierte Panels zerlegen — je Panel ein eigenständiger Bild-Prompt | polish: Wortwahl polieren, Flow verbessern, Redundanz entfernen — Länge bleibt | format: In // Subject // Lighting // Camera Sektionen ordnen, Wortlaut bleibt | shorten: ~30% kürzer, jedes Wort muss Gewicht tragen | expand: Texturen, Lichtreflexe, atmosphärische Details | simplify: Direkt und klar, weniger Fachjargon | custom: Eigene Anweisung — z.B. 'Mach es düsterer' | stiluebernahme: Licht, Optik und Look aus einer Beschreibung — Motiv und Bildaufbau bleiben wörtlich
toolNoOptional: the model you will render with, as the registry key from lab_list_models. Decides which family skeleton lays out camera, lens and light — and whether it is a measured rule or the plain appended form.
depthNovideo only: sketch (5 blocks, default) or skeleton (15 blocks)
anlassNobeautify only: what the image is FOR. Default frei
mediumNophoto (default) or video — decides the section layout
promptYesThe text to work on — a loose thought is enough for beautify
winkelNoOptional: change the camera angle of the EXISTING prompt — a key such as augen, unter, auf, vogel, frosch, schraeg, ots, pov, profil. Implies mode=custom and needs no instruction; combinable with groesse.
familieNoOptional, instead of tool: the model family by name when no registry key is at hand. Medium decides whether the image or the video skeleton applies.
groesseNoOptional: change the shot size of the EXISTING prompt, keeping subject, light and place — a key such as ews, ws, mws, ms, mcu, cu, ecu, macro. Implies mode=custom and needs no instruction. An unknown key is rejected with the known ones.
kontextNoOptional, for mode beautify: the scene and earlier shots, for continuity only. Characters, objects and places named here stay the same; only the prompt itself is depicted.
technikenNoUp to three directing technique keys from lab_regie_techniken. Their prompt fragments are appended verbatim after the transform, ordered angle, framing, composition, movement. One angle and one movement at most; movement only with medium=video.
project_idNoOptional: the project this prompt is for. With tool or familie, its Lens Lab optics, Pose Director framing and gaffer light are laid into the prompt. If the project has look_in_post on and a Lens Lab set chosen, grain, halation, vignetting, chromatic aberration and edge softness are left out — the FilmLab Look plugin adds them in Resolve; the answer lists what was removed.
referenzenNoThe references the prompt may point at, IN THE ORDER you will pass them to lab_animate/lab_propose. Write @bild1, @video1, @ton1 in your prompt and they come back as the markers the model actually reads (@Image1, @Video2, @Audio1) — the reference clip itself is @Video1, so the first video reference is @Video2. A mention with no matching reference is rejected instead of being left in the text, where it would reach the model as a word.
instructionNoRequired for custom (an order, e.g. 'make it darker') and stiluebernahme (a style description)
location_idNoOptional, only with tool or familie: the location board whose prompt prefix becomes the place block — the same board you will hand to lab_animate/lab_generate.
projektstilNoOptional, with project_id: the Dreamer writes under the project's style kit and look, as in the app. Without it the project only decides the look_in_post filter.
duration_secondsNovideo only: the clip length in seconds the ACTION TIMING beats are written to. Default 5 (what lab_animate renders without an explicit duration). Rejected for medium=photo.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / kontext
      Added value: +{
      +  "description": "Optional, for mode beautify: the scene and earlier shots, for continuity only. Characters, objects and places named here stay the same; only the prompt itself is depicted.",
      +  "maxLength": 1500,
      +  "type": "string"
      +}
    • addedInput schema / properties / projektstil
      Added value: +{
      +  "description": "Optional, with project_id: the Dreamer writes under the project's style kit and look, as in the app. Without it the project only decides the look_in_post filter.",
      +  "type": "boolean"
      +}
  2. Changed1 schema field changed
    • changedInput schema / properties / project_id / description
      Previous value: -"Optional, only with tool or familie: the project whose Lens Lab optics, Pose Director framing and gaffer light should be laid into the prompt."New value: +"Optional: the project this prompt is for. With tool or familie, its Lens Lab optics, Pose Director framing and gaffer light are laid into the prompt. If the project has look_in_post on and a Lens Lab set chosen, grain, halation, vignetting, chromatic aberration and edge softness are left out — the FilmLab Look plugin adds them in Resolve; the answer lists what was removed."
  3. Changed1 schema field changed
    • addedInput schema / additionalProperties
      Added value: +false
  4. Changed2 schema fields changed
    • addedInput schema / properties / groesse
      Added value: +{
      +  "description": "Optional: change the shot size of the EXISTING prompt, keeping subject, light and place — a key such as ews, ws, mws, ms, mcu, cu, ecu, macro. Implies mode=custom and needs no instruction. An unknown key is rejected with the known ones.",
      +  "type": "string"
      +}
    • addedInput schema / properties / winkel
      Added value: +{
      +  "description": "Optional: change the camera angle of the EXISTING prompt — a key such as augen, unter, auf, vogel, frosch, schraeg, ots, pov, profil. Implies mode=custom and needs no instruction; combinable with groesse.",
      +  "type": "string"
      +}
  5. Changed1 schema field changed
    • changedInput schema / properties / anlass / enum
      Previous value: -[
      -  "frei",
      -  "interview",
      -  "szene",
      -  "portrait",
      -  "street",
      -  "editorial"
      -]New value: +[
      +  "frei",
      +  "interview",
      +  "szene",
      +  "portrait",
      +  "street",
      +  "editorial",
      +  "handy"
      +]
  6. First observed

TDQS

A4.1/5.0
Behavior5/5

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

Annotations are minimal (readOnlyHint=false, idempotentHint=true, destructiveHint=false), and the description carries the real behavioral load: beautify GENERATES while polish/format/shorten/expand/simplify PRESERVE, the host-dependent Apps-form vs plain-text response, rejection of unmatched @-mentions, and the look_in_post filter that strips grain/halation/vignetting with the answer listing removals. These are exactly the non-obvious traits an agent cannot infer from annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core purpose is front-loaded, but the body is a dense em-dash-chained block that restates mode names and medium/depth rules already present in the schema. Information density is high, yet a reader must parse one long paragraph to extract the conditional rules.

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 17-parameter tool with no output schema, the description does the necessary work: it names key response fields (clip_duration_seconds, prompt_skelett, the removed-effects list) and explains reference-marker rewriting. It does not fully describe the response shape or the storyboard mode's output, leaving a modest gap.

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; the description earns above that by adding cross-parameter interaction rules not obvious from per-field text — depth gated on medium=video, anlass gated on beautify, instruction required for custom/stiluebernahme, and tool/familie selecting the skeleton family. The mode list itself is largely repeated from the enum description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Turn a loose idea into a production-ready image or video prompt' via the Dreamer engine, and enumerates the modes. It also clarifies the downstream relationship to lab_animate/lab_generate. It does not differentiate itself from the similarly named sibling lab_transform, which leaves one plausible ambiguity unresolved.

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 concrete conditional guidance: 'depth only applies to video', 'anlass only applies to beautify', 'custom and stiluebernahme require instruction', and 'medium=video plus depth=skeleton yields the 15-block production prompt'. It also routes the agent forward ('hand THAT number to lab_animate(duration_seconds)'). It stops short of stating when to choose this over siblings such as lab_transform.

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