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

# MAI-Image-2.6 이미지 생성

> 텍스트 기반 생성, 단일 이미지 편집, 최대 5장의 참조 이미지 합성 및 웹 정보 활용을 지원합니다. 고품질 버전과 Flash 버전을 제공합니다.

## 모델 선택

| 모델 ID | 특징 |
| - | - |
| `mai-image-2.6` | 화질을 중시하는 용도에 적합한 고품질 버전 |
| `mai-image-2.6-flash` | 화질은 약간 낮지만 더 빠르고 저렴한 버전 |

두 모델의 기능과 매개변수는 같으며 요청당 1장만 생성합니다. 실제 요금은 [모델 가격](https://apimart.ai/pricing)을 확인하세요.

<Info>
  비동기 API입니다. 제출 후 `data[0].task_id`에서 작업 ID를 가져오고 [작업 조회](/ko/api-reference/tasks/status)로 결과를 확인하세요. 3–5초 간격의 폴링과 전체 대기 제한 시간 3분을 권장합니다. 상태가 `completed` 또는 `failed`이면 중지하세요.
</Info>

<RequestExample>
  ```bash cURL theme={null}
  curl --request POST \
    --url https://api.apimart.ai/v1/images/generations \
    --header 'Authorization: Bearer <token>' \
    --header 'Content-Type: application/json' \
    --data '{
      "model": "mai-image-2.6",
      "prompt": "해 질 무렵의 대학 캠퍼스 포스터, 사실적인 사진 스타일, 영화 같은 조명",
      "size": "16:9",
      "resolution": "2K"
    }'
  ```

  ```python Python theme={null}
  import requests

  response = requests.post(
      "https://api.apimart.ai/v1/images/generations",
      headers={"Authorization": "Bearer <token>"},
      json={
          "model": "mai-image-2.6",
          "prompt": "해 질 무렵의 대학 캠퍼스 포스터, 사실적인 사진 스타일, 영화 같은 조명",
          "size": "16:9",
          "resolution": "2K"
      }
  )
  response.raise_for_status()
  print(response.json())
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch("https://api.apimart.ai/v1/images/generations", {
    method: "POST",
    headers: {
      Authorization: "Bearer <token>",
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      model: "mai-image-2.6",
      prompt: "해 질 무렵의 대학 캠퍼스 포스터, 사실적인 사진 스타일, 영화 같은 조명",
      size: "16:9",
      resolution: "2K"
    })
  });
  if (!response.ok) throw new Error(await response.text());
  console.log(await response.json());
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "code": 200,
    "data": [
      {
        "status": "submitted",
        "task_id": "task_01K..."
      }
    ]
  }
  ```
</ResponseExample>

## 요청 헤더

<ParamField header="Authorization" type="string" required>
  `Bearer <token>` 형식의 Bearer 인증입니다. `<token>`은 APIMart API Key입니다.
</ParamField>

## 요청 매개변수

<ParamField body="model" type="string" required>
  모델 ID: `mai-image-2.6` 또는 `mai-image-2.6-flash`.
</ParamField>

<ParamField body="prompt" type="string" required>
  이미지 설명 또는 편집 지시입니다. 중국어와 영어를 지원하며 최대 약 32,000 tokens입니다(문자 수가 아님).
</ParamField>

<ParamField body="size" type="string" default="1:1">
  화면비(예: `16:9`), 픽셀 크기(예: `1536x1024`) 또는 `auto`를 지원합니다.

  * 화면비: `1:4`부터 `4:1` 범위의 임의의 정수 비율을 `resolution`과 함께 사용합니다.
  * 픽셀 크기: `너비x높이`, `너비*높이`, `너비×높이`를 지원합니다. 이 경우 `resolution`은 크기를 결정하지 않습니다.
  * `auto`: 모델이 프롬프트에 따라 화면비를 선택합니다.

  텍스트 기반 생성 전용입니다. 참조 이미지를 제공하면 모델이 출력 크기를 결정합니다.
</ParamField>

<ParamField body="resolution" type="string" default="1K">
  `1K`, `2K`를 지원하며 소문자도 허용됩니다. `4K` 등 다른 값은 지원하지 않으며 HTTP 400을 반환합니다.

  텍스트 기반 생성에서 화면비를 사용할 때 크기 등급을 결정합니다. 정확한 픽셀을 지정하면 크기 계산에 사용되지 않습니다. 이미지 기반 생성의 출력 크기는 지정할 수 없습니다.
</ParamField>

<ParamField body="width" type="integer">
  정확한 픽셀 너비로 `height`와 반드시 함께 제공해야 합니다. 두 값이 `size`, `resolution`보다 우선하여 텍스트 기반 생성 크기를 결정합니다.

  너비와 높이는 각각 최소 768이며 총 픽셀 수는 2,359,296 이하여야 합니다. 32의 배수를 권장하며, 아니면 각 변을 32의 배수로 내림합니다.

  이미지 기반 생성에서는 이 매개변수로 출력 크기를 결정하지 않습니다.
</ParamField>

<ParamField body="height" type="integer">
  정확한 픽셀 높이로 `width`와 함께 제공해야 하며 위의 크기 제한을 따릅니다. 이미지 기반 생성의 출력 크기를 결정하지 않습니다.
</ParamField>

<ParamField body="image_urls" type="string[]">
  최대 5장의 참조 이미지 목록입니다. 생략하면 텍스트 기반 생성, 1장이면 단일 이미지 편집, 여러 장이면 합성입니다.

  각 항목은 공개 접근 가능한 HTTP(S) 이미지 URL 또는 `data:image/png;base64,...` 같은 Base64 Data URL을 지원합니다.

  JPEG와 PNG를 지원하며 WEBP와 GIF는 자동으로 PNG로 변환됩니다. 이미지 URL에 공개적으로 접근할 수 없으면 작업이 실패합니다.

  **이미지 기반 생성의 출력 크기는 모델이 참조 이미지에 따라 결정**합니다. 약 100만 픽셀이며 참조 이미지와 비슷한 화면비입니다. `size`, `resolution`, `width`, `height`로 출력 크기를 지정할 수 없습니다.
</ParamField>

<ParamField body="auto_aspect_ratio" type="boolean" default="false">
  `true`이면 모델이 프롬프트에 따라 화면비를 선택하며 `size: "auto"`와 같습니다.
</ParamField>

<ParamField body="web_grounding" type="boolean" default="false">
  `true`이면 생성 전에 실시간 정보를 검색합니다. 실제 인물, 장소, 사건 관련 이미지에 적합합니다.
</ParamField>

<ParamField body="n" type="integer" default="1">
  `1`만 지원합니다. 여러 장이 필요하면 작업을 각각 제출하세요. 1보다 큰 값은 HTTP 400을 반환합니다.
</ParamField>

## 텍스트 기반 생성 크기

| 요구사항 | 매개변수 |
| - | - |
| 기본 정사각형 | 크기 매개변수 생략: `1:1` + `1K`, 출력 1024×1024 |
| 해상도 등급 + 화면비 | `size: "16:9"`, `resolution: "2K"` |
| 정확한 픽셀 | `size: "1536x1024"` 또는 `width: 1536`, `height: 1024` |
| 자동 화면비 | `size: "auto"` 또는 `auto_aspect_ratio: true` |

크기 우선순위: 함께 제공한 `width` / `height` → 픽셀 형식의 `size` → 화면비 형식의 `size`와 `resolution` 조합.

### 해상도 등급과 화면비

| 화면비 | 1K | 2K |
| - | - | - |
| 1:1 | 1024×1024 | 1536×1536 |
| 4:3 / 3:4 | 1152×864 / 864×1152 | 1760×1312 / 1312×1760 |
| 3:2 / 2:3 | 1248×832 / 832×1248 | 1856×1248 / 1248×1856 |
| 16:9 / 9:16 | 1344×768 / 768×1344 | 2048×1152 / 1152×2048 |
| 2:1 / 1:2 | 1536×768 / 768×1536 | 2144×1056 / 1056×2144 |
| 21:9 / 9:21 | 1792×768 / 768×1792 | 2336×992 / 992×2336 |
| 4:1 / 1:4 | 3072×768 / 768×3072 | 3072×768 / 768×3072 |

너비와 높이는 32의 배수로 변환됩니다. 짧은 변이 최소 768이어야 하므로 극단적인 화면비에서는 `1K`도 약 100만 픽셀을 넘을 수 있으며 실제 출력 픽셀에 해당하는 토큰으로 과금됩니다.

### 정확한 픽셀의 제약

* 너비와 높이는 각각 최소 768입니다.
* 너비 × 높이는 2,359,296(1536 × 1536) 이하여야 합니다.
* 각 변을 32의 배수로 내림합니다. 예를 들어 `1000x1000`은 `992x992`로 출력됩니다. 정확한 크기가 필요하면 32의 배수를 사용하세요.

`1536x1024`, `2048x1152`, `3072x768` 등을 지원합니다. `512x512`는 변이 너무 작아서, `2048x2048`은 총 픽셀 수 초과로 거부됩니다.

<Warning>
  제한은 **총 픽셀 수**이며 각 변을 1536 이하로 제한하는 것이 아닙니다. 따라서 `2048x1152`, `3072x768`은 가능하지만 4K 등급은 지원하지 않습니다. 이 크기 설정은 텍스트 기반 생성에만 적용됩니다.
</Warning>

## 요청 예시

### 정확한 픽셀과 웹 정보 활용

```json theme={null}
{
  "model": "mai-image-2.6-flash",
  "prompt": "밤의 에펠탑과 불꽃놀이, 여행 포스터 스타일",
  "width": 2048,
  "height": 1152,
  "web_grounding": true
}
```

### 단일 이미지 편집

```json theme={null}
{
  "model": "mai-image-2.6",
  "prompt": "자전거를 파란색으로 바꾸고 옆에 작은 강아지를 추가해 주세요",
  "image_urls": ["https://example.com/bicycle.png"]
}
```

### 다중 이미지 합성

```json theme={null}
{
  "model": "mai-image-2.6-flash",
  "prompt": "두 참조 이미지를 깔끔하고 미래적인 제품 사진으로 합성해 주세요",
  "image_urls": [
    "https://example.com/first.png",
    "https://example.com/second.jpg"
  ]
}
```

예시 이미지 URL을 실제로 접근 가능한 주소로 바꾸세요.

## 지원하지 않는 매개변수

`quality`, `style`, `background`, `output_format`, `response_format`, `mask_url`은 지원하지 않으며 전달해도 무시됩니다. 출력은 PNG로 고정되고 마스크 편집은 지원하지 않습니다.

## 제출 응답

<ResponseField name="code" type="integer">
  응답 상태 코드입니다. 성공 시 `200`입니다.
</ResponseField>

<ResponseField name="data" type="array">
  작업 제출 결과입니다.

  <Expandable title="작업 필드 표시">
    <ResponseField name="status" type="string">
      `submitted`는 제출 성공을 의미하며 이미지 생성 완료가 아닙니다.
    </ResponseField>

    <ResponseField name="task_id" type="string">
      상태와 결과 조회에 사용하는 작업 ID입니다.
    </ResponseField>
  </Expandable>
</ResponseField>

## 작업 결과 조회

```bash theme={null}
curl --request GET \
  --url https://api.apimart.ai/v1/tasks/task_01K... \
  --header 'Authorization: Bearer <token>'
```

성공 응답 예시(이미지 URL은 자리표시자입니다):

```json theme={null}
{
  "code": 200,
  "data": {
    "id": "task_01K...",
    "status": "completed",
    "progress": 100,
    "result": {
      "images": [
        {
          "url": ["https://example.com/generated-image.png"]
        }
      ]
    }
  }
}
```

| 상태 | 처리 방법 |
| - | - |
| `pending` | 대기 중. 폴링 계속 |
| `processing` | 처리 중. 폴링 계속 |
| `completed` | 성공. `data.result.images[0].url` 배열에서 이미지 링크 확인 |
| `failed` | 실패. `data.error.message`에서 원인 확인 후 폴링 중지. 전액 환불 |

## 과금 안내

실제 입력 및 출력 토큰 사용량으로 과금됩니다. 단가는 [모델 가격](https://apimart.ai/pricing)을 확인하세요.

* 이미지 출력 토큰 = 실제 출력 너비 × 높이 ÷ 1024. 1024×1024는 1024 tokens, 1536×1536은 2304 tokens입니다.
* 참조 이미지당 입력 토큰은 약 너비 × 높이 ÷ 1024입니다. 텍스트 프롬프트도 입력 사용량에 포함됩니다.
* 제출 시 등급에 따라 선차감하고 성공 후 실제 토큰 사용량에 맞춰 환불 또는 추가 청구합니다.
* 실패한 작업은 자동으로 전액 환불됩니다. 제출 단계에서 거부된 매개변수 오류는 작업을 생성하지 않고 과금되지 않습니다.

## 일반적인 오류

| HTTP | 원인 및 해결 방법 |
| - | - |
| 400 | `4K` 등 지원하지 않는 `resolution`. `1K` 또는 `2K` 사용 |
| 400 | 너비 또는 높이가 768 미만이거나 총 픽셀 수가 2,359,296 초과 |
| 400 | `width` 또는 `height`만 제공됨. 반드시 함께 제공 |
| 400 | 화면비가 `1:4`부터 `4:1` 범위를 벗어나거나 `size` 형식을 인식할 수 없음 |
| 400 | `n`이 1 초과이거나 참조 이미지가 5장 초과 |

작업 실패 시 이미지 다운로드 또는 콘텐츠 안전 오류를 확인하고 프롬프트나 참조 이미지를 수정한 뒤 재시도하세요. 미성년자가 포함된 사실적인 사진 편집은 안전 정책에 따라 차단될 수 있습니다.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.