お断り: 本記事は 2026 年 5 月 19 日付の Google ブログ記事 Making it easier to understand how content was created and edited と、Gemini アプリのヘルプ Verify Google AI-generated images, videos, and audio with SynthID の内容を踏まえ、筆者が 2026 年 5 月 23 日に Gemini アプリで実際に画像を生成・検証し、ダウンロードした画像を
c2patool(v0.26.50)で読み出して整理したものです。Gemini 側の画面挙動はロールアウト状況・地域・モデル更新で変わり得ます。最新の挙動は Google 公式の説明をご確認ください。本記事に誤りや古くなった箇所を見つけられた場合は、記事末尾のフィードバック枠よりお知らせいただけると助かります。
はじめに
2026 年 5 月 19 日、Google が「コンテンツがどう作られ、どう編集されたか」を理解しやすくする一連の取り組みを発表しました。Gemini アプリの SynthID 検証は既に世界で 5,000 万回(50 million times)使われているとされ、ここに C2PA Content Credentials の検証が乗り、さらに Search や Chrome にも段階的に広がっていく流れが明示されています。Pixel 8 / 9 / 10 の動画にも Content Credentials が数週間内に拡張される予定で、Meta も Instagram でカメラ由来の Content Credentials をラベル表示する方針を表明しています。
C2PA を専門にやっている当社としては、これまで c2patool などの開発者向けツールが中心だった「Manifest を読む」操作が、一般ユーザーにとっても少し身近になってきたな、というくらいの受け止めです。本記事ではその発表内容を整理したうえで、Gemini アプリで実際に検証機能を触ってみた結果と、同じ画像を c2patool で読み出した結果を並べて、「一般ユーザーに見える情報」と「実装者が見ているデータ」の段差を整理します。
5 月 19 日の発表で何が変わるのか
要点を絞ると次の 4 つです。
| 項目 | 内容 |
|---|---|
| Gemini の C2PA 検証 | 「これはオリジナルか、何で編集されたか」を Gemini アプリで確認可能に。同日からロールアウト開始 |
| Search / Chrome への展開 | Lens・AI Mode・Circle to Search・Gemini in Chrome から SynthID 検証が使える。C2PA 検証も今後数か月で順次 |
| Pixel の動画対応 | Pixel 8 / 9 / 10 のネイティブカメラが画像に続いて動画にも Content Credentials を付与 |
| Instagram のラベリング | Meta が Instagram でカメラ由来の Content Credentials をラベル表示する方針を表明 |
加えて Google Cloud 側では「AI Content Detection API」が Gemini Enterprise Agent Platform 上で公開され、Google 製モデル以外も含めた AI 生成判定が API として呼べるようになりました。本記事では一般ユーザー向け機能(Gemini アプリでの検証)にフォーカスし、API 側は別途扱います。
ポイントは、C2PA は「業界標準としてゆるく広がっていく」段階から「ユーザーの目に触れる UI として刺さる」段階に入ったということです。Pixel カメラで撮影 → Instagram でラベル表示 → Gemini で検証、という消費者導線が初めて一本につながりました。
Gemini アプリで今できること
ヘルプの記述から、現時点で Gemini アプリでできることを整理します。
| 種類 | サポート対象 | 制限 |
|---|---|---|
| 画像 | 単一ファイル、100 MB 以下 | 1 日あたり概ね 10 回 |
| 動画 | 90 秒未満、100 MB 以下 | 1 日あたり概ね 10 本、合計 5 分まで |
| 音声 | 1 時間未満 | 1 日あたり合計 3 時間まで |
やってみた (1): Gemini で画像を生成して Gemini に検証させる
まず Gemini アプリで「机の上にサボテンが置いてある画像を生成して」と頼みます。

生成された画像はこちらです。

これを別の Gemini セッションにアップロードし直して「Is this AI generated?」と聞いてみます。

応答はこうでした。
はい。この画像ファイルには、Google LLC(Google Media Processing Services)の AI によって作成および編集されたことを示す安全な記録が含まれています。
これらの種類の記録は C2PA Content Credentials と呼ばれ、コンテンツの出所と履歴をファイルに安全に埋め込みます。
注目してほしいのは、Gemini が「SynthID 透かしを検出した」ではなく「C2PA Content Credentials が含まれている」と明示的に答えている点です。5 月 19 日からの C2PA 検証ロールアウトが実機で確かに動いていて、Manifest を直接読み取って claim_generator(Google LLC / Google Media Processing Services)を要約しているのが見て取れます。質問は英語で投げましたが、応答は日本語で返ってきました。
やってみた (2): 同じ画像を c2patool で読む
ここからが実装者視点での見え方です。生成画像を PC のブラウザから直接ダウンロードして、c2patool (v0.26.50) で Manifest を読みます。
c2patool Gemini_Generated_Image_bqklr7bqklr7bqkl.png | jq '{
active_manifest,
validation_state
}'
{
"active_manifest": "urn:c2pa:ae81ba4c-c9cc-2b79-4e4a-45f8dacc979d",
"validation_state": "Valid"
}
validation_state: Valid は「Manifest 全体が署名検証・整合性チェックの両方をパスした」という意味です。Gemini が「Google LLC の AI で作成および編集されたことを示す安全な記録」と要約するときの裏側はここに対応します。
active manifest の中身を絞って見ます。
c2patool Gemini_Generated_Image_bqklr7bqklr7bqkl.png | jq '
.manifests["urn:c2pa:ae81ba4c-c9cc-2b79-4e4a-45f8dacc979d"] | {
claim_generator_info,
signature_info: (.signature_info | {alg, issuer, time, cert_serial_number}),
actions: [.assertions[] | select(.label=="c2pa.actions.v2") | .data.actions[] | {action, digitalSourceType}],
ingredient: (.ingredients[0] | {relationship, parent_manifest: .active_manifest})
}'
{
"claim_generator_info": [
{
"name": "Google C2PA Core Generator Library",
"version": "914819096:914819096"
}
],
"signature_info": {
"alg": "Es256",
"issuer": "Google LLC",
"time": "2026-05-23T08:51:30+00:00",
"cert_serial_number": "3655090356939435118458746357446390718679319596"
},
"actions": [
{ "action": "c2pa.opened", "digitalSourceType": null },
{ "action": "c2pa.edited", "digitalSourceType": "http://cv.iptc.org/newscodes/digitalsourcetype/composite" },
{ "action": "c2pa.converted", "digitalSourceType": null }
],
"ingredient": {
"relationship": "parentOf",
"parent_manifest": "urn:c2pa:54849d48-33d0-10a3-9dad-42807910518f"
}
}
ここまで来ると、Gemini が要約していた情報の出どころが具体的に見えます。
- 「Google LLC の AI で作られた」:
claim_generator_info.name = "Google C2PA Core Generator Library"とsignature_info.issuer = "Google LLC" - 「C2PA Content Credentials が含まれている」: ES256 署名された Manifest が JUMBF として埋まっていて
validation_stateがValid - 「作成および編集された」: active manifest 側の actions が
c2pa.opened→c2pa.edited(composite)→c2pa.convertedの系列
面白いのは、active manifest がさらに親 Manifest(urn:c2pa:54849d48-...)を ingredient として参照していることです。親 Manifest 側の actions を辿ると c2pa.created の digitalSourceType が trainedAlgorithmicMedia(IPTC の「学習済みアルゴリズムによるメディア」を意味するコード)になっていて、これが「AI で初めて生成された時点」の宣言です。つまり Gemini の出力は、「Imagen / Nano Banana Pro 系で生成された原画像」を「Gemini アプリ側でユーザー向けに変換・合成した」二段構成として Manifest に記録されています。
Manifest URN や JUMBF ボックスの並びといった生データは c2patool 側にしか出てきません。このあたりの読み方は c2patool で Manifest を覗いてみる と C2PA の Manifest 構造 で詳しく扱っています。
Gemini と c2patool で何が読めるかを並べる
同じ画像に対して、両者が「ユーザーに返す情報」を整理します。
| 観点 | Gemini アプリ | c2patool |
|---|---|---|
| 用途 | 一般ユーザーの真正性チェック | 開発・運用・監査の生データ確認 |
| 出力形式 | 自然文要約(日本語含む多言語) | 構造化 JSON(Manifest Store 全体) |
| 「AI かどうか」判定 | C2PA Manifest を読み取り、claim_generator から判定 | C2PA Manifest の有無・内容・署名検証で判定 |
| クリエイター情報 | 「Google LLC(Google Media Processing Services)の AI」のように要約 | claim_generator_info.name と signature_info.issuer を生で参照 |
| 編集履歴 | 「作成および編集された」程度の要約 | c2pa.actions.v2 の全 action と digitalSourceType を完全に追える |
| 署名 / 証明書 | 表面には出ない | issuer / alg / time / cert_serial_number / 証明書チェーン全体 |
| Manifest URN・JUMBF 構造 | 出ない | 完全に出る |
| Ingredient(親 Manifest) | 出ない | parentOf 関係と親 Manifest URN を直接参照可能 |
| 1 日の利用回数 | 概ね 10 回(画像) | 制限なし |
専門家視点での所感
3 点に絞って書きます。
- Manifest はもうエンドユーザーに「見られる」前提で書く
これまでは Manifest がエンドユーザーに直接届くケースは少なく、設計の主目的は「監査の妥当性」「他社プラットフォームでの相互運用」でした。今回 Gemini に取り込まれたことで、これからは「Gemini が要約したときに、ユーザーにとって意味のある文に化けるかどうか」が品質の指標になっていきます。c2pa.actions.v2 のアクション系列と CAWG identity の埋め方を雑にやると、ユーザー画面に出る要約も雑になる可能性があります。
- 配信経路ごとの「剥がれ」を前提にした運用
C2PA Manifest は JUMBF ボックスとしてファイルに埋め込まれている以上、再エンコードやメタデータを保持しない転送経路を通れば消えます。Gemini アプリ内でせっかく Manifest を読み取って真正性を判定できても、ユーザーが画像をメッセンジャーや SNS、写真アプリ経由でやり取りした瞬間に検証材料が失われます。実装側は「ユーザーがどの経路で画像を持ち出すか」によって C2PA 検証の成立率が変わる前提で、剥がれた場合のフォールバックを SynthID 透かしや soft binding でどう積むかを設計する必要があります。翌 5 月 20 日に OpenAI が SynthID 併用を発表したのは、まさにこの「剥がれ」を生成事業者側が公認した動きです。
- 検証 UI の標準化が始まる
Pixel カメラ → Instagram → Gemini という消費者導線がつながったことで、検証 UI の文言や見せ方が事実上の業界標準になっていきます。自社で C2PA を導入する事業者は、自前 UI で Manifest を見せる場合も、Gemini が出す要約と矛盾しない語彙で表示しておくと、ユーザーの混乱が減ります。
まとめ
Gemini アプリの C2PA / SynthID 検証は、今のところユーザー視点では「これは Google AI で作られたか」「これはカメラで撮ったオリジナルか」を質問できるシンプルな機能です。裏側では SynthID watermark と C2PA Content Credentials という別系統の仕組みが動いていて、c2patool で同じ画像を読むと、Gemini が要約として返した内容の出どころが Assertion 単位で具体的に見えます。
C2PA を実装する側にとっては、Manifest がエンドユーザーの目に触れる前提の時代に切り替わったということ。今のうちに Action 履歴と CAWG identity の設計を整えておけば、Gemini や類似の検証 UI で表示されたときに、ユーザーに伝わる Manifest になります。
当社(合同会社テックサンクス)は C2PA 専門でコンテンツ来歴対応の受託開発・実装コンサル・技術顧問を提供しています。Manifest 設計の見直しや署名インフラの構築でお困りでしたら、サービス案内からお気軽にご相談ください。
参考リンク
- Google ブログ「Making it easier to understand how content was created and edited」: https://blog.google/innovation-and-ai/products/identifying-ai-generated-media-online/
- Google ブログ「How we’re bringing AI image verification to the Gemini app」: https://blog.google/innovation-and-ai/products/ai-image-verification-gemini-app/
- Gemini ヘルプ「Verify Google AI-generated images, videos, and audio with SynthID」: https://support.google.com/gemini/answer/16722517
- C2PA Technical Specification v2.4: https://spec.c2pa.org/specifications/specifications/2.4/specs/C2PA_Specification.html