Skip to main content

Exterior Redesign API

hakankaan/exterior-redesign

Redesign a building facade from one photo — style, materials, palette, and lighting, structure preserved.

Starts from $0.039 /run
2 model optionspublicpublished

Wrapper Input

Input

External URL of the source photo of a building or house exterior to redesign.

How strongly to preserve the original versus reinterpret it.

Architectural exterior style. Uses the same enum values as the room-redesign wrapper but reinterpreted for building facades.

Primary facade material to emphasize in cladding and details.

Preferred color palette for the exterior color scheme.

Preferred lighting / time-of-day mood.

Seasonal atmosphere.

Preferred sky conditions. With auto, the original sky and weather are kept exactly.

Optional additional user instructions. Also the only way to request changes to the surroundings.

Min: 0.5 - Max: 1

Fine-grained creativity value (only meaningful when creativity is precise).

You need to be logged in to run this model and view results.
Log in

Wrapper Output

Output

Fill in the input form and click submit to see the output
Logs (1 lines)

Pricing

Base ModelPricing ModeEffective Cost
nano-banana-2/editdefaultmegapixel tieredTiered pricing
nano-bananaper output0.039

Exterior Redesign API

Exterior Redesign is a image-to-image AI wrapper by hakankaan. On ModelRunner it runs through a REST API or via MCP from any AI assistant with pay-per-use pricing.

POST https://queue.modelrunner.run/hakankaan/exterior-redesign

cURL

# Submit a request to the queue. Input fields go at the top level of the
# body. The optional reserved "metadata" object holds your own flat string
# tags — stored on the request, never sent to the model; filter later with
# GET https://queue.modelrunner.run/requests?metadata=<url-encoded JSON>.
curl -X POST https://queue.modelrunner.run/hakankaan/exterior-redesign \
  -H "Authorization: Key $MRUN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "file_url": "https://example.com/input.jpg",
    "creativity": "balanced",
    "metadata": {
      "project": "my-project"
    }
  }'
# → { "request_id": "...", "status_url": "...", "response_url": "..." }

# Poll status_url until "COMPLETED", then fetch the result
curl "https://queue.modelrunner.run/hakankaan/exterior-redesign/requests/$REQUEST_ID/status" \
  -H "Authorization: Key $MRUN_API_KEY"
curl "https://queue.modelrunner.run/hakankaan/exterior-redesign/requests/$REQUEST_ID" \
  -H "Authorization: Key $MRUN_API_KEY"

JavaScript

import { modelrunner } from "@modelrunner/client";

const result = await modelrunner.subscribe("hakankaan/exterior-redesign", {
  input: {
    "file_url": "https://example.com/input.jpg",
    "creativity": "balanced"
  },
});
console.log(result);

Python

import os
import requests

headers = {"Authorization": f"Key {os.environ['MRUN_API_KEY']}"}

submitted = requests.post(
    "https://queue.modelrunner.run/hakankaan/exterior-redesign",
    headers=headers,
    json={
      "file_url": "https://example.com/input.jpg",
      "creativity": "balanced"
    },
).json()

# Poll submitted["status_url"] until "COMPLETED", then:
result = requests.get(submitted["response_url"], headers=headers).json()

Input parameters

NameTypeRequiredDescription
file_urlstring (uri)yesExternal URL of the source photo of a building or house exterior to redesign.
creativityenumyesHow strongly to preserve the original versus reinterpret it. Default: "balanced".
styleenumnoArchitectural exterior style. Uses the same enum values as the room-redesign wrapper but reinterpreted for building facades. Default: "no-style".
architectural_materialenumnoPrimary facade material to emphasize in cladding and details. Default: "auto".
colorenumnoPreferred color palette for the exterior color scheme. Default: "auto".
daylightenumnoPreferred lighting / time-of-day mood. Default: "auto".
seasonenumnoSeasonal atmosphere. Default: "auto".
skyenumnoPreferred sky conditions. With auto, the original sky and weather are kept exactly. Default: "auto".
promptstringnoOptional additional user instructions. Also the only way to request changes to the surroundings.
creativity_levelnumbernoFine-grained creativity value (only meaningful when creativity is precise). Default: 0.7.

Machine-readable: OpenAPI schema · llms.txt

Use Exterior Redesign from Claude & Cursor (MCP)

Point Claude Code, Claude Desktop, Cursor, or any MCP client at the ModelRunner MCP server and Exterior Redesign becomes a tool your assistant can call directly — it authorizes via OAuth (no API key in config) and runs this wrapper with the run_model tool using the endpoint hakankaan/exterior-redesign.

MCP client config (Claude Desktop, Cursor)

{
  "mcpServers": {
    "modelrunner": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.modelrunner.run/mcp"]
    }
  }
}

Claude Code

claude mcp add --transport http modelrunner https://mcp.modelrunner.run/mcp

Then ask your assistant, for example: “Run hakankaan/exterior-redesign on ModelRunner to generate image”. MCP setup guide.

Wrapper Details

Model Details

**Restyle a building's exterior from a single photo — the architecture stays, the look changes.**

Give it a photo of a house or building and it redesigns the facade in your chosen style: cladding and materials, color scheme, trim, roof appearance, door and window styling, and exterior lighting. Hard preservation rules keep the building's structure, massing, proportions, and every window/door opening in place, along with the camera angle and the surroundings (yard, street, vegetation, neighboring buildings).

## Inputs

- `file_url` — photo of the building or house exterior (required). - `creativity` — `precise` | `balanced` | `creative` (required). With `precise`, tune `creativity_level` (0.5 = closest to the original, 1.0 = most reinterpretation). - `style` — same enum values as `roomix/room-redesign`, reinterpreted architecturally (e.g. `scandinavian-sanctuary` becomes pale timber cladding with black window frames). - `architectural_material` — primary facade material to emphasize in cladding and details (`wood`, `brick`, `stone`, …). `auto` lets the model choose. - `color` — palette for the exterior color scheme; `auto` keeps it model-chosen. - `daylight`, `season`, `sky` — atmosphere controls; `auto` preserves what the source photo shows (with `sky: auto` the original sky and weather are kept exactly). - `prompt` — optional free-text guidance. This is also the **only** way to request changes to the surroundings — by default the environment is left untouched.

## How to use

1. Upload the exterior photo and pass its URL as `file_url`. 2. Pick a `style` and optionally an `architectural_material` and `color` to steer the facade. 3. Start with `creativity: balanced`; use `precise` for a light refresh or `creative` for a bold rework. 4. To present several options for the same house, run each variant from the **same** source `file_url` — do not chain one output into the next run, or the building will drift away from the real structure.