Skip to main content
Glama

Generate an image from chosen preset ids

generate_image

Makes an image of Indian people, regional clothing and jewellery, food, festivals, weddings, rituals, places or crafts from preset ids, not free text. Spends credits; the cost is returned in the result and by preview. Returns a task id. Refuses real or famous people's likenesses.

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": {
      "selection": "<selection>"
    },
    "name": "generate_image"
  }
}

Input Schema

NameRequiredDescriptionDefault
requestIdNoOptional. A unique id you choose for this job (a UUID is fine). If the call is repeated with the same requestId within 24 hours, the existing job comes back instead of a new render, so a retry is never charged twice.
selectionYes
imageInputNoReference/product image URLs already hosted on TASVR's own Supabase Storage (e.g. returned by an earlier upload). Arbitrary external URLs are rejected server-side. For an unscoped identity/appearance reference (e.g. a saved avatar) where 'just look like this' is the whole intent, use this. For anything more specific — a pose, a product, a piece of jewelry — use `references` instead, which tells the model exactly what to take from the image and what to ignore.
referencesNoRole-tagged references for anything specific a preset can't express — see each role's own description. Counts toward the same MAX_REFERENCE_IMAGES total as imageInput.

Output Schema

NameRequiredDescriptionDefault
statusYes
task_idYes
subjectResolutionNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior5/5

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

Adds real behavior beyond the annotations: the call spends credits, the exact cost is surfaced in the result, the response is an async task id rather than pixels, and likenesses of real or famous people are refused. The cost and refusal disclosures materially change an agent's decision to call and its expectation of a failure mode, which the readOnly/openWorld/destructive hints do not cover.

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?

Four short sentences, verb-first, with the most decision-relevant facts (preset-only, spends credits, returns task id) up front. The long enumeration of subject matter is slightly padded, and the 'and by preview' clause is vague enough to cost a little clarity, but there is no filler.

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?

For a high-complexity, credit-spending generator with a deep nested schema and an output schema, the description covers cost, task-id output, content policy, and the preset-only input model. It omits what to do after getting the task id (polling via get_generation_status) and any failure/retry framing beyond the requestId idempotency documented in the schema.

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 already 75% and the nested properties carry rich inline docs for presetIds, ethnicityKey, references, and stage placements, so the schema does the heavy lifting. The description only reinforces the preset-not-free-text rule and adds no format or syntax detail beyond the parameters themselves; 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?

States a specific verb and resource ('Makes an image') plus a hard scope constraint ('from preset ids, not free text') that separates it from a free-text renderer or edit_image. It also declares the output shape ('Returns a task id') and a content restriction, so an agent knows what it produces and what it will refuse before 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 Guidelines4/5

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

The preset-id-only constraint tells the agent this is the generation path, and 'Never invent an id' plus the schema's references to plan_shot/search_presets imply the discovery flow. It does not explicitly route the agent to preview_generation first (only a passing 'by preview' aside) or contrast with edit_image, so the when-not guidance is partial rather than complete.

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