写真メタデータ(IPTC/EXIF/XMP の埋め込み)
画像ファイルに埋め込んだメタデータは、ファイルと一緒に移動する。写真CMS(Photo Mechanic、Lightroom、Capture One など)や通信社の入稿システムは、写真のキャプション・クレジット・権利情報を、別添の文書やメール本文ではなく、ファイル内のIPTCブロックやXMPブロックから読み取る。キャプション・クレジット・代替テキスト・ライセンスがファイルの中になければ、その写真がダウンロード・転送・再アップロードされた瞬間に失われる。
exiftool を1回実行すれば、EXIF・IPTC・XMP の各層をまとめて書き込み、それ以外のタグ(カメラ設定、撮影時刻)はそのまま残せる。
注意:手数料や法令の数値ではないが、各CMS・通信社の入稿要件、ファイル形式の制約、権利処理の扱いは媒体ごとに異なる。配信・掲載前に、自社の写真部・編集規程と配信先の要件を確認すること。本スキルは技術と実務の手引きであり、法的助言ではない。
有能なモデルはフィールド名をすでに知っている。 難しいのは仕組みではなく、以下に挙げる判断である。まずそこを押さえる。
いつ使うか
- 配信用に報道写真を整え、提携先の編集部が検索・クレジット表示・再掲載できるようにする
- 掲載・共有の前に、必須の撮影者クレジットと再利用条件(著作権・ライセンス)を付ける
- 取材1件分(フォルダ内の複数画像)を一括タグ付けする
- 画像をアクセシブルにし(代替テキストの埋め込み)、権利を明確にする(著作権または Creative Commons)
使わない場面: ピクセルそのものを編集する(本スキルはメタデータのみ);HTML の <img> 用の alt 文を書く(別スキル accessibility-compliance 相当を使う);Webページを証拠として保存する(別スキル web-archiving 相当を使う)。
規律(エージェントが間違えるところ)
これは、有能なエージェントでもなお犯す失敗である。どんなタグ名より重要。
- 写っているものだけをキャプションにする。 フレームに写っているものを記述し、聞いた話を書かない。見えない出来事・意図・人物の身元・関係性・法的地位を推測しない。「判決に抗議するために集まったデモ参加者」はフレームに写っていない事実への断定。「裁判所の前でプラカードを掲げる人々」が写真そのもの。
- 人物は見える証拠から書く。 機関や役職は、見える表示——ベストの記載、制服、記章、ワッペン——からのみ示す。それ以外は「防護装備の人々」「青いシャツの男性」と書く。写真から一義的に読み取れない限り、相手の身分・属性を断定しない(例:「容疑者」「逮捕者」などの法的地位の断定をしない)。
- 代替テキストは必ず書く——キャプションとは別物。 両方書く:スクリーンリーダー向けの短い説明を
XMP-iptcCore:AltTextAccessibility に、掲載用キャプションを IPTC:Caption-Abstract に。エージェントはキャプションだけ書いて代替テキストを飛ばしがち。
- 構造化フィールドは中立に保つ。 編集上の意味づけや争いのあるラベルは
Headline に書き、City や Caption-Abstract、場所フィールドには入れない。提携先の編集部はそれぞれの言葉づかいを当てる。構造化フィールドをきれいにしておけば、それができる。
- 元素材からのラウンドトリップを検証する。 メタデータは、バッファ(自分の作業メモリ)からではなく、書き込んだファイルから読み戻して確認する。アップロードや転送のあとは、転送先から読み直す——HTTP 200 はバイト列が受理された証拠であって、メタデータが生き残った証拠ではない。
クイックリファレンス — 重みを担うフィールド
| 役割 | IPTC (IIM) | XMP | EXIF |
|---|
| 撮影者 | By-line | dc:Creator | Artist |
| クレジット | Credit(組織名、最大32バイト) | photoshop:Credit(氏名/組織のフル表記) | — |
| キャプション | Caption-Abstract | dc:Description, iptcCore:ExtDescrAccessibility | ImageDescription |
| 代替テキスト(短) | — | iptcCore:AltTextAccessibility | — |
| キーワード | Keywords(繰り返し可) | dc:Subject | — |
| 著作権 | CopyrightNotice | dc:Rights | Copyright |
| ライセンス (CC) | — | cc:License, xmpRights:Marked/WebStatement/UsageTerms | — |
| 見出し | Headline | photoshop:Headline | — |
| 場所 | Sub-location/City/Province-State/Country-* | iptcCore:Location, photoshop:City/State/Country | — |
| 日付 | DateCreated | photoshop:DateCreated | DateTimeOriginal(真の値) |
タグの全一覧、IPTC-IIM のバイト上限、Creative Commons のフィールド一式、キャプションの組み立て方は reference.md を参照。
3層をまとめて書く1回の実行
CAPTION="○○地裁前でプラカードを掲げる人たち=2026年6月19日午後、東京都千代田区(撮影:田中花子/株式会社○○新聞社)"
ALT="石造りの建物の前の階段に、手書きのプラカードを掲げた人々が立っている。"
exiftool -codedcharacterset=utf8 -overwrite_original \
-EXIF:Artist="田中花子" -XMP-dc:Creator="田中花子" -IPTC:By-line="田中花子" \
-IPTC:Credit="○○新聞社" -XMP-photoshop:Credit="田中花子/株式会社○○新聞社" \
-IPTC:Caption-Abstract="$CAPTION" -XMP-dc:Description="$CAPTION" \
-EXIF:ImageDescription="$CAPTION" -XMP-iptcCore:ExtDescrAccessibility="$CAPTION" \
-XMP-iptcCore:AltTextAccessibility="$ALT" \
-IPTC:Keywords="抗議" -IPTC:Keywords+="千代田区" \
-XMP-dc:Subject="抗議" -XMP-dc:Subject+="千代田区" \
-EXIF:Copyright="(C) 2026 株式会社○○新聞社. 無断転載禁止." \
-IPTC:CopyrightNotice="(C) 2026 株式会社○○新聞社. 無断転載禁止." \
-XMP-dc:Rights="(C) 2026 株式会社○○新聞社. 無断転載禁止." \
-XMP-xmpRights:Marked=True \
-XMP-xmpRights:UsageTerms="(C) 2026 株式会社○○新聞社. 無断転載禁止. クレジット必須:田中花子/○○新聞社." \
-IPTC:City="千代田区" -IPTC:Province-State="東京都" \
-IPTC:Country-PrimaryLocationName="Japan" -IPTC:Country-PrimaryLocationCode="JPN" \
"-IPTC:DateCreated<EXIF:DateTimeOriginal" "-IPTC:TimeCreated<EXIF:DateTimeOriginal" \
"-XMP-photoshop:DateCreated<EXIF:DateTimeOriginal" \
photo.jpg
上の例は全権利留保(無断転載禁止)の社内写真を想定している。Creative Commons などのオープンライセンスで配信する場合の cc:License・xmpRights:WebStatement 等の付け方は reference.md を参照。
そのあと、ファイルから検証する(エージェントが飛ばす工程):
exiftool -G1 -s -IPTC:By-line -IPTC:Caption-Abstract \
-XMP-iptcCore:AltTextAccessibility -IPTC:CopyrightNotice -IPTC:Keywords photo.jpg
フォルダを一括タグ付けする
取材1件分には、ファイルごとに1コマンドを打つのではなく、マニフェスト(一覧定義ファイル)から exiftool を駆動する。このディレクトリの embed.py は、フォルダと JSON マニフェスト(クレジットやライセンスなどの共通フィールドと、画像ごとの代替テキスト・キャプション・キーワード)を受け取り、タグ付け済みのコピーを書き出し、各ファイルを読み戻してメタデータが反映されたかを確認する。python3 embed.py --help を実行。
よくある間違い(基準テストより)
| 間違い | 対処 |
|---|
| キャプションは書いたが代替テキストがない | AltTextAccessibility も必ず書く——別フィールド |
By-line/Credit/City が黙って切り詰められた | これらの IIM フィールドは32バイト上限。フル表記は XMP-photoshop:Credit へ |
| 写っていないことをキャプションに書いた | 見えるものだけを記述し、見えない文脈は外へ |
編集上のラベルを City やキャプションに入れた | 意味づけは Headline へ。構造化フィールドは中立に |
| アップロードでメタデータが保たれたと思い込んだ | 転送先ファイルから読み直す |
| キーワードをカンマ区切りの1文字列にした | 繰り返し可能な Keywords レコード(と dc:Subject リスト)で書く |
| ライセンス表記をプレーンテキストだけで入れた | 機械可読の cc:License や xmpRights:Marked も付ける(オープンライセンス配信時) |
日本の権利・倫理(必ず踏まえる)
メタデータは技術だが、何を書くかは権利と倫理の判断である。日本の実務では次を押さえる。
- 著作権(撮影者・社の権利)。 写真の著作権は撮影者に生じる(著作権法。職務上撮影した場合の職務著作の扱いや、社との取り決めは各社規程による)。クレジット表記は著作者人格権のうち氏名表示権にもかかわる。撮影者名・社名は省かず、
By-line・Credit・XMP-photoshop:Credit に正しく入れる。フリーランス・通信社・他社配信・読者提供の写真は、利用許諾の範囲(媒体・期間・二次利用の可否)を確認し、UsageTerms に明記する。
- 肖像権・パブリシティ権。 写り込んだ個人には肖像権がある。報道目的・公共の場・公益性などにより許容される範囲は変わるが、私的な場面、子ども、医療・福祉施設内、被害者・容疑者の家族などは特に慎重に。掲載可否は写真部・デスクと判断する。メタデータのキャプションに、本人が特定される不要な個人情報(住所・勤務先など)を書き込まない。
- クレジット表記。 日本の紙面・Webでは「撮影者名=社名」「(社名)」「(C) 社名」など媒体ごとの形式がある。配信・転載時にクレジットが落ちないよう、
Credit・CopyrightNotice・UsageTerms の3か所に必要表記を入れておく。提供写真・通信社写真は、提供元が指定するクレジットをそのまま使う。
- 報道写真の取り扱い倫理。 合成・切り貼り・本質を変える加工はしない(明るさ・トリミングなど報道上許容される範囲は自社の写真規程に従う)。やらせ・演出を事実写真として扱わない。撮影日時・場所はカメラの値(EXIF
DateTimeOriginal)を真の値とし、キャプションの日時と矛盾させない。災害・事故・遺体・自殺など配慮を要する場面は、社内の取材・掲載ガイドラインに従う。
- 米国固有の権利表記は置換。 原典の「all-rights-reserved」「AP の州略記」などは、日本の「無断転載禁止」「都道府県・市区町村表記」に置き換えている。Creative Commons は国際的な枠組みのためそのまま利用できる(
reference.md 参照)。
実務上のインパクト
埋め込まれたメタデータは、提携先の編集部が写真を見つけ、正しくクレジットを付け、明確な条件のもとで再掲載することを、撮影者に一度も連絡せずに可能にする。これを剥ぎ取れば、同じ写真は出所不明の孤児ファイルになる。
出典・ライセンス(帰属表示)
本スキルは claude-skills-journalism(by Joe Amditis, MIT License, © 2025 Joe Amditis,
https://github.com/jamditis/claude-skills-journalism )の journalism-core/photo-metadata を
原典の構成(概観・使用場面・規律・フィールド対応表・一括タグ付け・よくある間違い)に沿って日本語化し、
米国固有の権利表記(all-rights-reserved 等)やAP通信のスタイル・州略記を日本の著作権・肖像権、
クレジット表記、報道写真の取り扱い倫理に再構成したものです。
IPTC/EXIF/XMP の技術仕様や Creative Commons は国際的な枠組みのため原典の内容を踏襲しています。
原典の著作物本文(AP Stylebook 等)は転載していません。原作者の公認・推奨を受けたものではありません。
MIT ライセンス全文は同梱の LICENSE-MIT.txt を参照。