> ## Documentation Index
> Fetch the complete documentation index at: https://ailabtools.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# AI Object Replacer API

> AI Object Replacer API removes masked objects and fills the area with prompt-guided content for clean image editing.

## Request

* **URL**: `https://www.ailabapi.com/api/image/editing/ai-object-replacer`
* **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

| Field              | Required | Type     | Description                                           |
| :----------------- | :------- | :------- | :---------------------------------------------------- |
| `ailabapi-api-key` | YES      | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) |

### Body

| Field           | Required | Type      | Scope    | Default | Description                                                                                                                                                                                                                                                                                              |
| :-------------- | :------- | :-------- | :------- | :------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `image`         | YES      | `file`    |          |         | Original image.                                                                                                                                                                                                                                                                                          |
| `mask`          | YES      | `file`    |          |         | Mask image.                                                                                                                                                                                                                                                                                              |
| `custom_prompt` | NO       | `string`  |          |         | Prompt Content (English only). Please limit the prompt content to 100 English words or fewer. Any content beyond this limit may have minimal impact on the generated result. Use standard vocabulary to avoid failing the review process.                                                                |
| `steps`         | NO       | `integer` | \[1, +]  | `25`    | 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.                                                                                                                                |
| `scale`         | NO       | `float`   | \[1, 20] | `5`     | The degree to which the text description influences the output.                                                                                                                                                                                                                                          |
| `seed`          | NO       | `integer` | \[-1, +] | `-1`    | 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. |

## Response

<Warning>
  **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`.
</Warning>

### Public Response Fields

<a href="/docs/response-description" target="_blank">Viewing Public Response Fields and Error Codes</a>

### Business Response Fields

| Field                 | Type              | Description                                                  |
| :-------------------- | :---------------- | :----------------------------------------------------------- |
| `data`                | `object`          | The content of the result data returned.                     |
| +`binary_data_base64` | `array of string` | Output the processed image as a Base64 array (single image). |

### Response Example

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


## OpenAPI

````yaml POST /api/image/editing/ai-object-replacer
openapi: 3.0.0
info:
  title: AILabAPI
  description: >-
    [<b>AILabTools</b>](https://www.ailabtools.com) is an advanced tool that
    offers a vast array of simple and flexible API endpoints to suit your
    specific needs. With just one [<b>API
    KEY</b>](https://www.ailabtools.com/doc/get-api-key), you can easily call
    any of the endpoints and integrate them quickly into your application or
    workflow, allowing for smooth and efficient operations. 
     
    [<b>AILabTools</b>](https://www.ailabtools.com) is continuously evolving,
    and you can anticipate even more API endpoints being added in the future,
    further enhancing its capabilities and usefulness for your artificial
    intelligence and machine learning requirements.
  version: 1.0.0
servers:
  - url: https://www.ailabapi.com
    description: Production server
security:
  - apiKeyAuth: []
tags:
  - name: AI IMAGE
  - name: AI IMAGE > Image Enhancement
  - name: AI IMAGE > Image Effects
  - name: AI IMAGE > Image Editing
  - name: AI IMAGE > Image Scoring
  - name: AI BACKGROUND REMOVAL
  - name: AI BACKGROUND REMOVAL > Portrait
  - name: AI BACKGROUND REMOVAL > General
  - name: AI PORTRAIT
  - name: AI PORTRAIT > Portrait Effects
  - name: AI PORTRAIT > Portrait Enhance
  - name: AI PORTRAIT > Portrait Editing
  - name: AI PORTRAIT > Portrait Analysis
  - name: AI COMMON
paths:
  /api/image/editing/ai-object-replacer:
    post:
      tags:
        - AI IMAGE > Image Editing
      summary: AI Object Replacer
      description: >-
        AI Object Replacer API removes masked objects and fills the area with
        prompt-guided content for clean image editing.
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                image:
                  type: string
                  format: binary
                  description: Original image.
                mask:
                  type: string
                  format: binary
                  description: Mask image.
                custom_prompt:
                  type: string
                  description: >-
                    Prompt Content (English only). Please limit the prompt
                    content to 100 English words or fewer. Any content beyond
                    this limit may have minimal impact on the generated result.
                    Use standard vocabulary to avoid failing the review process.
                steps:
                  type: integer
                  description: >-
                    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: '25'
                scale:
                  type: integer
                  description: >-
                    The degree to which the text description influences the
                    output.
                  example: '5'
                seed:
                  type: number
                  description: >-
                    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: '-1'
      responses:
        '200':
          headers:
            Content-Type:
              schema:
                type: string
                example: application/json
          content:
            application/json:
              schema:
                type: object
              example:
                request_id: ''
                log_id: ''
                error_detail:
                  code: ''
                  code_message: ''
                  message: ''
                data:
                  binary_data_base64: []
          description: Success
components:
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: ailabapi-api-key
      description: API Key for authentication

````