ECサイトの商品画像から代替テキストと画像の説明文の案を作り、商品マスタの記載と食い違う点を掲載前に拾う
新しく載せる商品の画像を1点分まとめてAIに見せ、画像ごとに代替テキスト(alt)と画像の説明文の案を作ります。あわせて、画像に写っているものが商品マスタの記載と食い違う点を、掲載の前に一覧にします。
- 生成AI
- ChatGPT/Claude/Gemini
- 連携・自動化
- Google Apps Script/Make/Power Automate
- 対象業界
- EC/商社/小売/製造
- 対象部門
- マーケティング
- 対象業務
- 内容確認・チェック/書類作成
- 主な課題
- 人手が足りない/書類作成に時間がかかる/確認ミスが多い
- AIで行う処理
- 画像認識
- 主な効果
- 入力漏れ削減/品質標準化/工数削減
- 導入難易度
- ★★☆☆☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 必須
01導入前 / 導入後の業務フロー
- 商品登録の担当が、商品マスタに商品名・カテゴリ・寸法・素材・色の名前・セット内容・付属品を入れる
- 撮影とデザインのチームが、画像を共有ドライブの商品ごとのフォルダに置く
- 制作チームの担当が画像を1枚ずつ開き、代替テキストを書いて、取り込み用のスプレッドシートに入れる
- 商品ページの画像の下に添える説明文(「天板は傷のつきにくい加工です」など)を書く
- サイズ表の画像の数字を、商品マスタの寸法と見比べる(気づいたときだけ)
- 取り込み用のCSVを作り、ECサイトの管理画面に取り込んで、公開前の画面を確かめる
- 人商品登録の担当が商品マスタを入れ、撮影とデザインのチームが画像を商品のフォルダに置き、商品マスタの状態を「画像そろい」にする
- 自動Google Apps Script が定時に商品マスタを見て、「画像そろい」の商品を数点ずつ処理する
- 自動商品のフォルダから画像の一覧を取り、ファイル名の決まりで画像の並び順を付ける
- 自動商品マスタの記載と画像を1点分まとめて Gemini API に渡す
- 自動画像ごとに、役割(メイン/角度違い/細部/サイズ表/セット内容/使用イメージ/装飾)、代替テキストの案、説明文の案、画像の中の文字、商品マスタとの食い違いを受け取る
- 自動代替テキストの長さ、決めた言い回しの有無、食い違いの数字の書式を規則で確かめる
- 自動確認用のシートに書き出し、食い違いがある商品には印を付ける
- 人制作チームの担当が、確認用のシートで代替テキストと説明文を直し、採用する
- 人食い違いの印が付いた商品は、商品登録の担当とデザイナーに確かめ、どちらが正しいかを決めて直す
- 自動採用した代替テキストと説明文から、取り込み用のCSVを作る
- 人担当がCSVを管理画面に取り込み、公開前の画面を確かめる
各工程の詳しい説明を読む
- 商品登録の担当が、商品マスタに商品名・カテゴリ・寸法・素材・色の名前・セット内容・付属品を入れる
- 撮影とデザインのチームが、画像を共有ドライブの商品ごとのフォルダに置く
- 制作チームの担当が画像を1枚ずつ開き、代替テキストを書いて、取り込み用のスプレッドシートに入れる
- 商品ページの画像の下に添える説明文(「天板は傷のつきにくい加工です」など)を書く
- サイズ表の画像の数字を、商品マスタの寸法と見比べる(気づいたときだけ)
- 取り込み用のCSVを作り、ECサイトの管理画面に取り込んで、公開前の画面を確かめる
(a)枚数が多くて、代替テキストが後回しになる。 1点8枚なら、240点で月2,000枚近くになります。公開日が決まっている商品から順に、代替テキストを空のまま出す判断が続いてきました。
(b)書く人で質がばらつく。 「商品画像」「チェスト」とだけ書く人、見た目を長々と書く人、「〜の画像です」で始める人がいます。サイズ表の画像に「サイズ表」とだけ書いたものは、読み上げでは何も伝わりません。
(c)サイズ表の数字の食い違いに気づかない。 仕様の変更で幅が1cm変わったとき、商品マスタは直っても、デザイナーの作った画像は古いまま、ということが起きます。5番目は「気づいたときだけ」なので、多くはお客様の問い合わせや返品で分かります。
(d)写っているが付属しないものが、そのまま載る。 使用イメージに写っている収納ボックスや花瓶が、商品に付属するように見えることがあります。セット内容の欄と画像を突き合わせる工程がありません。
- 【人】 商品登録の担当が商品マスタを入れ、撮影とデザインのチームが画像を商品のフォルダに置き、商品マスタの状態を「画像そろい」にする
- 【自動】 Google Apps Script が定時に商品マスタを見て、「画像そろい」の商品を数点ずつ処理する
- 【自動】 商品のフォルダから画像の一覧を取り、ファイル名の決まりで画像の並び順を付ける
- 【自動】 商品マスタの記載と画像を1点分まとめて Gemini API に渡す
- 【自動】 画像ごとに、役割(メイン/角度違い/細部/サイズ表/セット内容/使用イメージ/装飾)、代替テキストの案、説明文の案、画像の中の文字、商品マスタとの食い違いを受け取る
- 【自動】 代替テキストの長さ、決めた言い回しの有無、食い違いの数字の書式を規則で確かめる
- 【自動】 確認用のシートに書き出し、食い違いがある商品には印を付ける
- 【人】 制作チームの担当が、確認用のシートで代替テキストと説明文を直し、採用する
- 【人】 食い違いの印が付いた商品は、商品登録の担当とデザイナーに確かめ、どちらが正しいかを決めて直す
- 【自動】 採用した代替テキストと説明文から、取り込み用のCSVを作る
- 【人】 担当がCSVを管理画面に取り込み、公開前の画面を確かめる
8番目が、この設計の分かれ目です。 人は白紙から書くのではなく、役割ごとにそろった案を読んで直します。 全部を書き直す設計にすると時間はほとんど減らず、案をそのまま流す設計にすると誤りが公開されます。
9番目で「どちらが正しいか」を人が決めるのも意図してのことです。 AIが見つけるのは「違う」という事実だけで、正しいのが商品マスタか画像かは、仕様を知る人にしか分かりません。
02今回想定するシステム構成
商品マスタ(スプレッドシート):商品名・カテゴリ・寸法・素材・色の名前・セット内容・付属品 画像:共有ドライブの商品ごとのフォルダ(掲載用の縮小版) ▼【トリガー】商品マスタの状態が「画像そろい」(15分ごとの定時実行で検知) Google Apps Script ├──▶ フォルダの画像の一覧と並び順 ▼ Gemini API(商品1点の画像をまとめて1回で) │ 画像の役割/代替テキストの案/説明文の案/画像の中の文字 │ 商品マスタとの食い違い(項目・マスタの値・画像の値・画像の番号) ▼ Google Apps Script ── 長さ・言い回し・数字の書式の確認 ▼ 確認用のシート(スプレッドシート) ▼【制作チームが直して採用/食い違いは商品登録の担当とデザイナーが決める】 取り込み用のCSV ──▶ ECサイトの管理画面(人が取り込む)
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 処理 | Gemini API(画像の役割の見分け、代替テキストと説明文の案、画像の中の文字、商品マスタとの食い違い) | Claude API、OpenAI API |
| 連携 | Google Apps Script(定時の実行、画像の一覧、規則による確認、確認用のシートとCSVの作成) | Make、Power Automate |
| 保管 | Google ドライブ(共有ドライブの商品ごとのフォルダ) | Microsoft OneDrive、Dropbox |
| 台帳 | Google スプレッドシート(商品マスタと確認用のシート) | Microsoft Lists |
新しく足すのは、Gemini API の利用と Apps Script のプログラムだけです。 ECサイトの管理画面には書き込まず、これまでと同じCSVの取り込みを人が行います。
画像を読むのは Gemini API です。 公式のページでは、PNG・JPEG・WEBP・HEIC・HEIF の画像を受け付け、画像を直接リクエストに入れる場合は、指示などと合わせたリクエスト全体が20MBまでとされています。1回のリクエストに入れられる画像は3,600枚までなので、商品1点の6〜10枚を1回で渡し、画像どうしの関係(どれがメインで、どれが細部か)を見ながら役割を決めさせられます。
サイズ表の画像の小さな数字は、画像の解像度の設定で読みやすさが変わります。 公式のページでは、画像1枚に割り当てるトークンを low・medium・high・ultra_high から選べ、Gemini 3 以降で high は1120トークンとされ、多くの画像の分析には high が勧められています。 Interactions の書き方では、画像の項目ごとに resolution を付けます。サイズ表とセット内容の画像だけを high に、ほかの写真を medium にすると、数字を読む精度と費用の釣り合いが取れます。
03どうやって実装するのか
処理の起点を決める
商品マスタの状態が「画像そろい」になったことを起点にします。 画像のフォルダへの追加を1枚ずつ拾うと、デザイナーがサイズ表の画像を後から置いたときに、サイズ表の無い状態で役割を決めてしまいます。画像が全部置かれた時点を、商品登録の担当が状態で知らせる決まりにします。
Apps Script を15分ごとの定時実行で動かし、状態を見ます。 公式のページでは、1回の実行が6分まで、Google Workspace のアカウントで定時実行の合計が1日6時間、URL の取得(外部の API の呼び出し)が1日10万回までとされています。商品1点の呼び出しは数十秒で終わる想定なので、1回の実行で5点まで処理し、6分に近づいたら次の実行に回します。 月240点、1日あたり十数点なら、上限には届きません。
処理を始めた商品は、状態を「処理中」に変え、二重に処理しません。 終わったら「確認待ち」、失敗したら「要対応」にします。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 商品の画像 | 掲載用の縮小版(長辺1,600ピクセルの JPEG)。ファイル名に並び順の番号 | 共有ドライブの商品のフォルダ |
| 商品マスタの記載 | 商品名、カテゴリ、寸法(幅・奥行・高さ)、重さ、素材、色の名前、セット内容、付属品、組み立ての要否 | 商品マスタ |
| 代替テキストの決まり | 役割ごとの書き方、長さの目安、使わない言い回し | 制作チームが用意する書き方の表 |
| 商品ページの本文 | 商品の説明文(画像の説明文と重ねないため) | 商品マスタの説明文の列 |
質を決めるのは、2行目と3行目です。 商品マスタのセット内容と付属品の列が空なら、使用イメージに写った小物が付属するのかしないのかを、AIは比べようがありません。「付属品:なし」と明記する決まりにします。空欄と「なし」を区別しないと、食い違いの判定ができません。
4行目を渡すのは、代替テキストに本文と同じことを書かせないためです。 W3C の解説は、画像の代替テキストは見た目をそのまま描写するのではなく、画像が伝えている意味を伝えるものとし、周りの文章がすでに説明していることは繰り返さなくてよいとしています。本文に「天然木の突き板」と書いてあるなら、細部の写真の代替テキストで素材を長々と書く必要はありません。
【代替テキストの書き方の表(例)】
メイン ……… 商品名の種類と、いちばんの特徴を1文で(例:3段の引き出しが付いた木目のチェスト)
角度違い …… どこから見たか、何が分かるか(例:チェストの背面。壁に寄せられる平らな板)
細部 ………… 何の部分の寄りか(例:引き出しの取っ手。指をかける溝がある)
サイズ表 …… 画像の中の寸法をすべて文章で(例:幅80cm、奥行40cm、高さ85cm。引き出しの内寸は…)
セット内容 … 含まれるものを数とともにすべて
使用イメージ … どんな部屋でどう使っているか。付属しない小物は書かない
装飾 ………… 代替テキストを空にする
使わない言い回し:「〜の画像」「〜の写真」「商品画像」「おしゃれな」「人気の」 データの取得方法を決める
| 取るもの | どこから | 何に使うか |
|---|---|---|
| 画像の一覧と並び順 | Apps Script の Drive の機能で商品のフォルダを読む | ファイル名の番号で並べ、画像の番号を付ける |
| 画像の中身 | 縮小版のファイル | Gemini API に直接入れる |
| 商品マスタの記載 | スプレッドシートの商品の行 | 指示に埋め込む |
| 書き方の表 | スプレッドシートの別のシート | 指示に埋め込む |
画像は掲載用の縮小版を渡します。 撮影したままの画像は1枚で10MBを超えることがあり、8枚まとめると20MBのリクエストの上限を超えます。 ECサイトに載せるのは縮小版なので、読み上げで伝えるべき内容も縮小版に写っているものです。8枚の縮小版の合計が上限に近づく商品は、2回に分けて渡します。
画像の番号は、ファイル名の決まりで付けます。 <商品コード>_01_main.jpg、_05_size.jpg のように、番号と役割の手がかりをファイル名に入れておきます。 AIが決める役割と、ファイル名の手がかりが違ったときは、確認用のシートで目立たせます。
AIへ渡す前に整形する
- ファイルの形式の確認 … JPEG・PNG・WEBP 以外(PSD、AI などのデザインの元データ)は渡さず、件数を備考に書きます
- 画像の大きさの確認 … 合計が20MBに近づく商品は、前半と後半に分けて2回で渡します
- 画像の向き … 横に倒れた画像は向きを直してから渡します。公式のページも、回転を確かめることを勧めています
- 並び順 … ファイル名の番号で並べ、1から振り直します
- 商品マスタの必須の列の確認 … 寸法、セット内容、付属品のどれかが空なら、処理せず「要対応」にします
- 人が写った画像の確認 … ファイル名に
modelが付く画像は、大人のモデルだけであることを撮影の記録で確かめた商品に限って渡します
5番目が、食い違いの判定の前提です。 商品マスタが空の項目は、画像と比べようがありません。空のまま渡すと、AIは画像に写っているものを正しいとして代替テキストを書き、食い違いは出てきません。
AIに処理させる
させるのは、画像ごとに「何の役割の画像か」を決め、その役割に合った文章の案を作り、画像の中身と商品マスタの記載を比べることです。
| 見るもの | 見方 | 判断できないときの扱い |
|---|---|---|
| 画像の役割 | main/angle/detail/size_chart/set_contents/scene/decorative | 迷えば unknown にし、人が決める |
| 代替テキストの案 | 書き方の表に沿って、役割ごとに必要なことを書く | 役割が unknown なら空にする |
| 画像の説明文の案 | 商品ページの画像の下に添える1〜2文。本文と重ねない | 書くことが無ければ空にする |
| 画像の中の文字 | サイズ表・セット内容などの文字を、読めた分だけ写す | 読めない文字は [判読不能] |
| 商品マスタとの食い違い | 寸法、個数、付属品、色の名前、組み立ての要否 | 判断できなければ uncertain |
食い違いを「違う」「違うおそれ」「判断できない」に分けるのが、この表でいちばん大事な点です。 サイズ表の数字がはっきり読めて商品マスタと違うなら mismatch、使用イメージの小物が付属品なのか演出なのか分からないなら uncertain にします。どちらも人に回しますが、mismatch は公開を止め、uncertain は確かめてから進めます。
| させないこと | 理由 |
|---|---|
| どちらが正しいかの判断 | 仕様を知る人が決める。AIは「違う」という事実だけを出す |
| 商品マスタにない性能の書き込み | 「丈夫な」「傷がつかない」など、根拠の無い効能を書かない |
| 読めない数字の補い | 判読できない寸法を、商品マスタの値で埋めない |
| 写った人物の描写 | 年齢・性別・体形を書かない。使用イメージは商品の使い方だけを書く |
| 画像を載せるかの判断 | どの画像を使うかは制作チームが決める |
3行目が、いちばん起きやすい失敗です。 商品マスタの寸法を一緒に渡しているので、サイズ表の画像の数字が小さくて読めないと、AIは商品マスタの値を画像から読んだように書きます。 そうなると食い違いは永遠に見つかりません。読めた文字と、マスタの値を、別の項目として返させる理由がここにあります。
指示内容を固定する
あなたはECサイトの商品ページの制作担当です。
渡された商品1点分の画像(番号順)と商品マスタの記載だけを見て、
画像ごとに代替テキストの案と説明文の案を作り、商品マスタとの食い違いを書き出してください。
【商品マスタの記載】{master}
【商品ページの本文】{body}
【代替テキストの書き方の表】{alt_rules}
【画像ごとに書き出す項目】
1. image_no:渡した順の番号
2. role:main/angle/detail/size_chart/set_contents/scene/decorative/unknown のどれか1つ
3. alt_text:書き方の表に沿った代替テキストの案。decorative と unknown は空
4. caption:商品ページの画像の下に添える1〜2文の案。本文と同じことは書かない
5. text_in_image:画像の中の文字を、読めた分だけそのまま写す
6. findings:商品マスタとの食い違い(項目、マスタの値、画像から読み取った値、
mismatch/uncertain の別、画像のどこか box_2d)
【厳守事項】
- 画像の中の数字が読めないときは、text_in_image に [判読不能] と書いてください。
商品マスタの値で補わないでください。マスタの値を画像から読んだように書かないでください。
- alt_text に「画像」「写真」という言葉と、「〜の画像です」という言い回しを使わないでください。
- size_chart の alt_text には、画像の中の寸法をすべて文章で入れてください。
「サイズ表」とだけ書かないでください。
- scene の画像に写っている小物が、商品マスタのセット内容・付属品に無いときは、
alt_text に書かず、findings に uncertain として書いてください。
- 商品マスタに無い性能・効能(丈夫、傷がつかない、など)を書かないでください。
- 写っている人物の年齢・性別・体形を書かないでください。
- 商品マスタと画像のどちらが正しいかを書かないでください。
- 子どもが写っていると判断した画像は、role を unknown にし、ほかの項目を空にしてください。
「マスタの値を画像から読んだように書かない」を明記しないと、食い違いが消えます。 何も言わなければ、AIは渡された正しそうな値に寄せて文章を整えます。禁じるのは、マスタの値を根拠にして画像の文字を埋めることそのものです。
「サイズ表とだけ書かない」を書くのは、代替テキストの目的を外さないためです。 W3C の WCAG 2.2 の解説は、短い代替で同じ情報を伝えられない画像(図や表など)では、短い説明と長い説明を組み合わせるとしています。サイズ表の画像が伝えているのは数字なので、数字そのものを書かせます。 長くなりすぎる場合は、画像の説明文か本文に寸法の表を置き、代替テキストは「寸法は下の表を参照」とする選択肢を、書き方の表に足します。
出力形式を固定する
次の形のJSONで受け取ります。 Gemini API の構造化出力で、/v1beta/interactions の response_format に mime_type: "application/json" とスキーマを指定します。
{
"product_code": "",
"images": [
{
"image_no": 1,
"role": "main | angle | detail | size_chart | set_contents | scene | decorative | unknown",
"alt_text": "",
"caption": "",
"text_in_image": "",
"findings": [
{ "field": "width | depth | height | quantity | accessory | color_name | assembly",
"master_value": "", "image_value": "",
"level": "mismatch | uncertain", "box_2d": [0, 0, 0, 0] }
]
}
]
}
1つ目の理由は、規則で確かめられることです。 公式のページでは、構造化出力で enum と required を使えますが、文字列の長さの上限(maxLength)は使える項目に挙がっていません。 代替テキストの長さは、Apps Script の側で数えます。目安を超えたもの、使わない言い回しを含むもの、role がファイル名の手がかりと違うものに印を付けます。公式のページは、JSONとして正しくても値はアプリケーションの側で確かめるよう案内しています。
2つ目は、食い違いの数字を機械で比べ直せることです。 image_value に入った寸法を数値にして、商品マスタの値と Apps Script で引き算します。AIが mismatch としたのに数値が同じなら、単位の取り違え(mm と cm)を疑います。 AIの判定と規則の判定が分かれたものは、両方を確認用のシートに並べます。
3つ目は、どこを見ればよいかが分かることです。 box_2d は、公式のページで [ymin, xmin, ymax, xmax] の順に、画像の大きさに対して0〜1000に正規化された座標とされています。確認用のシートに、画像の該当箇所の位置を添えれば、担当はサイズ表のどの数字かをすぐに見つけられます。
確認用のシートに書き出す列は次のとおりです。
【確認用のシート(画像ごと)】
| 商品コード | 番号 | 役割 | 代替テキストの案 | 説明文の案 | 長さ | 印 | 食い違い | 採用する代替テキスト | 採用する説明文 |
| CH-2031 | 5 | size_chart | 幅80cm、奥行40cm、高さ85cm。引き出しの内寸は幅72cm、奥行33cm、高さ17cm | (空) | 46 | | 幅:マスタ80cm/画像81cm | | | システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 商品マスタ | スプレッドシートの読み書き | 状態を見て、商品の記載を読む。処理の状態を書く |
| 共有ドライブ | Apps Script の Drive の機能 | 画像の一覧と中身を読む |
| Gemini API | Apps Script の URL の取得(/v1beta/interactions) | 画像と記載を渡し、構造化出力で受け取る |
| 確認用のシート | スプレッドシートへの書き出し | 案、印、食い違いを並べる |
| ECサイトの管理画面 | 人がCSVを取り込む | 採用した代替テキストと説明文だけを出す |
ECサイトの管理画面には、この構成から書き込みません。 CSVを作るのは「採用する」の列が埋まった行だけで、取り込みは人が行います。 案がそのまま公開される経路を作らないためです。
商品マスタの寸法やセット内容も書き換えません。 食い違いが見つかっても、直すのは商品登録の担当です。AIの読み取りでマスタを上書きすると、読み違いがそのまま正しい値として残ります。
人が確認する
この構成では、公開する代替テキストと説明文を全件、人が採用します。 AIが出すのは案と食い違いで、何を載せるかは決めません。
- 食い違いの印が付いた商品を先に見る …
mismatchは商品登録の担当とデザイナーに確かめ、正しいほうに直すまで公開を止めます - サイズ表とセット内容の代替テキストを見る … 数字と個数が画像と同じかを、画像を拡大して確かめます。ここは流し見しません
- メインと使用イメージの代替テキストを読む … 付属しない小物が書かれていないか、根拠の無い効能が混ざっていないかを見ます
- 長さと言い回しの印を直す … 規則で印が付いたものだけを直します
- 直した内容を残す … 案と採用した文を並べて残し、書き方の表を直す材料にします
2番目を省かないでください。 サイズ表の代替テキストは、画面を見られない人にとって寸法を知る唯一の手段です。読み上げで聞いた数字が画像と違えば、届いた家具が置けません。
目標は、1点あたり5分です。
例外に対処する
| 起きること | 対応 |
|---|---|
| 画像の合計が20MBに近い | 前半と後半に分けて2回で渡す。役割は後でまとめて見直す |
| デザインの元データ(PSD など)が混ざる | 渡さない。縮小版の JPEG を置いてもらう |
| 商品マスタのセット内容・付属品が空 | 処理せず「要対応」。「なし」を明記してもらう |
サイズ表の数字が [判読不能] | 縮小版の解像度を上げるか、ultra_high で渡し直す。それでも読めなければ人が書く |
role がファイル名の手がかりと違う | 確認用のシートで目立たせ、人が決める |
| 子どもが写った画像が混ざる | その商品の処理を止め、担当に知らせる。 代替テキストは人が書く |
| Gemini API が混み合いの応答を返した | 少し待って再試行し、続けば次の定時実行に回す |
| 1回の実行が6分に近づいた | 処理中の商品で止め、状態を「画像そろい」に戻す |
| 構造化出力の値が決めた範囲の外 | その画像を「要確認」にし、案を空にする |
6行目は、商品の選び方で防ぎます。 この構成は大人向けの家具・生活雑貨に限り、子どものモデルが写る子ども向けの商品は対象にしません。Gemini API の規約は、18歳未満を対象とするか、18歳未満が利用しうるサービスでの利用を認めていません。 API を使うのは社内の制作チームだけですが、子どもの写った画像はそもそも渡さない決まりにします。
記録を残す
- 商品ごとの画像のファイルIDと、Gemini API が返したJSONの全文
- そのとき使った商品マスタの記載と、書き方の表の版
- AIの案と、人が採用した代替テキスト・説明文 … 直した箇所が分かる形で
- 食い違いの一覧と、どちらが正しかったかの結論、直した人と日時
- 取り込み用のCSVと、取り込んだ日時
4行目は、仕様の変更の伝わり方を直す材料になります。 画像の側が古かった件数が多ければ、仕様の変更をデザイナーに知らせる手順が抜けています。
04実装レベルの3段階
最小構成では、月240点には使えません。 指示が効くかを確かめる段階です。 半自動化で、1点15分が8分程度になります。 白紙から書く時間は無くなりますが、長さの確認と、食い違いの数字の見比べ、CSVへの転記が手で残ります。本格構成で5分になり、これが本記事の想定です。 差が大きいのは、規則で印が付いたものだけを見ればよくなり、CSVを作る手作業が無くなるからです。 段階を飛ばさないでください。 半自動化の確認用のシートを1か月分見ると、書き方の表で足りない役割と、商品マスタの空欄が多い列が分かります。
05工数削減シミュレーション
導入後 240件 × 5分 ÷ 60 = 20 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 家具・インテリア・生活雑貨・キッチン用品など、1商品に5〜10枚の画像を載せるECサイトを自社で運営し、毎月100〜300点の新商品を登録している小売業・メーカー・商社。画像の代替テキストが空欄のまま、または「商品画像1」のような文字のまま公開されていて、アクセシビリティの観点で直したい場合。サイズ表やセット内容を画像の中の文字で見せていて、商品マスタの数値と画像の数値が食い違ったまま公開されたことがある場合。画像を Google ドライブ、商品マスタを Google スプレッドシートで管理している場合。
- 新商品が月に数点で、担当者が1点ずつ書いても負担にならない場合。子ども向けの商品で、子どものモデルが写った画像を多く使う場合(この構成では対象外にします)。商品ページの文章を仕入先から受け取ったまま一切変えない運用で、自社で代替テキストを書く余地が無い場合。なお、商品の表示が法令や自社の表示基準に照らして適切かの判断、どの画像を載せるかの判断は、この構成では代替できません。
07最小構成で試す方法
- 公開済みの商品から20点を選ぶ(サイズ表の画像がある商品と、使用イメージに小物が写る商品を必ず入れる)
- そのうち数点は、商品マスタの寸法を1か所だけわざと変えた写しを作っておく
- Google AI Studio で、第7章の指示と書き方の表を貼り、商品1点分の画像とマスタの記載を渡す
- 画像ごとの役割、代替テキスト、画像の中の文字、食い違いを表にまとめる
- わざと変えた寸法が
mismatchとして出たか、マスタの値で埋められていないかを見る
2番目の「わざと変えた写し」は必ず作ってください。 食い違いを拾えるかは、正解が分かっている食い違いでしか確かめられません。
| 出てきた内容 | 判断 |
|---|---|
わざと変えた寸法をすべて mismatch にした | Apps Script の連携に進む |
| 寸法が商品マスタの値で書かれ、食い違いが出ない | 指示の書き方で直る。読めた文字とマスタの値を分けて返させる |
| サイズ表の小さな数字が読めない | 縮小版の大きさか、resolution の設定を見直す |
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| サイズ表の数字が商品マスタの値で埋まる | 読めた文字とマスタの値を別の項目で返させる。 読めなければ [判読不能] |
| 代替テキストが「〜の画像です」で始まる | 使わない言い回しを指示と規則の両方に入れる |
| サイズ表の代替テキストが「サイズ表」だけ | 役割ごとの書き方の表で、数字をすべて書くと決める |
| 使用イメージの小物を付属品のように書く | 付属品に無いものは書かず、uncertain で人に回す |
| 根拠の無い効能が混ざる | 商品マスタに無い性能を書かないと指示し、人が読む |
| 代替テキストが長すぎる | 長さは構造化出力で縛れないので、Apps Script で数える |
| 装飾の画像に文章が付く | decorative は空にする。読み上げを邪魔しない |
| リクエストが大きすぎる | 縮小版を渡す。 合計が大きい商品は2回に分ける |
| 子どもが写った画像が混ざる | 対象の商品を限り、写っていれば止める |
上の2行が、この構成の失敗のほとんどです。 どちらも「それらしい文章」になるので、読んだだけでは誤りに気づきません。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 公開前の商品の画像と仕様(発売前の新商品を含む)、商品マスタの記載です。個人の情報は原則として含みませんが、使用イメージにモデルが写ることがあります。
- 無料の枠で発売前の商品を扱わない … Gemini API の規約では、無料のサービスに送った内容は製品の改善に使われ、人が読む場合があるとされ、機微な情報や秘密の情報を送らないよう求めています。有料のサービスでは、プロンプトと応答を製品の改善に使わないとされています。本番は有料の利用にします
- 18歳未満が写る画像を渡さない … 規約は、18歳未満を対象とするか、18歳未満が利用しうるサービスでの利用を認めていません。API を使うのは社内の制作チームだけにし、子ども向けの商品と子どものモデルの画像は、この構成に入れません
- 写っている人を描写させない … 使用イメージのモデルの年齢・性別・体形は書かせません。代替テキストは商品の使い方を伝えるものです
- 公開は人が決める … 案をそのまま公開する経路を作りません。採用した行だけをCSVにし、人が取り込みます
- 商品マスタを書き換えない … 食い違いの結論は人が出し、直すのは商品登録の担当です
誤りが起きた場合のリスクは、読み上げで誤った寸法を伝えることと、付属しないものを付属するように伝えることの2つです。 前者は読めた文字とマスタの値を分けることで、後者は付属品の「なし」の明記と uncertain の扱いで防ぎます。
10まず何から始めるか
1週目:書き方の表を作る
制作チームで、画像の役割ごとに代替テキストに何を書くか、使わない言い回し、長さの目安を決めます。サイズ表とセット内容の書き方を最初に決めます。
2週目:20点で試す
公開済みの商品20点と、寸法をわざと変えた写しを AI Studio に渡し、案と食い違いを表にさせます。わざと変えた寸法が mismatch として出たかを最優先で見ます。
3週目:商品マスタの決まりを直す
セット内容と付属品に「なし」を明記する決まりと、画像のファイル名の決まり(番号と役割の手がかり)を、商品登録の担当とデザイナーに伝えます。
4週目:Apps Script で案を書き出す
「画像そろい」の商品を処理し、確認用のシートに案と食い違いを書き出すところまで作ります。この段階では、規則の印とCSVの作成は手で行います。
2か月目: 長さと言い回しの規則、食い違いの数値の比べ直しを足します。3か月目以降: 採用した行だけの取り込み用CSVを足し、1点15分が何分になったかを実測します。新しく載せる商品の代替テキストが空のまま公開されなくなり、サイズ表の食い違いが公開前に見つかるようになった時点で、この構成は完成です。 公開済みの商品の空欄を埋める作業は、その後に同じ仕組みで少しずつ進めます。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
対応する画像の形式が PNG、JPEG、WEBP、HEIC、HEIF であること。画像を直接入れる場合、指示などと合わせたリクエスト全体が20MBまでであること。1回のリクエストに3,600枚まで画像を入れられること。大きなファイルや繰り返し使う画像は Files API を使うこと。位置を box_2d として [ymin, xmin, ymax, xmax] の0〜1000の座標で返すこと。回転を確かめるよう勧めていること。例が /v1beta/interactions を使っていること | Gemini API: Image understanding | 2026-10-14 |
画像1枚に割り当てるトークンを low・medium・high・ultra_high から選べること。Gemini 3 以降で low 280、medium 560、high 1120トークンであること。多くの画像の分析に high が勧められていること。Interactions では画像の項目ごとに resolution を付けること | Gemini API: Media resolution | 2026-10-14 |
構造化出力を /v1beta/interactions の response_format に mime_type: "application/json" とスキーマを入れて指定すること。enum と required が使え、maxLength は使える項目に挙がっていないこと。JSONとして正しくても値はアプリケーションの側で検証するよう案内されていること | Gemini API: Structured output | 2026-10-14 |
| 18歳未満を対象とするか、18歳未満が利用しうるサービスでの利用を認めていないこと。無料のサービスに送った内容が製品の改善に使われ人が読む場合があり、機微な情報や秘密の情報を送らないよう求めていること。有料のサービスではプロンプトと応答を製品の改善に使わないこと | Gemini API Additional Terms of Service | 2026-10-14 |
| Apps Script の1回の実行が6分までであること。Google Workspace のアカウントで、定時実行の合計が1日6時間、URL の取得が1日10万回までであること | Apps Script: Quotas for Google Services | 2026-10-14 |
| 情報を伝える画像の代替テキストは見た目の描写ではなく画像が伝える意味を伝えるものであること。周りの文章が説明していることは繰り返さなくてよいこと | W3C WAI: Informative Images | 2026-10-14 |
| WCAG 2.2 の達成基準 1.1.1(レベルA)が、利用者に示す非テキストのコンテンツに同じ目的を果たすテキストの代替を求めていること。装飾の画像は支援技術が無視できるようにすること。短い代替で足りない画像では短い説明と長い説明を組み合わせること | W3C: Understanding SC 1.1.1 Non-text Content | 2026-10-14 |
商品の表示が法令や自社の表示基準に合っているか、どの画像を載せるかは、担当の部署と責任者が決めてください。 本記事は公開されている製品の仕様とアクセシビリティの指針で確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1578)についてのご相談はこちらから。
