Adobe Firefly API

The Adobe Firefly API provides access to Adobe's generative AI capabilities for creating and editing images, vectors, and text effects from natural language prompts. It is built on the Firefly family of creative generative models trained on licensed and public domain content. The API supports text-to-image generation, generative fill, generative expand, and style transfer operations.

OpenAPI Specification

adobe-creative-suite-firefly-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Adobe Creative Suite Adobe Firefly API
  description: >-
    The Adobe Firefly API provides access to Adobe's generative AI capabilities for
    creating and editing images, vectors, and video from natural language prompts. Built
    on Adobe's Firefly family of creative generative models, which are trained on licensed
    and public domain content. Supports text-to-image generation, generative fill,
    generative expand, generating similar images, object compositing, and video generation.
    All generation operations are asynchronous.
  version: 3.0.0
  termsOfService: https://www.adobe.com/legal/terms.html
  contact:
    name: Adobe Developer Support
    url: https://developer.adobe.com/support/
  license:
    name: Adobe Developer Terms
    url: https://www.adobe.com/legal/developer-terms.html
servers:
- url: https://firefly-api.adobe.io/v3
  description: Adobe Firefly API v3 production server
security:
- bearerAuth: []
tags:
- name: Generative Expand
  description: Expand images beyond their original boundaries
- name: Generative Fill
  description: Fill selected regions of images with AI-generated content
- name: Image Generation
  description: Text-to-image and image variation generation operations
- name: Object Composite
  description: Composite AI-generated objects into existing images
- name: Status
  description: Asynchronous job status polling
- name: Video Generation
  description: Generate video from text prompts
paths:
  /images/generate-async:
    post:
      operationId: generateImagesAsync
      summary: Adobe Creative Suite Generate Images from Text Prompt
      description: >-
        Generates one or more images from a text prompt using the Adobe Firefly generative
        AI model. Supports optional style presets, content class selection, negative
        prompts, and seed values for reproducibility. The operation is asynchronous;
        use the returned job ID to poll for completion and retrieve output image URLs.
      tags:
      - Image Generation
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImageGenerateRequest'
      responses:
        '202':
          description: Generation job accepted and queued
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncJobSubmitted'
        '400':
          description: Bad request - invalid prompt or parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized - invalid or missing bearer token
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden - insufficient permissions or quota exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /images/expand-async:
    post:
      operationId: expandImageAsync
      summary: Adobe Creative Suite Generative Expand Image
      description: >-
        Expands an existing image beyond its original boundaries using generative AI
        to fill in the new regions. The expansion can be directional and supports
        specifying a prompt to guide the content generated in the expanded areas.
      tags:
      - Generative Expand
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImageExpandRequest'
      responses:
        '202':
          description: Expand job accepted and queued
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncJobSubmitted'
        '400':
          description: Bad request - invalid input parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized - invalid or missing bearer token
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /images/fill-async:
    post:
      operationId: fillImageAsync
      summary: Adobe Creative Suite Generative Fill
      description: >-
        Fills a masked region of an existing image with AI-generated content based on
        a text prompt. A mask image defines the area to be filled. The generative fill
        respects the surrounding context to produce seamlessly blended results.
      tags:
      - Generative Fill
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImageFillRequest'
      responses:
        '202':
          description: Fill job accepted and queued
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncJobSubmitted'
        '400':
          description: Bad request - invalid input parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized - invalid or missing bearer token
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /images/generate-similar-async:
    post:
      operationId: generateSimilarImagesAsync
      summary: Adobe Creative Suite Generate Similar Images
      description: >-
        Generates images that are visually similar to a provided reference image while
        optionally being guided by a text prompt. Useful for producing variations of an
        existing image or exploring stylistic alternatives based on a visual reference.
      tags:
      - Image Generation
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GenerateSimilarRequest'
      responses:
        '202':
          description: Generate similar job accepted and queued
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncJobSubmitted'
        '400':
          description: Bad request - invalid input parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized - invalid or missing bearer token
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /images/generate-object-composite-async:
    post:
      operationId: generateObjectCompositeAsync
      summary: Adobe Creative Suite Generate Object Composite
      description: >-
        Generates an AI-rendered object and composites it into an existing scene image.
        The object is described via a text prompt and is placed into the scene with
        appropriate lighting, shadows, and perspective to appear naturally integrated.
      tags:
      - Object Composite
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ObjectCompositeRequest'
      responses:
        '202':
          description: Object composite job accepted and queued
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncJobSubmitted'
        '400':
          description: Bad request - invalid input parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized - invalid or missing bearer token
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /videos/generate-async:
    post:
      operationId: generateVideoAsync
      summary: Adobe Creative Suite Generate Video from Text Prompt
      description: >-
        Generates a short video clip from a text prompt using the Adobe Firefly video
        generation model. Generally Available as of June 2025. Supports specifying
        duration, aspect ratio, and motion style through the request parameters. The
        operation is asynchronous and may take several minutes to complete.
      tags:
      - Video Generation
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VideoGenerateRequest'
      responses:
        '202':
          description: Video generation job accepted and queued
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncJobSubmitted'
        '400':
          description: Bad request - invalid input parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized - invalid or missing bearer token
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /status/{jobId}:
    get:
      operationId: getGenerationStatus
      summary: Adobe Creative Suite Get Async Job Status
      description: >-
        Retrieves the current status of an asynchronous Firefly generation job. Poll
        this endpoint after submitting a generation request to determine if the job
        is pending, running, succeeded, or failed. On success, the response includes
        URLs to the generated output images or video.
      tags:
      - Status
      parameters:
      - name: jobId
        in: path
        required: true
        description: Unique identifier of the generation job to check
        schema:
          type: string
          example: urn:firefly:jobs:abc123def456
        example: urn:firefly:jobs:abc123def456
      responses:
        '200':
          description: Job status retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenerationStatus'
        '404':
          description: Job not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized - invalid or missing bearer token
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: OAuth 2.0 access token obtained from Adobe IMS
  schemas:
    ImageGenerateRequest:
      type: object
      description: Request body for text-to-image generation
      required:
      - prompt
      properties:
        prompt:
          type: string
          description: Text description of the image to generate
          maxLength: 1024
          example: A serene mountain lake at golden hour with reflections of pine trees
        negativePrompt:
          type: string
          description: Text description of elements to avoid in the generated image
          maxLength: 1024
          example: blurry, low quality, distorted
        contentClass:
          type: string
          description: Broad content category to guide the generation model
          enum:
          - photo
          - art
          example: photo
        numVariations:
          type: integer
          description: Number of image variations to generate (1 to 4)
          minimum: 1
          maximum: 4
          default: 1
          example: 2
        size:
          $ref: '#/components/schemas/ImageSize'
        style:
          $ref: '#/components/schemas/StyleOptions'
        seeds:
          type: array
          description: >-
            Array of integer seed values for reproducible generation. Providing the
            same seed with the same prompt produces the same output.
          items:
            type: integer
          example:
          - 42
          - 1337
        locale:
          type: string
          description: BCP 47 language locale for prompt interpretation
          example: en-US
    ImageExpandRequest:
      type: object
      description: Request body for generative image expansion
      required:
      - image
      properties:
        prompt:
          type: string
          description: Text prompt to guide what content fills the expanded areas
          maxLength: 1024
          example: example_value
        negativePrompt:
          type: string
          description: Text describing what to avoid in the expanded areas
          maxLength: 1024
          example: example_value
        image:
          $ref: '#/components/schemas/InputImageReference'
        size:
          $ref: '#/components/schemas/ImageSize'
        placement:
          type: object
          description: Placement and inset parameters for the source image within the expanded canvas
          properties:
            inset:
              type: object
              properties:
                left:
                  type: integer
                top:
                  type: integer
                right:
                  type: integer
                bottom:
                  type: integer
        numVariations:
          type: integer
          minimum: 1
          maximum: 4
          default: 1
          example: 1920
        seeds:
          type: array
          items:
            type: integer
    ImageFillRequest:
      type: object
      description: Request body for generative fill operation
      required:
      - image
      - mask
      properties:
        prompt:
          type: string
          description: Text prompt describing what to fill in the masked area
          maxLength: 1024
          example: example_value
        negativePrompt:
          type: string
          description: Text describing what to avoid in the filled area
          maxLength: 1024
          example: example_value
        image:
          $ref: '#/components/schemas/InputImageReference'
        mask:
          $ref: '#/components/schemas/InputImageReference'
        numVariations:
          type: integer
          minimum: 1
          maximum: 4
          default: 1
          example: 1920
        seeds:
          type: array
          items:
            type: integer
    GenerateSimilarRequest:
      type: object
      description: Request body for generating images similar to a reference image
      required:
      - image
      properties:
        prompt:
          type: string
          description: Optional text prompt to further guide the style or content
          maxLength: 1024
          example: example_value
        image:
          $ref: '#/components/schemas/InputImageReference'
        numVariations:
          type: integer
          minimum: 1
          maximum: 4
          default: 1
          example: 1920
        size:
          $ref: '#/components/schemas/ImageSize'
        seeds:
          type: array
          items:
            type: integer
    ObjectCompositeRequest:
      type: object
      description: Request body for generating an object composite in a scene
      required:
      - prompt
      - image
      - mask
      properties:
        prompt:
          type: string
          description: Text description of the object to generate and composite
          maxLength: 1024
          example: example_value
        negativePrompt:
          type: string
          description: Text describing what to avoid in the generated object
          maxLength: 1024
          example: example_value
        contentClass:
          type: string
          enum:
          - photo
          - art
          example: photo
        image:
          $ref: '#/components/schemas/InputImageReference'
        mask:
          $ref: '#/components/schemas/InputImageReference'
        numVariations:
          type: integer
          minimum: 1
          maximum: 4
          default: 1
          example: 1920
        seeds:
          type: array
          items:
            type: integer
    VideoGenerateRequest:
      type: object
      description: Request body for text-to-video generation
      required:
      - prompt
      properties:
        prompt:
          type: string
          description: Text description of the video to generate
          maxLength: 1024
          example: A slow camera pan over a misty forest at dawn
        negativePrompt:
          type: string
          description: Text describing what to avoid in the generated video
          maxLength: 1024
          example: example_value
        size:
          type: object
          description: Output video dimensions
          properties:
            width:
              type: integer
              example: 1920
            height:
              type: integer
              example: 1080
        duration:
          type: number
          description: Requested video duration in seconds
          example: 5.0
    AsyncJobSubmitted:
      type: object
      description: Response returned immediately after an async generation job is submitted
      properties:
        jobId:
          type: string
          description: Unique identifier for the generation job
          example: urn:firefly:jobs:abc123def456
        statusUrl:
          type: string
          description: URL to poll for job status updates
          example: https://firefly-api.adobe.io/v3/status/urn:firefly:jobs:abc123def456
    GenerationStatus:
      type: object
      description: Current status and results of a Firefly generation job
      properties:
        jobId:
          type: string
          description: Unique identifier of the generation job
          example: urn:firefly:jobs:abc123def456
        status:
          type: string
          description: Current status of the generation job
          enum:
          - pending
          - running
          - succeeded
          - failed
          example: succeeded
        created:
          type: string
          format: date-time
          description: ISO 8601 timestamp when the job was created
          example: example_value
        modified:
          type: string
          format: date-time
          description: ISO 8601 timestamp when the job was last modified
          example: example_value
        outputs:
          type: array
          description: Generated output images or videos (present on success)
          items:
            $ref: '#/components/schemas/OutputImage'
        errors:
          type: array
          description: Errors encountered during generation (present on failure)
          items:
            type: object
            properties:
              code:
                type: string
              message:
                type: string
    OutputImage:
      type: object
      description: A single generated image output from a Firefly generation job
      properties:
        image:
          type: object
          description: Generated image reference
          properties:
            url:
              type: string
              description: Temporary signed URL to download the generated image
              example: https://firefly-api-prod-origin.adobe.io/v2/assets/urn:firefly:image:abc123
        seed:
          type: integer
          description: Seed value used to produce this particular output
          example: 42
        contentClass:
          type: string
          description: Content class detected or applied during generation
          enum:
          - photo
          - art
          example: photo
    InputImageReference:
      type: object
      description: Reference to an input image for generative operations
      required:
      - source
      properties:
        source:
          type: object
          description: Source of the input image
          properties:
            url:
              type: string
              description: Publicly accessible URL of the input image
              example: https://my-bucket.s3.amazonaws.com/source-image.jpg
            uploadId:
              type: string
              description: Upload ID for a previously uploaded image via the Firefly upload API
    ImageSize:
      type: object
      description: Dimensions for the output image
      properties:
        width:
          type: integer
          description: Output image width in pixels
          example: 1024
        height:
          type: integer
          description: Output image height in pixels
          example: 1024
    StyleOptions:
      type: object
      description: Style guidance for image generation
      properties:
        presets:
          type: array
          description: List of style preset identifiers to apply
          items:
            type: string
            enum:
            - photo
            - art
            - graphic
            - bw
            - cool_colors
            - warm_tone
            - muted_color
            - vibrant_color
            - pastel_color
            - golden_hour
            - closeup_portrait
            - wide_angle
            - aerial_view
            - landscape_photography
          example:
          - photo
          - golden_hour
        strength:
          type: integer
          description: Style influence strength from 1 (subtle) to 100 (strong)
          minimum: 1
          maximum: 100
          example: 60
        referenceImage:
          $ref: '#/components/schemas/InputImageReference'
    StylePreset:
      type: string
      description: Available style preset identifiers for Firefly generation
      enum:
      - photo
      - art
      - graphic
      - bw
      - cool_colors
      - warm_tone
      - muted_color
      - vibrant_color
      - pastel_color
      - golden_hour
    ErrorResponse:
      type: object
      description: Standard error response body
      properties:
        code:
          type: string
          description: Machine-readable error code
          example: example_value
        message:
          type: string
          description: Human-readable description of the error
          example: example_value
        requestId:
          type: string
          description: Unique identifier for the failed request, for support purposes
          example: asset_abc123