> ## 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.

# Color Migration API

> Color Migration API recolors images automatically or with a target palette while preserving key visual regions.

<Danger>
  \[Important: API Service Retirement Notice]

  Dear Developers,

  Thank you for your continued trust and support of the AILabTools API.

  To better focus on delivering more efficient, stable, and future-ready solutions, we are announcing the retirement of this API.

  Due to its outdated architecture and limitations in performance and scalability, this API will be permanently discontinued and will no longer be available starting from the date of this announcement. Any applications or integrations that still rely on this API may experience service interruptions if no action is taken.

  We strongly recommend that you evaluate alternative solutions and plan your migration as soon as possible to ensure a smooth transition and uninterrupted service for your users.

  If you have any questions or need assistance during this transition, our support team is ready to help:
  📧 [support@ailabtools.com](mailto:support@ailabtools.com)

  We sincerely appreciate your understanding and cooperation. Thank you for being part of AILabTools. We remain committed to providing you with more powerful and reliable services.

  Best regards,

  AILabTools Support Team
</Danger>

## Request

* **URL**: `https://www.ailabapi.com/api/image/effects/image-color-migration`
* **Method**: `POST`
* **Content-Type**: `multipart/form-data`

### Image requirements

* **Image format**: `JPEG` `JPG` `PNG` `BMP`
* **Image size**: No more than 3 MB.
* **Image resolution**: Larger than 64x64px, smaller than 1200x1200px.
* The images must all be RGB 3-channel or RGBA 4-channel.

### Headers

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

### Body

#### Fixed Fields

| Field   | Required | Type     | Scope                         | Description                                                                                                                                          |
| :------ | :------- | :------- | :---------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------- |
| `image` | YES      | `file`   |                               |                                                                                                                                                      |
| `mode`  | YES      | `string` | `AUTO`, `TEMPLATE`, `REF_PIC` | Color extension mode. ``AUTO`: Automatic color extension.` ``TEMPLATE`: Color palette extension.` \`\`REF\_PIC`: Reference picture extension color.` |

#### `mode` === `AUTO`

| Field         | Required | Type      | Scope                                  | Default | Description                          |
| :------------ | :------- | :-------- | :------------------------------------- | :------ | :----------------------------------- |
| `color_count` | NO       | `integer` | `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8` | `1`     | Expand the number of color families. |

#### `mode` === `TEMPLATE`

| Field            | Required | Type     | Example         | Description                                                                                                  |
| :--------------- | :------- | :------- | :-------------- | :----------------------------------------------------------------------------------------------------------- |
| `color_template` | YES      | `string` | `056A6B,0A0B0C` | Color palette topology, Top master color list, color value definition ARGB. e.g. 0A0B0C, array size \[1, 7]. |

#### `mode` === `REF_PIC`

| Field | Required | Type   | Description      |
| :---- | :------- | :----- | :--------------- |
| `ref` | YES      | `file` | Reference image. |

## 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.                                                   |
| +`image_list` | `array of string` | The URL address of the image after the coloring is completed, and the image format is PNG. |

The URL address is a temporary address, valid for 24 hours, and will not be accessible after it expires. If you need to save the file for a long time or permanently, please visit the URL address within 24 hours and download the file to your own storage space.

### Response Example

```json theme={null}
{
  "request_id":     "",
  "log_id":         "",
  "error_code":     0,
  "error_msg":      "",
  "error_detail":   {
    "status_code":  200,
    "code":         "",
    "code_message": "",
    "message":      ""
  },
  "data":           {
    "image_list": [
      "https://www.ailabtools.com/logo.webp"
    ]
  }
}
```
