インペイント・アウトペイント・リドロータスクの作成
既存の画像を編集します:
- インペイント(
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] です。
Authorization
bearerAuth 認証が必要なすべてのリクエストでは、HTTP ヘッダーに次を追加してください
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
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" }'{
"id": "string",
"status": "waiting",
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z",
"startedAt": "2019-08-24T14:15:22Z",
"endAt": "2019-08-24T14:15:22Z",
"taskKind": "string",
"paidQuota": 0,
"taskStatusMsgI18n": {
"key": "string",
"defaultMessage": "string"
},
"outputs": {
"videoMediaId": "string",
"seed": "string",
"mediaIds": [
"string"
],
"mediaUrls": [
"string"
]
}
}{
"code": "string",
"status": 0,
"message": "string",
"data": {},
"defined": true
}{
"code": "string",
"status": 0,
"message": "string",
"data": {},
"defined": true
}{
"code": "string",
"status": 0,
"message": "string",
"data": {},
"defined": true
}{
"code": "string",
"status": 0,
"message": "string",
"data": {},
"defined": true
}