---
title: "PUT し終えた画像を確かめて素材に登録する"
method: POST
path: "/api/v1/assets/image-uploads/confirm"
tags: ["assets"]
---

# PUT し終えた画像を確かめて素材に登録する

`POST /api/v1/assets/image-uploads/confirm`

## Request

- Base URL: `https://app.yukkurigen.com`
- URL: `https://app.yukkurigen.com/api/v1/assets/image-uploads/confirm`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

## Request body

- object
  - `key` string, required: POST /api/v1/assets/image-uploads が返した key
  - `name` string: 素材の名前（省略するとキーのファイル名）

## Response `200`

登録した画像

- RegisteredImage: image-uploads/confirm と image-uploads/inline の 200。url は POST /api/v1/assets/import の results[].url と同じ扱い
  - `data` object
    - `ok` boolean
    - `url` string: materialImageUrl / backgroundImageUrl にそのまま書ける永続 URL
    - `assetId` string
    - `key` string
    - `kind` 'material' | 'background'
    - `mimeType` 'image/png' | 'image/jpeg' | 'image/webp': 中身から判定した形式
    - `fileSizeBytes` integer
    - `alreadyRegistered` boolean: 確定済みの key をもう一度確定した（使用量は増えていない）

## Other responses

- `400`: リクエスト不正、または置かれたファイルが画像でない・大きすぎる・型が一致しない（code: validation_error。ファイルは消してある）
- `401`: 認証エラー（code: unauthenticated）
- `403`: スコープ不足（code: insufficient_scope。projects:write が必要）、または他人の key（code: forbidden）
- `404`: ファイルが置かれていない（code: not_found）
- `429`: レート上限（code: rate_limited）
- `500`: サーバ側の失敗（code: internal_error）

---

[API](https://skmtc.dev/yukkurigen/apis/yukkurigen-ai-operated-api.md) · [All operations](https://skmtc.dev/yukkurigen/apis/yukkurigen-ai-operated-api/llms.txt) · [OpenAPI document](https://skmtc.dev/yukkurigen/apis/yukkurigen-ai-operated-api/revisions/ba5f36b016da?raw)
