Skip to main content
Glama

derive_image

DestructiveIdempotent

Edit one source from referenceImages or parentTaskId; select parentImageIndex for a multi-image parent. Prompt provenance alone is not an image. Use generate_image without a source, upscale_image for dedicated processing, and batch_generate for multiple edits. Preview returns requestId and cost/readiness in preview; auto/run reuse that receipt. Run requires approval. Execution returns task/status or nextAction; resume the original receipt after interruption.

Input Schema

NameRequiredDescriptionDefault
sizeNoGPT: pixel size e.g. 3840x2160. Others: list_models sizes.
countNoImage count; default 1, maximum 16. Zero retains the legacy default.
modelNoPublic image model ID from list_models; omit for the configured recommendation.
actionYespreview freezes inputs and quotes cost; auto checks saved spending authorization; run requires explicit user approval.
promptNoImage instructions; required for a fresh preview.
qualityNoGPT: auto (default), low, medium, high; 2.5 Sunburst/Flare also xhigh, max; affects the quote. Others: list_models qualities.
promptIdNoOptional source prompt provenance; does not supply an original image.
requestIdNoOriginal preview receipt for auto/run; reuse it after interruption, without re-previewing.
deliveryModeNonative returns previews and original links; links returns original links; metadata omits image delivery.
outputFormatNoOriginal image format; default png.
parentTaskIdNoCompleted owned task supplying the original image; alternative to referenceImages.
thinkingLevelNoGemini reasoning level; supported values and price multipliers come from list_models.
derivationTypeNoLineage label, e.g. variant, edit, change-model or change-size.
promptExampleIdNoOptional source example provenance; does not supply an original image.
referenceImagesNoUp to 8 source images; preview freezes their bytes. Use derive_image for editing.
parentImageIndexNoZero-based source image index; required when the parent has multiple images.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / quality / description
      Previous value: -"Supported quality tier from list_models; affects the quote."New value: +"GPT: auto (default), low, medium, high; 2.5 Sunburst/Flare also xhigh, max; affects the quote. Others: list_models qualities."
    • changedInput schema / properties / size / description
      Previous value: -"Supported aspect ratio from list_models, e.g. 1:1."New value: +"GPT: pixel size e.g. 3840x2160. Others: list_models sizes."
  2. Changed17 schema fields changed
    • addedInput schema / properties / action / description
      Added value: +"preview freezes inputs and quotes cost; auto checks saved spending authorization; run requires explicit user approval."
    • addedInput schema / properties / count / description
      Added value: +"Image count; default 1, maximum 16. Zero retains the legacy default."
    • addedInput schema / properties / deliveryMode / description
      Added value: +"native returns previews and original links; links returns original links; metadata omits image delivery."
    • addedInput schema / properties / derivationType / description
      Added value: +"Lineage label, e.g. variant, edit, change-model or change-size."
    • addedInput schema / properties / model / description
      Added value: +"Public image model ID from list_models; omit for the configured recommendation."
    • addedInput schema / properties / outputFormat / description
      Added value: +"Original image format; default png."
    • changedInput schema / properties / parentImageIndex / description
      Previous value: -"Zero-based; required for multiple images."New value: +"Zero-based source image index; required when the parent has multiple images."
    • addedInput schema / properties / parentTaskId / description
      Added value: +"Completed owned task supplying the original image; alternative to referenceImages."
    • addedInput schema / properties / prompt / description
      Added value: +"Image instructions; required for a fresh preview."
    • addedInput schema / properties / promptExampleId / description
      Added value: +"Optional source example provenance; does not supply an original image."
    • addedInput schema / properties / promptId / description
      Added value: +"Optional source prompt provenance; does not supply an original image."
    • addedInput schema / properties / quality / description
      Added value: +"Supported quality tier from list_models; affects the quote."
    • changedInput schema / properties / referenceImages / description
      Previous value: -"URL/data URL."New value: +"Up to 8 source images; preview freezes their bytes. Use derive_image for editing."
    • addedInput schema / properties / referenceImages / items / description
      Added value: +"Public image URL or image data URL."
    • addedInput schema / properties / requestId / description
      Added value: +"Original preview receipt for auto/run; reuse it after interruption, without re-previewing."
    • changedInput schema / properties / size / description
      Previous value: -"Ratio."New value: +"Supported aspect ratio from list_models, e.g. 1:1."
    • changedInput schema / properties / thinkingLevel / description
      Previous value: -"Gemini thinking; extended=高级模式."New value: +"Gemini reasoning level; supported values and price multipliers come from list_models."
  3. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, and the description adds valuable workflow behavior: preview freezes inputs and quotes cost, auto/run reuse the preview receipt, run requires approval, and interrupted executions can resume from the original receipt. It does not spell out exactly what is destructive or how the original source is preserved, which keeps it below a 5.

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?

The description is dense but front-loads the core purpose and then moves through alternatives and workflow details. It is appropriately sized for a complex 16-parameter tool, though the semicolon-heavy style and the phrase 'in preview' make it slightly harder to parse than necessary.

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 complex editing tool with no output schema, the description covers the essential execution model: preview produces a requestId with cost/readiness, run requires approval, and execution returns task/status or nextAction. It is close to complete, though it could say more about what destructive editing means and what the original source guarantees are.

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%, so the schema already documents all 16 parameters, including action, requestId, referenceImages, and parentImageIndex. The description reinforces the key source and preview-receipt semantics, but mostly repeats what the schema says rather than adding new syntax or format details.

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?

The description states a specific verb and resource: editing one image from either referenceImages or parentTaskId. It also immediately distinguishes this from generate_image, upscale_image, and batch_generate, so an agent can identify the tool's role 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?

It gives explicit routing guidance: use generate_image when there is no source, upscale_image for dedicated processing, and batch_generate for multiple edits. It also clarifies source selection between referenceImages and parentTaskId, including parentImageIndex for multi-image parents.

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