Skip to main content
Glama

Create a product reference sheet (4 views + QC)

vivid_create_product_sheet

Creates a 2×2 reference sheet for a saved product from its photos, checks every panel against the real image, and uses extra photos to reconstruct unseen angles.

Instructions

The reference sheet of a saved product is a 2×2 grid (front, two category-specific angles, worn/in use) drawn by Nano Banana 2.1 from the product photos; every panel is checked against the real photo with the same vision QC as vivid_compare_product. Starts a new sheet: 13 credits, or free for the first sheet of a free account (vivid_product_sheet shows the price first, for free). One failed check is regenerated for free, a second failure refunds everything. Takes 1–3 minutes: waits up to waitSec, then poll with vivid_product_sheet. If a sheet for the product is already being made, it waits for that one and charges nothing. Angles the photos do not show are reconstructed: pass an extra photo of the side/back in extraPhotos for a faithful sheet.

Input Schema

NameRequiredDescriptionDefault
productYesSaved product by name (as in vivid_list_references) or asset id.
waitSecNoHow long to wait for the sheet. Hosted connectors time out after about a minute, so keep it short there.
languageNoLanguage of the failure message.it
projectIdNo
extraPhotosNoMore photos of the same product (side, back, detail) as saved products by name or image asset ids of the account.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.36.0

TDQS

A4.7/5.0
Behavior5/5

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

Adds far more than the annotations: 13-credit cost, free first sheet on free accounts, one free regeneration after a failed vision QC, full refund on a second failure, a 1-3 minute runtime with a wait-then-poll pattern, and de-duplication against in-progress sheets. None of this is inferable from readOnlyHint=false, non-idempotent, non-destructive.

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?

Dense but every sentence carries an operational fact, with cost and timing up front. Slight cost: the action verb ('Starts a new sheet') arrives after a long definitional clause, and the first sentence is heavily loaded.

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?

There is no output schema, and the description does not state what the call returns on success (e.g., a job/sheet id or a timeout signal), only that you should poll with vivid_product_sheet afterward. Everything else an agent needs, including cost, refund policy, runtime, and the wait budget, is present.

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 80%, so the parameters are largely self-documenting; the description's added value is explaining why extraPhotos exists (reconstructing angles the photos never show) and how waitSec interacts with the polling handoff. The language and projectId parameters get no extra treatment, but the schema already covers 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: it starts a new product reference sheet, defined concretely as a 2x2 grid (front, two category angles, worn/in use) generated from product photos. It also distinguishes itself from the same-family sibling vivid_product_sheet, which polls and shows price, so an agent can tell the two apart without opening schemas.

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?

Names the alternatives and the conditions that select them: vivid_product_sheet for the price preview and for polling after the wait, vivid_list_references for product names, extraPhotos when photos omit side/back angles. It also covers the concurrent-request case (an in-flight sheet is awaited and nothing is charged).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.