Skip to main content
Glama

Save a generation's styling as a reusable template

create_template_set

Saves a reusable style preset on your account and returns {id}; pass that id as create_generation's templateSetId to put a NEW garment on the same model/venue/pose. Two ways: sourceMediaId (one of your completed generations; its fashion_model, venue, pose, shotType, stylePreset and ratio are captured, and any pose/shotType/stylePreset/ratio you also pass override them), or toolId + images.fashion_model (+ optional venue/pose/...) to define a preset by hand. Always creates a new preset with a new id, never overwrites one, even with the same label; remove old ones with delete_template_set. Free (no diamonds). 400 for a missing label, unsupported toolId, unfinished source or no fashion_model; 404 if sourceMediaId is not found or not yours. Needs a valid Fashio API key (Bearer); every call counts toward the key's daily request cap (429 when reached, 401 for a missing or revoked key).

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": {
      "label": "<label>"
    },
    "name": "create_template_set"
  }
}

Input Schema

NameRequiredDescriptionDefault
poseNoPose id from list_poses. With sourceMediaId, overrides the captured pose.
labelYesName for the preset (required, max 80 characters; longer is cut), e.g. 'Studio white, model A, 3/4 pose'.
ratioNoAspect ratio: 1:1 | 9:16 | 16:9 | 4:3 | 3:4 | 4:5 | auto. With sourceMediaId, overrides the captured value.
imagesNoRequired if sourceMediaId is omitted: fashion_model (required; catalog id from list_fashion_models or an image URL) and optional venue (id from list_venues or an image URL). Ignored when sourceMediaId is given (taken from that generation).
toolIdNoRequired if sourceMediaId is omitted. One of: virtual_model, outfit_photo, pro_studio, jewelry_on_model, clothing_ecom_pack, jewelry_ecom_pack.
shotTypeNopro_studio shot type. With sourceMediaId, overrides the captured value.
stylePresetNopro_studio style preset. With sourceMediaId, overrides the captured value.
sourceMediaIdNoid of one of your completed generations (from create_generation / get_generation) to capture styling from. 400 if it is still processing. Omit to define the preset with toolId + images.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changed
    • changedInput schema / properties / images / description
      Previous value: -"Required if sourceMediaId is omitted."New value: +"Required if sourceMediaId is omitted: fashion_model (required; catalog id from list_fashion_models or an image URL) and optional venue (id from list_venues or an image URL). Ignored when sourceMediaId is given (taken from that generation)."
    • changedInput schema / properties / label / description
      Previous value: -"A name for this preset, e.g. 'Studio white, model A, 3/4 pose'."New value: +"Name for the preset (required, max 80 characters; longer is cut), e.g. 'Studio white, model A, 3/4 pose'."
    • addedInput schema / properties / pose / description
      Added value: +"Pose id from list_poses. With sourceMediaId, overrides the captured pose."
    • addedInput schema / properties / ratio / description
      Added value: +"Aspect ratio: 1:1 | 9:16 | 16:9 | 4:3 | 3:4 | 4:5 | auto. With sourceMediaId, overrides the captured value."
    • addedInput schema / properties / shotType / description
      Added value: +"pro_studio shot type. With sourceMediaId, overrides the captured value."
    • changedInput schema / properties / sourceMediaId / description
      Previous value: -"A completed generation's id (from create_generation/get_generation) to capture styling from."New value: +"id of one of your completed generations (from create_generation / get_generation) to capture styling from. 400 if it is still processing. Omit to define the preset with toolId + images."
    • addedInput schema / properties / stylePreset / description
      Added value: +"pro_studio style preset. With sourceMediaId, overrides the captured value."
  2. First observed

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so: mutation semantics ('always creates a new preset with a new id, never overwrites one, even with the same label'), cost ('Free (no diamonds)'), auth ('valid Fashio API key (Bearer)'), rate limiting ('every call counts toward the key's daily request cap'), and the full 400/404/401/429 error map with causes.

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 purpose and the id-return workflow, then modes, then behavior, then errors – a sensible order. It is a single dense paragraph and slightly overpacked (the parenthetical override list and error codes stack up), but nearly every clause carries a fact an agent 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 an 8-parameter, nested-object mutation tool with no annotations and no output schema, the description covers what is created, what is returned ({id}), how to use it downstream, error conditions, cost, and auth/rate-limit constraints. Nothing material is missing for correct invocation.

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 beyond the schema: the mutual exclusivity of sourceMediaId vs toolId+images, that images is ignored when sourceMediaId is supplied, and that captured fields can be overridden by explicit values. It stops short of restating enum values or the label length limit, which the schema already handles.

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 ('Saves a reusable style preset on your account') and immediately distinguishes itself from create_generation (this creates a preset, not a generation) and delete_template_set (removal). The two construction modes (sourceMediaId capture vs toolId + images.fashion_model) make the scope unambiguous.

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?

Explicitly describes the two ways to call it, the condition selecting each ('one of your completed generations' vs 'define a preset by hand'), how to consume the result (pass id as create_generation's templateSetId), and names delete_template_set as the removal path. This is genuine when/when-not guidance with a named alternative.

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.