Skip to main content
Glama

Re-shoot a Clip from New Angles

lab_neue_winkel

Re-shoot one clip from NEW camera angles: same people, same words in the same timing, same place — only the camera changes, cutting on the spoken lines, as if several cameras had been rolling. This tool plans and checks; it never generates and never charges. Workflow: look at the clip with lab_bilder at exact seconds across its whole length (denser over fast moments), get the spoken lines with lab_wortzeiten, then ask the person ONE question — keep the original look, or a cinematic interpretation (then pick a kino_kopf from aktion optionen). Then call aktion plan with the shot list: every shot says WHERE the camera physically stands, neighbouring shots differ in size, the shots cover the clip without gaps, and original_kamera describes the original angle so the prompt can forbid it. The answer lists findings (hart = fix before anything costs) and the ready runs in stuecke[].lauf. With preis: true it also returns the price of all pieces and an estimate for upscaling afterwards — name it and wait for the yes. Then pass each stuecke[].lauf UNCHANGED to lab_reference_motion, in order. Every run is a low-resolution draft where the model offers one; upscale only what the person likes (lab_upscale). Clips longer than the chosen model can take are split at shot boundaries into several runs (zusammensetzen: true) — for more than a handful of runs propose one lab_auto_lauf with a cap. When all pieces are finished, aktion zusammensetzen puts them into ONE new sequence without gaps, each piece with its original sound. If a result comes back wrong, ONE retry: original angle came back → shorter shot list, describe the original angle more physically, make the first shot radically different (profile or top-down); timing drifted → put the spoken line in quotes on its shot; left and right swapped → describe positions by landmarks, not screen directions; people changed → add a clean still as an image with the job of how the person looks.

Input Schema

NameRequiredDescriptionDefault
nameNozusammensetzen: title of the new sequence
planNo
toolNoModel key from aktion optionen (only models that take a clip as reference). Default: the first one listed there
preisNoAlso price all pieces (free, books nothing)
aktionNooptionen: models with their limits, shot sizes, cinematic headers (free, no project needed). plan (default): check the shot list and build the runs. zusammensetzen: finished pieces into one new sequence
bild_urlsNoImage addresses for plan.bilder, same order
laengen_sNozusammensetzen: the planned length of each piece (stuecke[].bis_s - von_s), same order
video_idsNozusammensetzen: the finished pieces, in order
project_idNoProject — required for plan and zusammensetzen
rechte_bestaetigtNoThe person confirmed they hold the rights to an uploaded clip — passed into every run. Not needed once the person gave the standing rights statement in the FilmLab app (preis then reports no rechte_noetig); never set it on your own
reference_video_urlNoThe clip to re-shoot: an uploaded file (lab_add_media / lab_list_assets) or a finished clip of this project

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / rechte_bestaetigt / description
      Previous value: -"The person confirmed they hold the rights to an uploaded clip — passed into every run"New value: +"The person confirmed they hold the rights to an uploaded clip — passed into every run. Not needed once the person gave the standing rights statement in the FilmLab app (preis then reports no rechte_noetig); never set it on your own"
  2. Added

TDQS

A4.3/5.0
Behavior3/5

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

Annotations declare readOnlyHint=false and destructiveHint=false, so the write/read profile is already given; the description adds real context beyond it: the tool plans and checks but never generates and never charges, returns findings graded hart (fix before anything costs) plus ready runs in stuecke[].lauf, and every run is a low-resolution draft. That said, it does not say what a plan call actually persists (does it book jobs? does it mutate the project?), which is the key behavioural question for a non-read-only tool.

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 purpose is front-loaded and almost every sentence carries operative information, but the whole definition is one dense block of roughly 350 words mixing workflow, pricing policy, splitting rules and a five-case retry playbook. The retry remedies and the aktion variants would be far easier to act on as separated clauses or bullets; as written the agent must parse a wall of prose to find the branch it needs.

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 complex, multi-mode tool with no output schema, the description covers what is returned (findings plus stuecke[].lauf), the pricing mode, the splitting-at-shot-boundaries behaviour with zusammensetzen, and even the failure taxonomy with a single concrete retry per failure mode. Nothing an agent needs in order to call this 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 91%, so the baseline is 3, but the description compensates for the few thin spots and adds real meaning: original_kamera must be described in physical words so the prompt can forbid it, neighbouring shots must differ in size and cover the clip without gaps, preis: true returns pricing plus an upscale estimate, and zusammensetzen uses lengen_s/video_ids in matching order. This is meaning beyond the field labels, not a restatement of them.

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 (re-shoot one clip from new camera angles) and immediately pins down the scope with a positive/negative contrast: same people, words, timing and place, only the camera changes. That framing is distinctive against the many generation siblings (lab_generate, lab_animate, lab_reference_motion) and an agent can identify it without opening the schema.

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 an explicit prerequisite chain (lab_bilder at exact seconds, lab_wortzeiten for lines, one question to the person), names the alternative for scale (lab_auto_lauf with a cap when there are more than a handful of runs), and states when to hand off to lab_reference_motion and lab_upscale. It also specifies an exclusion by implication — upscale only what the person likes, retry only once.

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