賃貸の募集に使う室内・外観の写真を掲載前に見て、人・表札・車のナンバー・私物の写り込みと、撮り直しが要る暗い・傾いた写真を拾う
賃貸の募集に使う写真を、掲載の前に ChatGPT(OpenAI API)に1枚ずつ見せ、人・表札・車のナンバー・私物などの写り込みと、暗い・傾いた・ぼけた写真を拾います。担当者は、引っかかった写真だけを見て、隠すか撮り直すかを決めます。
- 生成AI
- ChatGPT/Claude/Gemini
- 連携・自動化
- Google Apps Script/Make/Power Automate
- 対象業界
- 不動産/宿泊
- 対象部門
- マーケティング
- 対象業務
- 内容確認・チェック/分類・仕分け
- 主な課題
- 人手が足りない/属人化している/確認ミスが多い
- AIで行う処理
- 画像認識
- 主な効果
- 入力漏れ削減/品質標準化/工数削減
- 導入難易度
- ★★☆☆☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 撮影者が、部屋ごとのフォルダに写真を入れ、物件の台帳の「写真」の欄に済みと書く
- 募集推進の担当が、フォルダを開いて写真を1枚ずつ拡大して見る
- 人・表札・車のナンバー・私物・郵便物・鏡やガラスへの映り込みを探す
- 暗い写真、傾いた写真、ぼけた写真、指が写った写真を選ぶ
- 台帳の設備の欄を見て、載せるはずの場面の写真がそろっているかを見る
- 撮り直しやぼかしが要る写真を、撮影者にメールかチャットで伝える
- そろった写真を掲載の順に並べ、ポータルサイトに入稿する
- 人撮影者が、部屋ごとのフォルダに写真を入れ、台帳の「写真」の欄に済みと書く
- 自動Google Apps Script が10分ごとに台帳を見て、済みになった部屋の写真を集める
- 自動形式・大きさ・枚数を確かめ、対応していない形式の写真を一覧に出す
- 自動写真を1枚ずつ OpenAI API に渡し、場面と写り込みと写りの問題を JSON で受け取る
- 自動1枚ごとの結果から、「そのまま使える」「隠してから使う」「撮り直す」「人が見る」の区分を規則で決める
- 自動部屋ごとに場面を数え、台帳の設備と突き合わせて撮り漏れを出す
- 自動撮影者への依頼の下書きを作り、結果を点検の一覧に書き出す
- 人募集推進の担当が、「隠してから使う」「撮り直す」「人が見る」の写真だけを開いて確かめる
- 人隠す写真は担当者がぼかしを入れ、撮り直しは下書きを直して撮影者に送る
- 人そろった写真を並べ、ポータルサイトに入稿する
各工程の詳しい説明を読む
- 撮影者が、部屋ごとのフォルダに写真を入れ、物件の台帳の「写真」の欄に済みと書く
- 募集推進の担当が、フォルダを開いて写真を1枚ずつ拡大して見る
- 人・表札・車のナンバー・私物・郵便物・鏡やガラスへの映り込みを探す
- 暗い写真、傾いた写真、ぼけた写真、指が写った写真を選ぶ
- 台帳の設備の欄を見て、載せるはずの場面の写真がそろっているかを見る
- 撮り直しやぼかしが要る写真を、撮影者にメールかチャットで伝える
- そろった写真を掲載の順に並べ、ポータルサイトに入稿する
(a)1枚ずつ拡大しないと見つからない。 外観の写真の端の表札や、駐車場の奥の車のナンバーは、一覧の縮小表示では見えません。 1室25枚を全部拡大して見ると、それだけで数分かかります。
(b)見る場所が担当者によって違う。 ある担当者は表札と車をよく見て、別の担当者は暗さと傾きをよく見ます。鏡や窓ガラス、テレビの画面に撮影者が映っているのは、誰も決まって見てはいません。
(c)撮り直しの基準がばらばら。 「少し暗いけれど載せる」「傾いているから撮り直す」の線が、担当者とその日の忙しさで変わります。撮影者からは「前は通ったのに今回はだめなのか」と言われます。
(d)撮り漏れに気づくのが遅い。 台帳に「独立洗面台あり」とあるのに洗面台の写真が無いことに、入稿の直前で気づきます。撮り直しは数日後になり、その間、部屋は写真の少ないまま募集に出ます。
- 【人】 撮影者が、部屋ごとのフォルダに写真を入れ、台帳の「写真」の欄に済みと書く
- 【自動】 Google Apps Script が10分ごとに台帳を見て、済みになった部屋の写真を集める
- 【自動】 形式・大きさ・枚数を確かめ、対応していない形式の写真を一覧に出す
- 【自動】 写真を1枚ずつ OpenAI API に渡し、場面と写り込みと写りの問題を JSON で受け取る
- 【自動】 1枚ごとの結果から、「そのまま使える」「隠してから使う」「撮り直す」「人が見る」の区分を規則で決める
- 【自動】 部屋ごとに場面を数え、台帳の設備と突き合わせて撮り漏れを出す
- 【自動】 撮影者への依頼の下書きを作り、結果を点検の一覧に書き出す
- 【人】 募集推進の担当が、「隠してから使う」「撮り直す」「人が見る」の写真だけを開いて確かめる
- 【人】 隠す写真は担当者がぼかしを入れ、撮り直しは下書きを直して撮影者に送る
- 【人】 そろった写真を並べ、ポータルサイトに入稿する
8番目が、この設計の分かれ目です。人が開くのは、引っかかった写真だけです。 1室25枚のうち数枚を開き、残りは一覧で場面と枚数を流し見ます。全部を開く運用にすると、40.0時間はほとんど減りません。
5番目を規則で決めているのも意図してのことです。 AIには「何が写っているか」だけを返させ、それを隠すのか撮り直すのかは、自社の掲載の基準として規則の側に置きます。 例えば「車のナンバーが読めるならぼかす」「人の顔が写っていれば撮り直す」は会社が決めることで、後から変わります。
02今回想定するシステム構成
撮影者 ── 部屋ごとの写真フォルダ(共有ドライブ) │ 台帳の「写真」の欄を済みにする ▼【トリガー】10分ごとの時間主導型トリガー Google Apps Script ├──▶ 物件の台帳(スプレッドシート)から、済みで未点検の部屋を拾う ├──▶ 写真の形式・大きさ・枚数を確かめる ▼ ChatGPT(OpenAI API の Responses API、画像入力と構造化出力) │ 1枚ずつ:場面/写り込み(人・表札・ナンバー・私物・書類・映り込み) │ /写り(暗い・傾き・ぼけ・逆光・指)と、写真の中の位置 ▼ Google Apps Script ── 規則で区分を決める │ そのまま使える/隠してから使う/撮り直す/人が見る ├──▶ 部屋ごとの場面の数と台帳の設備の突き合わせ(撮り漏れ) ├──▶ 撮影者への依頼の下書き ▼ 点検の一覧(スプレッドシート)── 募集推進の担当が引っかかった写真だけを確かめる ▼ ぼかし・撮り直し → ポータルサイトへ入稿(人)
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 処理 | ChatGPT(OpenAI API の Responses API。画像入力と構造化出力) | Gemini API、Claude API |
| 連携 | Google Apps Script(時間主導型トリガー、ドライブと台帳の読み書き) | Make、Power Automate |
| 保管 | 共有ドライブの部屋ごとの写真フォルダと点検の一覧 | 社内のファイルサーバー |
新しく足すのは、Google Apps Script のスクリプト1本と、OpenAI API の利用だけです。 台帳も写真フォルダも、いまのものをそのまま使います。
画像の見分けは、OpenAI API の画像入力で行います。 公式の案内では、画像は URL、Base64 のデータ URL、Files API のファイル ID のいずれかで渡せます。対応する形式は PNG、JPEG、WEBP、アニメーションでない GIF で、1回のリクエストの合計は最大512MB、画像は最大1,500枚とされています。
detail という設定で、画像をどれだけ細かく見るかを選べます。 low(大まかな理解)、high(標準的な高い精度)、original(大きい・細かい・位置が大事な画像向けで、モデルが対応している場合)、auto(既定)の4つです。表札や車のナンバーのような小さな文字を見るので、high を基本にし、対応するモデルなら外観と駐車場の写真は original にします。
公式の案内は、画像の見分けの限界も挙げています。 小さな文字、回転した画像、正確な位置の把握、物の数え上げ、パノラマや魚眼の画像は誤りやすいとされ、画像は見分けの前に縮小されることがあるとも書かれています。だから、AIが「何も無い」と返した写真も、人が流し見る段は外しません。
結果は構造化出力で受け取ります。 Responses API では text.format に type: "json_schema" と strict: true を指定し、スキーマどおりの JSON を返させます。
03どうやって実装するのか
処理の起点を決める
物件の台帳の「写真」の欄が「済み」になったことを起点にします。 ただし、Google Apps Script のインストール型トリガーには、ドライブにファイルが追加されたときに動くものはありません。公式の案内に挙がっているのは、開いたとき・編集したとき・変更したとき・フォームの送信・カレンダーの予定と、時間主導型のトリガーです。そこで、時間主導型のトリガーで10分ごとに台帳を見に行きます。
時間主導型のトリガーは毎分から月1回まで選べ、実行の時刻はいくらかばらつくことがあるとされています。写真フォルダそのものを見張らないのは、撮影者が写真を入れている途中で点検が走るのを避けるためです。
点検が終わった部屋は、台帳の「点検」の欄に日時を書き、 次の実行では「写真」が済みで「点検」が空の部屋だけを拾います。
1回の実行で処理する部屋は、5室までにします。Google Apps Script の1回の実行は最大6分です。時間が足りなくなる前に止め、残りは次の実行に回します。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 写真 | 部屋ごとのフォルダの画像ファイル。ファイル名と撮影の日時 | 共有ドライブ |
| 部屋の情報 | 物件コード、部屋番号、間取り、設備の欄(独立洗面台、浴室乾燥機、宅配ボックス、駐車場など) | 物件の台帳 |
| 撮影者 | 撮影者の名前と連絡先、撮影の区分(管理の担当/協力会社/オーナー) | 物件の台帳 |
| 掲載の基準 | 載せる場面の一覧、写り込みごとの扱い(ぼかす/撮り直す)、写りの基準 | 募集推進の担当が作る文書 |
質を決めるのは、いちばん下の掲載の基準です。 何が写っていたら隠し、何が写っていたら撮り直すのかが文書になっていないと、AIの返す結果をどう扱うかが、また担当者ごとに分かれます。
掲載の基準は、次のような表で作ります。
| 写り込み | 扱い | 例 |
|---|---|---|
| 人の顔・人の姿 | 撮り直す | 窓の外の通行人、鏡に映った撮影者 |
| 表札・郵便受けの名前 | ぼかす | 外観やエントランスの写真の端の表札 |
| 車のナンバー | ぼかす | 駐車場や前面道路の写真 |
| 前の入居者や他の部屋の私物 | 撮り直す | 置き去りの家具、ベランダの洗濯物 |
| 書類・郵便物・掲示物 | ぼかす | 掲示板の他の入居者の部屋番号、玄関の郵便物 |
| 隣の建物の部屋の中 | 撮り直す | 窓から見える向かいの部屋 |
| 撮影の道具 | 撮り直す | 三脚、撮影者の指、作業の道具 |
データの取得方法を決める
写真は、部屋ごとのフォルダからスクリプトが読みます。 フォルダの ID は台帳の列に持たせておき、ファイルの一覧を取って、1枚ずつ中身を読み出します。
| 取るもの | どこから | 何に使うか |
|---|---|---|
| 写真のファイル | 部屋ごとのフォルダ | AIに見せる画像 |
| ファイル名・大きさ・形式 | ファイルの情報 | 前処理の確認 |
| 設備の欄 | 物件の台帳 | 撮り漏れの突き合わせ |
| 撮影者 | 物件の台帳 | 依頼の下書きの宛先 |
画像は Base64 のデータ URL にして渡します。 共有ドライブの写真は社外から見られない設定なので、URL で渡すことはできません。写真を一時的に公開して URL を渡す、という作り方はしません。 公開した瞬間に、点検前の写真が社外から見える状態になります。
1回のリクエストには、写真を1枚だけ入れます。 複数枚をまとめて渡すこともできますが、どの結果がどの写真のものかを取り違えないために、1枚ずつにします。 Google Apps Script の URL フェッチは1回の送信が最大50MB、1日の回数は Google Workspace のアカウントで100,000回です。時間主導型トリガーの1日の合計の実行時間は6時間までで、 1枚10秒としても1日250枚なら40分ほどで収まります。
AIへ渡す前に整形する
- 形式の確認 … PNG、JPEG、WEBP、アニメーションでない GIF 以外は見分けに渡しません。スマートフォンの HEIC 形式の写真は、撮影者に JPEG で入れ直してもらうか、端末の設定を JPEG にしてもらいます
- パノラマ・魚眼の写真の区別 … 公式の案内で誤りやすいとされる画像です。ファイル名か撮影の区分で分け、見分けの結果に「人が見る」を付けます
- 向きの確認 … 横倒しや逆さの写真は、見分けを誤りやすいとされています。撮影者に、向きを確かめてから入れてもらいます
- 重複の除去 … 同じ写真が2枚入っていたら、1枚だけ見分けに渡します
- 部屋の情報の付与 … 物件コード・部屋番号・設備の欄を、見分けの指示に添えます
1番目の HEIC は、最初の月に必ず出ます。 見分けに渡せなかった写真は、点検されていない写真として一覧のいちばん上に出します。 黙って飛ばすと、点検していない写真がそのまま入稿されます。
AIに処理させる
させるのは、1枚ずつ「何の場面か」「何が写り込んでいるか」「写りに問題があるか」を、写真の中の位置を添えて返すことだけです。
| 見るもの | 返し方 | 判断できないときの扱い |
|---|---|---|
| 場面 | 外観・エントランス・共用部・居室・キッチン・浴室・トイレ・洗面・収納・バルコニー・眺望・設備・駐車場・その他から1つ | 迷えば「その他」と uncertain |
| 人 | 顔・姿・鏡やガラスへの映り込み | 人かどうか分からないものは uncertain |
| 表札・郵便受けの名前 | 文字が読めるか、読めないが名前の札があるか | 読めるかどうか迷えば「読める」側に倒す |
| 車のナンバー | 文字が読めるか | 同上 |
| 私物 | 家具・家電・衣類・ごみなど、部屋の備え付けでないと見える物 | 備え付けか分からなければ uncertain |
| 書類・掲示物 | 郵便物、掲示板の掲示、貼り紙 | - |
| 窓の外 | 隣の建物の部屋の中が見えるか | - |
| 写り | 暗い・傾いている・ぼけている・逆光・指や道具が写っている・横倒し | 程度は「強い/弱い」の2段階 |
「読めるかどうか迷えば読める側に倒す」が大事です。 表札や車のナンバーは、見落としたときの損が、拾い過ぎたときの損よりずっと大きいからです。拾い過ぎた写真は担当者が1枚見て戻すだけで済みますが、見落とした写真はポータルサイトに出ます。
位置は「左上」「中央」のような9つの区分で返させ、正確な座標は求めません。 担当者がどのあたりを見ればよいかが分かれば足ります。
| させないこと | 理由 |
|---|---|
| 写真の加工(ぼかし・消去・明るさの補正) | 部屋の状態まで変わるおそれがあり、広告の規約に関わる |
| 掲載してよいかの結論 | 掲載の基準は会社が決め、規則の側で決める |
| 表札の名前や車のナンバーの書き写し | 読み取った個人の情報を、結果の一覧に残さない |
| 部屋の傷や汚れの評価 | 原状回復や修繕の話で、この点検の目的ではない |
| 写っている人が誰かの推測 | 目的外で、してはならない |
3行目を見落としやすいので注意してください。 何も言わないと、AIは親切に「表札:山田」「ナンバー:品川 300 あ 12-34」と書き写します。点検の一覧が、近所の人の名前と車のナンバーの一覧になってしまいます。 返させるのは「読める表札がある」という事実と位置だけです。
指示内容を固定する
あなたは賃貸の募集に使う部屋の写真を、掲載の前に点検する担当です。
渡された写真1枚について、写っている場面、写り込み、写りの問題を、
決められた JSON の形で返してください。
【見るもの】
1. 場面:exterior(外観), entrance(エントランス), common(共用部),
room(居室), kitchen, bath(浴室), toilet, washroom(洗面),
storage(収納), balcony, view(眺望), equipment(設備),
parking(駐車場), other から1つ。
2. 写り込み:次の種類に当たるものをすべて挙げてください。
- person ......... 人の顔・姿。鏡・窓ガラス・テレビの画面への映り込みを含む
- nameplate ...... 表札、郵便受けや宅配ボックスの名前の札
- license_plate .. 車やバイクのナンバープレート
- personal_items . 家具・家電・衣類・ごみなど、備え付けでないと見える物
- documents ...... 郵便物、掲示板の掲示、貼り紙、書類
- neighbor_view .. 窓の外に、ほかの建物の部屋の中が見える
- equipment_tool . 三脚、撮影者の指、作業の道具
3. 写り:dark(暗い), tilted(傾き), blurred(ぼけ), backlit(逆光),
rotated(横倒し・逆さ)。それぞれ strong か weak。
【位置の書き方】
写真を縦横3つずつに分け、top_left, top_center, top_right, middle_left,
center, middle_right, bottom_left, bottom_center, bottom_right から選んでください。
【厳守事項】
- 表札の名前、ナンバープレートの文字、書類の中身は書き写さないでください。
readable に true か false を入れるだけにしてください。
- 文字が読めるかどうか迷ったら readable は true にしてください。
- 写り込みかどうか迷ったものも挙げ、uncertain を true にしてください。
迷ったものを省かないでください。
- 写っている人が誰かを推測しないでください。
- 写真を加工する方法や、掲載してよいかどうかは書かないでください。
- 部屋の傷・汚れ・設備の状態の良し悪しは書かないでください。
- 写真に写っていないことを、書かないでください。
- 部屋の写真でない(書類の写真、真っ暗な写真など)と判断したら、
scene を other にし、note にその旨を書いてください。
【部屋の情報】{room_info}
「書き写さない」を最初の厳守事項に置いているのは、第7章の「させないこと」の3行目のためです。 書き写さないことを言わずに「表札があるか見て」とだけ頼むと、ほぼ必ず名前が結果に入ります。readable という真偽の項目だけをスキーマに置き、名前を入れる欄そのものを作らないのも同じ理由です。
「迷ったら挙げる」を2か所に書いているのは、何も言わないと確信の持てるものだけが返るからです。 窓の奥の小さな人影やぼやけたナンバーこそ、担当者に見てほしいものです。
出力形式を固定する
1枚ごとに、次の形の JSON を受け取ります。
{
"photo_id": "R-1024-305_07.jpg",
"scene": "parking",
"findings": [
{ "type": "license_plate", "readable": true, "position": "bottom_right",
"uncertain": false, "note": "手前の車の後ろのナンバー" },
{ "type": "nameplate", "readable": false, "position": "top_left",
"uncertain": true, "note": "隣の建物の門柱に札のような物" }
],
"quality": [
{ "type": "tilted", "level": "weak" }
],
"note": ""
}
findings と quality は、何も無ければ空の配列にします。 スキーマで必須にしておき、項目そのものが抜けた結果を「何も無かった」と取り違えないようにします。
Google Apps Script は、この結果と掲載の基準から、写真の区分を決めます。
| 条件 | 区分 |
|---|---|
findings に person、personal_items、neighbor_view、equipment_tool がある | 撮り直す |
findings に nameplate、license_plate、documents があり readable が true | 隠してから使う |
quality に strong がある | 撮り直す |
findings に uncertain が true のものがある | 人が見る |
readable が false の nameplate・license_plate だけ | 人が見る |
| どれにも当たらない | そのまま使える |
区分が2つ以上に当たったら、上の行を優先します。 撮り直すなら、隠す必要はありません。
部屋ごとには、場面の数を数えて撮り漏れを出します。
【部屋】R-1024 305号室(1LDK) 撮影者:協力会社 B
【写真】26枚 そのまま使える 21/隠してから使う 2/撮り直す 2/人が見る 1
【撮り漏れ】washroom(台帳:独立洗面台あり)
【依頼の下書き】
B様 R-1024 305号室の写真についてお願いです。
・07 駐車場:ぼかしをこちらで入れます(対応不要)
・12 居室:窓に撮影の方が映っています。角度を変えて撮り直しをお願いします
・19 浴室:暗いため、照明をつけて撮り直しをお願いします
・洗面台の写真が見当たりません。追加をお願いします
こう分けるのは、AIの結果と会社の基準を別々に持つためです。 掲載の基準が変わっても、直すのは区分の表だけで、過去の写真を見分け直す必要はありません。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 物件の台帳 | Google Apps Script で読み書き | 済みで未点検の部屋を拾い、点検の日時を書く |
| 共有ドライブの写真フォルダ | Google Apps Script で読む | 写真の中身とファイルの情報を取る |
| OpenAI API | Responses API の呼び出し | 1枚ずつの見分けを JSON で受け取る |
| 点検の一覧 | Google Apps Script で書く | 部屋ごと・写真ごとの区分と依頼の下書き |
| 撮影者への連絡 | 担当者が手で送る | 下書きを直してメールかチャットで送る |
写真フォルダには書き込まず、写真を動かすこともしません。 区分は点検の一覧に書くだけにします。
ポータルサイトへの入稿にはつなぎません。 「そのまま使える」写真を自動で入稿する作りにすると、AIが見落とした写り込みが、人が一度も見ないまま公開されます。
人が確認する
人が開くのは、「隠してから使う」「撮り直す」「人が見る」の写真だけです。 「そのまま使える」の写真は、一覧で場面と枚数を流し見ます。
- 「人が見る」を先に見る … 迷ったものです。多くは何でもない影や模様ですが、窓の奥の人影もここに入ります
- 「隠してから使う」を見て、ぼかしを入れる … 位置を見て、その部分だけをぼかします。部屋の壁や設備にかからないようにします
- 「撮り直す」を見て、依頼の下書きを直す … 本当に撮り直しが要るかを確かめます。暗さの weak を strong と判断していたら、撮り直しをやめます
- 撮り漏れを見て、台帳の設備が正しいかを確かめる … 台帳の誤りで撮り漏れが出ていることがあります
- 区分を覆したら記録する … どの写真の、どの区分を、どちらに変えたかを残します
「そのまま使える」の写真も、入稿の前に縮小表示で全部を一度は見ます。 AIの見落としを止める最後の段です。
目標は、200室をならして1室3分です。
例外に対処する
| 起きること | 対応 |
|---|---|
| HEIC など対応していない形式の写真 | 見分けに渡さず、一覧のいちばん上に「未点検」と出す。撮影者に JPEG で入れ直してもらう |
| パノラマ・魚眼の写真 | 見分けはするが、区分を「人が見る」にする |
| 横倒し・逆さの写真 | quality に rotated が出たら撮り直し。出なくても担当者が縮小表示で気づいたら直す |
| AIが答えを拒んだ・途中で切れた | 公式の案内では、拒否はスキーマに合わない形で返り、途中で切れたものは status が incomplete になる。どちらも「人が見る」にする |
| API が応答しない | 台帳の「点検」を空のままにし、次の実行でやり直す |
| 1回の実行の時間が足りない | 5室を超えたら止め、残りは次の実行へ |
| 撮影者が途中で写真を足した | 「写真」を済みにし直したら「点検」を空に戻し、全部を点検し直す |
| 部屋の写真でない画像が混ざった | scene が other で note に理由。担当者がフォルダから外す |
| 台帳の設備の欄が空 | 撮り漏れの突き合わせをせず、一覧に「設備の欄が空」と出す |
4行目を見落とさないでください。 拒否や途中で切れた結果を JSON として読もうとすると、スクリプトが止まるか、空の findings として「そのまま使える」に入ります。 公式の案内でも、拒否は解析の前に確かめるよう書かれています。
記録を残す
- 部屋ごとの点検の日時と、点検した写真の一覧
- 1枚ごとの AI の結果の JSON(表札やナンバーの文字は入っていない)
- 区分と、そのとき使った掲載の基準の版
- 人が区分を覆した記録 … どの写真の、どの区分を、どちらに変えたか
- 撮影者への依頼と、撮り直しの写真が入った日時
- 撮影者ごとの「撮り直す」の数と、理由の内訳
4つ目の記録で、基準とAIのずれが分かります。 「そのまま使える」から引き上げた写真があれば、AIの見落としの型として、指示の例に足します。 最後の行は、撮り方の手引きを撮影者と見直す材料になります。
04実装レベルの3段階
最小構成では、200室はさばけません。 1室ずつ貼るので、確かめるための段階です。 半自動化で、1室12分が6分程度になります。 写り込みの見分けは自動になりますが、区分を決めることと、撮り漏れの確認と依頼の文面が手作業で残ります。本格構成で3分になり、この段階が本記事の想定です。 差が大きいのは、撮り漏れの突き合わせと依頼の文面が、1室ずつの手作業だからです。 段階を飛ばさないでください。 半自動化の一覧を1か月見ると、AI が迷う写り込みの種類が先に分かり、区分の表を決めやすくなります。
05工数削減シミュレーション
導入後 200件 × 3分 ÷ 60 = 10 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 管理物件の退去後の部屋や新しく預かった部屋の募集を毎月まとめて始め、写真を管理の担当・協力会社・オーナーなど複数の人が撮っている賃貸仲介・管理会社。1室20〜30枚の写真を、募集の担当が掲載の前に目で見ているが、表札や車のナンバー、前の入居者の私物の写り込みが掲載後に見つかることがある場合。写真を共有のフォルダに集めており、Google Workspace と OpenAI API を使える場合。
- 募集する部屋が月に数室で、撮影もプロの撮影者が1人で行い、写りがそろっている場合。写真の加工(明るさの補正や物の消去)まで自動で行いたい場合(この構成は見つけて知らせるだけで、加工はしない)。なお、写真が広告の規約に合っているか、掲載してよいかの判断は、この構成では代替できません。
07最小構成で試す方法
- 先月募集を始めた部屋から5室を選ぶ(うち2室は、掲載後に写り込みの連絡があった部屋や、撮り直しになった部屋を入れる)
- 5室の写真を、ChatGPT の画面に1室ずつ数枚ずつ貼る
- 第7章の指示の例を貼り、写真ごとに場面と写り込みと写りを返させる
- 返ってきた結果を、当時の担当者の点検と、掲載後の連絡の内容と突き合わせる
- わざと、表札が小さく写った外観の写真と、鏡に撮影者が映った浴室の写真を入れて、拾うかを見る
最初に確かめるのは、掲載後に見つかった写り込みを拾うかです。 拾えば、構成は形になります。
| 出てきた内容 | 判断 |
|---|---|
| 掲載後に見つかった写り込みを拾い、位置も合っていた | Google Apps Script での一括の点検に進む |
| 拾ったが、表札の名前を書き写した | 指示の書き方とスキーマで直る。名前を入れる欄を作らない |
| 小さな表札や奥の車のナンバーを拾わない | detail の設定と、撮り方の手引きの見直しが先 |
3行目が出たら、外観と駐車場の写真だけ近づいて撮る1枚を手引きに足すのも手です。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 小さな表札や奥のナンバーを拾わない | detail を high か original にする。 外観と駐車場は近づいて撮る1枚を足す |
| 表札の名前やナンバーが結果に書き写される | 指示で禁じ、スキーマに名前の欄を作らない |
| 迷ったものが省かれる | 「迷ったら挙げて uncertain」を指示に書く |
| HEIC の写真が黙って飛ばされる | 対応していない形式を一覧のいちばん上に出す |
| 拒否や途中で切れた結果が「そのまま使える」に入る | 解析の前に拒否と incomplete を確かめる |
| 撮影の途中で点検が走る | フォルダではなく台帳の「済み」を起点にする |
| 写真を一時的に公開して URL で渡す | しない。 Base64 で渡す |
| AIにぼかしまで入れさせたくなる | しない。 部屋の状態まで変わるおそれがある |
| 「そのまま使える」を自動で入稿する | しない。 縮小表示での流し見を残す |
上の3行が、この構成の失敗のほとんどです。 拾い過ぎてもよいから拾う、拾っても書き写さない、の2つを指示とスキーマの両方で守るかどうかで、運用に乗るかが決まります。
下の3行も同じくらい効きます。 写真を公開する・加工する・入稿する、のどれか1つでも自動にすると、点検の前の写真が外に出る経路ができます。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 部屋の写真と、そこに写り込んだ近所の人の表札、入居者の車のナンバー、通行人の姿、前の入居者の私物や郵便物です。部屋の写真そのものより、写り込みのほうが個人に関わります。
- 写真を外に出す前に点検する、という順番を守る … 写真を点検のために一時的に公開する作り方はしません。API には Base64 で渡します
- 読み取った文字を残さない … 表札の名前やナンバーを、点検の一覧にも AI の結果にも残しません。残すのは「読める表札がある」という事実と位置だけです
- API のデータの扱いを確かめておく … 公式の案内では、API に送ったデータは既定ではモデルの学習に使われず、不正利用の監視のためのログは最大30日保持されるとされています。Responses API には既定で30日の保持があり、
storeで扱いが変わります。写り込みの多い写真を送ることを、社内の決まりに照らして確かめておきます - 写真の加工は人が行い、規約に合わせる … 不動産の広告の規約では、写真は取引するものを表示し、事実に相違する表示や優良と誤認されるおそれのある表示が禁じられています。ぼかしは写り込みの部分だけにとどめます
- 撮り直しの代わりに、ほかの部屋の写真を使わない … 規約の施行規則では、他の建物の写真を使えるのは建築工事の完了前など、その建物の写真を使えない事情がある場合に限られ、他の建物である旨の明示が要るとされています。「同じ間取りの別の部屋の写真で済ませる」はしません
誤りが起きた場合のリスクは、写り込みを見落として掲載することと、写り込みを消すつもりで部屋の状態まで変えてしまうことの2つです。 前者は縮小表示での流し見で、後者は AI に加工をさせないことで防ぎます。
10まず何から始めるか
1週目:掲載の基準を表にする
募集推進の担当3名で、写り込みの種類ごとに「ぼかす」「撮り直す」を決めた表を作ります。過去に掲載後の連絡があった写真を並べ、それぞれをどちらにするかで合わせます。
2週目:5室で試す
先月の5室の写真を ChatGPT の画面に貼り、第7章の指示の例で見分けさせます。掲載後に見つかった写り込みを拾うかと、表札やナンバーを書き写していないかを最優先で見ます。
3週目:台帳を整える
物件の台帳に「写真」「点検」の欄と、写真フォルダの ID の列を足します。設備の欄が空の部屋を埋め、撮影者に HEIC ではなく JPEG で入れてもらうよう伝えます。
4週目:見分けと一覧をつなぐ
Google Apps Script で、台帳の「済み」を起点に写真を API に渡し、結果を点検の一覧に書き出すところまで作ります。この時点では区分を出さず、写真ごとの結果だけを見ます。
2か月目: 区分の規則と撮り漏れの突き合わせを足し、依頼の下書きを出します。人が区分を覆した記録を毎週数えます。3か月目以降: 撮影者ごとの撮り直しの数を見て撮り方の手引きを直し、1室12分が何分になったかを実測します。掲載後に写り込みの連絡が来ない月が続いた時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
画像を URL・Base64 のデータ URL・Files API のファイル ID で渡せ、1回のリクエストに複数を入れられること。対応形式が PNG・JPEG・WEBP・アニメーションでない GIF で、1回の合計が最大512MB・画像が最大1,500枚であること。detail に low・high・original・auto があること。小さな文字・回転した画像・正確な位置・数え上げ・パノラマや魚眼が誤りやすく、画像が縮小されることがあること | OpenAI: Images and vision | 2026-10-13 |
Responses API で text.format に type: "json_schema" と strict: true を指定すること。拒否がスキーマに合わない形で返るため解析の前に確かめること。status が incomplete の場合があること | OpenAI: Structured model outputs | 2026-10-13 |
| API のデータが既定ではモデルの学習に使われないこと。不正利用の監視のログが最大30日保持されること。Responses API に既定で30日の保持があること | OpenAI: Data controls in the OpenAI platform | 2026-10-13 |
| 1回の実行が最大6分、時間主導型トリガーの1日の合計が Google Workspace のアカウントで6時間、URL フェッチが1日100,000回・1回の送信が最大50MBであること | Google Apps Script: Quotas for Google Services | 2026-10-13 |
| インストール型トリガーにドライブのファイル追加で動くものが無いこと。時間主導型トリガーが毎分から月1回まで選べ、実行の時刻がばらつくことがあること | Google Apps Script: Installable triggers | 2026-10-13 |
| 宅地又は建物の写真は取引するものを表示すること、他の建物の写真を使えるのは建築工事の完了前等の事情がある場合に限られ他の建物である旨を明示すること(施行規則第9条(22))。写真等による表示で事実に相違する表示や実際のものより優良と誤認されるおそれのある表示をしてはならないこと(規約第23条(42)) | 不動産公正取引協議会連合会: 不動産の公正競争規約(規約集、PDF) | 2026-10-13 |
写真に何が写っていたら隠し、何が写っていたら撮り直すかは、自社の掲載の基準として募集の担当とオーナーで決めてください。 本記事は製品と業界団体の公開資料で確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1378)についてのご相談はこちらから。
