> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/deployment/ja/to/vision-events/upload-a-vision-event-image.md).

# Vision Event 画像をアップロードする

## 概要

このエンドポイントは、ワークスペースに画像をアップロードし、次の用途で使用します [Vision Events](/deployment/ja/to/vision-events.md)。アップロードはワークスペース単位で行われ、いずれのプロジェクトにも紐づきません。返される `sourceId` は、その後次の項目で参照できます `images` 配列に、次のときに [イベントを作成する](/deployment/ja/to/vision-events/create-a-vision-event.md)。モデルが処理した元のフレームまたは出力フレームを添付し、イベントと一緒に表示できるようにするために使用します。

## HTTP API

ビジョンイベントで使用する画像をアップロードします。これはワークスペース単位のアップロードで、特定のプロジェクトには関連付けられません。返される `sourceId` は次の項目で参照できます `images` イベント作成時の配列で

**必要なスコープ:** `vision-events:write` または `device:update`

{% openapi src="/files/934e54fa9aa57656316a422a76238b867f081de5" path="/vision-events/upload" method="post" %}
[openapi.yaml](https://970637113-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoksNmwps1HmYr8TqHDnX%2Fuploads%2Fgit-blob-dfdc1702ad3d1a62ad0a661e9609f6bbe2fc8d4c%2Fopenapi.yaml?alt=media)
{% endopenapi %}

### リクエスト例

```bash
curl -X POST "https://api.roboflow.com/vision-events/upload" \
  -H "Authorization: Bearer YOUR_API_KEY" \\
  -F "file=@inspection-photo.jpg" \
  -F "name=inspection-photo.jpg"
```

### リクエストパラメータ

送信形式 `multipart/form-data`:

* **`ファイル`** (バイナリ、必須): アップロードする画像ファイル。対応形式: JPEG、PNG、WebP、GIF、TIFF、BMP、HEIC、AVIF。
* **`名前`** (文字列、任意): 画像のカスタム名。
* **`メタデータ`** (JSON文字列、任意): 画像に付与するカスタムメタデータ。イベントのカスタムメタデータと同じ制約に従う有効なJSONオブジェクトである必要があります: 最大100キー、キー名は次と一致する必要があります `[a-zA-Z0-9_ -]+` (最大100文字)、文字列値は最大1000文字、数値およびブール値もサポートされます。

### レスポンス例

{% tabs %}
{% tab title="201" %}

```json
{
  "success": true,
  "sourceId": "ve-img-abc123def456",
  "url": "https://storage.roboflow.com/vision-events/images/ve-img-abc123def456.jpg"
}
```

を使用してください `sourceId` 次の値 `images[].sourceId` フィールドにおいて [ビジョンイベントを作成する際](/deployment/ja/to/vision-events/create-a-vision-event.md#http-api):

```json
{
  "eventId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "eventType": "quality_check",
  "useCaseId": "a1b3c8e1",
  "timestamp": "2024-01-15T10:30:00Z",
  "images": [
    {
      "sourceId": "ve-img-abc123def456",
      "objectDetections": [
        {
          "class": "defect",
          "x": 100,
          "y": 200,
          "width": 50,
          "height": 30,
          "confidence": 0.95
        }
      ]
    }
  ],
  "eventData": {
    "result": "fail"
  }
}
```

{% endtab %}

{% tab title="400" %}

```json
{
  "error": "ファイルが指定されていません"
}
```

{% endtab %}

{% tab title="403" %}

```json
{
  "error": "このリソースに対する権限が不十分です。"
}
```

{% endtab %}
{% endtabs %}

## Python SDK

ビジョンイベントで使用するローカル画像をアップロードします。返される `sourceId` は次の項目で参照できます `images` イベント作成時の配列で

```python
import roboflow

roboflow.login()

rf = roboflow.Roboflow()
ws = rf.workspace()

# 画像をアップロード
result = ws.upload_vision_event_image("inspection-photo.jpg")
source_id = result["sourceId"]

# 任意で名前とメタデータも指定できます
result = ws.upload_vision_event_image(
    "inspection-photo.jpg",
    name="line-a-check-001",
    metadata={"camera": "cam-1", "shift": "morning"},
)
```

次の `sourceId` レスポンスの値は次の項目で使用されます `images` 配列に、次のときに [ビジョンイベントを作成する際](/deployment/ja/to/vision-events/create-a-vision-event.md#python-sdk):

```python
ws.write_vision_event({
    "eventId": "d4e5f6a7-b2c3-4d4e-9f6a-7b8c9d0e1f2a",
    "eventType": "quality_check",
    "useCaseId": "a1b3c8e1",
    "timestamp": "2024-01-15T10:30:00Z",
    "images": [
        {
            "sourceId": source_id,
            "label": "inspection-photo",
            "objectDetections": [
                {"class": "defect", "x": 100, "y": 200, "width": 50, "height": 30, "confidence": 0.95}
            ],
        }
    ],
    "eventData": {"result": "fail"},
})
```

対応する画像形式とメタデータの制約については、次を参照してください [REST APIリファレンス](#http-api).
