Skip to main content
Glama

Generate adaptive composite

adaptive_composite

Composite an object image onto a background with AI-generated lighting, shadows, and harmonization. Produces Adobe output URLs.

Instructions

Generate adaptive composite. 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.
waitNoWait for completion, default true. Set false to return the job immediately.
seedsNoArray of seed image IDs. These reference images help ensure consistent image generation across multiple API calls. If specified alongside numVariations, the number of seeds must equal numVariations. Defaults: 1 variation → [333], 2 → [333, 222], 3 → [333, 222, 111].
objectYesObject image and optional mask.
outputNoOutput format specification.
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.
backgroundYesBackground image and fill area mask.
harmonizationNoControls how much the object's colors and lighting are adjusted to match the background scene.
numVariationsNoNumber of output variations to generate.
shadowIntensityNoControls shadow intensity in the composited result. Lower values reduce shadow.
preserveBackgroundNoWhen true, preserves original background details within the masked area during compositing.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.0.0

TDQS

B3.1/5.0
Behavior4/5

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

Annotations declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, but the description adds genuinely new behavioral context: it consumes Firefly Services credits (a cost signal the annotations do not carry) and returns Adobe output URLs, plus the async-job behavior when wait=false. It stops short of noting that confirm=true is required to spend credits or that download requires wait=true, but it meaningfully exceeds the annotation baseline.

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 padding; credit consumption and return format come early. The opening sentence is redundant with the title, which costs a point but the rest is efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 12-parameter, deeply nested tool with no output schema, the description does supply the return shape (Adobe output URLs) and the sync/async switch, which is the most important missing piece. However it leaves the core ambiguity unresolved: with two other composite tools in the sibling list, an agent has no basis for picking adaptive_composite specifically, and the confirm-credit workflow is not surfaced.

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 nested object structures, seeds defaults, harmonization, shadowIntensity and the n/numVariations aliasing conflict are all already documented in the schema. The description adds only the wait=false async hint, which the schema's own description also states, so baseline 3 is correct.

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

Purpose3/5

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

The first sentence is essentially a verbatim restatement of the tool title ('Generate adaptive composite') and never explains what an 'adaptive' composite actually does or how it differs from generate_object_composite or precise_composite. The verb+resource pairing is present, but an agent cannot distinguish the three composite siblings from this text alone.

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 reference to any of the composite siblings (generate_object_composite, precise_composite) that an agent would need to choose between. The only usage-like hint is 'Set wait=false to return an async job', which is a parameter behavior rather than tool-selection guidance.

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