> ## 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 リクエストにつき 1 枚のみ生成します。実際の料金は[モデル料金](https://apimart.ai/pricing)をご確認ください。

<Info>
  この API は非同期です。送信後に `data[0].task_id` から ID を取得し、[タスク照会](/ja/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 認証。形式は `Bearer <token>` で、`<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": "2 枚の参照画像を合成して、すっきりした未来的な商品写真にしてください",
  "image_urls": [
    "https://example.com/first.png",
    "https://example.com/second.jpg"
  ]
}
```

サンプルの画像 URL を実際にアクセス可能な 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.