Function: generate-interior-gemini
Base URL: https://bgbavxtjlbvgplozizxu.supabase.co/functions/v1/generate-interior-gemini
Auth: Authenticated users (JWT required)
Gemini-backed interior design image generation with four modes.
| Mode | Description | Credits |
|---|---|---|
text-to-image |
Narrative prompt → new room render | 6 (flash) / 15 (pro) |
image-edit |
Existing image + instruction → edited image | 6 (flash) / 15 (pro) |
floor-plan-render |
Floor plan image + style → photorealistic perspective render | 6 (flash) / 15 (pro) |
floor-plan-text |
Text description → 2D floor plan diagram | 6 (flash) / 15 (pro) |
| Model | Credits | Quality |
|---|---|---|
gemini-3.1-flash-image-preview |
6 | Fast, good quality |
gemini-3-pro-image-preview |
15 | 4K output, highest quality |
POST /functions/v1/generate-interior-gemini
Authorization: Bearer <jwt>
Content-Type: application/json
{
"mode": "text-to-image",
"prompt": "Scandinavian living room with natural oak floors, white walls, afternoon light",
"model": "gemini-3.1-flash-image-preview",
"aspect_ratio": "16:9",
"workspace_id": "uuid"
}
POST /functions/v1/generate-interior-gemini
{
"mode": "image-edit",
"image_url": "https://...",
"instruction": "Replace the sofa with a dark green velvet sectional",
"model": "gemini-3.1-flash-image-preview",
"workspace_id": "uuid"
}
Supports style-transfer pipeline: provide inspiration_url to extract a design spec and apply it to the room without spatial bleed.
POST /functions/v1/generate-interior-gemini
{
"mode": "floor-plan-render",
"floor_plan_url": "https://...",
"style": "modern minimalist",
"room_type": "living room",
"model": "gemini-3-pro-image-preview",
"workspace_id": "uuid"
}
Produces a photorealistic perspective interior render from a 2D floor plan.
POST /functions/v1/generate-interior-gemini
{
"mode": "floor-plan-text",
"description": "Open plan kitchen and living room, 50sqm, with island counter and dining area for 6",
"workspace_id": "uuid"
}
{
"success": true,
"image_url": "https://bgbavxtjlbvgplozizxu.supabase.co/storage/v1/object/public/generation-images/gemini/uuid.png",
"model": "gemini-3.1-flash-image-preview",
"credits_used": 6
}
| Status | Meaning |
|---|---|
400 |
Missing mode or required fields |
402 |
Insufficient credits |
500 |
Gemini API error |