JSON-Structured Image Decomposition: Precise Option Upgrade Visualization for Buyer Presentations

Tools:Gemini
Time to build:1–2 hours to learn the workflow, 10–15 minutes per visualization
Difficulty:Advanced
Prerequisites:Comfortable using Gemini for image editing tasks — see Level 3 guide: "AI Image Tools for Model Home Marketing"
Gemini

What This Builds

A buyer standing in your model home says they love the layout but can't commit because they're unsure how the quartz upgrade countertops will look against the cabinet color they're considering. You have one photo of the model kitchen. With this workflow, you upload that photo to Gemini, extract a structured blueprint of every visual element in the image, edit exactly two fields in that blueprint, and regenerate the kitchen showing the upgrade option — without the lighting, cabinet position, window view, or anything else shifting. The buyer sees a realistic mockup in minutes.

This workflow applies to any option visualization challenge: flooring upgrades from LVP to hardwood, paint color swaps between elevation packages, cabinet finish changes from painted to stained, countertop material upgrades, or comparing exterior brick versus siding packages side by side.


Prerequisites

  • A Advanced subscription ($20/month) — Sign up. Free tier works for simple single-element changes; paid produces noticeably better results for complex option swaps.
  • A library of model home photos (interior and exterior). High-resolution shots from your sales center work well; builder-provided marketing photos work too.
  • Basic comfort typing in JSON format. You do not need to code. JSON looks like a labeled list inside curly braces — the guide covers everything you need.

The Concept

When you ask an AI image editor to "change the countertops to white quartz," it often drifts: the backsplash shifts, the cabinet color lightens slightly, the lighting changes. Free-text prompts give the model room to guess. The JSON method removes that guesswork.

Think of it like a building spec sheet. Before a construction super starts a change order, they need a complete spec for the existing conditions and a clear description of only what changes. The JSON blueprint works the same way. You first ask Gemini to read the photo and write out a complete spec for every visual element in the room — countertops, cabinets, flooring, walls, lighting, hardware, windows. That spec becomes a contract. Then you change one line (just the countertop entry) and hand the contract back to Gemini with the original photo. Because every other element is explicitly named and defined, the model knows what to leave alone.

The result is a variation that changes exactly what you asked for and nothing else.


Build It Step by Step

Part 1: Extract the JSON Blueprint

Open gemini.google.com and start a new conversation. Upload your model home photo, then paste this prompt exactly:

Copy and paste this
Analyze this interior photo and output a complete JSON representation of all visible visual elements. For each element, include these fields: "name", "colour", "material", "finish", "position". Cover every surface, fixture, and feature visible in the image. Output only valid JSON — no explanation text before or after.

Gemini will return something like:

Copy and paste this
{
  "countertops": {
    "name": "kitchen countertops",
    "colour": "mid-tone beige",
    "material": "granite",
    "finish": "polished",
    "position": "perimeter and island, L-shaped configuration"
  },
  "cabinets_lower": {
    "name": "lower cabinets",
    "colour": "warm white",
    "material": "wood",
    "finish": "painted",
    "position": "below countertops, full perimeter"
  },
  "cabinets_upper": {
    "name": "upper cabinets",
    "colour": "warm white",
    "material": "wood",
    "finish": "painted",
    "position": "above countertops, perimeter only, not above island"
  },
  "flooring": {
    "name": "kitchen flooring",
    "colour": "light grey",
    "material": "luxury vinyl plank",
    "finish": "matte",
    "position": "full floor coverage"
  },
  "backsplash": {
    "name": "tile backsplash",
    "colour": "white",
    "material": "ceramic tile",
    "finish": "glossy",
    "position": "between upper cabinets and countertops, full perimeter"
  },
  "hardware": {
    "name": "cabinet hardware",
    "colour": "brushed nickel",
    "material": "metal",
    "finish": "brushed",
    "position": "cabinet doors and drawers"
  },
  "lighting": {
    "name": "overhead lighting",
    "colour": "warm white",
    "material": "recessed LED",
    "finish": "standard trim",
    "position": "ceiling, evenly distributed"
  }
}

Copy the entire JSON block. Paste it into a text file or notes app — this is your blueprint.

Part 2: Make the Surgical Edit

Find the element you want to change. Change only those fields. Leave everything else untouched.

For an upgrade from granite to white quartz countertops:

Copy and paste this
"countertops": {
  "name": "kitchen countertops",
  "colour": "bright white with subtle grey veining",
  "material": "quartz",
  "finish": "polished",
  "position": "perimeter and island, L-shaped configuration"
}

Two fields changed: "colour" and "material". Position, finish type, and name stay the same. The rest of the JSON is untouched.

For a flooring upgrade from LVP to engineered hardwood:

Copy and paste this
"flooring": {
  "name": "kitchen flooring",
  "colour": "warm medium oak",
  "material": "engineered hardwood",
  "finish": "satin",
  "position": "full floor coverage"
}

Part 3: Re-apply the Modified Blueprint

Start a fresh Gemini conversation. Upload the original photo again — the same image you analyzed in Part 1. Then paste this prompt:

Copy and paste this
Modify this image based on the following JSON specification. Change only the elements whose values differ from what is currently visible. All other elements should remain exactly as they appear in the original image.

[paste your full modified JSON here]

Gemini will generate a new version of the image reflecting only your targeted changes. The cabinet color, backsplash, hardware, and lighting will remain as they were.

Part 4: Iterate and Compare

To show a buyer two countertop options side by side, run Part 3 twice with two different JSON edits — once for each option. Save both generated images. Present them together in a single email or on your phone/tablet during the follow-up conversation.

To stack multiple changes (countertops plus flooring, for example), modify both entries in the same JSON before re-applying. Gemini will process all changes at once.


Real Example: The Willow Creek Kitchen Upgrade Conversation

Situation: A couple toured your model at Willow Creek on Saturday. They love the Magnolia floor plan but are on the fence about the $8,400 quartz countertop upgrade and the $4,200 engineered hardwood flooring upgrade. They can't visualize both at once in the model kitchen, which shows the standard LVP and granite package.

Step 1 — Extract the blueprint. Upload your best overhead-angle kitchen photo to Gemini. Run the extraction prompt from Part 1. You get a 10-element JSON covering countertops, cabinets, flooring, backsplash, hardware, island, pendant lights, windows, walls, and appliances. Copy it.

Step 2 — Edit for the upgraded package. Change "countertops" colour/material to white quartz and "flooring" colour/material to warm oak engineered hardwood. Everything else stays.

Step 3 — Generate the mockup. Open a new Gemini conversation, re-upload the photo, paste the modified JSON with the re-apply prompt. Gemini produces the upgraded kitchen.

Step 4 — Send before the follow-up call. Email both images (original and upgraded) to the couple the night before your Monday call. Subject: "Your Willow Creek kitchen — standard vs. upgraded." In the call, ask: "When you look at the upgraded version, does the quartz counter feel worth it to you?"

Time saved: A design center appointment to see physical samples takes 90 minutes plus scheduling coordination. This mockup takes 12 minutes and happens before the buyer has fully cooled off. You close the upgrade conversation while the home visit is still fresh.


What to Do When It Breaks

  • Gemini changes something you didn't ask for (a cabinet color shifts, the backsplash pattern changes). Fix: add that element explicitly to your JSON before re-applying. If the backsplash drifted, add a "backsplash" key with its current values to the modified JSON. Naming it pins it in place.
  • The generated image looks unrealistic (colors clash, lighting is wrong). Fix: add a "lighting" key that preserves the current ambient and shadow direction. For exterior photos, add "time_of_day" and "sky_conditions" to prevent the model from inventing new weather.
  • Gemini can't extract a clean JSON (returns prose instead of structured output). Fix: add "Output only raw JSON. No commentary. No markdown code fences." to the end of your extraction prompt.
  • You need to show an exterior elevation change (brick vs. board-and-batten siding). Use the same workflow but tailor your JSON schema: request "facade_material", "facade_colour", "trim_colour", "roof_material", "driveway_material". Leave all landscape and sky fields unchanged.
  • Free tier produces blurry or imprecise edits. Upgrade to Advanced ($20/month). The paid model follows the JSON schema with noticeably better fidelity, especially for material swaps like stone versus quartz.

Variations

  • Simpler version: Skip the JSON extraction entirely and use plain-language prompts for a single element change. You'll get less predictable results, but for a simple paint color swap on a clean exterior photo, free-text often works well enough. Start here if JSON feels unfamiliar.
  • Elevation package comparison: Run the workflow on an exterior community photo to compare two different siding or brick package options. Useful for buyer conversations about lot premiums with specific elevation types.
  • Option upgrade sell sheet: Generate three versions of the same kitchen — standard, mid-tier upgrade, full upgrade package — and combine them in a single image grid using Canva. Print it or display it on a tablet as a visual upgrade menu during model home tours.
  • Realtor preview tool: Before a broker event, produce "before/after" visuals of a recently completed home's upgrade options. Realtors can share these with their clients before scheduling a visit, warming leads before they walk in.

What to Do Next

  • This week: Run the extraction on your two or three most-photographed model home interiors. Save the JSON blueprints in a notes app or Google Doc. Label each one (e.g., "Magnolia Kitchen Standard Package JSON"). These become reusable — you only extract once per photo.
  • This month: Build a small library of pre-generated upgrade comparisons for your top three objection moments (countertop upgrade, flooring upgrade, exterior elevation choice). Keep them in your phone's camera roll or a shared Google Drive folder so you can pull them up during any buyer conversation.
  • Advanced: Combine this workflow with your buyer follow-up email templates. After a tour, generate a custom mockup based on what the buyer expressed interest in, then include it in the 24-hour follow-up email. A photo of their specific interest, not a generic brochure render, is a significant differentiator.

Advanced guide for New Home Sales Consultant professionals. Gemini's paid plan produces better results for complex option swaps and is recommended for production use with buyers. The free tier is appropriate for personal practice and single-element edits.