Gaitkit Open the lab
Sofa, A modular sofa with box cushions and two throw pillows: 1 seat is an armchair, 2 a loveseat, 3-4 a full sofa, and the corner toggle adds a chaise to make an L-shape. Seat height 45 cm.
Prop · Still

Sofa

A modular sofa with box cushions and two throw pillows: 1 seat is an armchair, 2 a loveseat, 3-4 a full sofa, and the corner toggle adds a chaise to make an L-shape. Seat height 45 cm.

Size
2.3 × 0.91 × 0.95 m
Triangles
672
Open in the lab Ready for any engine. The download carries the knobs you set here.

Tune it

4 knobs: Seats, Corner, Fabric, Legs.

Specs

Size
2.3 × 0.91 × 0.95 m
width × height × depth
Triangles
672
of 6,000
Draw calls
1
one vertex-colour material
Knobs
4
3 presets
Night lights
0
none

Passed the validator: real scale, rests on y = 0, front faces +Z, deterministic.

Use it

Code for the specimen as it is set up above; it follows your knobs.

JavaScript
import { createAsset } from 'https://gaitkit.com/cdn/sofa.mjs';

const sofa = createAsset();
scene.add(sofa);                      // rests on y = 0, front faces +Z

More in the docs; agents can fetch all of this through MCP.

Knobs

KnobTypeValuesDefaultWhat it does
seatsrange1 to 4, step 13Seat cushions across the back, 1 to 4. 1 is an armchair, 2 a loveseat, 3 a standard sofa (about 2.2 m), 4 a long family sofa.
cornertoggleon / offfalseAdds a chaise on the right that runs forward, turning it into an L-shaped corner sofa.
fabricchoiceoatmeal slate forest mustard rust navyoatmealUpholstery colour: oatmeal (warm beige), slate (cool grey), forest (green), mustard, rust (terracotta) or navy. Throw pillows take a matching accent.
legschoicewood metal plinthwoodwood (tapered mid-century oak legs), metal (slim black steel), plinth (a recessed dark base, sofa looks like it floats low).

Presets: mid-century loveseat {"seats":2,"fabric":"mustard","legs":"wood"} · family corner sofa {"seats":3,"corner":true,"fabric":"slate","legs":"plinth"} · reading armchair {"seats":1,"fabric":"forest","legs":"wood"}

Files

FileWhat
sofa.glbGLB, default look · 82 KB
sofa.mjsES module, every knob live
sofa.objOBJ, static, no colour
sofa-params.jsonknob schema, presets, night zones

Licence

Use it in games, apps, renders and client work, commercially and without credit. Do not resell it as an asset or train a 3D generator on it. The full licence.