Skip to main content
Glama

Generate images

generate_image

Generates images from text prompts using Adobe Firefly, returning output URLs or an async job ID for deferred results.

Instructions

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

Input Schema

NameRequiredDescriptionDefault
nNoCompatibility alias for numVariations. Do not supply both.
sizeNoThe desired width and height for the final image, in pixels. Supported sizes for the output images with `image3` 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 Widescreen (16:9) - width 2688px, height 1512px (7:4) - width 1344px, height 768px (7:4) - width 1344px, height 756px (9:7) - width 1152px, height 896px (7:9) - width 896px, height 1152px Supported sizes for the output images with `image4` are: (1:1) - width 2048px, height 2048px (4:3) - width 2304px, height 1792px (3:4) - width 1792px, height 2304px (16:9) - width 2688px, height 1536px (9:16) - width 1440px, height 2560px .
waitNoWait for completion, default true. Set false to return the job immediately.
seedsNoAn array of seed image IDs. These reference images help ensure consistent image generation across multiple API calls. For example, use the same seed to generate a similar image in different styles. If specified along with numVariations, the number of seeds provided must equal numVariations.
styleNoAn object with the reference image details for style.
widthNoCompatibility alias: provide together with height instead of size.
heightNoCompatibility alias: provide together with width instead of size.
promptYesA text prompt to support the generation of an image. The longer the prompt the better Firefly performs.
confirmNoSet true only when the user asked for exactly this action.
downloadNoDownload completed media to FIREFLY_OUTPUT_DIR, default false. Requires wait=true.
structureNoAn object with the reference image details for structure.
contentClassNoDirects the style of a generated image to be photographic or like fine art.
customModelIdNoInclude the specific custom model ID when a custom model type is designated in the `x-model-version` header parameter.
numVariationsNoThe number of variations to generate. numVariations defaults to the number of seed images, or to 1 if you do not specify `seeds`.
upsamplerTypeNoOnly supported with the model version `image4_custom`. The `default` setting upscales generated images to 2k. The `low_creativity` setting refines the image generation by removing distortions, smoothing textures, and sometimes adding details (like freckles to faces in close-up). This setting is recommended for generating images with human subjects.default
negativePromptNoA negative prompt of things Firefly will try to avoid generating in the image. Not supported for Firefly Custom Models on Image Model 3 or Firefly Custom Models on Image Model 4.
visualIntensityNoAdjust the overall intensity of your photo's characteristics, such as contrast, shadow, and hue. This is not supported with the model version `image4_custom`.
promptBiasingLocaleCodeNoA hyphen-separated string combining the ISO 639-1 language code and the ISO 3166-1 region (like en-US). When a locale is set, the prompt will be biased to generate more relevant content for that region. If not specified, the locale will be auto-detected based on your profile and the accepted language header.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changedv3.0.0
    • addedInput schema / $defs
      Added value: +{
      +  "imageReference": {
      +    "properties": {
      +      "source": {
      +        "properties": {
      +          "uploadId": {
      +            "description": "The `uploadId` from the storage API response.",
      +            "format": "uuid",
      +            "type": "string"
      +          },
      +          "url": {
      +            "description": "The pre-signed URL of an uploaded file. Use a URL or an `uploadID` as the source for the image. Firefly only allows these listed domains in the request: amazonaws.com windows.net dropboxusercontent.com storage.googleapis.com .",
      +            "format": "uri",
      +            "maxLength": 2083,
      +            "minLength": 1,
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      }
      +    },
      +    "type": "object"
      +  }
      +}
    • changedInput schema / properties / confirm / description
      Previous value: -"Must be true to spend Firefly Services credits for the operation the user requested."New value: +"Set true only when the user asked for exactly this action."
    • addedInput schema / properties / structure / properties / imageReference / $ref
      Added value: +"#/$defs/imageReference"
    • removedInput schema / properties / structure / properties / imageReference / properties
      Removed value: -{
      -  "source": {
      -    "properties": {
      -      "uploadId": {
      -        "description": "The `uploadId` from the storage API response.",
      -        "format": "uuid4",
      -        "type": "string"
      -      },
      -      "url": {
      -        "description": "The pre-signed URL of an uploaded file. Use a URL or an `uploadID` as the source for the image. Firefly only allows these listed domains in the request: amazonaws.com windows.net dropboxusercontent.com storage.googleapis.com .",
      -        "format": "uri",
      -        "maxLength": 2083,
      -        "minLength": 1,
      -        "type": "string"
      -      }
      -    },
      -    "type": "object"
      -  }
      -}
    • removedInput schema / properties / structure / properties / imageReference / type
      Removed value: -"object"
    • addedInput schema / properties / style / properties / imageReference / $ref
      Added value: +"#/$defs/imageReference"
    • removedInput schema / properties / style / properties / imageReference / properties
      Removed value: -{
      -  "source": {
      -    "properties": {
      -      "uploadId": {
      -        "description": "The `uploadId` from the storage API response.",
      -        "format": "uuid4",
      -        "type": "string"
      -      },
      -      "url": {
      -        "description": "The pre-signed URL of an uploaded file. Use a URL or an `uploadID` as the source for the image. Firefly only allows these listed domains in the request: amazonaws.com windows.net dropboxusercontent.com storage.googleapis.com .",
      -        "format": "uri",
      -        "maxLength": 2083,
      -        "minLength": 1,
      -        "type": "string"
      -      }
      -    },
      -    "type": "object"
      -  }
      -}
    • removedInput schema / properties / style / properties / imageReference / type
      Removed value: -"object"
  2. 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 non-read-only, open-world, non-idempotent behavior, so the description's added value is real: it discloses that the call consumes Firefly Services credits (a cost signal absent from the annotations) and that the return is Adobe output URLs. It also explains the async mode triggered by wait=false. It does not mention auth/credential requirements, which is the remaining gap.

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, and the cost and return-format facts appear early. The opening 'Generate images.' is pure name/title restatement and earns little, but nothing else is wasted.

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?

With 18 parameters, nested objects, no output schema, and two enum-bearing params, the description covers the return shape and cost but omits the model-selection context that would separate this tool from generate_image5 and the other generation siblings. Adequate but with a clear routing gap.

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 schema already carries full parameter meaning (prompt, size, seeds, style, numVariations, upsamplerType, etc.). The description's only parameter-level contribution is restating wait=false async behavior, which the schema already documents. Baseline 3 applies.

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?

States a specific verb+resource ('Generate images'), but that is essentially a restatement of the name and title, and it does nothing to distinguish this tool from closely named siblings such as generate_image5, generate_similar, or generate_video. An agent cannot tell from the description which image-generation entry point is the right one.

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?

The only usage direction is 'Set wait=false to return an async job.' There is no statement of when to choose this over generate_image5 or generate_similar, nor any prerequisite or exclusion guidance. For a toolbox with six image-generation siblings, this is a significant gap.

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