> 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/roboflow/roboflow-jp/datasets/adding-data/image-metadata.md).

# 画像メタデータ

Metadataを使うと、Roboflow workspace内の画像にカスタムのキー・バリューペアを付与できます。Metadataには、撮影条件、デバイス識別子、品質スコア、または任意のドメイン固有属性などの構造化情報を画像と一緒に保存し、それらの属性を基準にデータを検索、フィルタリング、整理できます。

## 概要

各画像には任意の数のmetadataエントリを保持できます。エントリは **キー** （次のような名前の `camera_id`）に **値** （文字列、数値、またはboolean）を組み合わせたものです。

| 値の型     | 例                                           |
| ------- | ------------------------------------------- |
| 文字列     | `location: "warehouse-3"`, `shift: "night"` |
| 数値      | `temperature: 72.5`, `quality_score: 95`    |
| boolean | `reviewed: true`, `is_night: false`         |

### ユースケース

* **撮影コンテキスト** — カメラID、GPS座標、天候、照明条件を記録する
* **品質追跡** — 信頼度スコア、レビュー状態、アノテーターIDを付与する
* **データの切り分け** — 任意の属性でデータセットをフィルタし、目的別の学習セットを作成する
* **外部システム連携** — 画像を社内ツールに紐付ける識別子を保存する

## Metadataの追加

Web UI、Python SDK、REST API、または自動的に [S3 Bucket Mirror](broken://pages/87c50bd7cb92166a04e9a1e880e692b122ef9297).

### Web Application

{% stepper %}
{% step %}

#### 画像を開く

プロジェクト内の任意の画像を開きます。
{% endstep %}

{% step %}

#### キーと値を入力する

metadataセクションで、最初の入力欄に **キー** を、2つ目の入力欄に **値** を入力します。
{% endstep %}

{% step %}

#### 追加

押して **Enter** で保存するか、Addをクリックします
{% endstep %}
{% endstepper %}

値は型に応じて自動的に解析されます：

| 入力した値            | 保存形式                       |
| ---------------- | -------------------------- |
| `front`          | `"front"` （文字列）            |
| `95`             | `95` （数値）                  |
| `3.14`           | `3.14` （数値）                |
| `true` / `false` | `true` / `false` （boolean） |

<figure><img src="/files/9e32629a005dc64e4665ccb8fecc587ed638ae30" alt=""><figcaption><p>Annotation Toolのmetadataエディタ</p></figcaption></figure>

### Python SDK

を `metadata` 辞書として、画像アップロード時に渡します：

```python
import roboflow

rf = roboflow.Roboflow(api_key="YOUR_API_KEY")
project = rf.workspace("your-workspace").project("your-project")

project.upload(
    image_path="image.jpg",
    metadata={
        "camera_id": "cam001",
        "location": "warehouse-3",
        "temperature": 72.5,
        "is_night": False
    }
)
```

### CLI

次の `roboflow image metadata` コマンドを使って、既存画像のmetadataとtagsを更新します：

```bash
# 1枚の画像にmetadataを設定
roboflow image metadata <image_id> -m '{"camera_id": "cam001", "location": "warehouse-3"}'

# 画像にtagsを追加
roboflow image metadata <image_id> --tags "reviewed,v2"

# metadataキーを削除
roboflow image metadata <image_id> --remove-metadata "old_key,deprecated_field"

# tagsを削除
roboflow image metadata <image_id> --remove-tags "draft"

# 組み合わせ: metadataの設定、tagsの追加、tagsの削除を1回で実行
roboflow image metadata <image_id> -m '{"quality_score": 95}' --tags "reviewed" --remove-tags "pending"

# 複数画像を一括更新（非同期）
roboflow image metadata img1,img2,img3 -m '{"batch": "june-2026"}' --tags "processed" --poll
```

単一のimage IDは同期的に更新されます。カンマ区切りの複数ID（最大1,000件）は一括非同期エンドポイントを使用します。 `--poll` を付けると、一括処理が完了するまで待機します。付けない場合、コマンドは `taskId` を返し、後で `roboflow asynctasks get <task-id>`.

| フラグ                    | 説明                          |
| ---------------------- | --------------------------- |
| `-m`, `--metadata`     | 設定するキー・バリューペアのJSON文字列       |
| `--remove-metadata`    | 削除するmetadataキーをカンマ区切りで指定    |
| `--tags`               | 追加するtagsをカンマ区切りで指定          |
| `--remove-tags`        | 削除するtagsをカンマ区切りで指定          |
| `--poll` / `--no-poll` | バッチ完了まで待機（バッチモードのみ）         |
| `--timeout`            | ポーリングのタイムアウト（秒、デフォルト: 1800） |

### REST API

#### アップロード時にmetadataを追加

画像をアップロードする際、multipart form dataに `metadata` フィールド（JSON文字列化済み）を含めます：

```bash
curl -X POST "https://api.roboflow.com/dataset/your-dataset/upload?api_key=YOUR_API_KEY" \\
  -F "name=image.jpg" \\
  -F "split=train" \\
  -F "file=@image.jpg" \\
  -F 'metadata={"camera_id":"cam001","temperature":72.5}'
```

### S3 Bucket Mirror

次の場合 [Datasources](broken://pages/87c50bd7cb92166a04e9a1e880e692b122ef9297) を使ってS3 bucketから画像を同期する場合、metadataは各画像の横に置かれたJSON sidecarファイル経由で取り込まれます。 [Datasources](broken://pages/87c50bd7cb92166a04e9a1e880e692b122ef9297) sidecarファイルの形式、制約、更新戦略については

## Metadataで検索する

metadataは [Asset Library](/roboflow/roboflow-jp/workspaces/asset-library.md)でインデックス化され、検索可能です。検索バーを使ってmetadata値で画像を絞り込みます：

```
metadata.camera_id:"cam001"
metadata.quality_score>80
metadata.reviewed:true
```

metadataフィルターは他の検索フィルターと組み合わせられます：

```
metadata.location:"warehouse-3" AND class:forklift
```

Asset Libraryでは、workspace内に存在する値に基づいてmetadataキーと値のオートコンプリートも提供されます。

## キー命名規則

metadataキーは次の規則に従う必要があります：

| 規則      | 詳細                                               |
| ------- | ------------------------------------------------ |
| 使用可能な文字 | 英字（`a-z`, `A-Z`）、数字（`0-9`）、アンダースコア（`_`）、ドット（`.`) |
| 最初の文字   | 英字、数字、またはアンダースコアである必要があります                       |
| 禁止文字    | スラッシュ（`/`）は使用できません                               |

有効なキー： `camera_id`, `capture.temperature`, `_internal_ref`, `v2_score`

無効なキー： `camera/id` （含む `/`), `.starts_with_dot` （ `.`), `スペースを含む` （スペースを含む）

## MetadataとTags

Metadataと [tags](/roboflow/roboflow-jp/datasets/manage-datasets/add-tags-to-images.md) はどちらも画像整理に役立ちますが、用途は異なります：

|             | Tags                                 | Metadata                                   |
| ----------- | ------------------------------------ | ------------------------------------------ |
| **構造**      | シンプルなラベル                             | キー・バリューペア                                  |
| **値**       | 値はなく、名前だけ                            | 文字列、数値、またはboolean                          |
| **向いている用途** | 分類、ワークフローの状態                         | 構造化された属性、測定値                               |
| **例**       | `reviewed`, `v2`, `needs-annotation` | `temperature: 72.5`, `camera_id: "cam001"` |

同じ画像に両方を使えます。たとえば、画像に `reviewed` というタグを付け、さらに `reviewer: "alice"` と `confidence: 0.95` をmetadataとして保存できます。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.roboflow.com/roboflow/roboflow-jp/datasets/adding-data/image-metadata.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
