How the AI works

Three model calls. The product is all three.

Atelier is not a wrapper around an image generator. It is a three-step pipeline: a vision model reads the room, an image model re-renders it faithfully, and a language model writes the piece list. Each step depends on the one before it.

01

Understand the room

Vision model

Before anything is rendered, a vision model reads your photo and produces a structured description of the room: the type (living room, bedroom, kitchen), the layout, where the windows and doors are, what light the room gets, and which pieces are worth keeping. This read is not shown to you, but it is the spine of the render. Without it, the output would be a styled room that happens to look like yours rather than a redesign of yours.

Why it matters. The model is instructed to note specific architectural details: which wall the windows are on, how the door swings, where the natural light falls. These anchor the render. The image model is told to keep them fixed.

02

Restyle it faithfully

Image model

An image model edits your photo at high input fidelity. The instruction is precise: hold the walls, the windows, the floor, and the camera position. Re-dress everything else in the style you chose. The result is your room from your angle, in a new look. The geometry of the space does not move.

Why it matters. Input fidelity is what separates this from generation. A generate call makes a new room that might look like yours. An edit call changes what is in your photo. The difference matters when the window is in the wrong place.

03

Suggest the pieces

Language model

A language model turns the room read into a shopping-style list of piece categories. It knows what the room already has, what the style calls for, and which categories make sense for the room type. The list is grounded in the space, not a generic inventory for the style.

Why it matters. The language model works from the same room description the image model used, so the piece list and the render describe the same space. A japandi brief in a narrow bedroom produces different suggestions than the same brief in a wide living room.

Provider layer

Model-agnostic by design.

The calling code asks for a task, not a model. Which model answers that task is a routing decision, kept in one file. Moving a step to a different lab is one line.

Atelier does not bet the product on a single AI lab. Every model call goes through a routing table that names the task, the current model, the provider, and a fallback chain. If a provider is unavailable, the next model in the chain is tried automatically.

This is not theoretical flexibility. The image model that runs the restyle is a different provider from the vision and language models, and the whole stack can be re-pointed without touching the business logic.

Read our approach

Live routing table

What is running right now.

This table is read from the provider layer code, not written by hand. It reflects the actual routing as of this build.

TaskModelProviderTierRouted forStatus
understandgpt-4.1openaifrontierreading a room photo for its layout and light, working out which pieces are worth keepingLive
piecesgpt-4.1-miniopenaibalancedwriting the piece list for a style, a quick read of intentLive
safetygpt-4.1-miniopenaibalancedwriting the piece list for a style, a quick read of intentLive

Live means a key for this provider is present in the environment. Declared means the model is specified in the routing table but no key is currently configured. Fallbacks are tried in order when the primary model is unavailable.

Renders are inspiration, not construction plans.

The models do not know whether a wall can come down, whether a fixture can move, or whether a piece will fit to the inch. A render answers the question of direction, not the question of structure. For anything that changes the bones of the room, speak with a licensed professional.

Our approach to honesty

See your room, redesigned.

One photo, a style you choose, and a finished room to decide with. Free to start, no card.