Media > AI活用ユースケース > カスタマーサポート > クリーニング店が受付で撮った衣類の写真を Gemini で見て、シミ・ほつれ・ボタンの欠けの候補を受付票に書き、お客様への確認事項を作る

クリーニング店が受付で撮った衣類の写真を Gemini で見て、シミ・ほつれ・ボタンの欠けの候補を受付票に書き、お客様への確認事項を作る

実装ステータス:構成例 技術的に実現可能な構成として設計したもの。自社未検証

受付のカウンターで、預かる衣類の表・裏・洗濯表示を撮り、シミ・変色・ほつれ・穴・ボタンの欠けの候補を位置付きで拾います。受付票の下書きと、お客様にその場で確かめる事項の一覧を作ります。

サマリー
生成AI
ChatGPT/Claude/Gemini
連携・自動化
Google Apps Script/Python
対象業界
その他/小売
対象部門
カスタマーサポート
対象業務
内容確認・チェック/記録・議事録作成
主な課題
人手が足りない/属人化している/確認ミスが多い
AIで行う処理
画像認識
主な効果
入力漏れ削減/品質標準化/工数削減
導入難易度
★★☆☆☆
実装レベル
本格構成
費用感
API連携(中)
人間の確認
条件付き
現在工数
120h/月
AI導入後
60h/月
想定削減
50%
年間削減
720h
モデル条件による試算値です。実在企業の実績ではありません。

01導入前 / 導入後の業務フロー

導入前(Before)
  1. お客様が衣類をカウンターに出す
  2. 店員が1点ずつ広げ、ポケットの中、シミ、ほつれ、ボタンを見る
  3. 洗濯表示を見て、品目と素材を確かめる
  4. 気付いた点をお客様に伝え、受付票に一言で書く
  5. レジで預かり番号を出し、タグを付ける
  6. 工場への申し送りの伝票に、気付いた点を書き写す
  7. 工場で、クリーニング師が衣類と伝票を見て処理方法を決める
導入後(After)
  1. 人お客様が衣類をカウンターに出す。店員がポケットの中を確かめる
  2. 人店員がカウンターの撮影台に衣類を広げ、タブレットで表・裏・洗濯表示を撮る
  3. 自動受付のアプリが写真を Gemini API に渡し、シミ・ほつれ・ボタンの欠けなどの候補と位置、洗濯表示の記号の候補を受け取る
  4. 自動アプリが写真に印を描き、「お客様に確かめる事項」の一覧を画面に出す
  5. 人店員が画面と衣類を見比べ、候補の箇所をお客様と一緒に確かめる。お客様が気付いていた点も聞く
  6. 人確かめた結果を、候補ごとに「確認済み」「該当なし」で選ぶ。見落としていた箇所は店員が足す
  7. 自動確かめた結果だけを受付票の確定の欄に入れ、写真と一緒に預かり番号に結び付ける
  8. 自動工場への申し送りに、確定した箇所と写真が載る
  9. 人工場のクリーニング師が衣類と申し送りを見て、処理方法を決める
各工程の詳しい説明を読む
  1. お客様が衣類をカウンターに出す
  2. 店員が1点ずつ広げ、ポケットの中、シミ、ほつれ、ボタンを見る
  3. 洗濯表示を見て、品目と素材を確かめる
  4. 気付いた点をお客様に伝え、受付票に一言で書く
  5. レジで預かり番号を出し、タグを付ける
  6. 工場への申し送りの伝票に、気付いた点を書き写す
  7. 工場で、クリーニング師が衣類と伝票を見て処理方法を決める

(a)見落としが人によって違う。 袖口の黒ずみ、裏地のほつれ、襟の裏のシミは、慣れた人は見ますが、入ったばかりの人は見ません。同じ店の同じ日でも、立った人によって受付票の厚みが変わります。

(b)書き方がそろっていない。 「シミ」「汚れ」「しみあり」と、同じものが人によって違う言葉で書かれます。位置も「左袖」だけで、袖口なのか肘なのかが分かりません。 工場のクリーニング師は、衣類を全部広げて探し直します。

(c)お客様に伝えた証拠が残らない。 店員が口で伝えても、受付票にはその記録が残りません。仕上がりの後に申し出があったとき、伝えたかどうかで話がすれ違います。

(d)書き写しで抜ける。 受付票から工場への伝票に書き写すとき、混んでいる時間帯の分が抜けます。 工場ではそのシミを知らずに処理し、仕上がりの後に「落ちていない」と言われます。

  1. 【人】 お客様が衣類をカウンターに出す。店員がポケットの中を確かめる
  2. 【人】 店員がカウンターの撮影台に衣類を広げ、タブレットで表・裏・洗濯表示を撮る
  3. 【自動】 受付のアプリが写真を Gemini API に渡し、シミ・ほつれ・ボタンの欠けなどの候補と位置、洗濯表示の記号の候補を受け取る
  4. 【自動】 アプリが写真に印を描き、「お客様に確かめる事項」の一覧を画面に出す
  5. 【人】 店員が画面と衣類を見比べ、候補の箇所をお客様と一緒に確かめる。お客様が気付いていた点も聞く
  6. 【人】 確かめた結果を、候補ごとに「確認済み」「該当なし」で選ぶ。見落としていた箇所は店員が足す
  7. 【自動】 確かめた結果だけを受付票の確定の欄に入れ、写真と一緒に預かり番号に結び付ける
  8. 【自動】 工場への申し送りに、確定した箇所と写真が載る
  9. 【人】 工場のクリーニング師が衣類と申し送りを見て、処理方法を決める

5番目が、この設計の分かれ目です。 候補は、店員が衣類のどこを見ればよいかの順番です。お客様と一緒にその箇所を見て、確かめた結果だけが記録に残ります。 候補をそのまま受付票に入れると、お客様が見ていない記録が「伝えたこと」になってしまいます。

9番目の処理方法の決定は、これまでどおり工場に置きます。 写真と位置付きの申し送りが届くことで、クリーニング師が衣類を全部広げて探し直す手間が減ります。

02今回想定するシステム構成

構成図
受付のカウンター(撮影台と照明、タブレット)
   ▼ 店員が表・裏・洗濯表示を撮る
受付のアプリ(タブレット)
   ▼【トリガー】1点分の撮影を終えたとき
Python のサーバー(店舗と工場で共通)
   ├── 写真の向き・大きさを整える
   ▼
Gemini API(画像の理解・構造化出力)── 1点分の写真(表・裏・洗濯表示)
   │   シミ・変色・ほつれ・穴・ボタンの欠けなどの候補と枠
   │   付属品(ベルト・フード・ライナーなど)の有無の候補
   │   洗濯表示の記号の候補
   ▼
受付のアプリ ── 印を描いた写真と「確かめる事項」の一覧
   ▼
【人】店員がお客様と確かめる → 確定の欄へ
   ▼
受付票(預かり番号ごと)と工場への申し送り
役割想定する製品代替候補
処理Gemini API(衣類の写真から傷みの候補と洗濯表示の記号の候補を返す)Claude API、OpenAI API
連携Python(受付のアプリとの受け渡し、前処理、呼び出し、印の描画)Google Apps Script
端末受付のタブレットと撮影台スマートフォン
記録受付票の記録(預かり番号・品目・確定した箇所・写真)-

新しく足すのは、撮影台とタブレット、Python のサーバー、Gemini API の契約です。 レジの預かり番号の出し方は変えず、預かり番号に写真と確定した箇所を結び付けます。

写真を見る土台は、Gemini API の画像の理解です。 公式の案内では、対応する形式は PNG、JPEG、WEBP、HEIC、HEIF で、1つのリクエストに複数の画像を入れられます。 1点分の表・裏・洗濯表示をまとめて渡します。画像を直接入れる場合は、リクエスト全体が20MBまでです。

位置は枠で返させます。 枠は [ymin, xmin, ymax, xmax] の順で、0〜1000に正規化されます。公式の案内には、物の輪郭を多角形で返させる例もあります。シミは小さいので枠で足ります。

出力は構造化出力で受けます。 /v1beta/interactions に送り、response_format で mime_type を application/json にし、schema にスキーマを入れます。enum で値を決まった文字列に絞れます。値はアプリ側で検証するよう書かれています。

03どうやって実装するのか

Step1

処理の起点を決める

1点分の撮影を終えたときに動きます。 店員が受付のアプリで表・裏・洗濯表示の3枚を撮り、「この1点を終える」を押すと、写真がサーバーに送られます。3枚がそろう前には動かしません。 表だけで呼ぶと、裏のシミが候補に出ず、店員が「候補が無い」と読み違えます。

お客様が待っている間に返る必要があります。 1点分の結果が返るまでの間に、店員は次の衣類を撮影台に広げ、ポケットの中を確かめます。一定の時間を過ぎても返らないときは、アプリが「手で確かめてください」と出し、これまでどおり目で見て受付票に書きます。 結果が後から返っても、確定の欄には入れません。

受付のアプリに入れるのは、18歳以上の店員のアカウントだけにします。 Gemini API の規約は、18歳未満の人が使う、または使う見込みのあるアプリでの利用を認めていません。高校生のアルバイトが受付に立つ時間帯は、アプリを使わず、これまでどおり目で見て受付票に書く流れにします。 店舗のシフト表で、どの時間帯にどちらの流れになるかを先に決めておきます。

仕上がりの引き渡しのときは動かしません。 引き渡しでは、受付のときの写真と確定した箇所を画面に出し、お客様と仕上がりを一緒に見る材料として使います。

Step2

入力データを集める

データ中身取得元
衣類の写真1点分の表・裏・洗濯表示の3枚受付のタブレット
品目店員が選ぶ品目(スーツの上、シャツ、コート、制服 など)受付のアプリ
品目ごとの見どころ品目ごとに傷みの出やすい箇所(襟、袖口、脇、裾、ボタンの周り)サーバーに持たせる一覧
候補の種類の一覧シミ、変色、ほつれ、穴、毛玉、テカリ、ボタンの欠け、ボタンの取れかけ、付属品の有無サーバーに持たせる
撮影台の目印撮影台の大きさと、写真の上の向き撮影台に印刷した目印

質を決めるのは、撮影台と照明です。 店舗の照明の下で、カウンターの上に衣類をくしゃっと置いて撮ると、しわの影がシミに見え、濃い色の衣類のシミは写りません。 撮影台に無地の明るい色の台紙を敷き、上から均一に照らす照明を付けます。

品目ごとの見どころは、指示の文に入れます。 シャツなら襟と袖口、スーツの上なら襟の裏と脇と裾、コートならポケットの口とボタンの周りです。見どころを渡しておくと、写真の端の小さな黒ずみを見落としにくくなります。

Step3

データの取得方法を決める

写真は、受付のアプリからサーバーに直接送ります。 アプリは預かり番号と品目を一緒に送り、サーバーは写真を預かり番号のフォルダに置いてから Gemini API を呼びます。写真を先に保存してから呼ぶのは、呼び出しに失敗しても写真が残るようにするためです。

Gemini API へは、1点ごとに1回、3枚をまとめて渡します。 表と裏を別々に呼ぶと、同じ箇所を2回候補にすることがあります。1点を1回の呼び出しにすると、どの写真のどの位置かを1つの JSON で受け取れます。

洗濯表示の写真は、記号を書き写すために渡します。 消費者庁の JIS L0001 の概要では、洗濯表示は洗濯、漂白、乾燥、アイロン仕上げ、商業クリーニングの5つの基本記号と、付加記号で表すとされています。令和6年8月20日以降の表示と、その前の表示で記号の一部が違うことも、消費者庁のページで分けて示されています。書き写させるのは、ラベルに見える記号の候補までです。

有料の利用枠で使い、store を false にします。 Gemini API の規約では、有料のサービスではプロンプトと応答が製品の改善に使われないとされています。Interactions API は既定でやり取りを保存し(有料の枠で55日)、保存しないときは store=false を付けると案内されています。写真は自社のサーバーに残すので、AI側に残す必要はありません。

Step4

AIへ渡す前に整形する

  1. 形式と向き … タブレットの写真の向きの情報で回転しているだけのものは、画素を回転させます。向きが合っていないと、「右袖」と「左袖」が入れ替わります
  2. 縮小 … 表と裏は長い辺を1,600ピクセル程度に縮めます。洗濯表示は文字と記号がつぶれないよう、切り抜いて大きめに残します
  3. 撮影台の目印の確認 … 写真に撮影台の目印が写っているかを見ます。写っていなければ、衣類の上下と左右が分からないので撮り直しを促します
  4. 品目の付け足し … 店員が選んだ品目と、その品目の見どころを指示に入れます
  5. 写り込みの確認 … 名札、社員証、ポケットから出た紙などが写っていないかを店員が撮るときに見ます。写っていれば外してから撮り直します
  6. 大きさの確認 … 3枚と指示の文を合わせて20MBを超えないかを見ます

1番目を軽く見ないでください。 衣類の写真は、左右の取り違えがそのまま受付票の誤りになります。撮影台の目印で「お客様から見た左」か「衣類の左」かを決め、受付票の書き方もそれにそろえます。

Step5

AIに処理させる

させるのは、写真の中の傷みの候補を枠で返し、種類を付け、付属品が写っているかと、洗濯表示の記号の候補を返すことだけです。

返すもの中身判断できないときの扱い
傷みの候補写真の番号、枠、種類(シミ、変色、ほつれ、穴、毛玉、テカリ)しわの影か汚れか分からなければ unclear として候補に入れる
ボタン欠けている、取れかけている位置の候補写真の角度で分からなければ unclear
付属品ベルト、フード、ライナー、取り外しの襟などが写っているか写っていなければ not_visible(無いとは言わない)
洗濯表示ラベルに見える記号の候補を左から順に読めない記号は unknown。ラベルが写っていなければ no_label_photo
見えない範囲折れ曲がりや影で見えない範囲範囲がはっきりしなければ写真ごと「見えない範囲あり」

右端の列の考え方は、迷ったら店員とお客様が見る側に倒すことです。 しわの影か汚れか分からないものは候補に入れます。候補が多いのは、お客様の前で「ここは影でした」と数秒で済みますが、候補から落ちたシミは、仕上がりの後の申し出まで誰も見ません。

させないこと理由
シミの種類や原因(コーヒー、汗、油など)写真では分からない。工場のクリーニング師が見て決める
落ちるかどうかの見込みお客様には約束に聞こえる
処理方法の決定洗濯表示と素材を見て、クリーニング師が決める
洗濯表示の記号の意味の解釈記号の候補の書き写しまで。意味は工場が確かめる
素材やブランドの判定受付票に要らない。素材は洗濯表示と組成の表示で人が見る
写っている人についての記述受付に要らない

1行目と2行目がいちばん起きやすい失敗です。 シミの写真を渡すと、AIは「コーヒーのようなシミ」「通常の処理で落ちる見込み」と書きたがります。受付の画面にこの言葉が出ると、店員がそのままお客様に伝えてしまいます。 返すのは「シミのように見える箇所」の位置と大きさまでにします。

4行目は、記号の表の扱いに理由があります。 JIS L0001 の概要では、5つの基本記号のどれかが記載されていないときは、その記号が意味するすべての処理が可能とされています。記号が写真に写っていないことと、記載されていないことを、AIは区別できません。「記号が無いから処理できない」とも「できる」とも書かせず、候補の書き写しにとどめます。

Step6

指示内容を固定する

あなたはクリーニング店の受付で、預かる衣類の状態を確かめる手伝いをする係です。
写真は同じ1点の衣類で、1枚目が表、2枚目が裏、3枚目が洗濯表示のラベルです。
衣類は撮影台の上に置かれ、撮影台の「上」の目印が写真の上にあります。

【この衣類の品目】{シャツ/スーツの上/コート/制服 ...}
【この品目の見どころ】{襟、袖口、脇、裾、ボタンの周り ...}

【やること】
1. 1枚目と2枚目で、次の候補を探す。
   シミ、変色、ほつれ、穴、毛玉、テカリ、ボタンの欠け、ボタンの取れかけ。
   見どころは特に注意して見る。
2. 候補ごとに、写真の番号と枠を [ymin, xmin, ymax, xmax] の順で、
   0〜1000 に正規化して返す。種類と、見え方を短く書く。
3. ベルト、フード、ライナー、取り外しの襟が写っているかを返す。
4. 3枚目のラベルに見える洗濯表示の記号を、左から順に候補として返す。
5. 折れ曲がりや影で見えない範囲を返す。

【厳守事項】
- シミの種類や原因(飲み物、汗、油など)を書かないでください。
- 落ちるかどうか、どう処理すればよいかを書かないでください。
- 洗濯表示の記号の意味を書かないでください。見える記号の候補だけにしてください。
  読めない記号は unknown にしてください。
- しわの影か汚れか分からないものは、kind を unclear にして候補に入れてください。
- 写っていない付属品を「無い」と書かないでください。not_visible にしてください。
- 見えない範囲について「傷みなし」と書かないでください。
- 素材、ブランド、写っている人については何も書かないでください。

「写っていない付属品を無いと書かない」を入れないと、受付票に「ベルトなし」と残ります。 お客様が別の袋に入れて持ってきたベルトが、受付票の上では「預かっていない」ことになります。 付属品の有無は、店員がお客様に聞いて決めます。

Step7

出力形式を固定する

1点ごとに、次の形の JSON で受け取ります。 kind、accessory_state は enum で決まった文字列に絞ります。

{
  "item_no": "A1024-2",
  "findings": [
    { "photo": 1, "box_2d": [610, 120, 680, 190],
      "kind": "stain | discoloration | fraying | hole | pilling | shine | button_missing | button_loose | unclear",
      "note": "右袖口の内側に直径1cmほどの濃い色の点" }
  ],
  "accessories": [
    { "name": "belt", "accessory_state": "visible | not_visible" }
  ],
  "care_label": { "symbols": ["140", "200", "unknown"], "label_state": "readable | partly_readable | no_label_photo" },
  "not_visible": [ { "photo": 2, "area": "左の裾", "reason": "folded | shadow" } ]
}

1つ目の理由は、findings をそのまま「確かめる事項」の一覧にできることです。 アプリは findings を見どころの順に並べ、写真に印を描きます。店員は一覧の上から順に衣類のその箇所を指し、お客様と確かめます。

2つ目は、確定の欄と分けて記録できることです。 受付票の記録には、findings の各候補に店員が付けた「確認済み」「該当なし」と、店員が足した箇所が別の欄で残ります。後から見ると、AIが出した候補、店員とお客様が確かめた箇所、店員が足した箇所が区別できます。

3つ目は、care_label で工場の確認が速くなることです。 記号の候補は JIS L0001 の記号番号で受けます。工場のクリーニング師はラベルの写真と候補を並べて見て、自分の目で確かめます。 候補が unknown の記号は、写真で読み直します。

受付の画面に出す「確かめる事項」は、次の形です。

番号写真箇所候補お客様と確かめた結果
1表右袖口の内側シミのように見える確認済み/該当なし
2裏前の第2ボタンボタンの取れかけ確認済み/該当なし
3-ベルト写真に写っていないお持ちか確かめる
Step8

システムへ連携する

つなぎ先方式内容
受付のアプリサーバーとの受け渡し写真と預かり番号を受け、印を描いた写真と一覧を返す
Gemini APIAPI呼び出し(/v1beta/interactions、store=false)傷みの候補、付属品、洗濯表示の記号の候補、見えない範囲
受付票の記録書き込み店員が確かめた結果と、足した箇所だけ
工場への申し送り画面と印刷確定した箇所と写真、洗濯表示の写真と記号の候補
レジこれまでどおり預かり番号とタグの発行(この構成からは書き込まない)

受付票の確定の欄には、店員が選んだ結果しか入りません。 AIの候補は別の欄に残し、確定の欄に自動で移す経路を作りません。 お客様と確かめていない記録が、確かめたことにならないようにするためです。

クリーニング業法は、受取と引渡しのときに苦情の申出先を明示することも営業者に求めています。 受付票の控えに申出先を印字する決まりは、これまでどおりレジの側で守ります。この構成は申出先の明示を代わりに行いません。

Step9

人が確認する

  1. 候補をお客様と確かめる … 一覧の上から順に、衣類のその箇所を指して見せます。「確認済み」か「該当なし」を、お客様の前で選びます
  2. お客様が気付いている点を聞く … 「気になるところはありますか」と聞き、AIの候補に無い箇所を足します
  3. 付属品を確かめる … not_visible の付属品をお客様に聞き、預かるかを決めます
  4. 工場のクリーニング師が確かめる … 申し送りの写真と衣類を見て、シミの種類、処理方法、洗濯表示の記号を自分の目で確かめます
  5. 外した候補を記録する … しわの影をシミと言った、柄をシミと言った、などの理由を残します

2番目を省かないでください。 AIの候補は写真に写ったものだけで、お客様が知っている「前に食べこぼした」「一度自分で洗った」という話は写真に写りません。 その話が、工場の処理方法を決める材料になります。

目標は、1,200件をならして1件3分です。 候補の少ない衣類は印の箇所を見せて数十秒、候補の多い衣類や付属品の多いコートは数分かかります。外す候補が1件で半分を超えるなら、撮影台の照明か、衣類の広げ方が崩れています。

Step10

例外に対処する

起きること対応
結果が一定の時間を過ぎても返らない「手で確かめてください」と出し、目で見て受付票に書く
撮影台の目印が写っていない撮り直しを促す。上下と左右が決まらないため
濃い色の衣類でシミが写らない候補が少なくても「傷みなし」とは扱わない。見どころを目で確かめる
柄物で柄をシミと言うunclear が多くなる。お客様と確かめて外し、柄物の扱いを指示に足す
洗濯表示のラベルが無い・読めないno_label_photo / partly_readable。工場で衣類を見て確かめる
毛皮・本革の製品商業クリーニングの記号の対象外の製品として、専門の扱いの流れに回す
名札や紙が写り込む外して撮り直す。写った写真は保存しない
ポケットに物が残っていた撮る前に店員が確かめる手順にする。写真ではポケットの中は分からない
18歳未満の店員だけの時間帯アプリを使わず、目で見て受付票に書く流れにする
JSON の値が enum に無い候補を出さず、手で確かめる流れに切り替える

上から3行目までが大半を占めます。 どれもAIの精度の問題ではなく、撮影台と照明、待ち時間の決め方の問題です。 撮影台を整えるほうが、指示の文をいじるより効きます。

Step11

記録を残す

  • 預かり番号ごとの写真3枚と、Gemini API が返した JSON の全文
  • 候補ごとに店員が付けた「確認済み」「該当なし」と、店員が足した箇所
  • 受付の日時、店舗、受付をした店員
  • 工場のクリーニング師が確かめた洗濯表示の記号と、決めた処理方法
  • 引渡しのときに、お客様と仕上がりを確かめた記録

2つ目が、仕上がりの後の申し出のときの材料です。 「このシミは預けたときには無かった」と言われたとき、受付の写真と、お客様と確かめた結果を一緒に見られます。 どちらが正しいかを決める材料ではなく、話をすれ違わせないための材料です。

保存の期間は、仕上がりの後の申し出を受け付ける期間に合わせて決めます。 お客様の衣類の写真なので、期間を過ぎたら消します。

04実装レベルの3段階

最小構成:写真を手で渡し、傷みの候補と洗濯表示の記号の候補を出させる / 1点ごとの候補の拾い出し
半自動化:上記+受付のタブレットから呼び、印を描いた写真と「確かめる事項」の一覧を画面に出す / 候補の拾い出しと一覧の表示
本格構成:上記+確かめた結果を預かり番号に結び付け、工場への申し送りと引渡しの画面まで出す / 受付票の記入と申し送りの大部分

最小構成では、お客様の前で使えません。 結果を待つ間に手で写真を渡す時間はありません。確かめるための段階です。 半自動化で、1件6分が4分程度になります。 候補の拾い出しは自動になりますが、受付票への記入と工場への申し送りの書き写しが残ります。本格構成で3分になり、この段階が本記事の想定です。 差が大きいのは、確かめた結果がそのまま受付票と申し送りになり、書き写しが無くなるからです。 段階を飛ばさないでください。 半自動化の一覧を1か月見ると、柄物や濃い色で外す候補の多い品目が分かります。そこの撮り方と指示の文を直してから本格構成に進むほうが、お客様の前での確認が短くなります。

05工数削減シミュレーション

前提値(モデル条件)
対象人数
10 名
月間件数
1,200 件
1件あたり現在時間
6 分
1件あたり導入後時間
3 分
現在  1,200件 × 6分 ÷ 60 = 120 時間/月
導入後 1,200件 × 3分 ÷ 60 = 60 時間/月
月間削減時間
60h
削減率
50%
年間削減時間
720h
年間金額換算(時間単価2,000円)
144万円
モデル条件による試算であり、実際の効果は業務内容・運用方法によって異なります。

自社条件で導入効果を整理したい方へ

このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。

AI活用について相談する

06向いている企業・向いていない企業

向いている
  1. 取次の店舗を数店から十数店持ち、工場で洗って店舗で返す形のクリーニング店。受付の店員がパートやアルバイトで入れ替わりが多く、預かるときのシミや傷みの確かめ方と受付票の書き方が人によって違う場合。仕上がりの後に「このシミは預けたときには無かった」「ボタンが無くなった」という申し出が月に何件かあり、受付のときの記録が手書きの一言しか残っていない場合。受付にタブレットを置き、アプリを使う店員を18歳以上に限れる場合。
向いていない
  1. 1店舗で店主が受付から仕上げまで見ていて、受付の記録の書き方がそろっている場合。宅配の受付が中心で、お客様とその場で確かめる場面が無い場合。毛皮や本革の製品、和服の専門の扱いが中心の場合。なお、シミの種類や原因の特定、落ちるかどうかの見込み、処理方法の決定、事故の責任や賠償の判断は、この構成では代替できません。

07最小構成で試す方法

  1. 1店舗を選び、閉店後に、店に残っている仕上がり待ちの衣類から30点を選ぶ(うち10点は、受付票にシミやほつれが書かれているもの)
  2. 撮影台の代わりに無地の台紙を敷き、表・裏・洗濯表示を撮る
  3. Gemini API の有料の利用枠で、1点ずつ3枚をまとめて渡す
  4. 「シミ・変色・ほつれ・穴・ボタンの欠けの候補を、写真の番号と枠で返してください。シミの種類や落ちるかどうかは書かないでください。洗濯表示は見える記号だけを書き写してください」と指示する
  5. 出てきた候補を、受付票の記載と、ベテランの店員が衣類を見て拾った箇所と突き合わせる

30点は必ずやってください。 アプリを組む前に、「自社の店の照明と撮り方で、シミが写るのか」を確かめます。

出てきた内容判断
受付票とベテランの店員が拾った箇所が、候補として出た撮影台とアプリの作成に進む
シミの種類や落ちる見込みを書いた指示の書き方で直る。構成は有効
濃い色の衣類の候補がほとんど出ない照明と撮影台が先。 AIの問題ではない

3行目が出ることは珍しくありません。 失敗ではなく、ベテランの店員が衣類を光にかざして見ていた理由が1つ分かったということです。 照明を変えて同じ衣類を撮り直し、候補がどこまで変わるかを見てください。

08実装時につまずきやすいポイント

問題対策
シミの種類や落ちる見込みを書く指示で禁じる。 受付の画面に出さない
候補がそのまま受付票の確定になる確定の欄は店員の選択だけ。自動で移さない
写っていない付属品を「無い」と書くnot_visible にさせ、お客様に聞く
左右が入れ替わる撮影台の目印で向きを決め、受付票の書き方もそろえる
しわの影や柄をシミと言う撮影台と照明を整え、unclear で候補に入れる
濃い色の衣類でシミが写らない候補が少なくても目で見どころを確かめる
洗濯表示の記号の意味まで書く書き写しまで。意味は工場が確かめる
新旧の洗濯表示が混ざる記号の候補で受け、工場が新旧の表で確かめる
結果を待って列が伸びる時間を過ぎたら手で確かめる流れに切り替える

上の2行が、この構成の失敗のほとんどです。 どちらも、お客様と確かめていないことが、伝えたこととして残る失敗です。候補と確定を分け、写っている位置だけを返させるかどうかで、受付の記録が申し出のときに役立つかが決まります。

09セキュリティ・AIガバナンス上の注意点

この構成で扱うデータ: お客様の衣類の写真、預かり番号、受付の日時です。衣類には名札、刺しゅうの名前、社員証、ポケットの中の紙が付いていることがあり、写真に写り込みます。

  1. アプリを使う人を18歳以上に限る … Gemini API の規約は、18歳未満の人が使う、または使う見込みのあるアプリでの利用を認めていません。受付のアプリのアカウントは18歳以上の店員だけに発行し、高校生のアルバイトの時間帯は手で確かめる流れにします。 この線引きが難しい店では、代替候補の Claude API などで同じ構成を組むことを検討します
  2. 写り込みを外してから撮る … 名札や紙は外してから撮ります。写り込んだ写真は保存せず、撮り直します
  3. お客様の名前を渡さない … AIには写真と品目だけを渡します。預かり番号とお客様の名前の対応は、レジの側だけに置きます
  4. 有料の利用枠で、保存させない … 規約では、有料のサービスではプロンプトと応答が製品の改善に使われないとされています。Interactions API の store を false にします。禁止された使い方の検知などのために限られた期間記録されることは書かれています
  5. 説明の責任を AI に寄せない … クリーニング業法は、受取と引渡しのときに処理方法などを利用者に説明するよう努めることを営業者に求めています。説明するのは店員で、AIの候補はその材料です
  6. 写真の保存の期間を決める … 申し出を受け付ける期間に合わせて決め、過ぎたら消します

誤りが起きた場合のリスクは、シミを見落として仕上がりの後の申し出で話がすれ違うことと、写真から推した「落ちます」がお客様への約束になることの2つです。 前者は候補を確定に自動で移すか、目で見る手順を省くと起き、後者はシミの種類や見込みを書かせると起きます。どちらも、候補と確定を分け、写っている位置だけを返させる設計で防げます。

10まず何から始めるか

1週目:撮影台と照明を決める

1店舗のカウンターに、無地の台紙と上からの照明を置きます。撮影台に「上」と「お客様から見た左」の目印を印刷し、受付票の左右の書き方をそれにそろえます。

2週目:30点で試す

閉店後に、仕上がり待ちの衣類30点を撮り、Gemini API に渡します。受付票とベテランの店員が拾った箇所が候補に出るかと、シミの種類を書いていないかを最優先で見ます。

3週目:品目ごとの見どころと受付の言葉を決める

品目ごとの見どころの一覧と、お客様と確かめるときの言葉(「ここにシミのように見える箇所があります。お気付きでしたか」など)を決めます。落ちるかどうかを聞かれたときの答え方も決めます。

4週目:受付のアプリから一覧までをつなぐ

1点分を撮ると候補の一覧が画面に出るところまで作ります。この時点では受付票は手書きのまま続け、一覧と手書きを見比べます。

2か月目: 「確認済み」「該当なし」の選択と、預かり番号への写真の結び付けを足します。外した候補の理由を毎週数えます。3か月目以降: 工場への申し送りと引渡しの画面を足し、ほかの店舗に広げます。外した理由が撮影台と指示の文に反映され、受付の記録が写真付きで全店にそろった時点で、この構成は完成です。


11関連ユースケース

12この仕組みを理解するための記事

13技術仕様の確認日・参考情報

技術仕様確認日:2026-10-15/最終更新:2026-10-23
確認した内容情報源確認日
対応する画像の形式が PNG、JPEG、WEBP、HEIC、HEIF であること。画像を直接入れる場合にリクエスト全体が20MBまでであること。1つのリクエストに複数の画像を入れられること。枠が [ymin, xmin, ymax, xmax] の順で0〜1000に正規化されること。輪郭を多角形で返させる例があること。画像のトークンの換算(768×768の区画ごとに258トークン)Gemini API: Image understanding2026-10-15
構造化出力が /v1beta/interactions に response_format で mime_type を application/json にし、schema にスキーマを入れて送る形であること。enum が使えること。値はアプリ側で検証するよう書かれていることGemini API: Structured output2026-10-15
Interactions API が既定でやり取りを保存し、有料の枠で55日保持すること。store=false で保存しないようにできることGemini API: Interactions2026-10-15
有料のサービスではプロンプトと応答が製品の改善に使われないこと。禁止された使い方の検知などのために限られた期間記録されること。18歳以上であることが利用の条件で、18歳未満の人に向けた、または18歳未満の人が使う見込みのあるアプリでは使えないことGemini API Additional Terms of Service2026-10-15
営業者は、洗濯物の受取及び引渡しをしようとするときは、あらかじめ利用者に対し洗濯物の処理方法等について説明するよう努めなければならないこと。受取及び引渡しに際し、利用者に苦情の申出先を明示しなければならないこと(第3条の2)e-Gov 法令API: クリーニング業法2026-10-15
洗濯表示が JIS L0001 に基づき、洗濯・漂白・乾燥・アイロン仕上げ・商業クリーニングの5つの基本記号と付加記号で構成されること。商業クリーニングの記号が本革と毛皮を除く繊維製品を対象とすること。基本記号のいずれかが記載されていないときはその記号が意味するすべての処理が可能とすること。令和6年8月20日以降の表示と、それより前の表示が別のページで示されていること消費者庁: 洗濯表示(令和6年8月20日以降)2026-10-15

受付のときの説明のしかた、苦情の申出先の示し方、事故のときの対応は、クリーニング業法と自治体の指導、加入している組合の取り決めに沿って決めてください。 本記事は公開の資料で確認できた範囲だけを扱っています。

実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。

自社の業務に使えるAI活用候補を整理します

このユースケース(UC-1688)についてのご相談はこちらから。

AI活用について相談する
目次