ArchDiffusion v4.6
ArchDiffusion v4.6 is the engine that powers the mnml studio today. It renders on a new model at a 2048-pixel long edge, and it treats a render as a photograph of the finished building, made for an architecture magazine, rather than as a render to be polished. Your image is kept exactly: the design, the camera and the framing.
The prompt this endpoint composes is the studio's prompt, byte for byte, for the same settings. The same settings on this API and in the studio send the model the same brief.
What's new in v4.6 (over v4.5):
- • A new rendering model for exterior, interior, masterplan, landscape and plan, and for every edit.
- • A photographic register. A photographic exterior or interior is briefed as a photograph with a restrained film grade and real light at the hour you ask for, including dedicated blue-hour and night exposures. Masterplans take an aerial magazine register, plans a clean zoning or material plan, and CGI its own polished-render register.
- • Your words outrank your settings. Write "at night" with
time_of_day=golden_hourand the render is at night. The response reports what the words moved, underparameters.from_prompt. - • Edit mode.
prompt_mode=edittreats the prompt as an instruction on the image, such as "replace the cladding with dark timber", and leaves everything else as it is. References can ride with an edit. - • Text-to-render from words alone.
expert_name=text-to-renderwith no image renders from the prompt. With an image, the image is the site and the design is new. - • A framing check. A photographic render is compared with your image. If it walked in on the subject, it is re-made once and the better framing of the two is delivered. It is not charged twice.
- • Every setting is checked. A value the engine does not offer for that expert is refused with the allowed list, instead of being passed through as free text.
Credit Cost: 3 credits per generation — the same as v4.5-Ultra, for every expert and mode, including a framing re-render.
Endpoint
POST https://api.mnmlai.dev/v1/archDiffusion-v46Request
Send a POST request with multipart/form-data. Do not set the Content-Type header by hand; let your HTTP client set it, with its boundary. The API answers at once with a request ID; poll the status endpoint for the image.
How the v4.6 brief is composed
- The task. For a photographic exterior or interior this is "Photograph the completed building (room) shown in the first input image."
- Your
prompt, verbatim. - Reference-image roles, one sentence per reference.
- Your settings. Anything left on Auto is left to the engine and stated only where a measured default helps; an unset exterior sky is stated as clear, with dry ground.
- The register, meaning the look of the discipline and render style you picked.
- The camera, if you moved it.
- The lock: the design, the camera and the framing stay as your image has them.
With render_style=raw your prompt is sent alone. With prompt_mode=edit the brief is your instruction, the reference roles and the lock.
Common Parameters
| Parameter | Type | Description |
|---|---|---|
imageRequired | File | The source image (JPEG, PNG, WebP; 1 KB–15 MB). Optional only for text-to-render, where leaving it out renders from the words alone. It is stored at up to 2048 px on the long edge. |
expert_name | String | exterior, interior, masterplan, plan, landscape, product, text-to-render. Default exterior. Any other value is refused. |
prompt | String | Your description, up to 2000 characters. Optional in render mode: with no prompt the render is composed from your settings alone. Words that name a time of day (exterior) or a light (interior) outrank the matching setting. |
prompt_mode | String | render (default) or edit. An edit needs an image and a prompt, and composes as an instruction on the image rather than a render brief. |
render_style | String | The expert's style row, listed per expert below. auto is Photoreal on exterior, interior and masterplan; labels are accepted too (Photoreal, CGI). The exterior default is cgi_render, as in the studio. Send auto for a photograph. |
reference_image_1 … reference_image_4 | File | Up to four references, sent beside the source. |
reference_mode_1 … reference_mode_4 | String | What each reference is for: style (default), material, atmosphere, color, geometry or auto. A style or atmosphere reference on a photographic exterior also sets the light. |
aspect_ratio | String | auto (default: the source's shape; 4:3 with no image), 1:1, 3:2, 4:3, 5:4, 16:9, 21:9, 2:3, 3:4, 4:5, 9:16. |
markup_mode | Boolean | true when you have drawn on the image: the strokes are read as your instructions, not as part of the building. |
seed | Integer | Used only by product and by a text-to-render proposal on a site image. The model behind every other run takes no seed, so repeating a request gives a new render. |
Every parameter below is checked against the expert you name. Values match case-insensitively, by value or by label, and spaces, underscores and hyphens are treated alike, so living_room and Living Room both work. A parameter that belongs to another expert is ignored. Defaults marked auto are left to the engine; unset means nothing is sent unless you pick a value.
Exterior Parameters
| Parameter | Default | Options |
|---|---|---|
render_style | cgi_render | auto, cgi_render, freehand_sketch, watercolor, illustration, diagram, cad, raw |
camera_angle | auto | auto, eye_level, elevation, low, elevated, aerial, top_down, close_up Applies only when render_style is not cad / diagram. |
camera_direction | front | front, corner_right, right, back_corner_right, back, back_corner_left, left, corner_left Applies only when camera_angle is set and camera_angle is not auto / top_down, and render_style is not cad / diagram. |
time_of_day | auto | auto, golden_hour, blue_hour, night Applies only when render_style is not cad / diagram. |
weather | auto | auto, clear, overcast, hazy, rain, fog, snow Applies only when render_style is not cad / diagram. |
people | auto | auto, none, few, many Applies only when render_style is not cad / diagram. |
site_context | auto | auto, urban, suburban, nature Applies only when render_style is not cad. |
greenery | auto | auto, none, some, lush Applies only when render_style is not cad / diagram. |
vehicles | auto | auto, none, few, many Applies only when render_style is not cad / diagram. |
ground_wetness | auto | auto, dry, damp, wet Applies only when render_style is not cad / freehand_sketch / watercolor / illustration / diagram. |
motion | off | off, long_exposure Applies only when render_style is not cad / freehand_sketch / watercolor / illustration / diagram. |
Interior Parameters
| Parameter | Default | Options |
|---|---|---|
render_style | auto | auto, cgi_render, freehand_sketch, watercolor, illustration, diagram, cad, raw |
room_type | auto | auto, living room, bedroom, kitchen, bath room, office space, reception area, restaurant, dining room, hotel lobby, toilet, dressing room, loft, home office space, meeting room, coworking space, workshop, study room, gaming room, coffee shop, hotel room, hotel bathroom, auditorium, classroom, lecture hall, fitness gym, clothing store Applies only when render_style is not cad. |
room_style | auto | auto, Modern interior, Minimalism, minimal interior, Neoclassical interior, symmetrical proportions, fluted columns and pilasters, ornate cornices and ceiling mouldings, carved wainscot panelling, marble floors, muted stone and cream palette with gilded accents, crystal chandelier, silk upholstery, Japandi, Minimalism, Natural materials, Neutral color palette, beige, Clean lines, Zen, Scandinavian interior, Industrial, leather furniture, Art Deco interior, 1920s glamour, bold symmetrical geometric patterns, sunburst and chevron motifs, polished brass and chrome trim, lacquered ebony and burl walnut, marble and onyx surfaces, velvet upholstery in emerald and navy, fluted glass, statement geometric lighting, Biophilic, biophilia, indoor plants, Luxurious, luxury interior, Boho Decor, bohemian, boho-chic style, wabi-sabi, Simplicity, Natural materials, Minimalism, Organic textures, Tranquility, Earthy tones, Serenity, Uncluttered, Coastal interior, shades of white and blue, Mediterranean, shades of white and blue, santorini, contemporary, Tropical, Rustic, Midcentury modern, Vintage, Futuristic interior style, Ikea interior style, Ikea furniture, colorful furniture, sleek design, warm and cozy, Eclectic, Zen Interior, Minimalism, Natural materials, Clean lines, Maximalist, Christmas Applies only when render_style is not cad. |
ambience | auto | auto, sun, golden_hour, blue_hour, night Applies only when render_style is not cad. |
lighting_mode | auto | auto, natural, artificial, mixed Applies only when render_style is not cad / diagram, and ambience is not night. |
people | auto | auto, none, few, many Applies only when render_style is not cad / diagram. |
furnishing_level | auto | auto, empty, minimal, moderate, full Applies only when render_style is not cad. |
indoor_plants | auto | auto, none, some, lush Applies only when render_style is not cad. |
interior_accessories | auto | auto, off, on Applies only when render_style is not cad. |
floor_finish | auto | auto, reflective Applies only when render_style is not cad / freehand_sketch / watercolor / illustration / diagram. |
camera_angle | auto | auto, eye_level, wide_angle, close_up, low, elevated, top_down, elevation Applies only when render_style is not cad / diagram. |
camera_direction | front | front, corner_right, right, back, left, corner_left Applies only when camera_angle is set and camera_angle is not auto / top_down, and render_style is not cad / diagram. |
Masterplan Parameters
| Parameter | Default | Options |
|---|---|---|
plan_mode | 3d | 3d, 2d |
render_style | auto | auto, cgi_render, raw, cad, freehand_sketch, diagram, clay_model, illustration, watercolor |
camera_angle | auto | auto, top_down, high_aerial, low_aerial, oblique Applies only when plan_mode is 3d, and render_style is not cad / diagram. |
time_of_day | auto | auto, day, golden_hour, dusk, night |
weather | auto | auto, clear, overcast |
greenery | auto | auto, none, sparse, moderate, lush |
vehicles | auto | auto, none, few, moderate, busy |
people | auto | auto, none, few, moderate, crowded |
urban_density | auto | auto, low, medium, high |
development_type | auto | auto, residential, commercial, mixed_use, industrial, institutional, recreational |
water_features | auto | auto, none, river, lake, coastal, fountains |
Plan Parameters
For plan, room_style sets the 3D view's room style, and camera_direction picks the corner an isometric or bird's-eye view is seen from.
| Parameter | Default | Options |
|---|---|---|
plan_view_mode | 2d | 2d, 3d |
geometry | precise | precise, creative |
drawing_style | auto | auto, realistic, technical, architectural, sketch, diagram Applies only when plan_view_mode is not 3d. |
color_mode | colored | monochrome, grayscale, colored Applies only when plan_view_mode is not 3d. |
furniture_2d | outline | none, outline, detailed Applies only when plan_view_mode is not 3d. |
plan_annotations | off | off, on Applies only when plan_view_mode is not 3d. |
wall_style | filled | outlined, filled, poche Applies only when plan_view_mode is not 3d. |
view_type_3d | isometric | top_down, bird_eye, isometric, section Applies only when plan_view_mode is 3d. |
camera_direction | unset | corner_left, corner_right, back_corner_right, back_corner_left Applies only when plan_view_mode is 3d, and view_type_3d is isometric or bird_eye. |
ceiling | hide | show, hide Applies only when plan_view_mode is 3d. |
room_style | auto | auto, modern, minimalist, scandinavian, industrial, luxurious, traditional Applies only when plan_view_mode is 3d. |
furnishing_3d | moderate | empty, minimal, moderate, full Applies only when plan_view_mode is 3d. |
lighting_3d | natural | natural, artificial, mixed Applies only when plan_view_mode is 3d. |
ambience_3d | day | day, golden_hour, evening, night Applies only when plan_view_mode is 3d. |
Landscape Parameters
| Parameter | Default | Options |
|---|---|---|
render_style | auto | auto, photoreal, cgi_render, raw, cad, freehand_sketch, clay_model, illustration, diagram, watercolor |
geometry | precise | precise, creative |
landscape_style | modern | modern, tropical, mediterranean, japanese, contemporary, natural, minimalist, classical, english_garden |
camera_angle | auto | auto, eye_level, low, elevated, aerial, top_down, close_up, wide_angle |
camera_direction | front | front, corner_right, right, back_corner_right, back, back_corner_left, left, corner_left Applies only when camera_angle is set and camera_angle is not auto / top_down. |
vegetation | moderate | sparse, moderate, lush, dense |
water_features | none | none, pond, pool, fountain, stream, waterfall |
hardscape | pathways | minimal, pathways, patio, deck, full |
outdoor_furniture | minimal | none, minimal, moderate, full |
landscape_lighting | none | none, subtle, accent, dramatic |
people | few | none, few, many |
time_of_day | auto | auto, day, morning, golden_hour, sunset, dusk, blue_hour, night |
weather | clear | clear, overcast, cloudy, hazy, rain, fog, snow |
ground_wetness | dry | dry, damp, wet |
Product Parameters
| Parameter | Default | Options |
|---|---|---|
render_style | auto | auto, photoreal, cgi_render, raw, cad, freehand_sketch, clay_model, illustration, diagram, watercolor |
geometry | precise | precise, creative |
product_category | furniture | furniture, lighting, decor, kitchenware, electronics, fashion, jewelry, packaging, industrial, automotive |
camera_angle | auto | auto, hero, eye_level, elevated, top, detail |
camera_direction | front | front, corner_right, right, back_corner_right, back, back_corner_left, left, corner_left Applies only when camera_angle is set and camera_angle is not auto / top. |
background | white | white, gradient, studio, contextual, transparent |
product_lighting | soft | soft, dramatic, natural, rim, flat |
material_finish | auto | auto, matte, glossy, metallic, textured |
shadow_style | contact | none, contact, soft, dramatic, reflection |
Text-to-Render Parameters
| Parameter | Default | Options |
|---|---|---|
render_style | auto | auto, photoreal, cgi_render, raw, cad, freehand_sketch, clay_model, illustration, diagram, watercolor |
geometry | precise | precise, creative |
site_context | auto | auto, urban, suburban, nature |
greenery | some | none, some, lush |
vehicles | few | none, few, many |
people | few | none, few, many |
street_props | off | off, on |
motion | subtle | off, subtle, long_exposure |
time_of_day | auto | auto, day, morning, golden_hour, sunset, dusk, blue_hour, night |
weather | clear | clear, overcast, cloudy, hazy, rain, fog, snow |
ground_wetness | dry | dry, damp, wet |
Response
parameters lists the settings the brief was composed from, including the defaults you did not send. When your words moved a setting, parameters.from_prompt says from what to what.
{
"status": "success",
"id": "7c1f3e0a-2b9d-4c61-9d7e-0f3a8b2c4d11",
"prompt": "the museum at night, lit from within",
"expert_name": "exterior",
"parameters": {
"prompt_mode": "render",
"render_style": "auto",
"camera_angle": "auto",
"camera_direction": "front",
"time_of_day": "night",
"site_context": "auto",
"motion": "off",
"aspect_ratio": "auto",
"reference_image_count": 0,
"from_prompt": {
"time_of_day": { "from": "golden_hour", "to": "night" }
}
},
"credits": 97
}Checking Processing Status
GET https://api.mnmlai.dev/v1/status/{id}Poll every 3–5 seconds. A render usually takes about a minute. When the framing check re-makes a render, the same ID keeps reporting processing until the better of the two is ready, which can double the wait. Always poll the ID you were given; the re-render has no separate ID. When done, message is an array with one image URL.
Code Examples
1. A photographic exterior at dusk
curl -X POST https://api.mnmlai.dev/v1/archDiffusion-v46 \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "[email protected]" \
-F "expert_name=exterior" \
-F "render_style=auto" \
-F "time_of_day=blue_hour" \
-F "people=few" \
-F "prompt=a timber pavilion by a lake"2. An edit with a material reference
curl -X POST https://api.mnmlai.dev/v1/archDiffusion-v46 \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "[email protected]" \
-F "prompt_mode=edit" \
-F "prompt=replace the facade cladding with the brick in image 2" \
-F "[email protected]" \
-F "reference_mode_1=material"3. Text-to-render, no image
curl -X POST https://api.mnmlai.dev/v1/archDiffusion-v46 \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "expert_name=text-to-render" \
-F "prompt=a concrete chapel on a sea cliff" \
-F "time_of_day=dusk" \
-F "aspect_ratio=16:9"4. A furnished interior (Node.js)
const fs = require('fs');
const form = new FormData();
form.append('image', new Blob([fs.readFileSync('room.png')]), 'room.png');
form.append('expert_name', 'interior');
form.append('room_type', 'living room');
form.append('room_style', 'Japandi');
form.append('interior_accessories', 'on');
form.append('ambience', 'golden_hour');
const res = await fetch('https://api.mnmlai.dev/v1/archDiffusion-v46', {
method: 'POST',
headers: { Authorization: 'Bearer YOUR_API_KEY' },
body: form,
});
const { id } = await res.json();Migrating from v4.5
- • The field names are the same. Some values are not: v4.6 offers each expert the options in the tables above. For example, exterior
motionisofforlong_exposure, and v4.5'ssubtleis refused with the allowed list. - • Settings you leave out stay on Auto. v4.5 filled in
people=few,weather=clearand similar for you. v4.6 leaves them to the engine, as the studio does. - • The exterior default style is CGI. Send
render_style=auto(orPhotoreal) for the photographic register. - • No stand-in prompt. v4.5 used "Modern building exterior" when you sent none. v4.6 composes from your settings.
- • An untagged reference is a style reference (v4.5:
auto). - •
has_collage,annotation,show_dimensionsandview_modehave no effect on v4.6. For exterior and interior,geometryis not a v4.6 setting: the lock always keeps the design. - • v4.5 stays available and unchanged.
Error Handling
// 400 — a value this expert does not offer
{
"status": "error",
"code": "INVALID_PARAMETER",
"message": "Unsupported motion value for the \"exterior\" expert. Allowed values: off, long_exposure",
"details": { "field": "motion", "received": "subtle", "allowed": ["off", "long_exposure"] }
}
// 400 — an edit with no instruction
{ "status": "error", "code": "MISSING_PROMPT", "message": "prompt_mode=edit needs a prompt: the instruction to apply to the image" }
// 400 — no image, on an expert that needs one
{ "status": "error", "code": "MISSING_IMAGE", "message": "Image file is required" }
// 400 — not enough credits
{
"status": "error",
"code": "NO_CREDITS",
"message": "You do not have enough credits to use this feature. This API requires 3 credits.",
"details": { "credits": 2, "required": 3 }
}
// Also: IMAGE_TOO_SMALL, IMAGE_TOO_LARGE, INVALID_IMAGE_TYPE (for image or a reference),
// PROMPT_TOO_LONG, INVALID_REQUEST_BODY.Credits are only spent on accepted requests. Every error above is returned before the engine is called. If an accepted render fails, or finishes without an image, its credits are refunded automatically, once. If the framing re-render fails, the first render is delivered instead.