動画広告の字幕・テロップを、原稿と表記ルール・注釈の指定に照らして、誤字・表記ゆれ・注釈の抜けを納品前に点検する
納品前の動画広告から、画面のテロップとナレーションを時刻付きで書き出し、確定原稿・広告主の表記ルール・注釈の指定と突き合わせます。誤字、表記ゆれ、注釈の抜けと出し方の食い違いを、直す箇所の一覧にして制作担当へ返します。
- 生成AI
- ChatGPT/Claude/Gemini
- 連携・自動化
- Python
- 対象業界
- EC/不動産/小売/広告
- 対象部門
- マーケティング
- 対象業務
- 内容確認・チェック/比較検討
- 主な課題
- 人手が足りない/属人化している/確認ミスが多い
- AIで行う処理
- 校正
- 主な効果
- 入力漏れ削減/品質標準化/工数削減
- 導入難易度
- ★★☆☆☆
- 実装レベル
- 半自動化
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 編集所から納品前の動画が共有ドライブに届く
- 制作担当が確定原稿と、その広告主の表記ルール集を開く
- 動画を再生し、テロップが出るたびに一時停止して原稿と1文字ずつ見比べる
- ナレーションを聞き、ナレーション原稿と食い違いがないかを確かめる
- 注釈の指定を見ながら、強調表示の画面に注釈が出ているか、何秒出ているかをシークバーで確かめる
- 尺違いの版ごとに、3番から5番をくり返す
- 直す箇所を一覧に書き、時刻を添えて編集所へ修正を依頼する
- 人編集所から届いた動画を、案件フォルダの「点検待ち」に置く
- 自動フォルダへの保存をきっかけに処理が動き、確定原稿・表記ルール・注釈の指定がそろっているかを確かめる
- 自動動画を Gemini API の Files API に上げる
- 自動Gemini API が、テロップとナレーションを時刻付きで書き出す
- 自動書き出した内容を確定原稿・表記ルール・注釈の指定と突き合わせ、食い違いの候補を出す
- 自動注釈の抜けの疑いがある区間だけを切り出し、細かいコマ間隔で読み直す
- 自動注釈の表示時間と、強調表示と同じ画面に出ているかを時刻から計算する
- 自動直す箇所の一覧を、時刻と根拠付きで作る
- 人制作担当が一覧を見て、指摘の箇所だけを動画で確かめる
- 人直すと決めたものを編集所へ依頼する。注釈の出し方が基準に足りるかは担当者が判断する
各工程の詳しい説明を読む
- 編集所から納品前の動画が共有ドライブに届く
- 制作担当が確定原稿と、その広告主の表記ルール集を開く
- 動画を再生し、テロップが出るたびに一時停止して原稿と1文字ずつ見比べる
- ナレーションを聞き、ナレーション原稿と食い違いがないかを確かめる
- 注釈の指定を見ながら、強調表示の画面に注釈が出ているか、何秒出ているかをシークバーで確かめる
- 尺違いの版ごとに、3番から5番をくり返す
- 直す箇所を一覧に書き、時刻を添えて編集所へ修正を依頼する
(a)尺違いの版で注釈だけが消える。 30秒の版から15秒の版を作るとき、編集所は場面を詰めます。強調表示の場面は残り、注釈が付いていた次の画面だけが削られることがあります。30秒の版を丁寧に見た担当者ほど、15秒の版は「同じ素材だから」と流しがちです。
(b)一瞬のテロップを見落とす。 動画広告のテロップは、1秒に満たない時間で切り替わることがあります。再生しながら見ていると、文字を読み終わる前に次の画面になります。 一時停止をくり返せば見られますが、1本に時間がかかります。
(c)表記ゆれは原稿ではなく打ち直しで起きる。 確定原稿は「お客さま」なのに、編集所がテロップを打ち直したときに「お客様」になる。原稿を何度確認しても、このずれは見つかりません。 完成した動画を見るしかありません。
(d)見る項目が人によって違う。 注釈の表示秒数や、ナレーションでも読まれているかまで見るのは一部の担当者です。誰が確認したかで、納品物の品質が変わります。
- 【人】 編集所から届いた動画を、案件フォルダの「点検待ち」に置く
- 【自動】 フォルダへの保存をきっかけに処理が動き、確定原稿・表記ルール・注釈の指定がそろっているかを確かめる
- 【自動】 動画を Gemini API の Files API に上げる
- 【自動】 Gemini API が、テロップとナレーションを時刻付きで書き出す
- 【自動】 書き出した内容を確定原稿・表記ルール・注釈の指定と突き合わせ、食い違いの候補を出す
- 【自動】 注釈の抜けの疑いがある区間だけを切り出し、細かいコマ間隔で読み直す
- 【自動】 注釈の表示時間と、強調表示と同じ画面に出ているかを時刻から計算する
- 【自動】 直す箇所の一覧を、時刻と根拠付きで作る
- 【人】 制作担当が一覧を見て、指摘の箇所だけを動画で確かめる
- 【人】 直すと決めたものを編集所へ依頼する。注釈の出し方が基準に足りるかは担当者が判断する
9番目が、この設計の分かれ目です。人が見るのは指摘の箇所だけです。 動画を頭から一時停止しながら見直す設計にすると、30分はほとんど減りません。一覧の時刻をクリックして、その数秒だけを確かめます。
6番目の読み直しを省かないことも大事です。 1回目の読み取りで見つからなかった注釈を、そのまま「抜け」として返すと、取りこぼしと本当の抜けが区別できません。 編集所に「入っていますよ」と返されるたびに、一覧への信頼が落ちます。
02今回想定するシステム構成
編集所から届いた動画(mp4 など) │ ▼【トリガー】案件フォルダ「点検待ち」への保存 Python(連携) ├──▶ 確定原稿・表記ルール・注釈の指定がそろっているかの確認 ├──▶ Files API へ動画を上げる ▼ Gemini API ── テロップとナレーションを時刻付きで書き出す ▼ Python ── 原稿との文字列の差分、表記ルールの照合 ▼ Gemini API ── 注釈の抜けの疑いがある区間だけを、細かいコマ間隔で読み直す ▼ Python ── 注釈の表示時間と、強調表示との同一画面の判定 ▼ 直す箇所の一覧(時刻・種類・根拠) ▼ 【人が指摘の箇所だけ確認】→ 編集所へ修正依頼
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 処理 | Gemini API(動画の映像と音声からテロップとナレーションを時刻付きで書き出し、原稿と照らす) | Claude API(コマを静止画に切り出して渡す)、OpenAI API |
| 差異計算 | Python(原稿との文字列の差分、表示時間の計算) | 差分比較ツールの手作業 |
| 保管 | 共有ドライブ(動画、原稿、点検の一覧) | SharePoint、Box |
| 通知 | チャットツール(点検の完了と指摘の件数) | メール |
原稿と表記ルールは、新しく作るものではありません。 すでに広告主と取り交わしている確定原稿と表記ルール集を、機械が読める形にそろえるのが最初の準備作業です。 特に注釈の指定は、「どの強調表示に、どの注釈を付けるか」の対応表にしておきます。
中心になるのは、Gemini API の動画理解です。 映像と音声の両方を処理し、動画の内容の説明や質問への回答ができます。プロンプトのなかで特定の時点を指すときは MM:SS の形式を使うよう案内されています。
入力の方法は2つあります。 Files API は大きいファイルや長い動画、何度も使うファイル向けで、リクエスト全体が20MBを超えるときや、同じ動画を複数のプロンプトで使うときは Files API を使うよう案内されています。小さい動画はリクエストに直接入れることもできますが、この構成では1回目の読み取りと区間の読み直しで同じ動画を2度使うので、Files API にします。 上げたファイルは48時間保存され、それより前に削除することもできます。
読み取りの細かさは、処理の設定で変えられます。 既定は1秒に1コマで、動きの速い映像や場面の切り替えが速い動画では細部を取りこぼすことがあるとされています。start_offset と end_offset で区間を切り出し、fps でコマの間隔を変えられます。 この2つは静的(static)処理のときだけ使える設定です。短い動画で全体のコマの精度が要る用途には静的処理が向くとされており、30秒前後の広告はこちらに当たります。
03どうやって実装するのか
処理の起点を決める
案件フォルダの「点検待ち」に動画が置かれたことを起点にします。 編集所からの納品は、修正のたびに版が上がって何度も届きます。1日1回まとめて点検すると、修正の往復が1日ずつ延びます。 置かれた時点で1本ずつ動かします。
起点を「編集所から届いたとき」ではなく、担当者が「点検待ち」に置いたときにしているのは、届いたものすべてが点検の対象ではないからです。仮の編集や、広告主に見せる前の試写用のものまで流すと、指摘の一覧が意味のないもので埋まります。
処理が終わったら、動画を「点検済み」へ移します。移すのは一覧の作成まで成功したときだけです。 「点検待ち」に残っている本数が、そのまま未処理の本数になります。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 動画 | 納品前の動画。案件番号、尺、媒体、版の番号 | 案件フォルダ |
| 確定原稿 | テロップ原稿(画面ごとの文言)とナレーション原稿 | 案件フォルダの原稿 |
| 表記ルール | 広告主ごとの商品名の書き方、記号、数字の全角半角、言い換えの一覧 | 広告主ごとのルール集 |
| 注釈の指定 | 強調表示ごとに付ける注釈の文言と、広告主が求める出し方 | 原稿に添付された対応表 |
| 前の版の点検結果 | 同じ企画のほかの尺・前の版で出た指摘 | 点検の一覧の履歴 |
質を決めるのは、注釈の指定です。 「満足度No.1」に「※2026年○月 当社調べ」を付ける、と対応表になっていれば、AIは強調表示を見つけたときに何を探せばよいかが分かります。対応表がなければ、注釈が抜けているかどうかを判定できません。
前の版の点検結果は、尺違いの確認に使います。 30秒の版で出ていた注釈が、15秒の版で消えていないか。同じ企画のなかで比べると、第3章の(a)が見つかります。
データの取得方法を決める
動画は Files API に上げ、返ってきたファイルの参照を使って Gemini API を呼びます。アップロードのあと、処理が終わるまで待ってから呼ぶ手順は公式の例にもあります。
| 取るもの | どこから | 何に使うか |
|---|---|---|
| テロップの文字と、出ている区間 | Gemini API の1回目の読み取り | 原稿との照合、表示時間の計算 |
| ナレーションの文字と時刻 | Gemini API の1回目の読み取り(音声) | ナレーション原稿との照合、注釈が読まれているか |
| 区間を細かく読み直した結果 | Gemini API の2回目の呼び出し(区間を切り出し、コマの間隔を細かくする) | 注釈の抜けの疑いを確かめる |
| 原稿・表記ルール・注釈の指定 | 案件フォルダとルール集 | 照らし合わせの基準 |
1回目は動画全体を既定に近い設定で読み、2回目は疑いのある区間だけを細かく読みます。 全体を最初から細かいコマ間隔で読むと、テロップの少ない場面までトークンを使います。細かく読むのは、確かめる必要がある数秒だけにします。
テロップの小さい文字を読むために、メディアの解像度を上げます。 解像度を上げると細かい文字や小さな部分を読み取る力が上がる一方、トークン数と待ち時間が増えるとされています。注釈は画面の隅に小さな文字で出ることが多いので、この用途では解像度を上げる側に倒します。
AIへ渡す前に整形する
- そろっているかの確認 … 確定原稿・表記ルール・注釈の指定のどれかが無いときは、読み取りを始めずに担当者へ戻します
- 形式の確認 … mp4 や mov など、対応している動画の形式であることを確かめます
- 版の確認 … ファイル名から案件番号・尺・媒体・版の番号を取り、原稿の版と合っているかを確かめます
- 原稿の分解 … テロップ原稿を画面ごとの文言に分け、ナレーション原稿を文ごとに分けます
- 注釈の対応表の展開 … 強調表示の文言と、付けるべき注釈の文言を1行ずつの組にします
- 表記ルールの展開 … 「お客様→お客さま」のような置き換えの組と、商品名の正しい表記を一覧にします
- 同じ企画の前の版の取得 … ほかの尺・前の版で検出された注釈の一覧を引きます
3番目を軽く見ないでください。 修正前の原稿と修正後の動画を比べると、直したはずの箇所がすべて「食い違い」として出ます。 版のずれは、指摘の一覧を一番早く信頼できないものにします。
AIに処理させる
1回目にさせるのは、動画に出ている文字と聞こえる言葉を、時刻付きでそのまま書き出すことです。 原稿と照らすのはそのあとです。書き出す段階で原稿を見せると、原稿に引きずられて「正しく読めた」ことにしてしまうからです。
| 見るもの | 判定の仕方 | 判断できないときの扱い |
|---|---|---|
| テロップの文字 | 画面に出ている文字を、そのまま書き出す。出始めと出終わりの時刻を付ける | 小さくて読めない文字は unreadable |
| ナレーション | 聞こえた言葉を文ごとに書き出し、時刻を付ける | 音楽に重なって聞き取れない箇所は unclear |
| 原稿との食い違い | 書き出した文字と確定原稿の文言の差 | 原稿のどの行に当たるか決まらないものは unmatched |
| 表記ルール | 置き換えの組と商品名の正しい表記に当たる箇所 | ルールに無い表記は指摘しない |
| 注釈の有無 | 強調表示が出た画面とその前後に、指定された注釈があるか | 1回目で見つからないものは not_detected とし、読み直しに回す |
| 注釈の出し方 | 同じ画面に出ているか、出ている秒数、ナレーションでも読まれているか | 時刻が取れないものは ambiguous |
右端の列の not_detected が、この構成でいちばん大事な区別です。 1回目で見つからなかったというのは、「動画に無い」ではなく「1回目の読み方では拾えなかった」ということです。区間を切り出し、コマの間隔を細かくして読み直し、それでも無いものだけを missing にします。
2回目の読み直しで見つかったものは、表示時間が短い可能性が高いと考えます。 1秒に1コマで拾えなかったということは、出ている時間が短いか、画面の隅で小さいかのどちらかです。抜けではなくても、出し方の確認が要るものとして一覧に残します。
| させないこと | 理由 |
|---|---|
| 注釈の出し方が景品表示法上適切かの結論 | 判断は広告主と法務の側にある。AIは時刻と配置の事実だけを返す |
| 原稿の内容の正誤 | 確定原稿は広告主の確認を終えたもの。原稿を直す提案はしない |
| 読めなかった文字の補完 | 原稿に書いてあるはずの文字で埋めると、見つけたかった誤字が消える |
| 表示秒数の合否 | 何秒あれば足りるかは広告主ごとの基準で決める |
| 編集所への修正依頼の送信 | 版の管理と編集所との関係に関わる。人が送る |
3行目がいちばん起きやすい失敗です。 小さくて読めないテロップを、原稿の文言で補って書き出すと、その瞬間、原稿と動画が一致したことになります。 1回目の書き出しに原稿を渡さない理由がこれです。
指示内容を固定する
1回目(書き出し)の指示:
あなたは動画広告の納品前の点検を手伝う立場です。
この動画に出ている文字と、聞こえる言葉を、時刻付きでそのまま書き出してください。
原稿は渡しません。見えたもの・聞こえたものだけを書いてください。
【書き出すもの】
1. テロップ・字幕・注釈など、画面に出ているすべての文字
- 出始めと出終わりの時刻を MM:SS で
- 画面のどこに出ているか(上・中央・下・隅)
- 文字の大きさの目安(大・中・小)
2. ナレーションと、登場人物のせりふ
- 文ごとに、話し始めの時刻を MM:SS で
【厳守事項】
- 読めない文字を推測で埋めないでください。読めない部分は status を
unreadable とし、読めた部分だけを text に入れてください。
- 聞き取れない言葉を推測で埋めないでください。status を unclear にしてください。
- 誤字に見えても、画面に出ているとおりに書き写してください。
正しい書き方に直さないでください。
- 「お客様」「お客さま」のような表記の違いも、出ているとおりに書いてください。
- 同じ文字が続けて出ている場合は、1件として出始めと出終わりを書いてください。
- 商品の画像に写っている文字(パッケージの印字など)は、kind を package にして
テロップと分けてください。
- 文字の内容が正しいか、広告として適切かは書かないでください。
2回目(区間の読み直し)の指示:
この区間に、次の文字が出ているかを確かめてください。
【探す文字】{expected_note}
出ていれば、出始めと出終わりの時刻と、画面のどこに出ているかを書いてください。
一部だけ読める場合は、読めた部分だけを書き、status を partial にしてください。
出ていなければ found を false にしてください。
似た文字を見つけても、同じ文字として扱わないでください。
「正しい書き方に直さない」を明記しないと、誤字を直して書き出します。 生成AIは自然な日本語を返そうとするので、「お問合わせ」を「お問い合わせ」に、「¥1,980」を「1,980円」に整えます。整えた瞬間、点検の材料が消えます。
2回目の指示で「似た文字を同じ文字として扱わない」と書いているのは、注釈の文言が少しだけ違う場合を拾うためです。 「※当社調べ」と「※2026年○月 当社調べ」は似ていますが、調査時期の抜けは注釈の抜けと同じくらい重い指摘です。
出力形式を固定する
1回目の書き出しは、次の形のJSONで受け取ります。 Gemini API の構造化出力で JSON スキーマを渡し、この形を守らせます。
{
"video_id": "",
"duration": "00:30",
"captions": [
{ "start": "00:04", "end": "00:06", "text": "", "kind": "telop | subtitle | note | package",
"position": "top | center | bottom | corner", "size": "large | medium | small",
"status": "ok | unreadable" }
],
"narration": [
{ "start": "00:03", "text": "", "status": "ok | unclear" }
]
}
照らし合わせたあとの指摘の一覧は、Python が次の形で作ります。
{
"video_id": "",
"script_version": "",
"findings": [
{ "time": "00:05", "type": "typo | style | note_missing | note_partial | note_short | note_separate_screen | narration_diff",
"found": "", "expected": "", "rule": "", "evidence": "" }
],
"re_read": [
{ "range": "00:04-00:08", "expected_note": "", "result": "found | partial | not_found" }
],
"summary": { "typo": 0, "style": 0, "note_missing": 0, "needs_review": 0 }
}
1つ目の理由は、書き出しと指摘を別の層に置けることです。 captions と narration は動画に何があったかの記録、findings は原稿と照らした結果です。表記ルールが変わっても、書き出しをやり直す必要はありません。
2つ目は、時刻で動画に戻れることです。 time を見て、その数秒だけを再生すれば確認が終わります。頭から見直す必要がありません。
3つ目は、re_read に読み直しの経緯が残ることです。 1回目で見つからず、2回目で見つかった注釈は note_short の候補として残します。「抜けではないが、出ている時間が短いかもしれない」という指摘は、この記録がないと出せません。
type | 意味 | 人の確認 |
|---|---|---|
typo | 原稿の文言と1文字以上違う | 動画で確かめて修正依頼 |
style | 表記ルールの置き換えの組に当たる | ルール集と照らして修正依頼 |
note_missing | 読み直しても指定の注釈が見つからない | 最優先で確かめる |
note_partial | 注釈の一部だけが見つかった | 文言の抜けを確かめる |
note_short | 2回目で見つかった、または表示秒数が広告主の基準を下回る | 出し方を担当者が判断 |
note_separate_screen | 強調表示と注釈が別の画面に出ている | 出し方を担当者が判断 |
narration_diff | ナレーションが原稿と違う | 音声で確かめて修正依頼 |
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 案件フォルダ | Python の定期確認 | 「点検待ち」への保存を検知し、原稿と表記ルールを読む |
| Gemini API | API呼び出し(Files API を含む) | 動画の書き出しと、区間の読み直し |
| 指摘の一覧 | 共有ドライブへの書き出し | 案件ごとの点検結果を表で残す |
| チャットツール | 通知 | 点検の完了と、note_missing の件数を担当者へ知らせる |
編集所へは、この構成から直接送りません。 指摘の一覧は担当者が見て、直すものだけを選んで依頼します。自動で送ると、取りこぼしによる誤った指摘まで編集所に届きます。
通知には note_missing の件数を必ず入れます。 誤字は後でまとめて直せますが、注釈の抜けは、そのまま納品すると広告主にとって重い問題になります。 件数が1以上の動画を、担当者が最初に開けるようにします。
人が確認する
人が見るのは、指摘の一覧と、指摘のある数秒の動画だけです。 動画を頭から見直す設計にすると、第10章の20.0時間には収まりません。
note_missingとnote_partialを最初に見る … 指摘の時刻の前後を再生し、本当に注釈が無いかを目で確かめますnote_shortとnote_separate_screenを判断する … 表示秒数と配置を見て、広告主の基準に照らして直すかを決めますtypoとstyleを確かめる … 原稿と動画の該当箇所を並べて見ます- 直すものを選んで編集所へ依頼する … 一覧から選び、時刻を添えて送ります
- 指摘を覆したら記録する … どの指摘を、なぜ直さなかったかを残します
2番目は人にしかできません。 消費者庁の資料は、動画広告で打消し表示が含まれる画面の表示時間が短い場合や、強調表示と別の画面に表示されている場合に、一般消費者が正しく認識できないおそれがあることを示しています。ただし、何秒なら足りるかは文字数や画面の情報量も勘案されるとされ、一律の秒数ではありません。 AIは秒数を測るところまでで、足りるかどうかは広告主の基準と担当者が決めます。
目標は、120本をならして1本10分です。 指摘が数件の動画は数分で終わり、注釈の確認が要る動画は時間がかかります。10分を大きく超える月は、原稿の版のずれか、注釈の対応表の不足を疑います。
例外に対処する
| 起きること | 対応 |
|---|---|
| 原稿・表記ルール・注釈の指定のどれかが無い | 読み取りを始めず、担当者へ戻す |
| 原稿の版と動画の版が合わない | 照合をせず、版の確認を担当者へ依頼する |
| 動画の形式が対応していない | 対応している形式に書き出し直してもらう |
| 1回目で注釈が見つからない | not_detected として区間を切り出し、コマの間隔を細かくして読み直す |
| 読み直しでも見つからない | note_missing として人へ。動画に無いか、読めないほど小さいかを人が見分ける |
| テロップが小さくて読めない | unreadable。原稿で補わず、人が動画で確かめる |
| ナレーションが音楽に重なって聞き取れない | unclear。ナレーション原稿と人が聞き比べる |
| パッケージの印字をテロップと取り違える | kind で分け、原稿との照合から外す |
| Gemini API が応答しない | 「点検待ち」に残す。「点検済み」へ移すのは成功時だけ |
上から2行目までが最も多く起きます。 どれもAIの問題ではなく、原稿と動画の受け渡しの問題です。 案件フォルダの置き方を決めるほうが、読み取りの精度を上げるより効きます。
記録を残す
- 点検した動画の案件番号・尺・媒体・版の番号と、照らした原稿の版
- Gemini API が返した書き出しのJSON(
captions、narration) - 区間の読み直しの記録(
re_read)と、そのときの設定 - 指摘の一覧(
findings)と、担当者が覆した指摘とその理由 - 編集所へ依頼した修正と、次の版で直ったかの確認
- 広告主ごと・編集所ごとの指摘の種類別の件数
4つ目で「覆した理由」を残すのは、表記ルールの側を直すためです。 同じ style の指摘が毎回覆されるなら、ルール集のほうが実態に合っていません。
最後の行は、編集所との打ち合わせの材料になります。
04実装レベルの3段階
最小構成では本数がさばけません。 1本ずつ読み込ませるので、月120本には使えません。確かめるための段階です。 半自動化で、1本30分が10分になります。この段階が本記事の想定です。 書き出しと照合が自動になり、人は指摘の箇所だけを見ます。本格構成で減るのは、版をまたいだ確認の手間です。 尺違いの版のあいだで注釈が消えていないか、前の版の指摘が直っているかを、人が一覧を見比べずに済むようになります。 段階を飛ばさないでください。 半自動化の一覧を1か月見ると、unreadable の多い広告主と、原稿の版がずれやすい案件が先に分かります。 そこを直してから本格構成に進むほうが、指摘の空振りが減ります。
05工数削減シミュレーション
導入後 120件 × 10分 ÷ 60 = 20 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 15秒・30秒・6秒など尺違いの動画広告を月に数十本以上納品し、字幕・テロップの確認を制作担当が再生しながら目で行っている広告会社や制作会社。広告主ごとに表記ルールと注釈の指定があり、担当者によって見ている項目が違う場合。尺違い・媒体違いの版が多く、同じ確認を何度もくり返している場合。
- 月の納品が数本で、熟練の担当者が1本ずつ見て足りる場合。確定原稿と注釈の指定が文書になっておらず、何と照らすかが決まっていない場合。注釈の表示方法が景品表示法上適切かといった法的な判断そのものをAIに任せたい場合(この構成は判断を代替しません)。未公開の広告素材を外部のAPIへ送ることを広告主との契約で禁じられている場合。
07最小構成で試す方法
- 先月納品した動画から10本を選ぶ(うち数本は、納品後に誤字や注釈の抜けが見つかったものを入れる)
- その10本について、当時どこを直したか、何を見落としたかを担当者に聞き取る
- Google AI Studio などで動画を1本ずつ読み込ませ、第7章の1回目の指示で、テロップとナレーションを時刻付きで書き出させる
- 書き出した内容と確定原稿を並べ、食い違いを手で拾う
- 当時見落とした箇所が、書き出しのなかに出ているかを確かめる
10本は必ずやってください。 照合の仕組みを組む前に、「動画からテロップを正しく書き出せるのか」を確かめます。
| 出てきた内容 | 判断 |
|---|---|
| 当時見落とした誤字や注釈の抜けが、書き出しに出ている | 照合と区間の読み直しの仕組みに進む |
| 誤字を正しい書き方に直して書き出した | 指示の書き方で直る。構成は有効 |
| 画面の隅の小さな注釈が書き出しから落ちる | 解像度と区間の読み直しで確かめる。 読み直しでも落ちるなら、その動画は人が見る |
3行目が出ることは珍しくありません。 失敗ではなく、その注釈が視聴者にとっても読みにくい大きさだということかもしれません。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 1回目で拾えなかった注釈を「抜け」と返す | 既定は1秒に1コマ。 区間を切り出し、コマの間隔を細かくして読み直してから判定する |
| 書き出しの段階で誤字を直してしまう | 1回目に原稿を渡さない。「出ているとおりに書き写す」を指示に明記する |
| 小さい注釈が読めない | メディアの解像度を上げる。読めないものは unreadable で人へ |
| 原稿の版と動画の版がずれる | ファイル名の版の番号を照合し、合わないものは照合しない |
| パッケージの印字を誤字として指摘する | kind で分け、原稿との照合から外す |
| 注釈の対応表が無い | 抜けを判定できない。 原稿の注釈を組の形に起こしてから始める |
| 表示秒数の合否をAIに決めさせる | 秒数を測るまでにする。足りるかは広告主の基準で人が決める |
| 区間の切り出しが効かない | 区間の指定とコマの間隔の指定は静的処理のときだけ使える。処理の方式を確かめる |
| 尺違いの版を別々に見てしまう | 同じ企画の前の版の結果を引き、注釈の一覧を版のあいだで比べる |
| 指摘を編集所へ自動で送る | 一覧までにする。 送るのは担当者 |
上の2行が、この構成の失敗のほとんどです。 どちらも「動画に何があるか」を正しく記録できていない状態です。取りこぼしと補完の両方を防いでおけば、照合はただの文字列の比較で済みます。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 公開前の動画広告、確定原稿、広告主の表記ルール、そして発表前の商品名・価格・キャンペーンの内容です。
- 有料の利用枠で使う … Gemini API の利用規約では、無料のサービスでは送った内容と生成された回答が製品の改善に使われ、人が読むこともあるとされています。有料のサービスでは、プロンプトや画像・動画などのファイル、回答を製品の改善に使わないとされています。公開前の広告素材は、有料の利用枠で扱います
- 広告主との契約を先に確かめる … 未公開の素材を外部のサービスへ送ってよいかは、広告主との取り決めによります。点検に使う前に、送ってよい範囲を確認します
- 上げた動画を残しすぎない … Files API のファイルは48時間で消えますが、点検が終われば削除できます。一覧の作成まで成功したら、その場で削除します
- この構成は表示の適否を判断しない … 注釈の出し方が十分かは、広告主と法務、担当者が決めることです。この構成が出すのは、どの時刻に何が、何秒、どこに出ていたかという事実だけです
- 出演者の映像の扱いを決める … 動画には出演者の顔と声が入っています。点検以外の目的に書き出しを使わないことを、運用の取り決めに入れておきます
- ルール集を広告主ごとに分ける … 表記ルールにはその広告主の発表前の商品名が載っていることがあります。ほかの広告主の案件の処理に混ぜないよう、ルール集は広告主ごとに分けて読み込みます
誤りが起きた場合のリスクは、注釈の抜けを見落として納品することと、抜けていない注釈を抜けとして差し戻すことの2つです。 前者は unreadable を見過ごすと起き、後者は1回目の取りこぼしをそのまま返すと起きます。どちらも「動画に無い」と「拾えなかった」の区別から出ているので、そこだけは設計で守ります。
10まず何から始めるか
1週目:注釈の対応表を作る
扱いの多い広告主から5社を選び、確定原稿の注釈を「強調表示と注釈の組」の対応表に起こします。 全社を一度にそろえる必要はありません。動画の本数が多い広告主から始めます。
2週目:10本で試す
先月納品した動画から10本を選び、AIの画面で第7章の1回目の指示を使って書き出させます。誤字を直して書き出していないか、画面の隅の注釈が落ちていないかを最優先で見ます。
3週目:表示の基準を広告主と確かめる
注釈の表示秒数や、強調表示と同じ画面に出すかについて、広告主ごとの基準を確かめます。 ここが決まらないうちに note_short を出しても、誰も判断できません。あわせて、表記ルール集を置き換えの組の一覧にそろえます。
4週目:フォルダから一覧までをつなぐ
「点検待ち」のフォルダを見張り、Gemini API で書き出し、原稿と照らした一覧を作るところまで組みます。この時点では区間の読み直しを入れず、1回目で not_detected になった件数だけを数えます。
2か月目: 区間の読み直しと注釈の表示秒数の計算を足し、note_missing と note_short を出します。担当者が覆した指摘を毎週数えます。3か月目以降: 同じ企画のほかの尺・前の版との突き合わせを足し、1本30分が何分になったかを実測します。尺違いの版で注釈が消える件数が、納品前に止まるようになった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
映像と音声の両方を処理できること。時点の指定に MM:SS の形式を使うこと。Files API が大きいファイルや長い動画、再利用向けで、リクエスト全体が20MBを超えるときは Files API を使うこと。既定は1秒に1コマで、動きや切り替えの速い動画では細部を取りこぼすことがあること。start_offset/end_offset による区間の切り出しと fps によるコマの間隔の変更が静的処理でのみ使えること。短い動画で全体のコマの精度が要る用途に静的処理が向くこと。解像度を上げると細かい文字を読む力が上がる一方トークンと待ち時間が増えること。静的処理で1秒あたり約100トークン(低)/約300トークン(高)であること | Google AI for Developers: Video understanding | 2026-10-06 |
| Files API のファイルが48時間保存され、それより前に削除できること | Google AI for Developers: Files API | 2026-10-06 |
| JSON スキーマを渡して応答をその形にできること。構文としての正しさは保証されるが値の正しさは保証されず、アプリケーション側で確かめるべきこと | Google AI for Developers: Structured output | 2026-10-06 |
| 無料のサービスでは送った内容と回答が製品の改善に使われ人が読むこともあること。有料のサービスではプロンプト・ファイル・回答を製品の改善に使わないこと | Gemini API Additional Terms of Service | 2026-10-06 |
| 動画広告で、打消し表示が含まれる画面の表示時間が短い場合、強調表示と別の画面に表示される場合、強調表示が音声で行われ打消し表示が音声で表示されない場合などに、一般消費者が正しく認識できないおそれがあること。表示時間の適否は時間に加えて文字数等も勘案されること | 消費者庁: 打消し表示に関する表示方法及び表示内容に関する留意点(実態調査報告書のまとめ) | 2026-10-06 |
注釈の出し方が適切かの判断は、広告主と法務、担当者で行ってください。 本記事は消費者庁の資料で確認できた考え方と、Gemini API の公開仕様の範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0494)についてのご相談はこちらから。
