Skip to main content
Glama

Generate similar images

generate_similar

Create similar image variations from a source URL or upload ID using Firefly Services, returning Adobe output URLs. Set wait=false to run as an async job.

Instructions

Generate similar images. Consumes Firefly Services credits. Returns Adobe output URLs. Set wait=false to return an async job.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nNoCompatibility alias for numVariations. Do not supply both.
sizeNoThe desired width and height for the final image in pixels. The supported sizes for the output images are: Square (1:1) - width 2048px, height 2048px Square (1:1) - width 1024px, height 1024px Landscape (4:3) - width 2304px, height 1792px Portrait (3:4) - width 1792px, height 2304px Widescreen (16:9) - width 2688px, height 1536px (7:4) - width 1344px, height 768px (9:7) - width 1152px, height 896px (7:9) - width 896px, height 1152px .
waitNoWait for completion, default true. Set false to return the job immediately.
imageNoFirefly will create similar variations. Use a URL or an uploadID as the source for the image. Firefly only allows these listed domains: amazonaws.com windows.net dropboxusercontent.com storage.googleapis.com .
seedsNoArray of seed image IDs. These reference images help ensure consistent image generation across multiple API calls. If specified along with numVariations, the number of seeds must equal numVariations.
widthNoCompatibility alias: provide together with height instead of size.
heightNoCompatibility alias: provide together with width instead of size.
confirmNoMust be true to spend Firefly Services credits for the operation the user requested.
downloadNoDownload completed media to FIREFLY_OUTPUT_DIR, default false. Requires wait=true.
imageUrlNoCompatibility URL alias for image.source.url.
numVariationsNoGenerate this number of variations. numVariations defaults to the number of seed images, or to 1 if you do not specify `seeds`.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.0.0

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare non-read-only, non-idempotent, open-world behavior, but the description adds genuinely useful context the annotations lack: it consumes Firefly Services credits, returns Adobe output URLs (important given no output schema), and supports async job return. It omits that confirm=true is required to spend credits, which is a notable behavioral gate.

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, front-loaded sentences with no filler; purpose, cost, output, and async option each get one line. Minor redundancy in restating the wait parameter already covered by the schema.

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?

Covers the three biggest gaps for a no-output-schema tool: cost implication, return form (Adobe URLs), and async behavior. It does not mention that a source image (URL or uploadId) is effectively required, which matters for correct invocation.

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 100%, so the baseline is 3. The description restates the wait=false async behavior already documented in the schema and adds no new parameter semantics (aliases, credit-gating via confirm, seeds/numVariations coupling are all left to the schema).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Generate similar images'), which is distinguishable from generate_image (prompt-driven) in principle. However, it never says the operation is driven by a source image, so the differentiation from siblings like generative_expand/generative_fill relies on the name and schema rather than the text.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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

No when-to-use guidance and no alternatives named despite many closely related siblings (generate_image, generate_image5, upscale_image, generative_expand). The only conditional instruction is 'Set wait=false to return an async job', which is a parameter behavior, not tool selection guidance.

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