---
title: "インペイント・アウトペイント・リドロータスクの作成"
description: "既存の画像を編集します:"
canonical: "https://platform.pixai.art/ja/docs/api-v2/image/createInpaint"
last-updated: "2026-11-02"
---

# インペイント・アウトペイント・リドロータスクの作成

既存の画像を編集します:



* **インペイント**（`fillType: inpaint`）: マスクした領域を描き直します。
* **アウトペイント**（`fillType: outpaint`）: 画像を外側へ拡張します。元画像をより大きな白いキャンバスに配置し、それを `baseImageMediaId` として送信してください。マスクで新しい領域を指定します。
* **リドロー**（`fillType: inpaint`、マスクなし）: 画像全体を描き直します。`strength` を下げるほど元画像に近くなります。

マスクを使う編集には追加の画像が 2 枚必要で、必ず両方を一緒に送信します:

* `maskMediaId`: ベース画像と同じサイズで、描き直す部分を白、残す部分を黒にした画像です。
* `maskedImageMediaId`: ベース画像のうち、マスクの白い部分をグレー（`#808080`）で塗りつぶした画像です。

出力のサイズは、マスクを送信した場合はマスク済み画像、それ以外はベース画像と同じになります。画像はメディア ID で指定します。`POST /v2/media/image/upload-url` を参照してください。

`modelPreset: "v1"` を使用してください。`GET /v2/gen-task/inpaint/constraints` でプリセットのサイズ制限と `sdeditPreset` 名を確認できます。クレジットはタスク作成時に消費されます。結果は `GET /v2/task/{id}` の `outputs.mediaIds[0]` です。

## POST https://api.pixai.art/v2/gen-task/inpaint

Authentication: send your API key as `Authorization: Bearer <API key>`.

Machine-readable OpenAPI spec: https://platform.pixai.art/openapi-spec.v2.ja.yaml

### Request body (`application/json`)

- `modelPreset` (string, required)
  インペイントモデルです。`v1` を使用してください。
  Example: `"v1"`.
- `fillType` (string, required)
  Allowed values: `inpaint`, `outpaint`.
- `baseImageMediaId` (string, required)
  編集する画像の画像メディア ID です。
- `maskMediaId` (string, optional)
  マスクの画像メディア ID です。描き直す部分を白、残す部分を黒にします。`maskedImageMediaId` と一緒に送信するか、両方を省略して画像全体を描き直します。
- `maskedImageMediaId` (string, optional)
  マスクの白い部分を `#808080` で塗りつぶしたベース画像の画像メディア ID です。`maskMediaId` と一緒に送信してください。
- `prompt` (string, optional)
  編集する領域に描く内容です。
  Default: `""`.
  Length: 0 to 10000 characters.
- `strength` (number, optional)
  結果が元画像からどれだけ離れてよいかです。低いほど元画像に近くなります。
  Range: 0 to 1.
- `seed` (integer, optional)
  ランダムシードです。省略するとランダムに生成されます。
- `promptHelper` (string, optional)
  PixAI がプロンプトをどの程度拡張してよいかを指定します。
  Allowed values: `enable`, `disable`, `low`, `medium`.
  Default: `"enable"`.
- `sdeditPreset` (string, optional)
  `GET /v2/gen-task/inpaint/constraints` で取得したリドロープリセット名です。リドロープリセットのないプリセットに指定すると `SDEDIT_NOT_AVAILABLE` が返ります。
  Length: 1 to 64 characters.
- `sdedit` (object, optional)
  リドローの微調整です。`sdeditPreset` を指定した場合、ここからは `colorCorrection` のみが使われます。
- `sdedit.spectralScale` (number, optional)
  Range: 0 to 1.
- `sdedit.hfsBlurSigma` (number, optional)
  Range: 0 to 32.
- `sdedit.hfsEnd` (number, optional)
  Range: 0 to 1.
- `sdedit.colorCorrection` (boolean, optional)
  元画像の色に合わせます。

Example:

```json
{
  "modelPreset": "v1",
  "fillType": "inpaint",
  "baseImageMediaId": "1943547603237249965",
  "maskMediaId": "1943547603237249966",
  "prompt": "red scarf"
}
```

### Example (cURL)

```bash
curl -X POST https://api.pixai.art/v2/gen-task/inpaint \
  -H "Authorization: Bearer $PIXAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "modelPreset": "v1",
    "fillType": "inpaint",
    "baseImageMediaId": "1943547603237249965",
    "maskMediaId": "1943547603237249966",
    "prompt": "red scarf"
  }'
```

### Responses

- `201`
  タスクを作成しました。その `id` で `GET /v2/task/{id}` をポーリングしてください。
  Body fields:
  - `id` (string, required)
    タスクの一意の識別子。
  - `status` (string, required)
    タスクの現在のステータス。
    Allowed values: `waiting`, `running`, `completed`, `cancelled`, `failed`.
  - `createdAt` (string, required)
    タスクの作成時刻。
  - `updatedAt` (string, required)
    タスクの最終更新時刻。
  - `startedAt` (string, optional)
    タスクの開始時刻。
  - `endAt` (string, optional)
    タスクの終了時刻。
  - `taskKind` (string, optional)
    タスクが生成するもの。画像は `t2i` または `i2i`、`POST /v2/gen-task/inpaint` は `inpaint`、`POST /v2/frame-video/create` は `i2v-inhouse`、`POST /v2/reference-video/create` は `reference-video` です。
  - `paidQuota` (integer, optional)
    タスクに課金されたクレジット。
  - `taskStatusMsgI18n` (object, optional)
    `failed` になったタスクの失敗理由。
  - `taskStatusMsgI18n.key` (string, optional)
    変わらないメッセージキー。
  - `taskStatusMsgI18n.defaultMessage` (string, optional)
    英語のメッセージ。
  - `outputs` (object, optional)
    タスクで生成された出力。
  - `outputs.videoMediaId` (string, optional)
    動画タスクの場合、動画のメディア ID です。`GET /v2/media/batch?ids=<videoMediaId>` で解決し、`fileUrl` をダウンロードしてください。このとき `mediaIds` にはポスター画像だけが入ります。
  - `outputs.seed` (string, optional)
    使われたシード値（10 進数の文字列）。
  - `outputs.mediaIds` (string[], optional)
    生成された画像のメディア ID です。これらの ID を使用して各生成画像の詳細情報を取得できます。

    生成された画像は通常、恒久的には保持されません。できるだけ早く取得してください。
  - `outputs.mediaUrls` ((string | null)[], optional)
    生成された画像の公開 URL です。

    生成された画像は通常、恒久的には保持されません。できるだけ早く取得してください。画像が利用できない場合、その項目は `null` になることがあります。
- `400`
  - `INVALID_MODEL_PRESET`: 不明な `modelPreset` です。
  - `INVALID_MEDIA`: 画像メディア ID が存在しないか、画像ではありません。
  - `INVALID_SDEDIT_PRESET`: 不明な `sdeditPreset` です。
  - `SDEDIT_NOT_AVAILABLE`: この `modelPreset` は `sdeditPreset` も `sdedit` も受け付けません。
  - `BAD_REQUEST`（`data.issues` あり）: ボディの検証に失敗しました。
- `401`
  `UNAUTHORIZED`: API キーが送られていません。無効、失効済み、期限切れのキーの場合は、数値の `code` を持つ `{"message": "invalid token", "code": 40100001}` が返ります。
- `403`
  現在このアカウントではこのタスクを実行できません。理由は `code` で示されます:

  - `INSUFFICIENT_BALANCE`: タスクに必要なクレジットが不足しています。
  - `WAITING_NUM_EXCEEDED`: `waiting` 状態のタスクが多すぎます（`data.currentWaitingTasks`）。いくつか実行が始まるまで待ってから送信してください。
  - `REQUIRE_MEMBERSHIP`: この機能には PixAI メンバーシップが必要です（画像から動画への生成）。
  - `NSFW_PROMPTS_DETECTED`: アカウントがセーフモードのため、プロンプトが拒否されました。
- `500`
  `CREATION_FAILED`: タスクを作成できませんでした。指数バックオフで再試行してください。
