---
title: "手元の画像を置く署名付き PUT URL を出す"
method: POST
path: "/api/v1/assets/image-uploads"
tags: ["assets"]
---

# 手元の画像を置く署名付き PUT URL を出す

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

## Request

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

## Request body

- object
  - `fileName` string, required: ファイル名。置き場所の名前に使う（英数字と . _ - 以外は _ に置き換える）
  - `mimeType` 'image/png' | 'image/jpeg' | 'image/webp', required: ファイルの形式。PUT の Content-Type にもこの値を付ける
  - `fileSize` integer, required: ファイルのバイト数（ちょうどの値）。最大 10MB
  - `kind` 'material' | 'background': material（行ごとの素材画像）/ background（動画全体・場面の背景）

## Response `200`

アップロード先

- object
  - `data` object
    - `key` string: 確定（confirm）に渡す値
    - `uploadUrl` string, uri: PUT する署名付き URL（1時間）
    - `method` 'PUT'
    - `headers` object: PUT に付けるヘッダ（Content-Type）。Content-Length はクライアントが付ける（fileSize と一致すること）
    - `fileSize` integer
    - `kind` 'material' | 'background'
    - `expiresAt` string, date-time
    - `expiresInSeconds` integer
    - `examples` object: PUT のコマンド例。<FILE_PATH> を手元のファイルのパスに置き換える
      - `curl` string
      - `powershell` string
    - `next` string

## Other responses

- `400`: リクエスト不正（code: validation_error。形式が png / jpeg / webp でない・10MB を超える など）
- `401`: 認証エラー（code: unauthenticated）
- `403`: スコープ不足（code: insufficient_scope。projects:write が必要）
- `429`: レート上限（code: rate_limited）またはストレージ容量の上限（code: quota_exceeded。current と limit が付く）
- `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)
