{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://developer.adobe.com/ns/creative-suite/schemas/image-job", "title": "Adobe Creative Suite Image Job", "description": "Schema for asynchronous image processing jobs submitted to Adobe Photoshop and related Creative Suite image APIs. Covers the full lifecycle of a job from submission through completion or failure, including input references, output references, and error details.", "type": "object", "required": ["jobId", "status"], "properties": { "jobId": { "type": "string", "description": "Unique identifier assigned to the image processing job upon submission", "examples": ["f54e0fcb-260b-47c3-b520-de0d17dc2b67"] }, "status": { "type": "string", "description": "Current lifecycle status of the image processing job", "enum": ["pending", "running", "succeeded", "failed"], "examples": ["succeeded"] }, "created": { "type": "string", "format": "date-time", "description": "ISO 8601 timestamp indicating when the job was submitted for processing", "examples": ["2026-03-02T12:00:00.000Z"] }, "modified": { "type": "string", "format": "date-time", "description": "ISO 8601 timestamp indicating when the job record was last updated", "examples": ["2026-03-02T12:00:45.000Z"] }, "input": { "type": "object", "description": "Reference to the input file used for this image processing job", "required": ["href", "storage"], "properties": { "href": { "type": "string", "description": "URL or path to the input file in the specified cloud storage provider", "examples": ["https://my-storage.blob.core.windows.net/images/input.psd"] }, "storage": { "type": "string", "description": "Cloud storage provider where the input file resides", "enum": ["adobe", "external", "azure", "dropbox"], "examples": ["external"] }, "type": { "type": "string", "description": "MIME type of the input file", "examples": ["image/vnd.adobe.photoshop", "image/jpeg", "image/png"] } }, "additionalProperties": false }, "output": { "type": "object", "description": "Reference to the output file location for this image processing job", "required": ["href", "storage", "type"], "properties": { "href": { "type": "string", "description": "URL or path where the processed output file will be stored", "examples": ["https://my-storage.blob.core.windows.net/images/output.png"] }, "storage": { "type": "string", "description": "Cloud storage provider where the output file will be written", "enum": ["adobe", "external", "azure", "dropbox"], "examples": ["external"] }, "type": { "type": "string", "description": "MIME type of the output file to produce", "examples": ["image/png", "image/jpeg", "image/vnd.adobe.photoshop"] }, "width": { "type": "integer", "description": "Width of the output image in pixels", "minimum": 1, "examples": [1920] }, "height": { "type": "integer", "description": "Height of the output image in pixels", "minimum": 1, "examples": [1080] }, "overwrite": { "type": "boolean", "description": "Whether to overwrite an existing file at the output location", "default": true } }, "additionalProperties": false }, "outputs": { "type": "array", "description": "List of output files produced when the job succeeds (for multi-output operations)", "items": { "type": "object", "description": "An individual output produced by this image processing job", "properties": { "input": { "type": "string", "description": "Reference to the input file that generated this output" }, "status": { "type": "string", "description": "Status of this specific output", "enum": ["pending", "running", "succeeded", "failed"] }, "details": { "type": "string", "description": "Additional human-readable detail about this output's status" }, "href": { "type": "string", "description": "URL to download the completed output file", "examples": ["https://my-storage.blob.core.windows.net/images/output.png"] }, "storage": { "type": "string", "description": "Cloud storage provider where the output file was written", "enum": ["adobe", "external", "azure", "dropbox"] }, "type": { "type": "string", "description": "MIME type of the output file", "examples": ["image/png"] }, "width": { "type": "integer", "description": "Actual width of the output image in pixels", "minimum": 1 }, "height": { "type": "integer", "description": "Actual height of the output image in pixels", "minimum": 1 } } } }, "errors": { "type": "array", "description": "List of errors encountered during job processing (populated when status is failed)", "items": { "type": "object", "description": "An individual error encountered during image processing", "properties": { "code": { "type": "string", "description": "Machine-readable error code identifying the type of failure", "examples": ["InputValidationError", "StorageAccessError"] }, "title": { "type": "string", "description": "Short human-readable title for the error", "examples": ["Invalid input file format"] }, "description": { "type": "string", "description": "Detailed human-readable explanation of what went wrong", "examples": ["The provided file is not a valid PSD document"] } }, "required": ["code"] } } }, "additionalProperties": false, "examples": [ { "jobId": "f54e0fcb-260b-47c3-b520-de0d17dc2b67", "status": "succeeded", "created": "2026-03-02T12:00:00.000Z", "modified": "2026-03-02T12:00:45.000Z", "input": { "href": "https://my-storage.blob.core.windows.net/images/product.jpg", "storage": "external", "type": "image/jpeg" }, "output": { "href": "https://my-storage.blob.core.windows.net/images/product-cutout.png", "storage": "external", "type": "image/png", "width": 2000, "height": 3000 }, "errors": [] } ] }