Adobe Creative Suite · JSON Structure

Adobe Creative Suite Photoshop Layer Structure

Representation of a Photoshop document layer

Type: object Properties: 10
CreativeDesignGraphicsPhotographyVideo

Layer is a JSON Structure definition published by Adobe Creative Suite, describing 10 properties. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Properties

id index name type visible locked opacity blendMode bounds children

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

Raw ↑
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/adobe-creative-suite/refs/heads/main/json-structure/adobe-creative-suite-photoshop-layer-structure.json",
  "name": "Layer",
  "description": "Representation of a Photoshop document layer",
  "type": "object",
  "properties": {
    "id": {
      "type": "int32",
      "description": "Unique layer identifier within the document",
      "example": 1920
    },
    "index": {
      "type": "int32",
      "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": "int32",
      "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": "int32"
        },
        "left": {
          "type": "int32"
        },
        "bottom": {
          "type": "int32"
        },
        "right": {
          "type": "int32"
        }
      }
    },
    "children": {
      "type": "array",
      "description": "Child layers for group layers",
      "items": {
        "$ref": "#/components/schemas/Layer"
      }
    }
  }
}