> ## 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 Photography API

> AI Photography API creates stylized AI photoshoot images from portraits using prompt-defined scenes and styles.

## Request

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

### API Information

| Field                 | Value                                   |
| :-------------------- | :-------------------------------------- |
| API Name              | `AI Photography`                        |
| API URL               | `/api/image/effects/ai-photography`     |
| Documentation URL     | `/docs/ai-image/effects/ai-photography` |
| Unique Identification | `image_photography`                     |

### Image requirements

* **Image format**: `JPEG` `JPG` `PNG` `WEBP`
* **Image size**: No more than 10 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`       | YES      | `file`   |                                                                                 |         | Original image.                                                                                                             |
| `style_title` | YES      | `string` |                                                                                 |         | Style name (English only). Max 500 characters; extra text will be automatically truncated. Use standard vocabulary.         |
| `style_desc`  | YES      | `string` |                                                                                 |         | Style description (English only). Max 1000 characters; extra text will be automatically truncated. Use standard vocabulary. |
| `image_size`  | NO       | `string` | `auto`, `1:1`, `2:3`, `3:2`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9`, `21:9` | `auto`  | Output image aspect ratio.                                                                                                  |

## 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     | Scope   | Description                                                                                                                                       |
| :---------- | :------- | :------ | :------------------------------------------------------------------------------------------------------------------------------------------------ |
| `task_type` | `string` | `async` | Task Type. \`\`async`: Asynchronous tasks.`                                                                                                       |
| `task_id`   | `string` |         | Asynchronous task ID. <br />**Please use this field when calling the [Querying Async Task Results](/docs/ai-common/async-task-results/api) API.** |

### Response Example

```json theme={null}
{
  "request_id": "",
  "log_id": "",
  "error_code": 0,
  "error_code_str": "",
  "error_msg": "",
  "error_detail": {
    "status_code": 200,
    "code": "",
    "code_message": "",
    "message": ""
  },
  "task_type": "async",
  "task_id": ""
}
```

<Tip>
  This API is asynchronous, please keep `task_id` and call [`Querying Async Task Results`](/docs/ai-common/async-task-results/api) to get the final results.

  Asynchronous task results are valid for 24 hours. It is recommended that asynchronous task results be queried every 5 seconds.
</Tip>


## OpenAPI

````yaml POST /api/image/effects/ai-photography
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/effects/ai-photography:
    post:
      tags:
        - AI IMAGE > Image Effects
      summary: AI Photography
      description: >-
        AI Photography API creates stylized AI photoshoot images from portraits
        using prompt-defined scenes and styles.
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              required:
                - image
                - style_title
                - style_desc
              properties:
                image:
                  type: string
                  format: binary
                  description: |-
                    Original image. 
                    - Image format: `JPEG` `JPG` `PNG` `WEBP` 
                    - Image size: No more than 10 MB. 
                    - Image resolution: Less than 4096x4096px.
                style_title:
                  type: string
                  description: >-
                    Style name (English only). Max 500 characters; extra text
                    will be automatically truncated. Use standard vocabulary to
                    pass review.
                  maxLength: 500
                style_desc:
                  type: string
                  description: >-
                    Style description (English only). Max 1000 characters; extra
                    text will be automatically truncated. Use standard
                    vocabulary to pass review.
                  maxLength: 1000
                image_size:
                  type: string
                  description: Output Image Aspect Ratio.
                  enum:
                    - auto
                    - '1:1'
                    - '2:3'
                    - '3:2'
                    - '3:4'
                    - '4:3'
                    - '4:5'
                    - '5:4'
                    - '9:16'
                    - '16:9'
                    - '21:9'
                  default: auto
      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: ''
                task_type: async
                task_id: ''
          description: Success
components:
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: ailabapi-api-key
      description: API Key for authentication

````