LogoLogo
  • Overview
  • Quick Start
  • Authentication
  • Rate limits
  • Errors
  • Image Editing API
    • Image I/O
    • Image Operations
      • Restorations
      • Resizing
      • Outpainting
      • Generative Editing
      • Color Adjustments
      • Background
      • Padding
      • Privacy
    • API Reference
    • Async API Reference
    • Batch API Reference
    • Upload API Reference
  • image generation api
    • Image Generation I/O
    • Image Generation Options
    • API Reference
  • AI Background API
    • AI Background I/O
    • AI Background Options
      • Object
      • Scene
      • Product Shadow
    • API Reference
  • Image to Video API
    • Image to Video I/O
    • Image to Video Options
    • Async API Reference
  • Storage Connectors
    • Overview
    • AWS S3
    • Google Cloud Storage
    • Web Folder
    • API Reference
  • Guides
    • E-commerce
    • Real Estate
    • Printing
  • Redoc
  • Blog
Powered by GitBook
On this page
Edit on GitHub
  1. Image Editing API

Async API Reference

PreviousAPI ReferenceNextBatch API Reference

Last updated 7 months ago

Async image edit contract

Async endpoint returns a response without waiting for an actual result. The actual result should be queried with another request. So you can request image editing and separately get the result after it's ready.

Request image processing

The request body for async endpoint is the same as for regular image edit operation. See for more info.

Request

POST /v1-beta1/image/edit/async HTTP/1.1
Host: api.claid.ai
Authorization: Bearer {YOUR_API_KEY}
Content-Type: application/json

{
  "input": "https://picsum.photos/200.jpg",
  "operations": {
    "resizing": {
      "width": 1000
    },
    "background": {
      "remove": false
    }
  }
}
curl -X POST --location "https://api.claid.ai/v1-beta1/image/edit/async" --http1.1 \
    -H "Host: api.claid.ai" \
    -H "Authorization: Bearer {YOUR_API_KEY}" \
    -H "Content-Type: application/json" \
    -d "{
          \"input\": \"https://picsum.photos/200.jpg\",
          \"operations\": {
            \"resizing\": {
              \"width\": 1000
            },
            \"background\": {
              \"remove\": false
            }
          }
        }"

Read a response

Once you have made the request to https://api.claid.ai/v1-beta1/image/edit/async you will get a response with information about request status and some other details (listed below).

Request information shown in the response:

Parameter
Type
Description

id

integer

Task ID.

status

string

Request processing status. For a valid requst can only have one value: ACCEPTED.

result_url

string

URL of GET endpoint that can be used to get the result manually and get request status while it is still in process.

created_at

string

Exact time when the processing was requested.

request

object

The body of the request that was used for processing.

Response body

{
  "data": {
    "id": 1,
    "status": "ACCEPTED",
    "result_url": "https://api.claid.ai/v1-beta1/image/edit/async/1",
    "created_at": "2023-03-13T11:37:09.160554+00:00",
    "request": {
      "input": "https://picsum.photos/200.jpg",
      "operations": {
        "resizing": {
            "width": 1000
        },
        "background": {
            "remove": false
        }
      }
    }
  }
}

Result of request processing contract

To get image editing result, you need to know the ID of the processing request. Or you can take a ready-to-use link from the result_url property of the response body described above.

Request

GET /v1-beta1/image/edit/async/1 HTTP/1.1
Host: api.claid.ai
Authorization: Bearer {YOUR_API_KEY}
curl -X GET --location "https://api.claid.ai/v1-beta1/image/edit/async/1" --http1.1 \
    -H "Host: api.claid.ai" \
    -H "Authorization: Bearer {YOUR_API_KEY}"

Read a response

Once you have made the request to https://api.claid.ai/v1-beta1/image/edit/async/<task_id> you will get a response with information about the request, input and output images.

Image information shown in the response:

Parameter
Type
Description

id

integer

Task ID.

status

string

Request processing status. Can have values: ACCEPTED, PROCESSING, ERROR, DONE.

created_at

string

Exact time when the processing was requested.

request

object

The body of the request that was used for processing.

errors

list

List of errors, if any are occurred during image processing (status will have ERROR value), in other cases - will be empty.

result

object

Result object that is contain 2 properties input_object and output_object, in case of processing errors - will be empty. Details are listed below.

Read a input_object and output_object properties of response result property:

Parameter
Type
Description

ext

string

File extension. Can have values: jpg, png, webp, av1.

mps

float

Megapixel count.

mime

string

MIME type (also known as ‘media type’).

width

integer

Image width in pixels.

height

integer

Image height in pixels.

format

string

File format. Can have values: jpeg, png, webp, avif.

tmp_url

string

Temporary URL of a processed image. Is available only for output_object.

Read an item from errors property:

Parameter
Type
Description

error

string

Error message in text.

created_at

integer

Exact time when the error was catched.

input_object

object

Same as input_object from result property. For some errors can be null.

Response body

{
  "data": {
    "id": 1,
    "status": "DONE",
    "created_at": "2023-03-13T11:37:09.160554+00:00",
    "request": {
      "input": "https://picsum.photos/200.jpg",
      "operations": {
        "resizing": {
            "width": 1000
        },
        "background": {
            "remove": false
        }
      }
    },
    "errors": [],
    "result": {
      "input_object": {
        "ext": "pnj",
        "mps": 0.016384,
        "mime": "image/jpeg",
        "format": "JPEG",
        "width": 128,
        "height": 128
      },
      "output_object": {
        "ext": "jpeg",
        "mps": 1.0,
        "mime": "image/jpeg",
        "format": "JPEG",
        "width": 1000,
        "height": 1000,
        "tmp_url": "https://storage.googleapis.com/production-leapi-tmp-public/000/200.jpeg"
      }
    }
  }
}

See the and to learn about headers.

See to learn about headers.

Async Image Edit Result

get
Authorizations
Path parameters
task_idintegerRequired
Responses
200
Successful Response
application/json
401
Authorization is required.
application/json
403
Not enough permissions.
application/json
404
Batch image edit pipeline not found.
application/json
422
Unprocessable Entity.
application/json
get
GET /v1-beta1/image/edit/async/{task_id} HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
  "data": {
    "id": 1,
    "status": "ACCEPTED",
    "result_url": "https://example.com",
    "created_at": "2025-05-28T16:09:02.100Z",
    "request": {
      "input": "storage://storage_1/input_folder/ | https://image_url.com/example.jpg | [https://image_url.com/example.jpg, https://image_url.com/example.jpg]",
      "operations": {
        "restorations": {
          "decompress": "moderate",
          "upscale": "smart_enhance",
          "polish": false
        },
        "adjustments": {
          "hdr": 0,
          "exposure": 0,
          "saturation": 0,
          "contrast": 0,
          "sharpness": 0
        },
        "background": {
          "remove": false,
          "color": "text",
          "blur": false
        },
        "resizing": {
          "width": "auto",
          "height": "auto",
          "fit": "crop"
        },
        "padding": "text",
        "privacy": {
          "blur_car_plate": false,
          "identity_crop": false
        },
        "generative": {
          "style_transfer": {
            "style_reference_image": "text",
            "prompt": "text",
            "depth_strength": 1,
            "denoising_strength": 0.75,
            "style_strength": 0.75
          }
        }
      },
      "output": "storage://storage_1/output_folder/"
    },
    "errors": [
      {
        "error": "text",
        "created_at": "text",
        "input_object": {
          "ext": "text",
          "mps": 1,
          "mime": "text",
          "format": "text",
          "width": 1,
          "height": 1
        }
      }
    ],
    "result": {
      "input_object": {
        "ext": "text",
        "mps": 1,
        "mime": "text",
        "format": "text",
        "width": 1,
        "height": 1
      },
      "output_object": {
        "ext": "text",
        "mps": 1,
        "mime": "text",
        "format": "text",
        "width": 1,
        "height": 1,
        "tmp_url": "text",
        "object_key": "text",
        "object_bucket": "text",
        "object_uri": "text",
        "claid_storage_uri": "text"
      }
    }
  }
}
  • Async image edit contract
  • Request image processing
  • POSTAsync Image Edit
  • Result of request processing contract
  • GETAsync Image Edit Result

Async Image Edit

post

Specifies:

  • what image will be processed (input)
  • how it will be processed (operations)
  • where it will be stored (output)
Authorizations
Body
inputstring · uri · min: 1 · max: 4096Required

URL of the input image. Should be from 1 to 512 characters. Image must be accessible by our system.

Example: storage://storage_1/path/image.jpg
operationsall ofRequired

Customize the editing workflow so that the output images meet your requirements.

outputany ofOptional

Customize the result output.

Default: {"format":"jpeg"}
or
string · uri · min: 1 · max: 4096Optional
Responses
200
Successful Response
application/json
401
Authorization is required.
application/json
402
No API calls left.
application/json
403
Not enough permissions.
application/json
422
Unprocessable Entity.
application/json
429
Too many requests.
application/json
post
POST /v1-beta1/image/edit/async HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 685

{
  "input": "storage://storage_1/path/image.jpg",
  "operations": {
    "restorations": {
      "decompress": "moderate",
      "upscale": "smart_enhance",
      "polish": false
    },
    "adjustments": {
      "hdr": 0,
      "exposure": 0,
      "saturation": 0,
      "contrast": 0,
      "sharpness": 0
    },
    "background": {
      "remove": false,
      "color": "text",
      "blur": false
    },
    "resizing": {
      "width": "auto",
      "height": "auto",
      "fit": "crop"
    },
    "padding": "text",
    "privacy": {
      "blur_car_plate": false,
      "identity_crop": false
    },
    "generative": {
      "style_transfer": {
        "style_reference_image": "text",
        "prompt": "text",
        "depth_strength": 1,
        "denoising_strength": 0.75,
        "style_strength": 0.75
      }
    }
  },
  "output": {
    "format": "jpeg",
    "destination": "storage://storage_1/path/output_image.jpg",
    "metadata": {
      "dpi": 1,
      "color_space": "RGB"
    }
  }
}
{
  "data": {
    "id": 1,
    "status": "ACCEPTED",
    "result_url": "https://example.com",
    "created_at": "2025-05-28T16:09:02.100Z",
    "request": {
      "input": "storage://storage_1/input_folder/ | https://image_url.com/example.jpg | [https://image_url.com/example.jpg, https://image_url.com/example.jpg]",
      "operations": {
        "restorations": {
          "decompress": "moderate",
          "upscale": "smart_enhance",
          "polish": false
        },
        "adjustments": {
          "hdr": 0,
          "exposure": 0,
          "saturation": 0,
          "contrast": 0,
          "sharpness": 0
        },
        "background": {
          "remove": false,
          "color": "text",
          "blur": false
        },
        "resizing": {
          "width": "auto",
          "height": "auto",
          "fit": "crop"
        },
        "padding": "text",
        "privacy": {
          "blur_car_plate": false,
          "identity_crop": false
        },
        "generative": {
          "style_transfer": {
            "style_reference_image": "text",
            "prompt": "text",
            "depth_strength": 1,
            "denoising_strength": 0.75,
            "style_strength": 0.75
          }
        }
      },
      "output": "storage://storage_1/output_folder/"
    },
    "errors": [
      {
        "error": "text",
        "created_at": "text",
        "input_object": {
          "ext": "text",
          "mps": 1,
          "mime": "text",
          "format": "text",
          "width": 1,
          "height": 1
        }
      }
    ],
    "result": {
      "input_object": {
        "ext": "text",
        "mps": 1,
        "mime": "text",
        "format": "text",
        "width": 1,
        "height": 1
      },
      "output_object": {
        "ext": "text",
        "mps": 1,
        "mime": "text",
        "format": "text",
        "width": 1,
        "height": 1,
        "tmp_url": "text",
        "object_key": "text",
        "object_bucket": "text",
        "object_uri": "text",
        "claid_storage_uri": "text"
      }
    }
  }
}
Image edit contract
Request Headers
Response Headers
Response headers