空間ステージングAI合成SaaS
完成前/空室物件の写真に家具参考画像・テキスト指示・手書き位置指定を重ね、不動産媒体に載せやすいモデルハウス風画像を作るSaaS。
課題
完成前・空室物件の写真は生活イメージが伝わりにくく、媒体掲載用にモデルハウス風の画像を整えるには撮影・ホームステージングのコストとリードタイムが課題だった。 家具参考画像の商品再現性、部屋構造・画角・パースの維持、複数社の生成ジョブを安定処理する業務基盤が必要だった。
ソリューション
Next.js App Router + Supabaseを基盤に、空室画像・家具参考画像・手書き位置指定・構造化した入力を組み合わせる画像編集サービスを構築。 生成前の指示文生成、クレジット予約/消費台帳、Vercel Cronベースの非同期ワーカー、OpenAIキーと利用枠の管理まで実装。
成果
不動産媒体掲載向けに、元画像比率を維持したPNG生成、1社あたり1日100枚規模の処理、ワークスペース/契約/クレジット管理に対応するMVPを構築。
チーム
1 member, MVP phase
要件定義・LP・アプリUI・DB設計・生成ワーカー・運用管理画面
役割
要件整理、LP、ワークスペースUI、DB、生成ワーカー、運用画面を一通り実装。
旧SaaS基盤を整理し、不動産向け2D画像合成ドメインへ再設計しました。
技術スタック
主要機能
空室/完成前物件画像と家具参考画像をアップロードし、家具種別・部屋用途・テイスト・ブランドイメージを構造化入力
画像上の手書き/矢印/矩形/ラベル注釈をベクターJSONとして保存し、生成時の位置指定へ変換
サーバー側の指示文生成: 部屋構造、床、壁、窓、建具、画角、パース、自然な影・接地感を維持する条件を補完
非同期生成キュー: Vercel Cron workerがworkspace concurrencyとnot_beforeを見ながらジョブをclaimし、結果をSupabase Storageへ保存
クレジット台帳: 生成前予約、成功時消費、失敗時返却、従量/固定/上限付き契約に対応
Provider capacity管理: OpenAI organization/project/model単位で暗号化APIキー、IPM制御、429時のcooldown/rescheduleを管理
工夫点
商品再現を優先する指示文設計
ユーザー入力をそのまま渡さず、家具参考画像の形状・色・素材感を優先しつつ、部屋構造や画角を維持する指示文へサーバー側で整形する設計にしました。
SaaS運用を見据えた非同期・課金設計
生成処理をUIから切り離し、ジョブテーブルとワーカーで処理。ジョブ状態とクレジット予約・消費・返却、従量課金、利用イベントを連動させました。
マルチテナント/オペレーター管理
Supabase RLSでワークスペース単位にデータを分離し、契約、クレジット、OpenAIの利用枠をoperator画面から管理できるようにしました。