Skip to main content
Glama

Change the picture

set_look
DestructiveIdempotent

Grade, camera, shape, speaker cut-out, a replay, or style_id to switch the whole video to a style. Cost: Free.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "set_look"
  }
}

Input Schema

NameRequiredDescriptionDefault
gradeNoThe picture's colour.
shapeNoThe video's shape; null puts its own back.
cameraNoThe camera moves.
replayNoPlays once, then again at this speed (5 is 5x); null removes it. Saved alone.
style_idNoSwitch the whole video to this style (one they named, or theirs in get_profile own_styles): the same cut, redrawn as a new version in a minute or more; one change in words. Saved alone; check_video says when ready.
video_idNoVideo; the open one if left out.
output_idNoOutput id.
base_versionNoVersion id you read.
operation_idNoSame id retries run once.
cut_out_speakerNoCut the speaker out; saved alone, a job of minutes (check_video).
captions_behind_headNoCaptions behind the speaker (after cut_out_speaker).

Output Schema

NameRequiredDescriptionDefault
codeNo
costNo
errorNo
stateNo
statusNo
dry_runNo
messageNo
plan_idNo
style_idNo
video_idNo
availableNo
import_idNo
output_idNo
studio_urlNo
version_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • removedInput schema / properties / operation_id / pattern
      Removed value: -"^[a-zA-Z0-9_.:-]{1,100}$"
    • removedInput schema / properties / style_id / pattern
      Removed value: -"^[a-z0-9][a-z0-9-]{0,59}$"
  2. Changed1 schema field changed
    • changedInput schema / properties / style_id / description
      Previous value: -"Switch the whole video to this style (a style_id they named, or one of theirs in get_profile own_styles): the same cut in the new look, saved as a new version that is drawn again, a minute or more, and uses one change in words. Saved alone. check_video says when it is ready."New value: +"Switch the whole video to this style (one they named, or theirs in get_profile own_styles): the same cut, redrawn as a new version in a minute or more; one change in words. Saved alone; check_video says when ready."
  3. Changed2 schema fields changed
    • addedInput schema / properties / camera / properties / punch / properties / arrive
      Added value: +{
      +  "description": "Seconds the move takes to arrive; 0.23 by default.",
      +  "maximum": 3,
      +  "minimum": 0.05,
      +  "type": "number"
      +}
    • addedInput schema / properties / camera / properties / punch / properties / ease
      Added value: +{
      +  "description": "How it arrives: bounce (the default: a small overshoot and one settle), smooth, linear, ease-in or ease-out, with no overshoot.",
      +  "enum": [
      +    "bounce",
      +    "smooth",
      +    "linear",
      +    "ease-in",
      +    "ease-out"
      +  ],
      +  "type": "string"
      +}
  4. Changed2 schema fields changed
    • changedInput schema / properties / shape / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "add": {
      -        "description": "true keeps this shape and adds the new one as another output.",
      -        "type": "boolean"
      -      },
      -      "fit": {
      -        "description": "subject follows the speaker, cover fills, contain keeps the whole picture.",
      -        "enum": [
      -          "subject",
      -          "cover",
      -          "contain"
      -        ],
      -        "type": "string"
      -      },
      -      "ratio": {
      -        "description": "The shape.",
      -        "enum": [
      -          "9:16",
      -          "16:9",
      -          "1:1",
      -          "4:5"
      -        ],
      -        "type": "string"
      -      },
      -      "x": {
      -        "description": "cover: the window's centre across, -1 to 1.",
      -        "maximum": 1,
      -        "minimum": -1,
      -        "type": "number"
      -      },
      -      "y": {
      -        "description": "cover: the window's centre down, -1 to 1.",
      -        "maximum": 1,
      -        "minimum": -1,
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "ratio",
      -      "fit"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "add": {
      +        "description": "true keeps this shape and adds the new one as another output.",
      +        "type": "boolean"
      +      },
      +      "fit": {
      +        "description": "subject follows the speaker (the main shape only: with add: true use cover or contain), cover fills, contain keeps the whole picture.",
      +        "enum": [
      +          "subject",
      +          "cover",
      +          "contain"
      +        ],
      +        "type": "string"
      +      },
      +      "ratio": {
      +        "description": "The shape.",
      +        "enum": [
      +          "9:16",
      +          "16:9",
      +          "1:1",
      +          "4:5"
      +        ],
      +        "type": "string"
      +      },
      +      "x": {
      +        "description": "cover: the window's centre across, -1 to 1.",
      +        "maximum": 1,
      +        "minimum": -1,
      +        "type": "number"
      +      },
      +      "y": {
      +        "description": "cover: the window's centre down, -1 to 1.",
      +        "maximum": 1,
      +        "minimum": -1,
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "ratio",
      +      "fit"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / style_id
      Added value: +{
      +  "description": "Switch the whole video to this style (a style_id they named, or one of theirs in get_profile own_styles): the same cut in the new look, saved as a new version that is drawn again, a minute or more, and uses one change in words. Saved alone. check_video says when it is ready.",
      +  "pattern": "^[a-z0-9][a-z0-9-]{0,59}$",
      +  "type": "string"
      +}
  5. Changed2 schema fields changed
    • changedInput schema / properties / replay / description
      Previous value: -"The whole video plays once, then again at this speed (5 is 5x); null takes the replay out. Saved on its own."New value: +"Plays once, then again at this speed (5 is 5x); null removes it. Saved alone."
    • changedInput schema / properties / video_id / description
      Previous value: -"The video; the open one when left out."New value: +"Video; the open one if left out."
  6. Changed6 schema fields changed
    • changedInput schema / properties / base_version / description
      Previous value: -"The version_id you read; refused if the video changed since."New value: +"Version id you read."
    • changedInput schema / properties / cut_out_speaker / description
      Previous value: -"Cut the speaker out so things can go behind them; saved alone."New value: +"Cut the speaker out; saved alone, a job of minutes (check_video)."
    • changedInput schema / properties / operation_id / description
      Previous value: -"A retry with the same id runs once."New value: +"Same id retries run once."
    • changedInput schema / properties / output_id / description
      Previous value: -"An output (Short, hook, shape); the main video when left out."New value: +"Output id."
    • changedInput schema / properties / video_id / description
      Previous value: -"The video, from list_videos."New value: +"The video; the open one when left out."
    • changedInput schema / required
      Previous value: -[
      -  "video_id"
      -]New value: +[]
  7. Changed5 schema fields changed
    • changedInput schema / properties / base_version / description
      Previous value: -"The version_id you read; refused if the video changed since. Left out: the live version, and a repeat is saved once."New value: +"The version_id you read; refused if the video changed since."
    • changedInput schema / properties / captions_behind_head / description
      Previous value: -"Captions drawn behind the speaker (needs cut_out_speaker first)."New value: +"Captions behind the speaker (after cut_out_speaker)."
    • changedInput schema / properties / cut_out_speaker / description
      Previous value: -"Cut the speaker out of the footage so things can go behind them; saved on its own."New value: +"Cut the speaker out so things can go behind them; saved alone."
    • changedInput schema / properties / operation_id / description
      Previous value: -"The same id on a retry runs it once; a new id is a new request."New value: +"A retry with the same id runs once."
    • changedInput schema / properties / output_id / description
      Previous value: -"A Short, hook or shape of the video; the main video when left out."New value: +"An output (Short, hook, shape); the main video when left out."
  8. Changed3 schema fields changed
    • changedInput schema / properties / camera / properties / punch / properties / pivot / items
      Previous value: -[
      -  {
      -    "maximum": 1,
      -    "minimum": 0,
      -    "type": "number"
      -  },
      -  {
      -    "maximum": 1,
      -    "minimum": 0,
      -    "type": "number"
      -  }
      -]New value: +{
      +  "maximum": 1,
      +  "minimum": 0,
      +  "type": "number"
      +}
    • addedInput schema / properties / camera / properties / punch / properties / pivot / maxItems
      Added value: +2
    • addedInput schema / properties / camera / properties / punch / properties / pivot / minItems
      Added value: +2
  9. Added

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, idempotentHint=true, and readOnlyHint=false, so the safety profile is covered. The description adds a useful cost signal ('Free') but does not disclose that this is a destructive, revision-producing mutation or that some changes are slow jobs — those details live only in the schema.

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?

It is a single short sentence with no filler, which is good. However, the missing verb and comma-spliced list make the structure read awkwardly rather than front-loading a clean statement of action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 11 parameters, nested objects, an output schema, and full schema coverage, the structured data carries most of the burden. Still, for a destructive tool the description should say more about versioning/overwrite behavior and which options are mutually exclusive, so it is only adequate.

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?

Schema description coverage is 100%, including rich per-field text and notes like 'Saved alone' and 'check_video says when ready', so the baseline is 3. The description only groups the parameter families and adds no syntax or default detail beyond the schema.

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?

The description enumerates the specific resources it changes (grade, camera, shape, speaker cut-out, replay, style), which lets an agent separate it from set_audio and set_captions. It lacks an explicit verb and reads as a sentence fragment, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Cost: Free' is the only guidance offered. There is no when-to-use or when-not-to-use framing, and no routing toward related siblings such as adjust_style, copy_style, or browse_styles, even though style_id versus grade/camera overlap conceptually.

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