Skip to main content
Glama

Generate object composite

generate_object_composite

Composite an object onto an image using a prompt and optional mask, returning Adobe output URLs. Set wait=false for async jobs.

Instructions

Generate object 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.
maskNoSelected areas of a background image that Firefly uses to fill the source image.
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.
imageNoThe image to expand. Use a URL or an uploadID as the source for the image. Firefly only allows these listed domains for input URLs in the request: 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.
styleNo
widthNoCompatibility alias: provide together with height instead of size.
heightNoCompatibility alias: provide together with width instead of size.
promptYesA text prompt up to 1024 characters. The longer the prompt the better Firefly performs.
confirmNoMust be true to spend Firefly Services credits for the operation the user requested.
maskUrlNoCompatibility URL alias for mask.source.url.
downloadNoDownload completed media to FIREFLY_OUTPUT_DIR, default false. Requires wait=true.
imageUrlNoCompatibility URL alias for image.source.url.
placementNoThe position of the source image after Firefly adjusts it. The value describes the horizontal and vertical placement and dimensions of the image in the output. Note you cannot use placement for source images when you also apply a mask image.
contentClassNoThe content class of the image.
numVariationsNoGenerate this number of variations. 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

B3.1/5.0
Behavior4/5

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

Annotations already declare readOnly=false, openWorld=true, and idempotent=false, so the safety profile is covered. The description usefully adds three facts beyond the annotations: it consumes Firefly Services credits (a real cost implication), it returns Adobe output URLs, and wait=false yields an async job. It omits that 'confirm' must be true to actually spend credits, which is a notable gap given the cost disclosure.

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, front-loaded with the operation and then the cost, return, and async facts. Each sentence is compact and there is no padding, though the opening line largely duplicates the title rather than adding information.

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 17-parameter tool with deep nesting and no output schema, the description does state that Adobe output URLs are returned and mentions the async option, which is helpful. However, it gives no guidance on how to handle the async path (e.g., polling via get_job_status), no mention of the confirm requirement, and no direction on choosing between the many compatibility aliases.

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 94%, so the schema already documents nearly every parameter, including aliases, domain restrictions, and the confirm flag. The description adds no parameter-level meaning beyond what the schema provides, making the baseline of 3 appropriate.

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, 'Generate object composite,' is essentially the tool title restated, giving a clear verb+resource but no information that separates it from close siblings like adaptive_composite and precise_composite. The remaining sentences describe cost and return format rather than purpose, so an agent cannot tell from the description alone what this composite operation actually does with the inputs.

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?

There is no when-to-use guidance and no explicit comparison against alternatives such as adaptive_composite, precise_composite, or generative_fill, despite several overlapping siblings. The only conditional hint is 'Set wait=false to return an async job,' which is an invocation detail 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.