Expand my Community achievements bar.

Photoshop Remove background v2 API is not working. what do i do now?

Avatar

Level 1

Hello,

I’m using Python, and since I heard that the Remove Background v1 API will be deprecated on October 15, 2025, I’ve been migrating to the v2 API.

After calling the Remove Background v2 API, I tried checking the job status using the Get status - mask API (https://image.adobe.io/sensei/status/{jobId}) with the jobId returned in the response. However, I got the following error.

{"title": "Requested resource was not found", "code": 404, "type": "ResourceNotFound"}

 

Then I also tried the Get status - v2 API (https://image.adobe.io/v2/status/{jobId}), but this time I received.

{"status": "failed", "jobId": "159a2e53-6625-4349-b547-bbb242951013", "error_code": "validation_error", "message": "Domain not allowed"}

The most confusing part is that when I use the jobId returned from the Remove Background v1 API with the Get status - mask API, it works fine without issues.

For the image URL, I’m using a platform that supports AWS S3. I also tested with a Pre-Signed URL (GET) and with Dropbox, but in all cases, I still encounter the same error.

Why does it work with v1 but fail with v2? Am I doing something wrong here?

 

Here’s the information I used for the API calls.

1. call Remove background V2 API

Request

curl -i -X POST \
https://image.adobe.io/v2/remove-background \
-H 'Authorization: <ACCESS TOKEN>' \
-H 'Content-Type: application/json' \
-H 'x-api-key: <API KEY>' \
-d '{
"image":{
"source":{
"url":"https://storage.xxxx.xx/firefly/upload/source/46/250926_22093339.jpg"  # This URL is the URL of another platform that supports AWS S3.
}
},
"mode":"cutout",
"output":{
"mediaType":"image/jpeg"
},
"trim":false,
"backgroundColor":{
"red":255,
"green":255,
"blue":255,
"alpha":1
},
"colorDecontamination":1
}'


Response

{'jobId': 'urn:ff:jobs:epo851243:6e44085d-81ad-4f10-b58d-a8ab83b4dca3', 'statusUrl': 'https://firefly-epo851243.adobe.io/v3/status/urn:ff:jobs:epo851243:6e44085d-81ad-4f10-b58d-a8ab83b4d...', 'cancelUrl': 'https://firefly-epo851243.adobe.io/v3/cancel/urn:ff:jobs:epo851243:6e44085d-81ad-4f10-b58d-a8ab83b4d...'}

 

2. call Get status - Mask API

Request

curl -i -X GET https://image.adobe.io/sensei/status/6e44085d-81ad-4f10-b58d-a8ab83b4dca3 \
-H 'x-api-key: <API KEY>' 

 

Response

{'title': 'Requested resource was not found', 'code': 404, 'type': 'ResourceNotFound'}

 

or

 

Request

call Get status - v2

curl -i -X GET \
https://image.adobe.io/v2/status/urn:ff:jobs:epo851243:6e44085d-81ad-4f10-b58d-a8ab83b4dca3 \
-H 'x-api-key: <API KEY>'

 

Response

{'status': 'failed', 'jobId': '6e44085d-81ad-4f10-b58d-a8ab83b4dca3', 'error_code': 'validation_error', 'message': 'Domain not allowed'}

1 Reply

Avatar

Community Advisor

Hi @미애정1 ,

The Remove Background v2 API from Photoshop is stricter than the old v1 version. The main problem you are facing is because the website or storage where your image is kept is not on the “allowed list” for the new API. That’s why you get the “Domain not allowed” error.

Here’s what you should do in steps:

1. When you check the job status, always use the full job ID you get from the v2 API, including the “urn:ff:jobs...” part, not just part of it.

2. Make sure the image you send to the API is stored on a domain or website that Adobe’s v2 API accepts. If you are using a private or unknown domain, the API will reject it. Sometimes you must use Adobe-approved places or popular cloud storage that the API trusts.

3. Double-check your API requests include the right access token and follow the new v2 format exactly.

If you follow these steps, the v2 API should work. If not, you might need to ask Adobe support to let your image’s domain be accepted or move your images to a place the API allows.

This is why the old v1 API worked but the new one does not the rules for where images can come from changed in v2.

Thanks,
Amit