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

# Ming Image — レイヤー分離

`ming-image-0.1-design-layer` は、OpenAI の画像編集プロトコルを使用したレイヤー分離のみに対応しています。

## リクエストヘッダー

<ParamField header="Content-Type" type="string" required={true}>
  対応形式: `multipart/form-data`
</ParamField>

<ParamField header="Authorization" type="string" required={true}>
  Bearer 認証の形式。例: Bearer \{\{API Key}}。
</ParamField>

## リクエストボディ

<ParamField body="model" type="enum" required={true}>
  モデル名。指定可能な値: `ming-image-0.1-design-layer`
</ParamField>

<ParamField body="image" type="Files" required={true}>
  入力画像は 1 枚です。フォームでは `image[]` フィールドを使用します。

  `ming-image-0.1-design-layer` に入力できる画像は 1 枚のみです。
</ParamField>

<ParamField body="prompt" type="string" required={true}>
  画像の内容を表すテキスト。
</ParamField>

<ParamField body="output_format" type="string" default="png" required={false}>
  出力画像の形式。`png` または `webp` を指定する必要があります。
</ParamField>

<ParamField body="response_format" type="string" default="b64_json" required={false}>
  画像の返却形式。デフォルトは `b64_json` です。指定可能な値: `url`、`b64_json`。注意: `url` の有効期間は 24 時間です。
</ParamField>

<ParamField body="size" type="string" default="auto" required={false}>
  出力画像のサイズ。デフォルトの `auto` では、モデルに基づいて自動的に選択されます。形式: `"{w}x{h}"`。例: `"1024x1024"`。
</ParamField>

<ParamField body="watermark" type="boolean" default={false} required={false}>
  AI 生成画像にウォーターマークを追加するかどうかを指定します。`true`: ポリシー要件に準拠し、AI 生成画像の可視ウォーターマークと不可視のデジタルウォーターマークを有効にします。`false`: すべてのウォーターマークを無効にします。
</ParamField>

## レスポンス

<ResponseField name="created" type="integer" required={true}>
  レスポンスが作成された時点の Unix タイムスタンプ（秒）。
</ResponseField>

<ResponseField name="data" type="array" required={true}>
  返却される画像の配列。前景レイヤーや背景レイヤーなどの複数のレイヤーを含み、各要素が 1 つのレイヤーに対応します。

  <Expandable title="プロパティ">
    <ResponseField name="b64_json" type="string">
      base64 でエンコードされたレイヤー画像のデータ。
    </ResponseField>

    <ResponseField name="data[0].revised_prompt" type="string">
      レイヤー構造を記述する JSON 文字列。キャンバスサイズと各領域の情報を示します。

      <Expandable title="プロパティ">
        <ResponseField name="revised_prompt.canvas" type="array">
          キャンバスサイズ: `[width, height]`。
        </ResponseField>

        <ResponseField name="revised_prompt.regions" type="array">
          レイヤー領域の一覧。

          <Expandable title="プロパティ">
            <ResponseField name="revised_prompt.regions[].category" type="string">
              レイヤーのカテゴリ。例: `Image`（前景レイヤー）、`BackgroundImage`（背景レイヤー）。
            </ResponseField>

            <ResponseField name="revised_prompt.regions[].bbox" type="array">
              キャンバス上のレイヤーのバウンディングボックス: `[x1, y1, x2, y2]`。
            </ResponseField>
          </Expandable>
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="output_format" type="string" required={true}>
  出力画像の形式（レイヤーは常に png 形式で出力されます）。
</ResponseField>

<ResponseField name="size" type="string">
  `null`
</ResponseField>

<ResponseField name="usage" type="object" required={true}>
  トークン使用量の統計。

  <Expandable title="プロパティ">
    <ResponseField name="input_tokens" type="integer">
      入力トークンの合計数（アップロードした画像のトークンを含む）。
    </ResponseField>

    <ResponseField name="input_tokens_details" type="object">
      入力トークンの詳細。

      <Expandable title="プロパティ">
        <ResponseField name="image_tokens" type="integer">
          入力画像が消費したトークン数。
        </ResponseField>

        <ResponseField name="text_tokens" type="integer">
          入力テキストが消費したトークン数。
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="output_tokens" type="integer">
      出力トークンの合計数（複数のレイヤーの合計。例: 3 レイヤー × 4096 = 12288）。
    </ResponseField>

    <ResponseField name="total_tokens" type="integer">
      入力トークン数と出力トークン数の合計。
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="model" type="string" required={true}>
  実際にリクエストを処理したモデルの名前。
</ResponseField>

<ResponseField name="id" type="string" required={true}>
  このリクエストの一意の識別子。
</ResponseField>

## 使用例

`リクエスト:`

```bash theme={"system"}
curl --location --request POST 'https://api.novita.ai/v1/images/edits' \
--header 'Authorization: Bearer {{API Key}}' \
--form 'model="ming-image-0.1-design-layer"' \
--form 'prompt="Split into three layers"' \
--form 'image[]=@"{The Path of Your Image File}"' \
--form 'size="1024x1024"'
```

`レスポンス:`

```js theme={"system"}
{
  "created": 1789642431,
  "data": [
    {
      "b64_json": "...",
      "revised_prompt": "{\"canvas\": [1024, 1024], \"regions\": [{\"category\": \"Image\", \"bbox\": [1.4, 3.3, 1023.0, 1022.0]}, {\"category\": \"BackgroundImage\", \"bbox\": [1.4, 3.3, 1023.0, 1022.0]}]}"
    },
    {
      "b64_json": "..."
    },
    {
      "b64_json": "..."
    }
  ],
  "output_format": "png",
  "size": null,
  "usage": {
    "input_tokens": 4096,
    "input_tokens_details": {
      "image_tokens": 4096,
      "text_tokens": 0
    },
    "output_tokens": 12288,
    "total_tokens": 16384
  },
  "model": "Ming-Image-0.1-Design-Layer-StressTest",
  "id": "218edba617896423893976485e4f35"
}
```
