Skip to main content

Welcome to AI Studio

This quickstart guide will walk you through creating your first AI-enhanced property photo project. You’ll learn how to:
  • Create a workspace and set up your account
  • Upload property photos
  • Apply AI-powered style templates
  • Download your enhanced images
This guide focuses on using AI Studio as a user. For development setup, see the Development Setup guide.

Sign up and create your workspace

1

Create your account

Visit the AI Studio platform and sign up with your email address. You’ll receive a verification email to confirm your account.
2

Complete workspace onboarding

After email verification, you’ll be guided through workspace creation:
  • Workspace name: Choose a name for your team or agency
  • Company details: For invoice-eligible workspaces (Norwegian B2B)
  • White-label branding: Upload logo and set brand colors (Enterprise plan)
// From source: lib/db/schema.ts:15-46
export const workspace = pgTable("workspace", {
  id: text("id").primaryKey(),
  name: text("name").notNull(),
  slug: text("slug").notNull().unique(),
  organizationNumber: text("organization_number"), // Norwegian org number
  contactEmail: text("contact_email"),
  logo: text("logo"),
  primaryColor: text("primary_color"),
  plan: text("plan").notNull().default("free"), // free | pro | enterprise
  status: text("status").notNull().default("active"),
});
3

Choose your plan

Select a plan based on your needs:
  • Free: 10 projects per month, basic features
  • Pro: Unlimited projects, advanced editing ($99/month)
  • Enterprise: Custom pricing, white-label, priority support
See Pricing for detailed plan comparison.

Create your first project

1

Navigate to dashboard

After onboarding, you’ll land on the Projects dashboard. Click Create Project to start.
2

Upload property photos

Upload one or more property images:
  • Supported formats: JPG, PNG, WebP
  • Recommended size: 1024x1024 to 2048x2048 pixels
  • File size limit: 10 MB per image
Images are automatically uploaded to Supabase Storage in your workspace bucket.
3

Select style template

Choose a style template for your photos. Currently available:Scandinavian - Light, airy spaces with natural wood and minimal decor
// From source: lib/style-templates.ts:82-92
{
  id: "scandinavian",
  name: "Scandinavian",
  category: "staging",
  prompt: "Transform into a Scandinavian-style interior. Add light wooden furniture, 
           white and neutral tones, natural textures like linen and wool, minimalist 
           decor with clean lines. Include plants for freshness. The space should feel 
           bright, calm, and inviting with excellent natural lighting."
}
More style templates (Modern Luxury, Coastal, Industrial) are coming soon!
4

Select room type

Specify the room type for better AI context:
  • Living room
  • Bedroom
  • Kitchen
  • Bathroom
  • Dining room
  • Office
  • Exterior
The room type is added to the AI prompt for more accurate transformations.
// From source: lib/style-templates.ts:65-80
export function generatePrompt(template: StyleTemplate, roomType: string | null): string {
  const preserveStructure = 
    "Do not move, remove, or modify windows, walls, doors, or any architectural elements. 
     Keep the room layout exactly as shown.";
  
  let prompt = template.prompt;
  
  if (roomType) {
    const roomLabel = roomType.replace(/-/g, " ");
    prompt = `This is a ${roomLabel}. ${prompt}`;
  }
  
  return `${prompt} ${preserveStructure}`;
}
5

Name your project

Give your project a descriptive name like “123 Main St - Living Room” or “Downtown Penthouse Photos”.

Process your images

1

Start AI processing

Click Generate to start the AI enhancement process. Your images are processed using Fal.ai’s Nano Banana Pro model.The system creates a background job via Trigger.dev:
// From source: trigger/process-image.ts:100-110
export const processImageTask = task({
  id: "process-image",
  queue: { name: "image-processing", concurrencyLimit: 3 },
  maxDuration: 600, // 10 minutes
  run: async (payload) => {
    // 1. Fetch image from Supabase
    // 2. Upload to Fal.ai
    // 3. Generate enhanced image
    // 4. Save result to Supabase
  }
});
2

Monitor progress

Watch real-time progress updates on the dashboard:
  • Pending: Waiting to start
  • Processing: AI model running (typically 30-60 seconds)
  • Completed: Enhanced image ready
  • Failed: Check error message
Processing time: ~30-60 seconds per image. Multiple images process in parallel (up to 3 at a time).
3

View results

Once processing completes, you’ll see:
  • Before/after comparison: Side-by-side view with slider
  • Full-screen lightbox: Click to view enlarged
  • Download options: Individual or bulk download
  • Version history: If you make additional edits

Download your enhanced photos

Hover over any image and click the Download button. The enhanced photo downloads directly to your device.

Advanced editing (inpainting)

For more control, use the inpainting feature to add or remove specific elements:
1

Select an image

From your completed project, click Edit on any image.
2

Draw a mask

Use the brush tool to mark the area you want to modify. The mask is exported as a data URL.
3

Choose edit mode

  • Remove: Erase objects (furniture, wall art, etc.)
  • Add: Insert new elements with text prompt
// From source: app/api/inpaint-image/route.ts
interface InpaintRequest {
  imageId: string;
  maskDataUrl: string; // Base64 PNG mask
  prompt: string;
  mode: "remove" | "add";
  replaceNewerVersions: boolean;
}
4

Generate new version

Click Apply to create a new version. The system uses Qwen Inpaint model for targeted edits.All versions are preserved in the database with parent-child relationships:
// From source: lib/db/schema.ts:220-225
export const imageGeneration = pgTable("image_generation", {
  id: text("id").primaryKey(),
  version: integer("version").notNull().default(1), // v1, v2, v3...
  parentId: text("parent_id"), // Links to original for version chain
  status: text("status").notNull().default("pending"),
});

Payment (Pro/Enterprise plans)

If you’re on a paid plan, you’ll be prompted to complete payment before processing:
  1. Click Pay with Card when prompted
  2. Enter payment details in Stripe Checkout
  3. Processing starts automatically after payment
Cost: $99 USD per project (Pro plan)

Next steps

Create video tours

Turn your enhanced photos into professional property tour videos

Invite your team

Add team members and collaborate on projects

Explore style templates

Learn about available styles and future templates

API integration

Integrate AI Studio into your existing workflow

Troubleshooting

Common causes:
  • Image file is corrupted or invalid format
  • Fal.ai API is temporarily unavailable
  • Image resolution too low (< 512x512)
Solution: Re-upload the image or try again in a few minutes. Check that your image meets the size requirements.
The AI model occasionally modifies windows, walls, or doors despite instructions to preserve them.Solution: Use the inpainting feature to manually restore affected areas, or regenerate the image.
For Stripe:
  • Verify card details are correct
  • Check with your bank for declined transactions
  • Try a different payment method
For invoice:
  • Confirm your workspace has invoiceEligible: true
  • Verify organization number is correct
Processing time varies based on:
  • Image size (larger = slower)
  • Queue load (up to 3 concurrent images)
  • Fal.ai model availability
Typical times:
  • 1024x1024: 30-45 seconds
  • 2048x2048: 60-90 seconds

Getting help

Need assistance? Here are your options:
Free plan users have access to documentation and community support. Pro and Enterprise plans include email support.

Build docs developers (and LLMs) love