Skip to main content
Glama

Generate a full catalogue from a ready-made photoshoot set

create_catalog_job

Starts a multi-shot catalogue job: your product photo is placed into every shot (or the chosen shotIds) of one of Fashio's curated sets, one image per shot. Returns {mediaItemId, status: 'pack_processing', packTotal, shotIds, diamondCost}; poll get_generation with mediaItemId: resultUrls fills in shot by shot and packCompleted/packFailed report progress until status is 'completed' or 'failed'. Use create_generation instead for a single image or to reuse your own saved preset. Charges a per-shot diamond price x number of shots up front: 402 if the balance cannot cover the full shot count, 400 for a missing readyTemplateSetId or garment image or shotIds matching none of the set's shots, 404 for an unknown set, and none of these charge. If every shot fails the whole charge is refunded automatically; partial failures are counted in packFailed and are not refunded per shot. 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": {
      "readyTemplateSetId": "<readyTemplateSetId>",
      "images": "<images>"
    },
    "name": "create_catalog_job"
  }
}

Input Schema

NameRequiredDescriptionDefault
ratioNoOutput aspect ratio, e.g. 4:5 or 1:1. Omit to use the shoot's default.
imagesYesYour product photo(s) as URLs, from upload_image or your own hosting. garment_photo or garment_photos is required (400 otherwise).
modelIdNoAdvanced override; leave unset to use Fashio's default for catalogue shoots.
shotIdsNoShot ids (the set's shots[].id) to generate; ids not in the set are skipped. Omit to generate every shot. Cost scales with the number of shots.
readyTemplateSetIdYesSet id from list_ready_template_sets / get_ready_template_set (Fashio's curated library, not an id from list_template_sets).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changed
    • changedInput schema / properties / images / description
      Previous value: -"Your product photo(s) — from upload_image or your own hosting."New value: +"Your product photo(s) as URLs, from upload_image or your own hosting. garment_photo or garment_photos is required (400 otherwise)."
    • addedInput schema / properties / images / properties / garment_photo / description
      Added value: +"One product photo URL."
    • addedInput schema / properties / images / properties / garment_photos / description
      Added value: +"Several photo URLs of the same product (e.g. front/back/side); used instead of garment_photo when given."
    • changedInput schema / properties / modelId / description
      Previous value: -"Optional image-to-image model override."New value: +"Advanced override; leave unset to use Fashio's default for catalogue shoots."
    • addedInput schema / properties / ratio / description
      Added value: +"Output aspect ratio, e.g. 4:5 or 1:1. Omit to use the shoot's default."
    • changedInput schema / properties / readyTemplateSetId / description
      Previous value: -"id from list_ready_template_sets."New value: +"Set id from list_ready_template_sets / get_ready_template_set (Fashio's curated library, not an id from list_template_sets)."
    • changedInput schema / properties / shotIds / description
      Previous value: -"Subset of the set's shots. Omit to generate every shot."New value: +"Shot ids (the set's shots[].id) to generate; ids not in the set are skipped. Omit to generate every shot. Cost scales with the number of shots."
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

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

No annotations are provided, so the description carries the full behavioral burden and does so: up-front per-shot diamond charge, automatic refund only when every shot fails, partial failures counted in packFailed and not refunded. It also discloses 402/400/404 pre-charge failures, Bearer auth, 401 on revoked keys, and 429 on the daily request cap.

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, then the response shape and polling contract, then the error/charge matrix – a sensible information order with no filler. It is a single dense paragraph, though, and the long run-on error clause is harder to parse than a short list would be.

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?

There is no output schema, yet the description spells out the returned fields (mediaItemId, status, packTotal, shotIds, diamondCost) and how resultUrls and packCompleted/packFailed evolve via get_generation. Combined with the billing and error coverage, nothing an agent needs to invoke and follow up on this tool is missing.

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 coverage is 100% and the parameter docs already explain garment_photos superseding garment_photo, shotIds being skipped if not in the set, and cost scaling with shot count. The description restates the shot-count/cost relationship and the "or the chosen shotIds" scope but adds no new syntax or format detail beyond the schema, so the baseline 3 applies.

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?

Opens with a specific verb and resource: "Starts a multi-shot catalogue job" where the product photo is placed into every shot of a curated set, one image per shot. It also names the sibling it is not ("Use create_generation instead for a single image"), so an agent can distinguish 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?

Explicitly routes the agent: use this for multi-shot catalogue packs, use create_generation for a single image or to reuse a saved preset. It also states prerequisites (valid Fashio API key, a readyTemplateSetId from list_ready_template_sets) and what to do after calling (poll get_generation until completed/failed).

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.