PropTechImage EditingSaaS

空間ステージング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画像合成ドメインへ再設計しました。

技術スタック

FrontendNext.js 14 (App Router) / React / TypeScript / Tailwind CSS / shadcn/ui / Radix UI
BackendNext.js Server Actions / Route Handlers / Zod
Database / AuthSupabase (PostgreSQL / Auth / Storage / RLS)
ImageOpenAI Image API (gpt-image-2) / Prompt Compiler
Queue / BillingVercel Cron / Supabase Job Table / Credit Ledger
OperationsOperator Dashboard / Encrypted Provider Keys / OpenAI Capacity Pool
InfrastructureVercel / Supabase

主要機能

01

空室/完成前物件画像と家具参考画像をアップロードし、家具種別・部屋用途・テイスト・ブランドイメージを構造化入力

02

画像上の手書き/矢印/矩形/ラベル注釈をベクターJSONとして保存し、生成時の位置指定へ変換

03

サーバー側の指示文生成: 部屋構造、床、壁、窓、建具、画角、パース、自然な影・接地感を維持する条件を補完

04

非同期生成キュー: Vercel Cron workerがworkspace concurrencyとnot_beforeを見ながらジョブをclaimし、結果をSupabase Storageへ保存

05

クレジット台帳: 生成前予約、成功時消費、失敗時返却、従量/固定/上限付き契約に対応

06

Provider capacity管理: OpenAI organization/project/model単位で暗号化APIキー、IPM制御、429時のcooldown/rescheduleを管理

工夫点

商品再現を優先する指示文設計

ユーザー入力をそのまま渡さず、家具参考画像の形状・色・素材感を優先しつつ、部屋構造や画角を維持する指示文へサーバー側で整形する設計にしました。

SaaS運用を見据えた非同期・課金設計

生成処理をUIから切り離し、ジョブテーブルとワーカーで処理。ジョブ状態とクレジット予約・消費・返却、従量課金、利用イベントを連動させました。

マルチテナント/オペレーター管理

Supabase RLSでワークスペース単位にデータを分離し、契約、クレジット、OpenAIの利用枠をoperator画面から管理できるようにしました。