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

# Hairstyle Changer API

> Hairstyle Changer API transforms portrait hairstyles, including bangs, hair length, and volume, with realistic AI results.

<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/portrait/effects/hairstyle-editor`
* **Method**: `POST`
* **Content-Type**: `multipart/form-data`

### Image requirements

* **Image format**: `JPEG` `JPG` `PNG` `BMP`
* **Image size**: No more than 5 MB.
* **Image resolution**: Less than 4096x4096px.

### 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_target` | YES      | `file`    |                                                                                                             |         |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `hair_type`    | NO       | `integer` | `101`, `201`, `301`, `401`, `402`, `403`, `502`, `503`, `603`, `801`, `901`, `1001`, `1101`, `1201`, `1301` | `101`   | ``101`: Bangs (default)`, ``201`: Long hair`, ``301`: Bangs with long hair`, ``401`: Medium hair increase`, ``402`: Light hair increase`, ``403`: Heavy hair increase`, ``502`: Light curling`, ``503`: Heavy curling`, ``801`: Blonde`, ``901`: Straight hair`, ``1001`: Oil-free hair (slight effect, recommended for images with noticeable issues)`, ``1101`: Hairline fill (slight effect, recommended for images with noticeable issues of a high hairline)`, ``1201`: Smooth hair (slight effect, recommended for images with a large hairstyle area)`, ``1301`: Fill hair gap (slight effect, fills the scalp part in the hair area, recommended for images with noticeable issues)` |

## 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` | `string` | The result image, returning the Base64 encoding of the 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":           {
    "image": ""
  }
}
```
