Adobe Creative Suite Layers API

PSD layer management operations

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

adobe-creative-suite-layers-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Adobe Creative Suite Adobe Firefly Accessibility Layers 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: Layers
  description: PSD layer management operations
paths:
  /pie/psdService/layers:
    post:
      operationId: manageLayers
      summary: Adobe Creative Suite Manage Layers
      description: Reads, adds, modifies, or deletes layers within a PSD document. Supports pixel, adjustment, fill, shape, text, and group layer types. Layer operations include visibility changes, opacity adjustments, blend mode changes, and positional transformations.
      tags:
      - Layers
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LayerManageRequest'
      responses:
        '202':
          description: Job accepted and queued for processing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobSubmitted'
        '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
components:
  schemas:
    Layer:
      type: object
      description: Representation of a Photoshop document layer
      properties:
        id:
          type: integer
          description: Unique layer identifier within the document
          example: 1920
        index:
          type: integer
          description: Layer stack index (0 = bottom)
          example: 1920
        name:
          type: string
          description: Layer name as shown in the Layers panel
          example: Example Asset
        type:
          type: string
          description: Layer type
          enum:
          - layer
          - textLayer
          - adjustmentLayer
          - fillLayer
          - smartObject
          - backgroundLayer
          - groupLayer
          example: layer
        visible:
          type: boolean
          description: Whether the layer is visible
          example: true
        locked:
          type: boolean
          description: Whether the layer is locked
          example: true
        opacity:
          type: integer
          description: Layer opacity from 0 to 255
          minimum: 0
          maximum: 255
          example: 1920
        blendMode:
          type: string
          description: Blend mode of the layer
          example: normal
        bounds:
          type: object
          description: Layer bounding box in pixels
          properties:
            top:
              type: integer
            left:
              type: integer
            bottom:
              type: integer
            right:
              type: integer
        children:
          type: array
          description: Child layers for group layers
          items:
            $ref: '#/components/schemas/Layer'
    ErrorResponse:
      type: object
      description: Standard error response
      properties:
        code:
          type: string
          description: Error code
          example: example_value
        message:
          type: string
          description: Human-readable error message
          example: example_value
    JobOutput:
      type: object
      description: Reference to an output file location in cloud storage
      required:
      - href
      - storage
      - type
      properties:
        href:
          type: string
          description: URL or path where the output file will be stored
          example: https://my-storage.blob.core.windows.net/images/output.png
        storage:
          type: string
          description: Cloud storage provider type
          enum:
          - adobe
          - external
          - azure
          - dropbox
          example: external
        type:
          type: string
          description: MIME type of the output file
          example: image/png
        width:
          type: integer
          description: Output width in pixels
          example: 1920
        height:
          type: integer
          description: Output height in pixels
          example: 1080
        overwrite:
          type: boolean
          description: Whether to overwrite the output file if it already exists
          default: true
          example: true
    LayerManageRequest:
      type: object
      description: Request to read or modify layers within a PSD document
      required:
      - inputs
      - outputs
      properties:
        inputs:
          type: array
          items:
            $ref: '#/components/schemas/JobInput'
        outputs:
          type: array
          items:
            $ref: '#/components/schemas/JobOutput'
        options:
          type: object
          properties:
            layers:
              type: array
              description: Layer operations to apply
              items:
                $ref: '#/components/schemas/Layer'
    JobInput:
      type: object
      description: Reference to an input file stored in cloud storage
      required:
      - href
      - storage
      properties:
        href:
          type: string
          description: URL or path to the input file in cloud storage
          example: https://my-storage.blob.core.windows.net/images/input.psd
        storage:
          type: string
          description: Cloud storage provider type
          enum:
          - adobe
          - external
          - azure
          - dropbox
          example: external
        type:
          type: string
          description: MIME type of the input file
          example: image/vnd.adobe.photoshop
    JobSubmitted:
      type: object
      description: Response returned immediately after a job is submitted
      properties:
        jobId:
          type: string
          description: Unique identifier for the submitted job
          example: f54e0fcb-260b-47c3-b520-de0d17dc2b67
        statusUrl:
          type: string
          description: URL to poll for job status
          example: https://image.adobe.io/pie/psdService/status/f54e0fcb-260b-47c3-b520-de0d17dc2b67
        _links:
          type: object
          properties:
            self:
              type: object
              properties:
                href:
                  type: string
                  example: https://image.adobe.io/pie/psdService/status/f54e0fcb-260b-47c3-b520-de0d17dc2b67
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: OAuth 2.0 access token obtained from Adobe IMS