openapi: 3.2.0 info: title: documentation Photoshop API description: API Documentation version: '1.0' servers: - url: https://image.adobe.io security: [] tags: - name: Photoshop paths: /sensei/cutout: post: tags: - Photoshop summary: Remove Background description: " Generates a PNG file in 4 channel RGBA format with the cutout operation applied to the input image \\\n Generates a PNG file in 3 channel RGB format with the mask operation applied to the input image.\\\n To get status of this job, call [Status API](./#operation/icstatus).\\\n To know more about this feature refer [Remove Background](../features/#remove-background)" operationId: cutout parameters: - name: Authorization description: 'Bearer: ${Authorization Token}' in: header required: true schema: type: string - name: x-api-key description: API key/client id in: header required: true schema: type: string - name: Content-Type description: application/json in: header required: true schema: type: string - name: x-gw-ims-org-id description: IMS organization ID. This needs to be sent only if it is desirable to receive the job status through Adobe I/O Events. in: header required: false schema: type: string requestBody: content: application/json: schema: $ref: ./ic/post_cutout.schema.json required: true responses: '202': description: Successful operation content: application/json: schema: $ref: ./ic/api_response_success_schema.json '400': description: Bad Request content: application/json: schema: $ref: ./api_response_400_error_schema.json '402': description: Trial Limit Exceeded content: application/json: schema: $ref: ./api_response_402_error_schema.json '403': description: Unauthorized content: application/json: schema: $ref: ./api_response_403_error_schema.json '404': description: Not Found content: application/json: schema: $ref: ./api_response_404_error_schema.json '409': description: File Overwrite Error content: application/json: schema: $ref: ./api_response_409_error_schema.json '410': description: Asset Link Invalid content: application/json: schema: $ref: ./api_response_410_error_schema.json '500': description: Internal Server Error x-codeSamples: - lang: shell source: "curl --request POST \\\n --url https://image.adobe.io/sensei/cutout \\\n --header 'Authorization: Bearer $token' \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: $x-api-key' \\\n --data '{\"input\":{\"href\":\"string\",\"storage\":\"external\"},\\\n \"output\":{\"href\":\"string\",\"storage\":\"external\",\"mask\":{\"format\":\"soft\"}}}'" /sensei/mask: post: tags: - Photoshop summary: Create Mask description: " Generates a mask PNG.\nTo get status of this job, call [Status API](./#operation/icstatus).\\\n To know more about this feature refer [Image Mask](../features/#image-mask)" operationId: mask parameters: - name: Authorization description: 'Bearer: ${Authorization Token}' in: header required: true schema: type: string - name: x-api-key description: API key/client id in: header required: true schema: type: string - name: Content-Type description: application/json in: header required: true schema: type: string - name: x-gw-ims-org-id description: IMS organization ID. This needs to be sent only if it is desirable to receive the job status through Adobe I/O Events. in: header required: false schema: type: string requestBody: content: application/json: schema: $ref: ./ic/post_cutout.schema.json required: true responses: '202': description: Successful operation content: application/json: schema: $ref: ./ic/api_response_success_schema.json '400': description: Bad Request content: application/json: schema: $ref: ./api_response_400_error_schema.json '402': description: Trial Limit Exceeded content: application/json: schema: $ref: ./api_response_402_error_schema.json '403': description: Unauthorized content: application/json: schema: $ref: ./api_response_403_error_schema.json '404': description: Not Found content: application/json: schema: $ref: ./api_response_404_error_schema.json '409': description: File Overwrite Error content: application/json: schema: $ref: ./api_response_409_error_schema.json '410': description: Asset Link Invalid content: application/json: schema: $ref: ./api_response_410_error_schema.json '500': description: Internal Server Error x-codeSamples: - lang: shell source: "curl --request POST \\\n --url https://image.adobe.io/sensei/mask \\\n --header 'Authorization: Bearer $token' \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: $x-api-key' \\\n --data '{\"input\":{\"href\":\"string\",\"storage\":\"external\"},\\\n \"output\":{\"href\":\"string\",\"storage\":\"external\",\"mask\":{\"format\":\"soft\"}}}'" /sensei/status/{jobId}: get: tags: - Photoshop summary: Get the status of a job for Remove Background and Create Mask description: Returns the status of a job. Please expand `200 Successful operation` under `Responses` to know details of the status returned. operationId: icstatus parameters: - name: Authorization description: 'Bearer: ${Authorization Token}' in: header required: true schema: type: string - name: x-api-key description: API key/client id in: header required: true schema: type: string - name: Content-Type description: application/json in: header required: true schema: type: string - name: x-gw-ims-org-id description: IMS organization ID. This needs to be sent only if it is desirable to receive the job status through Adobe I/O Events. in: header required: false schema: type: string - name: jobId in: path description: The jobId to get status for. required: true schema: type: string responses: '200': description: Successful operation content: application/json: schema: $ref: ./ic/get_status.schema.json /pie/psdService/renditionCreate: post: tags: - Photoshop summary: Create renditions description: " Create renditions.\nTo get status of this job, call [Status API](./#operation/pitsstatus). \\\n To know more about this feature refer [Rendering Conversions](../features/#rendering--conversions)" operationId: renditionCreate parameters: - name: Authorization description: 'Bearer: ${Authorization Token}' in: header required: true schema: type: string - name: x-api-key description: API key/client id in: header required: true schema: type: string - name: Content-Type description: application/json in: header required: true schema: type: string - name: x-gw-ims-org-id description: IMS organization ID. This needs to be sent only if it is desirable to receive the job status through Adobe I/O Events. in: header required: false schema: type: string requestBody: content: application/json: schema: $ref: ./PITS/post_rendition_create.schema.json required: true responses: '202': description: Successful operation content: application/json: schema: $ref: ./PITS/api_response_success_schema.json '400': description: Bad Request content: application/json: schema: $ref: ./api_response_400_error_schema.json '402': description: Trial Limit Exceeded content: application/json: schema: $ref: ./api_response_402_error_schema.json '403': description: Unauthorized content: application/json: schema: $ref: ./api_response_403_error_schema.json '404': description: Not Found content: application/json: schema: $ref: ./api_response_404_error_schema.json '409': description: File Overwrite Error content: application/json: schema: $ref: ./api_response_409_error_schema.json '410': description: Asset Link Invalid content: application/json: schema: $ref: ./api_response_410_error_schema.json '500': description: Internal Server Error x-codeSamples: - lang: shell source: "curl --request POST \\\n --url https://image.adobe.io/pie/psdService/renditionCreate \\\n --header 'Authorization: Bearer $token' \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: $x-api-key' \\\n --data '{\"inputs\":[{\"href\":\"string\",\"storage\":\"external\"}],\\\n \"outputs\":[{\"href\":\"string\",\"storage\":\"external\",\"type\":\"image/jpeg\",\"quality\": 5},\\\n {\"href\":\"string\",\"storage\":\"external\",\"type\":\"image/png\",\\\n \"layers\":[{\"name\":\"bug\"},{\"name\":\"flower\"}]}]}'" - lang: batch_example source: "curl --request POST \\\n --url https://image.adobe.io/pie/psdService/renditionCreate \\\n --header 'Authorization: Bearer $token' \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: $x-api-key' \\\n --data '{\"inputs\":[{\"href\":\"presigned_get_url_to_folder_containing_files\",\\\n \"storage\":\"external\"}],\"outputs\":[{\"href\":\"presigned_put_url\",\\\n \"storage\":\"external\",\"type\":\"image/jpeg\",\\\n \"width\":0,\"quality\":3},\\\n {\"href\":\"presigned_put_url\",\"storage\":\"external\",\\\n \"type\":\"image/png\",\"width\":0,\"compression\":\"medium\"},\\\n {\"href\":\"presigned_put_url\",\"storage\":\"external\",\"type\":\"image/vnd.adobe.photoshop\"}]}'" - lang: icc_profile_example source: "curl --request POST \\\n --url https://image.adobe.io/pie/psdService/renditionCreate \\\n --header 'Authorization: Bearer $token' \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: $x-api-key' \\\n --data '{\"inputs\":[{\"href\":\"presigned_getURL\",\"storage\":\"external\"}],\\\n \"outputs\":[{\"href\":\"presigned_getURL\",\"storage\":\"external\",\\\n \"type\":\"images/jpeg\",\\\n \"iccProfile\":{\"imageMode\":\"rgb\",\"iccProfile\":{\"href\":\"presigned_getURL\",\"storage\":\"external\"}}}]}'" /pie/psdService/actionJSON: post: tags: - Photoshop summary: Execute actionJSON description: " Playback photoshop actions in actionJSON format.\nTo get status of this job, call [Status API](./#operation/pitsstatus). \\\n To know more about this feature refer [Rendering Conversions](../features/#rendering--conversions)" operationId: actionJSON parameters: - name: Authorization description: 'Bearer: ${Authorization Token}' in: header required: true schema: type: string - name: x-api-key description: API key/client id in: header required: true schema: type: string - name: Content-Type description: application/json in: header required: true schema: type: string - name: x-gw-ims-org-id description: IMS organization ID. This needs to be sent only if it is desirable to receive the job status through Adobe I/O Events. in: header required: false schema: type: string requestBody: content: application/json: schema: $ref: ./PITS/post_action_json.schema.json required: true responses: '202': description: Successful operation content: application/json: schema: $ref: ./PITS/api_response_success_schema.json '400': description: Bad Request content: application/json: schema: $ref: ./api_response_400_error_schema.json '402': description: Trial Limit Exceeded content: application/json: schema: $ref: ./api_response_402_error_schema.json '403': description: Unauthorized content: application/json: schema: $ref: ./api_response_403_error_schema.json '404': description: Not Found content: application/json: schema: $ref: ./api_response_404_error_schema.json '409': description: File Overwrite Error content: application/json: schema: $ref: ./api_response_409_error_schema.json '410': description: Asset Link Invalid content: application/json: schema: $ref: ./api_response_410_error_schema.json '500': description: Internal Server Error x-codeSamples: - lang: shell source: "curl --request POST \\\n --url https://image.adobe.io/pie/psdService/actionJSON \\\n --header 'Authorization: Bearer $token' \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: $x-api-key' \\\n --data '{\"inputs\": [{\"href\": \"string\",\"storage\": \"external\"}],\"options\": {\"actionJSON\": [{\"_obj\": \"crop\",\"angle\": {\"_unit\": \"angleUnit\",\"_value\": 0.0},\\\n\"constrainProportions\": false,\"cropAspectRatioModeKey\": {\"_enum\": \"cropAspectRatioModeClass\",\"_value\": \"pureAspectRatio\"},\"delete\": true,\"to\": {\"_obj\": \"rectangle\",\"bottom\": {\"_unit\": \"pixelsUnit\",\"_value\": 469.0},\"left\": {\"_unit\": \"pixelsUnit\",\"_value\": 0.0},\"right\": {\"_unit\": \"pixelsUnit\",\"_value\": 750.0},\"top\": {\"_unit\": \"pixelsUnit\",\"_value\": 0.0}}},{\"_obj\": \"crop\",\"angle\": {\"_unit\": \"angleUnit\",\"_value\": 0.0},\"constrainProportions\": false,\"cropAspectRatioModeKey\": {\"_enum\": \"cropAspectRatioModeClass\",\"_value\": \"pureAspectRatio\"},\"delete\": true,\"to\": {\"_obj\": \"rectangle\",\"bottom\": {\"_unit\": \"pixelsUnit\",\"_value\": 368.421875},\"left\": {\"_unit\": \"pixelsUnit\",\"_value\": 108.515625},\"right\": {\"_unit\": \"pixelsUnit\",\"_value\": 603.375},\"top\": {\"_unit\": \"pixelsUnit\",\"_value\": 0.0}}},{\"_obj\": \"make\",\"_target\": [{\"_ref\": \"contentLayer\"}],\"using\": {\"_obj\": \"contentLayer\",\"type\": {\"_obj\": \"gradientLayer\",\"angle\": {\"_unit\": \"angleUnit\",\"_value\": 90.0},\"gradient\": {\"_obj\": \"gradientClassEvent\",\"colors\": [{\"_obj\": \"colorStop\",\"color\": {\"_obj\": \"RGBColor\",\"blue\": 0.0,\"grain\": 0.0,\"red\": 0.0},\"location\": 0,\"midpoint\": 50,\"type\": {\"_enum\": \"colorStopType\",\"_value\": \"userStop\"}}, {\"_obj\": \"colorStop\",\"color\": {\"_obj\": \"RGBColor\",\"blue\": 0.0,\"grain\": 0.0,\"red\": 0.0},\"location\": 4096,\"midpoint\": 50,\"type\": {\"_enum\": \"colorStopType\",\"_value\": \"userStop\"}}],\"gradientForm\": {\"_enum\": \"gradientForm\",\"_value\": \"customStops\"},\"interfaceIconFrameDimmed\": 4096.0,\"name\": \"Color to Transparent\",\"transparency\": [{\"_obj\": \"transferSpec\",\"location\": 0,\"midpoint\": 50,\"opacity\": {\"_unit\": \"percentUnit\",\"_value\": 100.0}}, {\"_obj\": \"transferSpec\",\"location\": 4096,\"midpoint\": 50,\"opacity\": {\"_unit\": \"percentUnit\",\"_value\": 0.0}}]},\"gradientsInterpolationMethod\":{\"_enum\": \"gradientInterpolationMethodType\",\"_value\": \"perceptual\"},\"type\": {\"_enum\": \"gradientType\",\"_value\": \"linear\"}}}}]},\"outputs\": [{\"storage\": \"external\",\"type\": \"image/jpeg\",t\"overwrite\": true,\"href\": \"string\"}]}'" - lang: multiple_input_example source: "curl --request POST \\\n --url https://image.adobe.io/pie/psdService/actionJSON \\\n --header 'Authorization: Bearer $token' \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: $x-api-key' \\\n --data '{\"inputs\": [{\"href\": \"string\",\"storage\": \"external\"}],\"options\": {\"additionalImages\": [{\"href\": \"string\",\"storage\": \"external\"}],\"actionJSON\": [{\"ID\": 3,\"_obj\": \"placeEvent\",\"freeTransformCenterState\": {\"_enum\": \"quadCenterState\",\"_value\": \"QCSAverage\"},\"null\": {\"_kind\": \"local\",\"_path\": \"PEGASUS_ACTION_JSON_OPTIONS_ADDITIONAL_IMAGES_0\"},\"offset\": {\"_obj\": \"offset\",\"horizontal\": {\"_unit\": \"pixelsUnit\",\"_value\": 0},\"vertical\": {\"_unit\": \"pixelsUnit\",\"_value\": 0}}},{\"_obj\": \"autoCutout\",\"sampleAllLayers\": false},{\"_obj\":\"make\",\"at\": {\"_enum\":\"channel\",\"_ref\": \"channel\", \"_value\": \"mask\"},\"new\": { \"_class\": \"channel\"},\"using\": { \"_enum\": \"userMaskEnabled\",\"_value\":\"revealSelection\"}},{\"_obj\": \"set\",\"_target\": [{\"_property\": \"selection\",\"_ref\": \"channel\" }],\"to\": { \"_enum\": \"ordinal\",\"_value\": \"allEnum\"}},{\"_obj\": \"align\",\"_target\": [{\"_enum\": \"ordinal\",\"_ref\": \"layer\" }],\"alignToCanvas\": false,\"using\": {\"_enum\": \"alignDistributeSelector\", \"_value\": \"ADSBottoms\"}},{\"_obj\": \"align\",\"_target\": [{\"_enum\": \"ordinal\",\"_ref\": \"layer\" }],\"alignToCanvas\": false,\"using\": {\"_enum\": \"alignDistributeSelector\",\"_value\": \"ADSRights\"}},{\"_obj\": \"set\",\"_target\": [ {\"_property\": \"selection\",\"_ref\": \"channel\"}],\"to\": {\"_enum\": \"ordinal\",\"_value\": \"none\"}}]},\"outputs\":[{\"type\": \"image/jpeg\",\"href\": \"string\",\"storage\": \"external\"}]}'" /pie/psdService/actionJsonCreate: post: tags: - Photoshop summary: Create actionJSON description: " Converts an atn file to actionJSON.\nTo get status of this job, call [Status API](./#operation/pitsstatus). \\\n To know more about this feature refer [Rendering Conversions](../features/#rendering--conversions)" operationId: actionJsonCreate parameters: - name: Authorization description: 'Bearer: ${Authorization Token}' in: header required: true schema: type: string - name: x-api-key description: API key/client id in: header required: true schema: type: string - name: Content-Type description: application/json in: header required: true schema: type: string - name: x-gw-ims-org-id description: IMS organization ID. This needs to be sent only if it is desirable to receive the job status through Adobe I/O Events. in: header required: false schema: type: string requestBody: content: application/json: schema: $ref: ./PITS/post_action_json_create.schema.json required: true responses: '202': description: Successful operation content: application/json: schema: $ref: ./PITS/api_response_success_schema.json '400': description: Bad Request content: application/json: schema: $ref: ./api_response_400_error_schema.json '402': description: Trial Limit Exceeded content: application/json: schema: $ref: ./api_response_402_error_schema.json '403': description: Unauthorized content: application/json: schema: $ref: ./api_response_403_error_schema.json '404': description: Not Found content: application/json: schema: $ref: ./api_response_404_error_schema.json '410': description: Asset Link Invalid content: application/json: schema: $ref: ./api_response_410_error_schema.json '500': description: Internal Server Error x-codeSamples: - lang: shell source: "curl --request POST \\\n --url https://image.adobe.io/pie/psdService/actioJsonCreate \\\n --header 'Authorization: Bearer $token' \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: $x-api-key' \\\n --data '{\"inputs\": [{\"storage\": \"external\",\"href\": \"string\"}] \\\n,\"options\": {\"actions\": [{\"actionName\": \"string\"}]}}'" /pie/psdService/smartObject: post: tags: - Photoshop summary: Replace Smart Object description: " Edits a PSD for replacing embedded smart object and then generate renditions and/or save a new psd.\nTo get status of this job, call [Status API](./#operation/pitsstatus).\\\n To know more about this feature refer [SmartObject](../features/#smartobject)" operationId: smartObject parameters: - name: Authorization description: 'Bearer: ${Authorization Token}' in: header required: true schema: type: string - name: x-api-key description: API key/client id in: header required: true schema: type: string - name: Content-Type description: application/json in: header required: true schema: type: string - name: x-gw-ims-org-id description: IMS organization ID. This needs to be sent only if it is desirable to receive the job status through Adobe I/O Events. in: header required: false schema: type: string requestBody: content: application/json: schema: $ref: ./PITS/post_smart_object.schema.json required: true responses: '202': description: Successful operation content: application/json: schema: $ref: ./PITS/api_response_success_schema.json '400': description: Bad Request content: application/json: schema: $ref: ./api_response_400_error_schema.json '402': description: Trial Limit Exceeded content: application/json: schema: $ref: ./api_response_402_error_schema.json '403': description: Unauthorized content: application/json: schema: $ref: ./api_response_403_error_schema.json '404': description: Not Found content: application/json: schema: $ref: ./api_response_404_error_schema.json '409': description: File Overwrite Error content: application/json: schema: $ref: ./api_response_409_error_schema.json '410': description: Asset Link Invalid content: application/json: schema: $ref: ./api_response_410_error_schema.json '500': description: Internal Server Error x-codeSamples: - lang: shell source: "curl --request POST \\\n --url https://image.adobe.io/pie/psdService/smartObject \\\n --header 'Authorization: Bearer $token' \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: $x-api-key' \\\n --data '{\"inputs\":[{\"href\":\"get_presigned_url\",\"storage\":\"external\"}],\\\n \"options\":{\"layers\":[{\"name\":\"New\",\\\n \"input\":{\"href\":\"get_presigned_url\",\"storage\":\"external\"},\\\n \"bounds\":{\"width\":602,\"height\":400}}]},\\\n \"outputs\":[{\"storage\":\"external\",\"href\":\"put_presigned_url\",\\\n \"type\":\"image/vnd.adobe.photoshop\"}]}'" /pie/psdService/photoshopActions: post: tags: - Photoshop summary: Execute Photoshop Actions description: " Executes Photoshop Actions on a given image.\nTo get status of this job, call [Status API](./#operation/pitsstatus). \\\n To know more about this feature refer [Photoshop Actions](../features/#photoshop-actions)" operationId: photoshopActions parameters: - name: Authorization description: 'Bearer: ${Authorization Token}' in: header required: true schema: type: string - name: x-api-key description: API key/client id in: header required: true schema: type: string - name: Content-Type description: application/json in: header required: true schema: type: string - name: x-gw-ims-org-id description: IMS organization ID. This needs to be sent only if it is desirable to receive the job status through Adobe I/O Events. in: header required: false schema: type: string requestBody: content: application/json: schema: $ref: ./PITS/post_photoshop_actions.schema.json required: true responses: '202': description: Successful operation content: application/json: schema: $ref: ./PITS/api_response_success_schema.json '400': description: Bad Request content: application/json: schema: $ref: ./api_response_400_error_schema.json '402': description: Trial Limit Exceeded content: application/json: schema: $ref: ./api_response_402_error_schema.json '403': description: Unauthorized content: application/json: schema: $ref: ./api_response_403_error_schema.json '404': description: Not Found content: application/json: schema: $ref: ./api_response_404_error_schema.json '409': description: File Overwrite Error content: application/json: schema: $ref: ./api_response_409_error_schema.json '410': description: Asset Link Invalid content: application/json: schema: $ref: ./api_response_410_error_schema.json '500': description: Internal Server Error x-codeSamples: - lang: shell source: "curl --request POST \\\n --url https://image.adobe.io/pie/psdService/photoshopActions \\\n --header 'Authorization: Bearer $token' \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: $x-api-key' \\\n --data '{\"inputs\":[{\"href\":\"get_presigned_url\",\"storage\":\"external\"}],\\\n \"options\":{\"actions\":[{\"href\":\"https://get-presigned-url.com/Oil-paint.atn\",\"storage\":\"string\"}]}\\\n \"outputs\":[{\"href\":\"https://put-presigned-url.com/output.jpg\",\"storage\":\"external\",\"type\":\"image/jpeg\"}]}'" /pie/psdService/productCrop: post: tags: - Photoshop summary: Execute Product Crop description: " Executes Product Crop on a given image.\nTo get status of this job, call [Status API](./#operation/pitsstatus).\\\n To know more about this feature refer [ProductCrop](../features/#productcrop)" operationId: productCrop parameters: - name: Authorization description: 'Bearer: ${Authorization Token}' in: header required: true schema: type: string - name: x-api-key description: API key/client id in: header required: true schema: type: string - name: Content-Type description: application/json in: header required: true schema: type: string - name: x-gw-ims-org-id description: IMS organization ID. This needs to be sent only if it is desirable to receive the job status through Adobe I/O Events. in: header required: false schema: type: string requestBody: content: application/json: schema: $ref: ./PITS/post_product_crop_action_json.schema.json required: true responses: '202': description: Successful operation content: application/json: schema: $ref: ./PITS/api_response_success_schema.json '400': description: Bad Request content: application/json: schema: $ref: ./api_response_400_error_schema.json '402': description: Trial Limit Exceeded content: application/json: schema: $ref: ./api_response_402_error_schema.json '403': description: Unauthorized content: application/json: schema: $ref: ./api_response_403_error_schema.json '404': description: Not Found content: application/json: schema: $ref: ./api_response_404_error_schema.json '409': description: File Overwrite Error content: application/json: schema: $ref: ./api_response_409_error_schema.json '410': description: Asset Link Invalid content: application/json: schema: $ref: ./api_response_410_error_schema.json '500': description: Internal Server Error x-codeSamples: - lang: shell source: "curl --request POST \\\n --url https://image.adobe.io/pie/psdService/productCrop \\\n --header 'Authorization: Bearer $token' \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: $x-api-key' \\\n --data '{\"inputs\":[{\"href\":\"get_presigned_url\",\"storage\":\"external\"}],\n\"options\": {\"unit\":\"Pixels\",\"width\":10,\"height\":10},\n \"outputs\":[{\"href\":\"https://put-presigned-url.com/output.jpg\",\"storage\":\"external\",\"type\":\"image/jpeg\"}]}'" /pie/psdService/depthBlur: post: tags: - Photoshop summary: Execute Depth Blur description: " Executes Depth Blur on a given image.\nTo get status of this job, call [Status API](./#operation/pitsstatus). \\\n To know more about this feature refer [DepthBlur](../features/#depthblur)" operationId: depthBlur parameters: - name: Authorization description: 'Bearer: ${Authorization Token}' in: header required: true schema: type: string - name: x-api-key description: API key/client id in: header required: true schema: type: string - name: Content-Type description: application/json in: header required: true schema: type: string - name: x-gw-ims-org-id description: IMS organization ID. This needs to be sent only if it is desirable to receive the job status through Adobe I/O Events. in: header required: false schema: type: string requestBody: content: application/json: schema: $ref: ./PITS/post_depth_blur.schema.json required: true responses: '202': description: Successful operation content: application/json: schema: $ref: ./PITS/api_response_success_schema.json '400': description: Bad Request content: application/json: schema: $ref: ./api_response_400_error_schema.json '402': description: Trial Limit Exceeded content: application/json: schema: $ref: ./api_response_402_error_schema.json '403': description: Unauthorized content: application/json: schema: $ref: ./api_response_403_error_schema.json '404': description: Not Found content: application/json: schema: $ref: ./api_response_404_error_schema.json '409': description: File Overwrite Error content: application/json: schema: $ref: ./api_response_409_error_schema.json '410': description: Asset Link Invalid content: application/json: schema: $ref: ./api_response_410_error_schema.json '500': description: Internal Server Error x-codeSamples: - lang: shell source: "curl --request POST \\\n --url https://image.adobe.io/pie/psdService/depthBlur \\\n --header 'Authorization: Bearer $token' \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: $x-api-key' \\\n --data '{\"inputs\":[{\"href\":\"get_presigned_url\",\"storage\":\"external\"}],\n\"options\": {\"haze\": 25,\"blurStrength\": 90,\"focusSubject\": true},\n \"outputs\":[{\"href\":\"https://put-presigned-url.com/output.jpg\",\"storage\":\"external\",\"type\":\"image/jpeg\"}]}'" /pie/psdService/text: post: tags: - Photoshop summary: Edit text layers description: " Edit one or more text layers.\nTo get status of this job, call [Status API](./#operation/pitsstatus). \\\n To know more about this feature refer [Text](../features/#text)" operationId: text parameters: - name: Authorization description: 'Bearer: ${Authorization Token}' in: header required: true schema: type: string - name: x-api-key description: API key/client id in: header required: true schema: type: string - name: Content-Type description: application/json in: header required: true schema: type: string - name: x-gw-ims-org-id description: IMS organization ID. This needs to be sent only if it is desirable to receive the job status through Adobe I/O Events. in: header required: false schema: type: string requestBody: content: application/json: schema: $ref: ./PITS/post_text.schema.json required: true responses: '202': description: Successful operation content: application/json: schema: $ref: ./PITS/api_response_success_schema.json '400': description: Bad Request content: application/json: schema: $ref: ./api_response_400_error_schema.json '402': description: Trial Limit Exceeded content: application/json: schema: $ref: ./api_response_402_error_schema.json '403': description: Unauthorized content: application/json: schema: $ref: ./api_response_403_error_schema.json '404': description: Not Found content: application/json: schema: $ref: ./api_response_404_error_schema.json '409': description: File Overwrite Error content: application/json: schema: $ref: ./api_response_409_error_schema.json '410': description: Asset Link Invalid content: application/json: schema: $ref: ./api_response_410_error_schema.json '500': description: Internal Server Error x-codeSamples: - lang: shell source: "curl --request POST \\\n --url https://image.adobe.io/pie/psdService/text \\\n --header 'Authorization: Bearer $token' \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: $x-api-key' \\\n --data ' \\\n {\"inputs\":[{\"href\":\"\",\"storage\":\"external\"}],\\\n \"options\":{\"fonts\":[{\"storage\":\"external\",\\\n \"href\":\"\"}],\"layers\":[{\"name\":\"\",\\\n \"text\":{\"orientation\":\"horizontal\",\"contents\":\"New text Contents 1\",\\\n \"antiAlias\":\"antiAliasSharp\",\\\n \"characterStyles\":[{\"autoKern\":\"metricsKern\",\\\n \"fontPostScriptName\":\"\",\\\n \"fontCaps\":\"allCaps\",\"size\":25,\"leading\":20,\\\n \"tracking\":20,\"syntheticBold\":true,\"ligature\":true,\\\n \"syntheticItalic\":true,\\\n \"color\":{\"blue\":100,\"green\":200,\"red\":163}}],\\\n \"paragraphStyles\":[{\"align\":\"right\"}]}},{\"name\":\"\",\\\n \"text\":{\"contents\":\"New text Contents 2\",\"characterStyles\":[{\"size\":45, \\\n \"stylisticAlternates\":true,\"leading\":100,\\\n \"tracking\":100,\"baseline\":\"subScript\",\\\n \"strikethrough\":true,\"underline\":true,\"verticalScale\":150,\\\n \"horizontalScale\":200,\"color\":{\"blue\":300,\"green\":100,\"red\":63}}]}}]},\\\n \"outputs\":[{\"href\":\"\",\"type\":\"vnd.adobe.photoshop\",\"storage\":\"external\"}]}'" /pie/psdService/documentOperations: post: tags: - Photoshop summary: Apply psd edits description: " Apply psd edits.\nTo get status of this job, call [Status API](./#operation/pitsstatus).\\\n To know more about this feature refer [Document Level Edits](../features/#document-level-edits) and [Layer Level Edits](../features/#layer-level-edits)" operationId: documentOperations parameters: - name: Authorization description: 'Bearer: ${Authorization Token}' in: header required: true schema: type: string - name: x-api-key description: API key/client id in: header required: true schema: type: string - name: Content-Type description: application/json in: header required: true schema: type: string - name: x-gw-ims-org-id description: IMS organization ID. This needs to be sent only if it is desirable to receive the job status through Adobe I/O Events. in: header required: false schema: type: string requestBody: content: application/json: schema: $ref: ./PITS/post_document_operations.schema.json required: true responses: '202': description: Successful operation content: application/json: schema: $ref: ./PITS/api_response_success_schema.json '400': description: Bad Request content: application/json: schema: $ref: ./api_response_400_error_schema.json '402': description: Trial Limit Exceeded content: application/json: schema: $ref: ./api_response_402_error_schema.json '403': description: Unauthorized content: application/json: schema: $ref: ./api_response_403_error_schema.json '404': description: Not Found content: application/json: schema: $ref: ./api_response_404_error_schema.json '409': description: File Overwrite Error content: application/json: schema: $ref: ./api_response_409_error_schema.json '410': description: Asset Link Invalid content: application/json: schema: $ref: ./api_response_410_error_schema.json '500': description: Internal Server Error x-codeSamples: - lang: shell source: "curl --request POST \\\n --url https://image.adobe.io/pie/psdService/documentOperations \\\n --header 'Authorization: Bearer $token' \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: $x-api-key' \\\n --data '{\"inputs\":[{\"href\":\"presigned_get_url\",\"storage\":\"external\"}],\\\n \"options\":{\"manageMissingFonts\":\"useDefault\",\\\n \"globalFont\":\"MyriadPro-Bold\", \"fonts\":[{\"href\":\"presigned_get_url\",\"storage\":\"external\"}],\\\n \"document\":{\"canvasSize\":{\"bounds\":{\"top\":200,\"left\":200,\\\n \"bottom\":500,\"right\":500}},\"imageSize\":{\"height\":100,\"width\":100},\"trim\":{\"basedOn\":\\\n \"transparentPixels\"}},\\\n \"layers\":[{\"add\":{\"insertTop\":true},\"name\":\"new adjustment layer\",\\\n \"type\":\"adjustmentLayer\",\"visible\":true,\\\n \"adjustments\":{\"brightnessContrast\":{\"brightness\":-23,\"contrast\":15}}},\\\n {\"add\":{\"insertBottom\":true},\"name\":\"new content layer\",\"type\":\"fillLayer\",\"visible\":true,\"fill\":\\\n {\"solidColor\":{\"rgb\":{\"red\":0,\"green\":255,\"blue\":255}}},\\\n \"blendOptions\":{\"opacity\":90,\"blendMode\":\"normal\"}},\\\n {\"index\":8,\"locked\":false,\"name\":\"SO Layer\",\\\n \"type\":\"smartObject\",\"visible\":true,\\\n \"add\":{\"insertTop\":true},\"input\":{\"href\":\"files/input/Simple.psd\",\"storage\":\"external\"},\\\n \"smartObject\":{\"linked\":false}},{\"id\":33,\"edit\":{},\"index\":6,\\\n \"type\":\"textLayer\",\"name\":\"my text layer\",\\\n \"locked\":true,\"visible\":true,\\\n \"bounds\":{\"top\":50,\"left\":100,\"width\":500,\"height\":450},\\\n \"text\":{\"content\":\"NEW TEXT CHANGES\",\"characterStyles\":[{\"fontSize\":12.5,\\\n \"fontName\":\"Arial-BoldMT\",\"orientation\":\"horizontal\",\\\n \"fontColor\":{\"rgb\":{\"red\":26086,\"green\":23002,\"blue\":8224}}}],\\\n \"paragraphStyles\":[{\"alignment\":\"left\"}]},\"blendOptions\":{\"opacity\":90,\\\n \"blendMode\":\"normal\"}},\\\n {\"add\":{\"insertAbove\":{\"id\":53}},\"name\":\"New Exposure Layer\",\\\n \"type\":\"adjustmentLayer\",\"locked\":false,\"visible\":true,\\\n \"adjustments\":{\"exposure\":{\"exposure\":0.25,\\\n \"offset\":0.0049,\"gammaCorrection\":1.38}}},\\\n {\"edit\":{},\"id\":78,\"index\":2,\\\n \"type\":\"adjustmentLayer\",\"name\":\"Color Balance\",\\\n \"locked\":false,\"visible\":true,\"mask\":{\"input\":{\"href\":\"files/abc.psd\",\"storage\":\"external\"},\\\n \"enabled\":false,\"linked\":true,\"offset\":{\"x\":70,\"y\":50},\"clip\":true},\\\n \"adjustments\":{\"colorBalance\":{\"shadowLevels\":[0,10,20],\\\n \"preserveLuminosity\":true,\"midtoneLevels\":[30,40,50],\"highlightLevels\":[60,70,80]}}},\\\n {\"move\":\\\n {\"insertAbove\":{\"name\":\"Hue Saturation\"}},\\\n \"name\":\"new Image layer\",\"type\":\"layer\",\"visible\":true,\"input\":{\"href\":\"presigned_get_url\",\"storage\":\"external\"}},\\\n {\"edit\":{},\"id\":77,\"index\":1,\"type\":\"adjustmentLayer\",\"name\":\"Hue Saturation\",\"locked\":false,\"visible\":true,\\\n \"adjustements\":{\"hueSaturation\":{\"channels\":[{\"channel\":\"master\",\\\n \"hue\":-5,\"saturation\":20,\"lightness\":0}],\"colorize\":false}}},\\\n {\"type\":\"backgroundLayer\",\"index\":0,\"locked\":true,\"id\":1,\"visible\":true,\"name\":\"Background\"}]},\\\n \"outputs\":[{\"href\":\"presigned_put_url\",\"storage\":\"external\",\\\n \"type\":\"image/jpeg\",\"width\":500,\"trimToCanvas\":false,\\\n \"layers\":[{\"id\":77}]},{\"href\":\"presigned_put_url\",\"storage\":\"external\",\\\n \"type\":\"image/vnd.adobe.photoshop\"}]}'" /pie/psdService/documentCreate: post: tags: - Photoshop summary: Create a new psd description: 'Create a new psd optionaly with layers and generate renditions or save as PSD. To get status of this job, call [Status API](./#operation/pitsstatus).' operationId: documentCreate parameters: - name: Authorization description: 'Bearer: ${Authorization Token}' in: header required: true schema: type: string - name: x-api-key description: API key/client id in: header required: true schema: type: string - name: Content-Type description: application/json in: header required: true schema: type: string - name: x-gw-ims-org-id description: IMS organization ID. This needs to be sent only if it is desirable to receive the job status through Adobe I/O Events. in: header required: false schema: type: string requestBody: content: application/json: schema: $ref: ./PITS/post_document_create.schema.json required: true responses: '202': description: Successful operation content: application/json: schema: $ref: ./PITS/api_response_success_schema.json '400': description: Bad Request content: application/json: schema: $ref: ./api_response_400_error_schema.json '402': description: Trial Limit Exceeded content: application/json: schema: $ref: ./api_response_402_error_schema.json '403': description: Unauthorized content: application/json: schema: $ref: ./api_response_403_error_schema.json '404': description: Not Found content: application/json: schema: $ref: ./api_response_404_error_schema.json '409': description: File Overwrite Error content: application/json: schema: $ref: ./api_response_409_error_schema.json '410': description: Asset Link Invalid content: application/json: schema: $ref: ./api_response_410_error_schema.json '500': description: Internal Server Error x-codeSamples: - lang: shell source: "curl --request POST \\\n --url https://image.adobe.io/pie/psdService/documentCreate \\\n --header 'Authorization: Bearer $token' \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: $x-api-key' \\\n --data '{\"options\":{\"document\":{\"height\":1000,\"width\":1000,\"resolution\":72,\\\n \"mode\":\"rgb\", \"fill\":\"transparent\",\"depth\":16},\\\n \"manageMissingFonts\":\"useDefault\",\"globalFont\":\"MyriadPro-Bold\",\\\n \"fonts\":[{\"href\":\"get_presigned_url\",\"storage\":\"external\"}],\\\n \"layers\":[{\"name\":\"new adjustment layer\",\"type\":\"adjustmentLayer\",\"visible\":true,\\\n \"adjustments\":{\"brightnessContrast\":{\"brightness\":-23,\"contrast\":15}}},{\"name\":\"new content layer\",\\\n \"type\":\"fillLayer\",\"visible\":true,\"fill\":{\"solidColor\":{\"rgb\":{\"red\":0,\"green\":255,\"blue\":255}}},\\\n \"blendOptions\":{\"opacity\":90,\"blendMode\":\"normal\"}},{\"locked\":false,\"name\":\"SO Layer\",\\\n \"type\":\"smartObject\",\"visible\":true,\"input\":{\"href\":\"files/input/Simple.psd\",\"storage\":\"adobe\"},\\\n \"smartObject\":{\"linked\":false}},{\"type\":\"textLayer\",\"name\":\"my text layer\",\"locked\":true,\"visible\":true,\\\n \"bounds\":{\"top\":50,\"left\":100,\"width\":500,\"height\":450},\\\n \"text\":{\"content\":\"NEW TEXT CHANGES\",\\\n \"characterStyles\":[{\"fontSize\":12.5,\"fontName\":\"Arial-BoldMT\",\\\n \"orientation\":\"horizontal\",\"fontColor\":{\"rgb\":{\"red\":26086,\"green\":23002,\"blue\":8224}}}],\\\n \"paragraphStyles\":[{\"alignment\":\"left\"}]},\"blendOptions\":{\"opacity\":90,\"blendMode\":\"normal\"}},\\\n {\"name\":\"New Exposure Layer\",\"type\":\"adjustmentLayer\",\"locked\":false,\"visible\":true,\\\n \"adjustments\":{\"exposure\":{\"exposure\":0.25,\"offset\":0.0049,\"gammaCorrection\":1.38}}},\\\n {\"type\":\"adjustmentLayer\",\"name\":\"Color Balance\",\"locked\":false,\"visible\":true,\\\n \"mask\":{\"input\":{\"href\":\"files/abc.psd\",\"storage\":\"adobe\"},\\\n \"enabled\":false,\"linked\":true,\\\n \"offset\":{\"x\":70,\"y\":50},\"clip\":true},\\\n \"adjustments\":{\"colorBalance\":{\"shadowLevels\":[0,10,20],\"preserveLuminosity\":true,\"midtoneLevels\":[30,40,50],\\\n \"highlightLevels\":[60,70,80]}}},{\"name\":\"new Image layer\",\"type\":\"layer\",\"visible\":true,\\\n \"input\":{\"href\":\"hget_presigned_url\",\"storage\":\"external\"}},\\\n {\"type\":\"adjustmentLayer\",\"name\":\"Hue Saturation\",\\\n \"locked\":false,\"visible\":true,\"adjustements\":{\"hueSaturation\":\\\n {\"channels\":[{\"channel\":\"master\",\"hue\":-5,\"saturation\":20,\"lightness\":0}],\"colorize\":false}}},\\\n {\"type\":\"backgroundLayer\",\"locked\":true,\"visible\":true,\"name\":\"Background\"}]},\\\n\"outputs\":[{\"href\":\"put_presigned_url\",\"storage\":\"external\",\\\n \"type\":\"image/jpeg\",\"width\":500,\"trimToCanvas\":false,\\\n\"layers\":[{\"id\":77}]},{\"href\":\"put_presigned_url\",\"storage\":\"external\",\\\n \"type\":\"image/vnd.adobe.photoshop\"}]}'" /pie/psdService/artboardCreate: post: tags: - Photoshop summary: Create an artboard description: " Creates an artboard.\nTo get status of this job, call [Status API](./#operation/pitsstatus).\\\n To know more about this feature refer [Artboards](../features/#artboards)" operationId: artboardCreate parameters: - name: Authorization description: 'Bearer: ${Authorization Token}' in: header required: true schema: type: string - name: x-api-key description: API key/client id in: header required: true schema: type: string - name: Content-Type description: application/json in: header required: true schema: type: string - name: x-gw-ims-org-id description: IMS organization ID. This needs to be sent only if it is desirable to receive the job status through Adobe I/O Events. in: header required: false schema: type: string requestBody: content: application/json: schema: $ref: ./PITS/post_artboard_create.schema.json required: true responses: '202': description: Successful operation content: application/json: schema: $ref: ./PITS/api_response_success_schema.json '400': description: Bad Request content: application/json: schema: $ref: ./api_response_400_error_schema.json '402': description: Trial Limit Exceeded content: application/json: schema: $ref: ./api_response_402_error_schema.json '403': description: Unauthorized content: application/json: schema: $ref: ./api_response_403_error_schema.json '404': description: Not Found content: application/json: schema: $ref: ./api_response_404_error_schema.json '409': description: File Overwrite Error content: application/json: schema: $ref: ./api_response_409_error_schema.json '410': description: Asset Link Invalid content: application/json: schema: $ref: ./api_response_410_error_schema.json '500': description: Internal Server Error x-codeSamples: - lang: shell source: "curl --request POST \\\n --url https://image.adobe.io/pie/psdService/artboardCreate \\\n --header 'Authorization: Bearer $token' \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: $x-api-key' \\\n --data '{\"options\":{\"artboard\":[{\"href\":\"some_presigned_geturl\",\"storage\":\"external\"},\\\n {\"href\":\"some_presigned_geturl\",\"storage\":\"external\"}, {\"href\":\"some_presigned_geturl\",\"storage\":\"external\"}],\\\n \"outputs\":[{\"href\":\"some_presigned_puturl\",\"storage\":\"external\"}]}'" /pie/psdService/status/{jobId}: get: tags: - Photoshop summary: Get the status of a job description: Returns the status of a job. Please expand `200 Successful operation` under `Responses` to know details of the status returned. This API is used for returning the status of a job for the apis [Create Renditions](./#operation/renditionCreate), [Execute actionJSON](./#operation/actionJSON), [Replace SmartObject](./#operation/smartObject), [Execute Photoshop Actions](./#operation/photoshopActions), [Execute Product Crop](./#operation/productCrop), [Execute Depth Blur](./#operation/depthBlur), [Edit Text Layers](./#operation/text), [Apply psd edits](./#operation/documentOperations), [Create a new psd](./#operation/documentCreate), [Create an artboard](./#operation/artboardCreate) operationId: pitsstatus parameters: - name: Authorization description: 'Bearer: ${Authorization Token}' in: header required: true schema: type: string - name: x-api-key description: API key/client id in: header required: true schema: type: string - name: Content-Type description: application/json in: header required: true schema: type: string - name: x-gw-ims-org-id description: IMS organization ID. This needs to be sent only if it is desirable to receive the job status through Adobe I/O Events. in: header required: false schema: type: string - name: jobId in: path description: The jobId to get status for. required: true schema: type: string responses: '200': description: Successful operation content: application/json: schema: $ref: ./PITS/get_status.schema.json /pie/psdService/documentManifest: post: tags: - Photoshop summary: Get manifest description: ' Get information about the PSD document, including metadata about the file as a whole as well as detailed information about the layers included in the file. To get status of this job, call [Manifest Status API](./#operation/documentManifestStatus).' operationId: documentManifest parameters: - name: Authorization description: 'Bearer: ${Authorization Token}' in: header required: true schema: type: string - name: x-api-key description: API key/client id in: header required: true schema: type: string - name: Content-Type description: application/json in: header required: true schema: type: string - name: x-gw-ims-org-id description: IMS organization ID. This needs to be sent only if it is desirable to receive the job status through Adobe I/O Events. in: header required: false schema: type: string requestBody: content: application/json: schema: $ref: ./PITS/post_document_manifest.schema.json required: true responses: '202': description: Successful operation content: application/json: schema: $ref: ./PITS/api_response_success_schema.json '400': description: Bad Request content: application/json: schema: $ref: ./api_response_400_error_schema.json '402': description: Trial Limit Exceeded content: application/json: schema: $ref: ./api_response_402_error_schema.json '403': description: Unauthorized content: application/json: schema: $ref: ./api_response_403_error_schema.json '404': description: Not Found content: application/json: schema: $ref: ./api_response_404_error_schema.json '500': description: Internal Server Error x-codeSamples: - lang: shell source: "curl --request POST \\\n --url https://image.adobe.io/pie/psdService/documentManifest \\\n --header 'Authorization: Bearer $token' \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: $x-api-key' \\\n --data '{\"inputs\":[{\"href\":\"get_presigned_url\",\"storage\":\"external\"}],\\\n \"options\":{\"thumbnails\":{\"type\": \"images/png\"}}}'" /pie/psdService/status/{jobid}: get: tags: - Photoshop summary: Get the status of a job for documentManifest description: Returns the status of the Get Manifest API. Please expand `200 Successful operation` under `Responses` to know details of the status returned. operationId: documentManifestStatus parameters: - name: Authorization description: 'Bearer: ${Authorization Token}' in: header required: true schema: type: string - name: x-api-key description: API key/client id in: header required: true schema: type: string - name: Content-Type description: application/json in: header required: true schema: type: string - name: x-gw-ims-org-id description: IMS organization ID. This needs to be sent only if it is desirable to receive the job status through Adobe I/O Events. in: header required: false schema: type: string - name: jobId in: path description: The jobId to get status for. required: true schema: type: string responses: '200': description: Successful operation content: application/json: schema: $ref: ./PITS/get_manifest_status.schema.json