Skip to main content
POST
/
api
/
image
/
editing
/
remove-objects-advanced
Remove Objects Advanced
curl --request POST \
  --url https://www.ailabapi.com/api/image/editing/remove-objects-advanced \
  --header 'Content-Type: multipart/form-data' \
  --header 'ailabapi-api-key: <api-key>' \
  --form steps=30 \
  --form strength=0.8 \
  --form scale=7 \
  --form seed=0 \
  --form dilate_size=15 \
  --form quality=M \
  --form image=@example-file \
  --form mask=@example-file
{
  "request_id": "",
  "log_id": "",
  "error_code": 0,
  "error_code_str": "",
  "error_msg": "",
  "error_detail": {
    "status_code": 200,
    "code": "",
    "code_message": "",
    "message": ""
  },
  "data": {
    "binary_data_base64": []
  }
}

Request

  • URL: https://www.ailabapi.com/api/image/editing/remove-objects-advanced
  • Method: POST
  • Content-Type: multipart/form-data

Image requirements

  • Image format: JPEG JPG PNG
  • Image size: No more than 5 MB.
  • Image resolution: Larger than 64x64px, smaller than 4096x4096px.

Mask image requirements:

  1. Single-channel grayscale image (0-255).
  2. Three-channel image, with equal RGB values.
  3. RGBA four-channel image, with equal RGB values and the A channel all set to 255.
  4. File format: 8-bit PNG encoding, do not embed “ICC Profile”.

Headers

FieldRequiredTypeDescription
ailabapi-api-keyYESstringApplication API KEY. Get API KEY

Body

FieldRequiredTypeScopeDefaultDescription
imageYESfileOriginal image.
maskYESfileMask image.
stepsNOinteger[1, +]30Sampling steps determine the level of detail in the generated image. A higher value may result in better quality, but it will significantly increase the processing time.
strengthNOfloat[0.1, 1.0]0.8The smaller the value, the closer it is to the original image.
scaleNOfloat[1, 20]7The degree to which the text description influences the output.
seedNOinteger[-1, +]0Random seed, used as the basis for determining the initial state of the diffusion process. It must be a non-negative number (-1 represents a random seed). If the random seed is the same positive integer and all other parameters are identical, the generated image will most likely be consistent.
dilate_sizeNOinteger[1, +]15Mask Dilation Radius. The mask used for object removal should fully encompass the target object. When users manually draw the mask, it often extends beyond the object’s boundary. However, if the mask is generated by a segmentation algorithm, it typically adheres closely to the object’s edges, which might leave parts of the object uncovered. This can lead to incomplete removal or unexpected artifacts during generation. To avoid such issues, it’s recommended to appropriately increase the dilate_size parameter to ensure the mask fully covers the object.
qualityNOstringH, M, LMH`: High quality — best output quality, but slightly slower processing.`, M: Medium quality — balanced in both quality and speed., “L: Low quality — fastest processing, suitable for scenarios where speed is prioritized.

Response

Response Field Handling Flow
  1. Handle Public Response Fields Parse and validate the Public Response Fields, checking the status code or response message to ensure the request is successful and error-free.
  2. Handle Business Response Fields If the Public Response Fields are valid and error-free, proceed with processing the business logic in the Business Response Fields.

Public Response Fields

Viewing Public Response Fields and Error Codes

Business Response Fields

FieldTypeDescription
dataobjectThe content of the result data returned.
+binary_data_base64array of stringOutput the processed image as a Base64 array (single image).

Response Example

{
  "request_id":   "",
  "log_id":       "",
  "error_code":   0,
  "error_msg":    "",
  "error_detail": {
    "status_code":  200,
    "code":         "",
    "code_message": "",
    "message":      ""
  },
  "data":         {
    "binary_data_base64": []
  }
}

Sample Code

Authorizations

ailabapi-api-key
string
header
required

API Key for authentication

Body

multipart/form-data
image
file

Original image.

mask
file

Mask image.

steps
integer

Sampling steps determine the level of detail in the generated image. A higher value may result in better quality, but it will significantly increase the processing time.

Example:

"30"

strength
number

The smaller the value, the closer it is to the original image.

Example:

"0.8"

scale
integer

The degree to which the text description influences the output.

Example:

"7"

seed
integer

Random seed, used as the basis for determining the initial state of the diffusion process. It must be a non-negative number (-1 represents a random seed). If the random seed is the same positive integer and all other parameters are identical, the generated image will most likely be consistent.

Example:

"0"

dilate_size
integer

Mask Dilation Radius. The mask used for object removal should fully encompass the target object. When users manually draw the mask, it often extends beyond the object's boundary. However, if the mask is generated by a segmentation algorithm, it typically adheres closely to the object's edges, which might leave parts of the object uncovered. This can lead to incomplete removal or unexpected artifacts during generation. To avoid such issues, it's recommended to appropriately increase the dilate_size parameter to ensure the mask fully covers the object.

Example:

"15"

quality
string

Quality Parameter. <li>H: High quality — best output quality, but slightly slower processing.</li> <li>M: Medium quality — balanced in both quality and speed.</li> <li>L: Low quality — fastest processing, suitable for scenarios where speed is prioritized.</li>

Example:

"M"

Response

200 - application/json

Success

The response is of type object.