> ## 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 Halloween Mask API

> AI Halloween Mask API adds spooky Halloween masks to portraits while preserving identity, lighting, background, and facial structure.

export const maskStyles = [{
  value: 1,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/1.jpg"
}, {
  value: 2,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/2.jpg"
}, {
  value: 3,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/3.jpg"
}, {
  value: 4,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/4.jpg"
}, {
  value: 5,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/5.jpg"
}, {
  value: 6,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/6.jpg"
}, {
  value: 7,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/7.jpg"
}, {
  value: 8,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/8.jpg"
}, {
  value: 9,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/9.jpg"
}, {
  value: 10,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/10.jpg"
}, {
  value: 11,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/11.jpg"
}, {
  value: 12,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/12.jpg"
}, {
  value: 13,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/13.jpg"
}, {
  value: 14,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/14.jpg"
}, {
  value: 15,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/15.jpg"
}, {
  value: 16,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/16.jpg"
}, {
  value: 17,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/17.jpg"
}, {
  value: 18,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/18.jpg"
}, {
  value: 19,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/19.jpg"
}, {
  value: 20,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/20.jpg"
}, {
  value: 21,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/21.jpg"
}, {
  value: 22,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/22.jpg"
}, {
  value: 23,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/23.jpg"
}, {
  value: 24,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/24.jpg"
}, {
  value: 25,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/25.jpg"
}, {
  value: 26,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/26.jpg"
}, {
  value: 27,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/27.jpg"
}, {
  value: 28,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/28.jpg"
}, {
  value: 29,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/29.jpg"
}, {
  value: 30,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/30.jpg"
}, {
  value: 31,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/31.jpg"
}, {
  value: 32,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/32.jpg"
}, {
  value: 33,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/33.jpg"
}, {
  value: 34,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/34.jpg"
}, {
  value: 35,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/35.jpg"
}, {
  value: 36,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/36.jpg"
}, {
  value: 37,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/37.jpg"
}, {
  value: 38,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/38.jpg"
}, {
  value: 39,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/39.jpg"
}, {
  value: 40,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/40.jpg"
}, {
  value: 41,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/41.jpg"
}, {
  value: 42,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/42.jpg"
}, {
  value: 43,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/43.jpg"
}, {
  value: 44,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/44.jpg"
}, {
  value: 45,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/45.jpg"
}, {
  value: 46,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/46.jpg"
}, {
  value: 47,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/47.jpg"
}, {
  value: 48,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/48.jpg"
}, {
  value: 49,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/49.jpg"
}, {
  value: 50,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/50.jpg"
}, {
  value: 51,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/51.jpg"
}, {
  value: 52,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/52.jpg"
}, {
  value: 53,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/53.jpg"
}, {
  value: 54,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/54.jpg"
}, {
  value: 55,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/55.jpg"
}, {
  value: 56,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/56.jpg"
}, {
  value: 57,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/57.jpg"
}, {
  value: 58,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/58.jpg"
}, {
  value: 59,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/59.jpg"
}, {
  value: 60,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/60.jpg"
}, {
  value: 61,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/61.jpg"
}, {
  value: 62,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/62.jpg"
}, {
  value: 63,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/63.jpg"
}, {
  value: 64,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/64.jpg"
}, {
  value: 65,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/65.jpg"
}, {
  value: 66,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/66.jpg"
}, {
  value: 67,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/67.jpg"
}, {
  value: 68,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/68.jpg"
}, {
  value: 69,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/69.jpg"
}, {
  value: 70,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/70.jpg"
}, {
  value: 71,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/71.jpg"
}, {
  value: 72,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/72.jpg"
}, {
  value: 73,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/73.jpg"
}, {
  value: 74,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/74.jpg"
}, {
  value: 75,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/75.jpg"
}, {
  value: 76,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/76.jpg"
}, {
  value: 77,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/77.jpg"
}, {
  value: 78,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/78.jpg"
}, {
  value: 79,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/79.jpg"
}, {
  value: 80,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/80.jpg"
}, {
  value: 81,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/81.jpg"
}, {
  value: 82,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/82.jpg"
}, {
  value: 83,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/83.jpg"
}, {
  value: 84,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/84.jpg"
}, {
  value: 85,
  image: "https://ai-resource.ailabtools.com/ai-halloween-masks/masks/85.jpg"
}];

## Query Task

<Tip>
  This is an asynchronous task API. The submission request returns only `task_id`.

  Use `task_id` to call [Querying Async Task Results](/docs/ai-common/async-task-results/api) and retrieve the final result. Async task results remain available for 24 hours. Query every 5 seconds.
</Tip>

| Field             | Type     | Description        |
| :---------------- | :------- | :----------------- |
| `data`            | `object` | Final result data. |
| +`result_urls`    | `array`  | Result image URLs. |
| ++`result_urls[]` | `string` | Result image URL.  |

```json theme={null}
{
  "data": {
    "result_urls": [""]
  }
}
```

<Tip>
  `result_urls` are temporary and remain valid for 24 hours. Download the files to your own storage before the URLs expire if you need long-term storage.
</Tip>

## Submit Task

### `mask_style`

The following enum values are supported for `mask_style`.

<Expandable title="Available Masks">
  <div className="mt-2 grid grid-cols-2 lg:grid-cols-4 align-center gap-2">
    {maskStyles.map((item) => (
            <div key={item.value} className="rounded-xl">
              <img className="w-full mt-0 mb-2 aspect-square object-contain rounded-xl" src={item.image} alt={item.value} />
              <code className="block break-all text-center text-xs">{item.value}</code>
            </div>
          ))}
  </div>
</Expandable>


## OpenAPI

````yaml POST /api/portrait/effects/ai-halloween-mask
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/portrait/effects/ai-halloween-mask:
    post:
      tags:
        - AI PORTRAIT > Portrait Effects
      summary: AI Halloween Mask
      description: >-
        AI Halloween Mask API adds spooky Halloween masks to portraits while
        preserving identity, lighting, background, and facial structure.
      requestBody:
        description: >-
          Provide `mask_style` or `image_template`. If both are provided,
          `mask_style` takes precedence.
        content:
          multipart/form-data:
            schema:
              type: object
              required:
                - image
              anyOf:
                - required:
                    - mask_style
                - required:
                    - image_template
              properties:
                image:
                  type: string
                  description: |-
                    Source image. 
                    - Image format: `JPEG` `JPG` `PNG` `WEBP` 
                    - Image size: No more than 10 MB. 
                    - Image resolution: Less than 4096x4096px.
                  format: binary
                mask_style:
                  type: string
                  description: >-
                    Built-in mask preset. Provide either this field or
                    `image_template`. If both are provided, `mask_style` takes
                    precedence. See [Supported mask
                    styles](/docs/ai-portrait/effects/ai-halloween-mask/api#mask_style).
                  enum:
                    - 1
                    - 2
                    - 3
                    - 4
                    - 5
                    - 6
                    - 7
                    - 8
                    - 9
                    - 10
                    - 11
                    - 12
                    - 13
                    - 14
                    - 15
                    - 16
                    - 17
                    - 18
                    - 19
                    - 20
                    - 21
                    - 22
                    - 23
                    - 24
                    - 25
                    - 26
                    - 27
                    - 28
                    - 29
                    - 30
                    - 31
                    - 32
                    - 33
                    - 34
                    - 35
                    - 36
                    - 37
                    - 38
                    - 39
                    - 40
                    - 41
                    - 42
                    - 43
                    - 44
                    - 45
                    - 46
                    - 47
                    - 48
                    - 49
                    - 50
                    - 51
                    - 52
                    - 53
                    - 54
                    - 55
                    - 56
                    - 57
                    - 58
                    - 59
                    - 60
                    - 61
                    - 62
                    - 63
                    - 64
                    - 65
                    - 66
                    - 67
                    - 68
                    - 69
                    - 70
                    - 71
                    - 72
                    - 73
                    - 74
                    - 75
                    - 76
                    - 77
                    - 78
                    - 79
                    - 80
                    - 81
                    - 82
                    - 83
                    - 84
                    - 85
                image_template:
                  type: string
                  description: >-
                    Reference image for eyeshadow transfer. Provide this field
                    or `mask_style`. If both are provided, `image_template` is
                    ignored. 

                    - Image format: `JPEG` `JPG` `PNG` `WEBP` 

                    - Image size: No more than 10 MB. 

                    - Image resolution: Less than 4096x4096px.
                  format: binary
                aspect_ratio:
                  type: string
                  description: Output Image Aspect Ratio.
                  enum:
                    - auto
                    - '1:1'
                    - '3:4'
                    - '4:3'
                    - '9:16'
                    - '16:9'
                  default: auto
      responses:
        '200':
          headers:
            Content-Type:
              schema:
                type: string
                example: application/json
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/PublicResponseFields'
                  - type: object
                    required:
                      - task_id
                    properties:
                      task_id:
                        $ref: '#/components/schemas/AsyncTaskId'
              example:
                request_id: ''
                log_id: ''
                error_detail:
                  code: ''
                  code_message: ''
                  message: ''
                task_id: ''
          description: Success
components:
  schemas:
    PublicResponseFields:
      type: object
      required:
        - request_id
        - log_id
        - error_detail
      properties:
        request_id:
          type: string
          description: Request ID for debugging.
        log_id:
          type: string
          description: Log ID for debugging.
        error_detail:
          $ref: '#/components/schemas/ErrorDetail'
    AsyncTaskId:
      type: string
      description: >-
        Task ID for querying [Querying Async Task
        Results](/docs/ai-common/async-task-results/api).
    ErrorDetail:
      type: object
      required:
        - code
        - code_message
        - message
      properties:
        code:
          type: string
          description: >-
            Error Code. See [Error
            Codes](/docs/response-description#error-codes).
        code_message:
          type: string
          description: Error summary.
        message:
          type: string
          description: Detailed error message.
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: ailabapi-api-key
      description: API Key for authentication

````