openapi: 3.2.0
info:
version: 3.0.0
title: Firefly Common Operations API
description: REST API for Adobe Firefly services including image generation, image alteration, image upscaling, video generation, and other related services.
servers:
- url: https://firefly-api.adobe.io
description: Production server.
security:
- X-Api-Key: []
AccessToken: []
tags:
- name: Common Operations
description: Core Firefly API operations for generating and manipulating images and videos.
paths:
/v3/images/generate-async:
post:
operationId: generateImagesV3Async
summary: Generate images
description: Generate images based on a text prompt. You may also include a reference image and Firefly will try to mimic the characteristics, such as color scheme, lighting, layout of objects in the image, etc.
tags:
- Common Operations
parameters:
- name: x-model-version
in: header
description: Specify the Firefly model version to use for the image generation. When a custom model is used, a `customModelId` must also be passed in the request body.
required: false
schema:
type: string
default: image3
enum:
- image3
- image3_custom
- image4_standard
- image4_ultra
- image4_custom
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GenerateImagesRequestV3'
multipart/form-data:
schema:
$ref: '#/components/schemas/Body_generateImagesV3Async'
required: true
responses:
'202':
content:
application/json:
schema:
$ref: '#/components/schemas/AsyncAcceptResponseV3'
description: Accepted
headers:
Link:
description: Links to check the job status or cancel the job.
schema:
type: string
'400':
content:
application/json:
examples:
bad_request:
value:
error_code: bad_request
empty_input_body:
value:
error_code: empty_input_body
schema:
$ref: '#/components/schemas/ApiError'
description: Bad Request
'403':
content:
application/json:
examples:
access_error:
value:
error_code: access_error
schema:
$ref: '#/components/schemas/ApiError'
description: Forbidden
headers:
x-access-error:
description: Indicates the reason access is not authorized.
schema:
type: string
enum:
- quota_exhausted
- user_non_entitled
- user_profile_denied
- invalid_ims_scope
'408':
content:
application/json:
examples:
timeout_error:
value:
error_code: timeout_error
schema:
$ref: '#/components/schemas/ApiError'
description: Request Timeout
'413':
content:
text/html:
schema:
type: string
description: Request Entity Too Large
'415':
content:
application/json:
examples:
invalid_content_type:
value:
error_code: invalid_content_type
schema:
$ref: '#/components/schemas/ApiError'
description: Unsupported Media Type
'422':
content:
application/json:
examples:
validation_error:
value:
error_code: validation_error
validation_errors:
- ctx:
enum_values:
- photo
- art
loc:
- body
- contentClass
msg: 'value is not a valid enumeration member; permitted: ''photo'', ''art'''
type: type_error.enum
unsupported_value:
summary: Unsupported value
value:
error_code: validation_error
validation_errors:
- loc:
- body
- seeds
msg: ensure this value has at most 1 items
type: value_error.list.max_items
assertion_violation:
summary: Assertion violation
value:
error_code: cai_assertion_violation_error
message: Request failed content assertion checks.
schema:
$ref: '#/components/schemas/ValidationErrorResponse'
description: Unprocessable Entity
'429':
content:
application/json:
examples:
rate_limited:
value:
error_code: rate_limited
schema:
$ref: '#/components/schemas/ApiError'
description: Too Many Requests
headers:
retry-after:
description: Indicates the date after which the client should retry the request.
schema:
type: string
x-access-rate-limit-level:
description: 'Indicates the level at which the rate limit was applied. Possible values are:
- org: The rate limit was applied to the organization
- account: The rate limit was applied to the organization''s tech account.'
schema:
type: string
'500':
content:
application/json:
examples:
runtime_error:
value:
error_code: runtime_error
schema:
$ref: '#/components/schemas/ApiError'
description: Internal Server Error
/v4/images/generate-async:
post:
operationId: firefly_image_v5_generate_async_v4
summary: Generate images with Image5
description: Generate images asynchronously using Firefly's Image5 model. When referenceBlobs is included in the request, omit aspectRatio or set it to auto.
tags:
- Common Operations
parameters:
- name: x-model-version
in: header
required: true
schema:
type: string
enum:
- image5
default: image5
description: The model version to use for image generation.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ImageGenerateRequestV3'
examples:
fullPayload:
summary: Full payload example
value:
prompt: A futuristic city glowing at night, with neon lights and flying cars
aspectRatio: auto
resolutionLevel: 2.4MP
modelId: firefly_image
numVariations: 1
seeds:
- 42345
modelSpecificPayload:
localeCode: en-US
prompt_reasoner: quality
referenceBlobs:
- source:
url: https://example.com/reference-image.jpg
usage: general
textToImageGeneration:
summary: Text-to-Image generation
value:
prompt: A hyper-detailed illustration of a floating city at sunrise
aspectRatio: '16:9'
resolutionLevel: 4MP
modelId: firefly_image
numVariations: 1
referenceBlobs: []
imageToImageInstructEdit:
summary: Image-to-Image instruct edit
value:
prompt: Add warm sunset lighting and enhance the reflection on the water
resolutionLevel: 2.4MP
modelId: firefly_image
numVariations: 1
referenceBlobs:
- source:
uploadId: 123e4567-e89b-12d3-a456-426614174000
usage: general
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/AsyncTaskResponse'
example:
links:
cancel:
href: https://firefly-api.adobe.io/v3/cancel/job-abc123
result:
href: https://firefly-api.adobe.io/v3/status/job-abc123
progress: 0
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'404':
description: Requested Resource Was Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'408':
description: Request Timeout
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'410':
description: Gone
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'415':
description: Unsupported Media Type
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'422':
description: Unprocessable Entity
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationErrorResponse'
examples:
invalid_enum:
summary: Invalid enum value
value:
error_code: validation_error
validation_errors:
- loc:
- body
- aspectRatio
msg: 'value is not a valid enumeration member; permitted: ''1:1'', ''4:3'', ''3:4'', ''16:9'', ''9:16'', ''auto'''
type: type_error.enum
unsupported_value:
summary: Unsupported value
value:
error_code: validation_error
validation_errors:
- loc:
- body
- numVariations
msg: ensure this value is less than or equal to 1
type: value_error.number.not_le
assertion_violation:
summary: Assertion violation
value:
error_code: cai_assertion_violation_error
message: Request failed content assertion checks.
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'451':
description: Unavailable For Legal Reasons
content:
application/json:
schema:
$ref: '#/components/schemas/ContentPolicyErrorResponse'
examples:
prompt_unsafe:
summary: Unsafe prompt
value:
error_code: prompt_unsafe
message: The prompt did not pass content policy checks.
input_image_unsafe:
summary: Unsafe input image
value:
error_code: input_media_unsafe
message: The input image did not pass content policy checks.
'499':
description: Client Closed Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'501':
description: Not Implemented
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'503':
description: Service Unavailable
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
/v3/images/generate-similar-async:
post:
operationId: generateSimilarImagesV3Async
summary: Generate similar images
description: Generate similar images based on a reference image that you provide as a parameter.
tags:
- Common Operations
parameters:
- name: x-model-version
in: header
description: Specify the Firefly model version to use for the image generation.
required: false
schema:
type: string
default: image3
enum:
- image3
- image4_standard
- image4_ultra
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GenerateSimilarImagesRequestV3'
multipart/form-data:
schema:
$ref: '#/components/schemas/Body_generateSimilarImagesV3Async'
required: true
responses:
'202':
content:
application/json:
schema:
$ref: '#/components/schemas/AsyncAcceptResponseV3'
description: Accepted
headers:
Link:
description: Links to check the job status or cancel the job.
schema:
type: string
'400':
content:
application/json:
examples:
bad_request:
value:
error_code: bad_request
empty_input_body:
value:
error_code: empty_input_body
schema:
$ref: '#/components/schemas/ApiError'
description: Bad Request
'403':
content:
application/json:
examples:
access_error:
value:
error_code: access_error
schema:
$ref: '#/components/schemas/ApiError'
description: Forbidden
headers:
x-access-error:
description: Indicates the reason access is not authorized.
schema:
type: string
enum:
- quota_exhausted
- user_non_entitled
- user_profile_denied
- invalid_ims_scope
'408':
content:
application/json:
examples:
timeout_error:
value:
error_code: timeout_error
schema:
$ref: '#/components/schemas/ApiError'
description: Request Timeout
'413':
content:
text/html:
schema:
type: string
description: Request Entity Too Large
'415':
content:
application/json:
examples:
invalid_content_type:
value:
error_code: invalid_content_type
schema:
$ref: '#/components/schemas/ApiError'
description: Unsupported Media Type
'422':
content:
application/json:
examples:
validation_error:
value:
error_code: validation_error
validation_errors:
- ctx:
enum_values:
- photo
- art
loc:
- body
- contentClass
msg: 'value is not a valid enumeration member; permitted: ''photo'', ''art'''
type: type_error.enum
schema:
$ref: '#/components/schemas/ValidationErrorResponse'
description: Unprocessable Entity
'429':
content:
application/json:
examples:
rate_limited:
value:
error_code: rate_limited
schema:
$ref: '#/components/schemas/ApiError'
description: Too Many Requests
headers:
retry-after:
description: Indicates the date after which the client should retry the request.
schema:
type: string
x-access-rate-limit-level:
description: 'Indicates the level at which the rate limit was applied. Possible values are:
- org: The rate limit was applied to the organization
- account: The rate limit was applied to the organization''s tech account.'
schema:
type: string
'500':
content:
application/json:
examples:
runtime_error:
value:
error_code: runtime_error
schema:
$ref: '#/components/schemas/ApiError'
description: Internal Server Error
/v3/images/expand-async:
post:
operationId: expandImagesV3Async
summary: Expand image
description: Change the aspect ratio or size of an image to expand it. Optionally, provide a text prompt to generate additional imagery for the expansion.
tags:
- Common Operations
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ExpandImageRequestV3'
multipart/form-data:
schema:
$ref: '#/components/schemas/Body_expandImagesV3Async'
required: true
responses:
'202':
content:
application/json:
schema:
$ref: '#/components/schemas/AsyncAcceptResponseV3'
description: Accepted
headers:
Link:
description: Links to check the job status or cancel the job.
schema:
type: string
'400':
content:
application/json:
examples:
bad_request:
value:
error_code: bad_request
empty_input_body:
value:
error_code: empty_input_body
schema:
$ref: '#/components/schemas/ApiError'
description: Bad Request
'403':
content:
application/json:
examples:
access_error:
value:
error_code: access_error
schema:
$ref: '#/components/schemas/ApiError'
description: Forbidden
headers:
x-access-error:
description: Indicates the reason access is not authorized.
schema:
type: string
enum:
- quota_exhausted
- user_non_entitled
- user_profile_denied
- invalid_ims_scope
'408':
content:
application/json:
examples:
timeout_error:
value:
error_code: timeout_error
schema:
$ref: '#/components/schemas/ApiError'
description: Request Timeout
'413':
content:
text/html:
schema:
type: string
description: Request Entity Too Large
'415':
content:
application/json:
examples:
invalid_content_type:
value:
error_code: invalid_content_type
schema:
$ref: '#/components/schemas/ApiError'
description: Unsupported Media Type
'422':
content:
application/json:
examples:
validation_error:
value:
error_code: validation_error
validation_errors:
- ctx:
enum_values:
- photo
- art
loc:
- body
- contentClass
msg: 'value is not a valid enumeration member; permitted: ''photo'', ''art'''
type: type_error.enum
schema:
$ref: '#/components/schemas/ValidationErrorResponse'
description: Unprocessable Entity
'429':
content:
application/json:
examples:
rate_limited:
value:
error_code: rate_limited
schema:
$ref: '#/components/schemas/ApiError'
description: Too Many Requests
headers:
retry-after:
description: Indicates the date after which the client should retry the request.
schema:
type: string
x-access-rate-limit-level:
description: 'Indicates the level at which the rate limit was applied. Possible values are:
- org: The rate limit was applied to the organization
- account: The rate limit was applied to the organization''s tech account.'
schema:
type: string
'500':
content:
application/json:
examples:
runtime_error:
value:
error_code: runtime_error
schema:
$ref: '#/components/schemas/ApiError'
description: Internal Server Error
/v3/images/fill-async:
post:
operationId: fillImagesV3Async
summary: Fill image
description: Generates a fill in an area of an image based on a text prompt. A mask defines the area of the image to be filled.
tags:
- Common Operations
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FillImageRequestV3'
multipart/form-data:
schema:
$ref: '#/components/schemas/Body_fillImagesV3Async'
required: true
responses:
'202':
content:
application/json:
schema:
$ref: '#/components/schemas/AsyncAcceptResponseV3'
description: Accepted
headers:
Link:
description: Links to check the job status or cancel the job.
schema:
type: string
'400':
content:
application/json:
examples:
bad_request:
value:
error_code: bad_request
empty_input_body:
value:
error_code: empty_input_body
schema:
$ref: '#/components/schemas/ApiError'
description: Bad Request
'403':
content:
application/json:
examples:
access_error:
value:
error_code: access_error
schema:
$ref: '#/components/schemas/ApiError'
description: Forbidden
headers:
x-access-error:
description: Indicates the reason access is not authorized.
schema:
type: string
enum:
- quota_exhausted
- user_non_entitled
- user_profile_denied
- invalid_ims_scope
'408':
content:
application/json:
examples:
timeout_error:
value:
error_code: timeout_error
schema:
$ref: '#/components/schemas/ApiError'
description: Request Timeout
'413':
content:
text/html:
schema:
type: string
description: Request Entity Too Large
'415':
content:
application/json:
examples:
invalid_content_type:
value:
error_code: invalid_content_type
schema:
$ref: '#/components/schemas/ApiError'
description: Unsupported Media Type
'422':
content:
application/json:
examples:
validation_error:
value:
error_code: validation_error
validation_errors:
- ctx:
enum_values:
- photo
- art
loc:
- body
- contentClass
msg: 'value is not a valid enumeration member; permitted: ''photo'', ''art'''
type: type_error.enum
schema:
$ref: '#/components/schemas/ValidationErrorResponse'
description: Unprocessable Entity
'429':
content:
application/json:
examples:
rate_limited:
value:
error_code: rate_limited
schema:
$ref: '#/components/schemas/ApiError'
description: Too Many Requests
headers:
retry-after:
description: Indicates the date after which the client should retry the request.
schema:
type: string
x-access-rate-limit-level:
description: 'Indicates the level at which the rate limit was applied. Possible values are:
- org: The rate limit was applied to the organization
- account: The rate limit was applied to the organization''s tech account.'
schema:
type: string
'500':
content:
application/json:
examples:
runtime_error:
value:
error_code: runtime_error
schema:
$ref: '#/components/schemas/ApiError'
description: Internal Server Error
/v3/videos/generate:
post:
operationId: generateVideoV3
summary: Generate video
description: Generate a five second video using a text prompt.
tags:
- Common Operations
parameters:
- name: x-model-version
in: header
description: Specify the Firefly model version to use for the video generation.
required: true
schema:
type: string
enum:
- video1_standard
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GenerateVideoRequestV3'
required: true
description: The request body for the video generation.
responses:
'202':
content:
application/json:
schema:
$ref: '#/components/schemas/AsyncAcceptResponseV3'
description: Accepted
headers:
Link:
description: Links to check the job status or cancel the job.
schema:
type: string
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
description: Bad Request
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
description: Forbidden
headers:
x-access-error:
description: Indicates the reason access is not authorized.
schema:
type: string
enum:
- quota_exhausted
- user_non_entitled
- user_profile_denied
- invalid_ims_scope
'408':
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
description: Request Timeout
'415':
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
description: Unsupported Media Type
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationErrorResponse'
description: Unprocessable Entity
'429':
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
description: Too Many Requests
headers:
retry-after:
description: Indicates the date after which the client should retry the request.
schema:
type: string
x-access-rate-limit-level:
description: 'Indicates the level at which the rate limit was applied. Possible values are:
- org: The rate limit was applied to the organization
- account: The rate limit was applied to the organization''s tech account.'
schema:
type: string
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
description: Internal Server Error
/v3/custom-models:
get:
summary: Retrieve custom models
description: Retrieve the custom models for a user.
operationId: getCustomModels
tags:
- Common Operations
parameters:
- name: x-user-token
in: header
description: A user token referencing the user's individual account, obtained using their credentials. The user token must be preceded by `Bearer`.
schema:
type: string
- name: x-request-id
in: header
description: A unique request identifier defined by you. This is used by Adobe Support to trace the request in logs. This header is automatically generated by the server if not explicitly set.
required: true
schema:
type: string
- name: sortBy
in: query
description: A sorting option for the response list. For a reverse sort, use `-` (e.g., `-modifiedDate`). Multi-vector sorting is not currently supported.
schema:
type: string
default: modifiedDate
enum:
- assetName
- createdDate
- modifiedDate
- name: start
in: query
description: The first result to include in a paginated response. Required if a `limit` is specified.
schema:
type: string
default: '0'
- name: limit
in: query
description: The number of custom models to return in a paginated response.
schema:
type: string
maximum: 50
minimum: 1
- name: publishedState
in: query
description: This filters custom models by published state.
schema:
type: string
default: published
enum:
- all
- ready
- published
- unpublished
- queued
- training
- failed
- cancelled
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/CustomModelsFF3pInfo'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'406':
description: Not Acceptable
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'503':
description: Service Unavailable
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/v2/storage/image:
post:
summary: Upload image
description: Upload source image or mask for image-to-image operations, such as fill, expand, or upscale. This API returns an identifier that is used to refer to uploaded content. The uploaded assets will be valid for 7 days from the date you upload them.
operationId: storageImageV2
tags:
- Common Operations
requestBody:
content:
image/jpeg:
schema:
type: string
format: binary
image/png:
schema:
type: string
format: binary
image/webp:
schema:
type: string
format: binary
image/tiff:
schema:
type: string
format: binary
image/jxl:
schema:
type: string
format: binary
description: The PNG, JPEG, WEBP, TIFF, or JXL image to be stored (binary data). The maximum file size supported for uploading an image is 15MB.
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/StorageImageResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorBody'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorBody'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorBody'
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorBody'
'451':
description: Unavailable for Legal Reasons
content:
application/json:
schema:
$ref: '#/components/schemas/ContentPolicyErrorResponse'
examples:
prompt_unsafe:
summary: Unsafe prompt
value:
error_code: prompt_unsafe
message: The prompt did not pass content policy checks.
input_image_unsafe:
summary: Unsafe input image
value:
error_code: input_media_unsafe
message: The input image did not pass content policy checks.
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorBody'
components:
schemas:
Placement:
properties:
alignment:
allOf:
- $ref: '#/components/schemas/PlacementAlignment'
description: Specify horizontal and vertical alignment. Possible values for horizontal=(center|left|right) and for vertical=(center|top|bottom).
title: Alignment
inset:
allOf:
- $ref: '#/components/schemas/PlacementInset'
description: Margin values in target size.
title: Margin values in target size
title: Placement
type: object
Size:
properties:
height:
maximum: 4096
minimum: 1
type: integer
width:
maximum: 4096
minimum: 1
type: integer
required:
- width
- height
type: object
PublicBinaryInputV3:
properties:
uploadId:
description: The `uploadId` from the storage API response.
format: uuid4
title: The upload ID
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.comwindows.netdropboxusercontent.comstorage.googleapis.comreferenceBlobs is included in the request, this property should be omitted or set to auto.
resolutionLevel:
type: string
title: Resolution level
description: The resolution level.
enum:
- 1MP
- 2.4MP
- 4MP
default: 2.4MP
modelId:
$ref: '#/components/schemas/FireflyModelId'
description: 'The specific model to use for image generation. Available options: ''firefly_image'' for Firefly Image model.'
modelSpecificPayload:
$ref: '#/components/schemas/ModelSpecificPayloadV3'
description: Additional model-specific parameters for controlling the generation process.
numVariations:
type: integer
maximum: 1
title: The number of variations
description: The number of image variations to generate. Greater than 1 is not supported. Only one image per variation is allowed. For multiple variations, send separate requests.
referenceBlobs:
type: array
items:
$ref: '#/components/schemas/ReferenceBlobV3'
title: Reference blobs
description: List of reference blobs that will be used as additional input for the generation process. Only one reference image is supported. When this array is not empty, aspectRatio must be omitted or set to auto. [Pre-signed URLs can be used from supported domains](https://developer.adobe.com/firefly-services/docs/firefly-api/getting-started/usage-notes/#image-api-usage).
default: []
maxItems: 1
seeds:
type: array
items:
type: integer
maxItems: 1
title: The seeds for the generations
description: The seed value to vary the image generation. Only one seed per variation is allowed. If specified alongside with numVariations, the number of seeds must be equal to numVariations.
StorageImageResponse:
description: Storage response.
type: object
properties:
images:
type: array
description: Array of objects containing asset ID.
items:
$ref: '#/components/schemas/StorageImage'
title: StorageImageResponse
Links:
type: object
properties:
page:
$ref: '#/components/schemas/Link'
next:
$ref: '#/components/schemas/Link'
description: Collection of hypermedia links for pagination, navigation, etc.
title: Links
ModelSpecificPayloadV3:
type: object
title: ModelSpecificPayloadV3
description: Model-specific payload parameters for V3 generation workflows.
properties:
localeCode:
type: string
title: The locale code used for image generations
description: The locale code (following RFC 5646 format, e.g., 'en-US') will be used to generate content that is more relevant for user's country and language.
example: en-US
prompt_reasoner:
type: string
title: Prompt reasoner mode
description: Controls the prompt reasoning strategy used during image generation. When set to quality, the response includes a populated altText field with a generated description of the image. When set to speed, prompt reasoning is optimized for speed and the altText field is returned empty.
enum:
- quality
- speed
default: speed
example: quality
InputImageV3:
properties:
mask:
allOf:
- $ref: '#/components/schemas/PublicBinaryInputV3'
deprecated: true
description: This is a deprecated property. Use mask instead.
title: Deprecated mask image
source:
$ref: '#/components/schemas/PublicBinaryInputV3'
description: Source image that Firefly expands, fills, or uses to generate similar images.
required:
- source
title: InputImageV3
type: object
AlignmentVertical:
description: An enumeration.
enum:
- center
- top
- bottom
title: AlignmentVertical
CameraMotion:
enum:
- camera pan left
- camera pan right
- camera zoom in
- camera zoom out
- camera tilt up
- camera tilt down
- camera locked down
- camera handheld
title: CameraMotion
type: string
ClinetoSize:
properties:
height:
maximum: 8192
minimum: 1
description: The height of the output video.
type: integer
example: 720
width:
maximum: 8192
minimum: 1
description: The width of the output video.
type: integer
example: 720
required:
- width
- height
title: ClinetoSize
type: object
InputImageVideoV3:
properties:
conditions:
default: []
description: The details about the keyframe images used for the video generation.
items:
$ref: '#/components/schemas/ImageConditionV3'
type: array
title: InputImageVideoV3
type: object
ShotSize:
enum:
- close-up shot
- extreme close-up
- medium shot
- long shot
- extreme long shot
title: ShotSize
type: string
Body_expandImagesV3Async:
properties:
files:
items:
format: binary
type: string
title: Files
type: array
request:
$ref: '#/components/schemas/ExpandImageRequestV3'
required:
- request
- files
title: Body_expandImagesV3Async
type: object
AsyncAcceptResponseV3:
properties:
cancelUrl:
description: The URL to cancel the job.
title: Cancel URL
type: string
jobId:
description: The ID of the job.
title: Job ID
type: string
statusUrl:
description: The URL to check the status of the job.
title: Status URL
type: string
required:
- jobId
- statusUrl
- cancelUrl
title: AsyncAcceptResponseV3
type: object
GenerateVideoRequestV3:
properties:
bitRateFactor:
description: The constant rate factor for encoding video. 0 indicates a lossless generation, with the highest quality and largest file size. 63 indicates the worst quality generation with the smallest file size. The suggested value range is 17-23.
maximum: 63
minimum: 0
default: 18
type: integer
image:
description: The details of the image used as a keyframe for the generated video. Provided images are used as a first frame or final frame to guide the video generation.
$ref: '#/components/schemas/InputImageVideoV3'
prompt:
description: The prompt used to generate the video. The longer the prompt, the better.
type: string
example: A lone figure stands in the middle of a vast desert, looking up at the sky, with a sense of awe and wonder.
seeds:
description: The seed reference value. Currently only 1 seed is supported.
items:
type: integer
maxItems: 1
minItems: 1
type: array
example:
- 1842533538
sizes:
description: The dimensions of the generated video. Consult the [supported aspect ratios in the usage notes](https://developer.adobe.com/firefly-services/docs/firefly-api/getting-started/usage-notes/#supported-aspect-ratios) for allowed values.
items:
$ref: '#/components/schemas/ClinetoSize'
type: array
videoSettings:
description: The camera and shot control settings.
$ref: '#/components/schemas/VideoSettingsV3'
title: Generating video from prompt
type: object
ErrorBody:
type: object
properties:
message:
type: string
description: Error message.
error_code:
type: string
description: Associated error code.
title: ErrorBody
Body_generateImagesV3Async:
properties:
files:
items:
format: binary
type: string
title: Files
type: array
request:
$ref: '#/components/schemas/GenerateImagesRequestV3'
required:
- request
- files
title: Body_generateImagesV3Async
type: object
InputMaskV3:
properties:
invert:
description: Invert mask is an optional boolen property, use true if you want take an image mask, invert it and apply it.
title: Invert mask
type: boolean
source:
$ref: '#/components/schemas/PublicBinaryInputV3'
required:
- source
title: InputMaskV3
type: object
AspectRatio:
type: string
title: AspectRatio
enum:
- '1:1'
- '4:3'
- '3:4'
- '16:9'
- '9:16'
- auto
ErrorResponse:
type: object
properties:
reason:
type: string
description: The type of error that occurred.
message:
type: string
description: A message describing the error.
title: ErrorResponse
ExpandImageRequestV3:
properties:
image:
$ref: '#/components/schemas/InputImageV3'
description: 'The 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.comwindows.netdropboxusercontent.comstorage.googleapis.comnumVariations defaults to the number of seed images, or to 1 if you do not specify seeds.
maximum: 4
minimum: 1
title: The number of variations to generate
type: integer
placement:
$ref: '#/components/schemas/Placement'
description: The position of the source image after Firefly resizes 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.
prompt:
description: An optional text prompt up to 1024 characters. The longer the prompt the better Firefly performs.
maxLength: 1024
minLength: 1
title: The prompt
type: string
seeds:
description: Array of seed image IDs. These reference images help ensure consistent image generation across multiple API calls. For example, you can use the same seed to generate a similar image with different styles. If specified along with numVariations, the number of seeds must equal numVariations.
items:
type: integer
maxItems: 4
minItems: 1
title: The seed image for each variation
type: array
uniqueItems: true
size:
allOf:
- $ref: '#/components/schemas/Size'
default:
height: 2048
width: 2048
description: The desired width and height for the final expanded image in pixels. The maximum size for the output images is 3999px by 3999px.
title: The size
required:
- image
title: Images expand payload
type: object
VideoPromptStyle:
enum:
- anime
- 3d
- fantasy
- cinematic
- claymation
- line art
- stop motion
- 2d
- vector art
- black and white
title: VideoPromptStyle
type: string
Body_generateSimilarImagesV3Async:
properties:
files:
items:
format: binary
type: string
title: Files
type: array
request:
$ref: '#/components/schemas/GenerateSimilarImagesRequestV3'
required:
- request
- files
title: Body_generateSimilarImagesV3Async
type: object
ValidationErrorResponse:
type: object
title: ValidationErrorResponse
description: Error response body for HTTP 422 (validation failures).
required:
- error_code
properties:
error_code:
$ref: '#/components/schemas/ValidationErrorCode422'
message:
type: string
description: Human-readable error description.
validation_errors:
type: array
items:
$ref: '#/components/schemas/ValidationErrorDetail'
description: List of field-level validation errors.
PlacementStart:
properties:
position:
description: The position of the image on the timeline for the generated video, 0 being the first frame and 1 being the last frame.
maximum: 1
minimum: 0
type: number
required:
- position
title: PlacementStart
type: object
StorageImage:
type: object
description: Source image.
required:
- id
properties:
id:
type: string
description: ID associated with the asset. The id will be valid for 7 days from the date of creation.
title: StorageImage
ShotAngle:
enum:
- aerial shot
- eye_level shot
- high angle shot
- low angle shot
- top-down shot
title: ShotAngle
type: string
ReferenceBlobV3:
type: object
title: ReferenceBlobV3
description: 'Reference blob for V3 API. Style Guide compliant: The source property specifies the input location, and other properties like usage are peers of source.'
required:
- source
properties:
source:
$ref: '#/components/schemas/ReferenceBlobSourceV3'
description: The source location of the reference image.
usage:
$ref: '#/components/schemas/ReferenceBlobUsageV3'
description: 'The usage of the reference blob. Available options: ''general'' for general reference.'
CustomModelsFF3pInfo:
type: object
properties:
custom_models:
type: array
description: List of custom models.
items:
$ref: '#/components/schemas/CustomModelFF3pInfo'
_links:
$ref: '#/components/schemas/Links'
total_count:
type: integer
description: Total number of results for the query.
format: int32
title: CustomModelsFF3pInfo
ValidationErrorDetail:
type: object
properties:
loc:
type: array
items:
oneOf:
- type: string
- type: integer
description: Path to the field that caused the error.
msg:
type: string
description: Human-readable error message.
type:
type: string
description: Error type identifier.
ctx:
type: object
additionalProperties: true
description: Additional context about the error.
ContentPolicyErrorCode451:
type: string
title: ContentPolicyErrorCode451
description: Error code for HTTP 451 responses (content policy, legal, or safety).
enum:
- legal_error
- prompt_unsafe
- prompt_entity_denied
- image_unsafe
- video_unsafe
- reference_image_unsafe_error
- input_media_unsafe
ReferenceBlobSourceV3:
type: object
title: ReferenceBlobSourceV3
description: 'Source specification for a reference blob input asset. Input images must meet these requirements: file size must be 10 MB or less; image area must be between 512×512 and 2048×2048 pixels (inclusive); aspect ratio must be between 1:5 and 5:1 (inclusive).'
properties:
uploadId:
type: string
format: uuid
title: Upload ID
description: The ID of an asset previously uploaded to the Firefly Upload Image API.
url:
type: string
title: URL
description: URL of the reference image.
BaseModel:
type: object
properties:
name:
type: string
description: The name of the base model.
version:
type: string
description: The version of the base model.
title: BaseModel
AsyncTaskLink:
type: object
title: AsyncTaskLink
required:
- href
properties:
href:
type: string
title: Href
StructureImageReferenceV3:
properties:
source:
$ref: '#/components/schemas/PublicBinaryInputV3'
type: object
FireflyModelId:
type: string
title: FireflyModelId
enum:
- firefly_image
BaseInputImageV3:
properties:
source:
$ref: '#/components/schemas/PublicBinaryInputV3'
description: Source image that Firefly expands, fills, uses to generate similar images, or upscales.
required:
- source
title: BaseInputImageV3
type: object
ValidationErrorMessage:
properties:
ctx:
title: Ctx
type: object
loc:
items:
anyOf:
- type: integer
- type: string
title: Loc
type: array
msg:
title: Msg
type: string
type:
title: Type
type: string
required:
- loc
- msg
- type
title: ValidationErrorMessage
type: object
ColligoErrorCodeAsyncV3:
description: An enumeration.
enum:
- validation_error
- runtime_error
- timeout_error
- rate_limited
- access_error
- invalid_content_type
- empty_input_body
- bad_request
type: string
FillImageRequestV3:
properties:
image:
$ref: '#/components/schemas/InputImageV3'
description: 'The 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.comwindows.netdropboxusercontent.comstorage.googleapis.comnumVariations defaults to the number of seed images, or to 1 if you do not specify seeds.
maximum: 4
minimum: 1
title: The number of variations
type: integer
prompt:
description: An optional text prompt up to 1024 characters. The longer the prompt the better Firefly performs.
maxLength: 1024
minLength: 1
title: The prompt
type: string
promptBiasingLocaleCode:
description: A hyphen-separated string combining the ISO 639-1 language code and the ISO 3166-1 region, such as en-US. When a locale is set, the prompt will be biased to generate more relevant content for that region. The locale will be auto-detected if not specified based on your profile and the accepted language header.
title: The locale used to generate an image
type: string
seeds:
description: Array of seed image IDs. These reference images help ensure consistent image generation across multiple API calls. For example, you can use the same seed to generate a similar image with different styles. If specified along with numVariations, the number of seeds must equal numVariations.
items:
type: integer
maxItems: 4
minItems: 1
title: The seed of each variation
type: array
uniqueItems: true
size:
allOf:
- $ref: '#/components/schemas/Size'
default:
height: 2048
width: 2048
description: 'The desired width and height for the final expanded image in pixels. The supported sizes for the output images are: uploadID as the source for the image. Firefly only allows these listed domains: amazonaws.comwindows.netdropboxusercontent.comstorage.googleapis.comnumVariations defaults to the number of seed images, or to 1 if you do not specify `seeds`.
maximum: 4
minimum: 1
title: The number of variations
type: integer
seeds:
description: Array 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.
items:
type: integer
maxItems: 4
minItems: 1
title: The seed image for each variation
type: array
uniqueItems: true
size:
allOf:
- $ref: '#/components/schemas/Size'
default:
height: 2048
width: 2048
description: 'The desired width and height for the final image in pixels. The supported sizes for the output images are: numVariations defaults to the number of seed images, or to 1 if you do not specify `seeds`.
maximum: 4
minimum: 1
type: integer
prompt:
description: A text prompt to support the generation of an image. The longer the prompt the better Firefly performs.
maxLength: 1024
minLength: 1
type: string
promptBiasingLocaleCode:
description: A 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.
type: string
seeds:
description: An 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.
items:
type: integer
maxItems: 4
minItems: 1
type: array
uniqueItems: true
size:
allOf:
- $ref: '#/components/schemas/Size'
default:
height: 2048
width: 2048
description: 'The desired width and height for the final image, in pixels. Supported sizes for the output images with `image3` are: