ArchDiffusion v4.4-Fast
ArchDiffusion v4.4-Fast is a lightweight, fast, and cost-effective AI rendering API for architectural visualization.
How it works: v4.4-Fast takes your source image and prompt, processes it through our fast rendering engine, and returns a transformed architectural visualization. It's designed for speed and simplicity with minimal configuration.
v4.4-Fast vs v4.4-Ultra:
- • Faster processing: Optimized for quick turnaround at 1K resolution
- • Lower cost: Only 1 credit per generation (vs 3 credits for v4.4-Ultra)
- • Simpler API: Fewer parameters to configure (up to 3 reference images)
- • Expert types: Supports all 6 expert modes (exterior, interior, masterplan, landscape, plan, product)
Credit Cost: 1 credit per generation
Endpoint
POST https://api.mnmlai.dev/v1/archDiffusion-v44-liteRequest
Send a POST request with multipart/form-data containing your source image and design parameters. The API processes images asynchronously, returning a request ID for status tracking.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
imageRequired | File | - | Source architectural image (JPEG, PNG, WebP). Max 15MB, min 1KB |
promptRequired | String | - | Description of desired transformation (max 2000 characters) |
expert_name | String | "exterior" | Expert mode: "exterior", "interior", "masterplan", "landscape", "plan", "product" |
output_format | String | "png" | Output image format: "png", "jpeg", "webp" |
Expert Types
Design Parameters (Optional)
These optional form fields control the rendered scene. They mirror the styling controls of the mnml studio app, and the defaults below are identical to the studio app's defaults — so omitting a field yields the same result the web app produces with its default settings. Send each as a plain form field alongside image and prompt.
Important encoding notes
- • Field names are unprefixed (e.g.
camera_angle, notv42_camera_angle). - • Booleans (
annotation,show_dimensions) use the strings"true"/"false". - • Only the fields relevant to the chosen
expert_nameare applied; others are ignored. - •
render_styledoes not accept"auto"(use an explicit style);masterplanrender style has no"auto", andplandrawing_stylehas no"realistic"— pick a listed value.
Common (all expert types)
| Parameter | Default | Options / Notes |
|---|---|---|
render_style | photoreal | raw, photoreal, cgi_render, cad, freehand_sketch, clay_model, illustration, watercolor |
geometry | precise | precise, creative |
view_mode | auto | scene framing mode |
camera_angle | auto | expert-specific angle options |
camera_direction | front | front, left, right, back, etc. |
annotation | false | "true" / "false" |
show_dimensions | false | "true" / "false" |
seed | random | integer 0–1000000 (note: not forwarded to the model; output is not deterministic) |
reference_image_1..3 | – | up to 3 optional reference image files |
expert_name = "exterior"
site_context | auto |
greenery | some |
vehicles | few |
people | few |
street_props | off |
motion | subtle |
time_of_day | auto |
weather | clear |
ground_wetness | dry |
expert_name = "interior"
room_type | auto |
room_style | auto |
furnishing_level | auto |
indoor_plants | auto |
interior_accessories | off |
lighting_mode | auto |
floor_finish | auto |
people | auto |
ambience | auto |
expert_name = "masterplan"
plan_mode | 3d |
camera_angle | auto |
greenery | moderate |
vehicles | few |
people | few |
urban_density | medium |
development_type | auto |
water_features | none |
time_of_day | auto |
weather | clear |
expert_name = "landscape"
landscape_style | modern |
camera_angle | auto |
vegetation | moderate |
water_features | none |
hardscape | pathways |
outdoor_furniture | minimal |
landscape_lighting | none |
people | few |
time_of_day | auto |
weather | clear |
ground_wetness | dry |
expert_name = "product"
product_category | furniture |
camera_angle | auto |
background | white |
product_lighting | soft |
material_finish | auto |
shadow_style | contact |
expert_name = "plan"
plan_view_mode | 2d |
drawing_style | architectural |
color_mode | colored |
furniture_2d | outline |
plan_annotations | off |
wall_style | filled |
view_type_3d | isometric |
ceiling | hide |
room_style | auto |
furnishing_3d | moderate |
lighting_3d | natural |
ambience_3d | day |
Response
The API processes your request asynchronously and immediately returns a response containing a unique request ID. Use this ID with the Status Check endpoint to monitor processing progress and retrieve the final generated image.
Success Response (200 OK)
{
"status": "success",
"id": "vysqf2nr0drmc0ctqx5tkdse48",
"prompt": "Modern building with glass facade",
"expert_name": "exterior",
"parameters": {
"renderStyle": "photoreal",
"geometry": "precise",
"viewMode": "auto",
"annotation": false,
"showDimensions": false,
"referenceImageCount": 0,
"thinkingLevel": "off"
},
"credits": 99
}Code Examples
1. Basic Exterior Rendering (cURL)
curl -X POST https://api.mnmlai.dev/v1/archDiffusion-v44-lite \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: multipart/form-data" \
-F "image=@/path/to/building.jpg" \
-F "prompt=Modern commercial building with glass facade" \
-F "expert_name=exterior"2. Interior Rendering
curl -X POST https://api.mnmlai.dev/v1/archDiffusion-v44-lite \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: multipart/form-data" \
-F "image=@/path/to/room.jpg" \
-F "prompt=Luxury modern living room with natural lighting" \
-F "expert_name=interior" \
-F "output_format=jpeg"3. Node.js Implementation
const FormData = require('form-data');
const fs = require('fs');
const axios = require('axios');
const form = new FormData();
form.append('image', fs.createReadStream('building.jpg'));
form.append('prompt', 'Modern residential building with landscaping');
form.append('expert_name', 'exterior');
form.append('output_format', 'png');
const response = await axios.post(
'https://api.mnmlai.dev/v1/archDiffusion-v44-lite',
form,
{
headers: {
'Accept': 'application/json',
'Authorization': 'Bearer YOUR_API_KEY',
...form.getHeaders()
}
}
);
console.log('Request ID:', response.data.id);
console.log('Remaining credits:', response.data.credits);4. Python Implementation
import requests
url = 'https://api.mnmlai.dev/v1/archDiffusion-v44-lite'
files = {
'image': open('building.jpg', 'rb')
}
data = {
'prompt': 'Modern office building with green terrace',
'expert_name': 'exterior',
'output_format': 'png'
}
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.post(url, headers=headers, files=files, data=data)
result = response.json()
print(f"Request ID: {result['id']}")
print(f"Remaining credits: {result['credits']}")Checking Processing Status
GET https://api.mnmlai.dev/v1/status/{id}Processing Time: Typically 15-30 seconds (faster than v4.4-Ultra). Poll the status endpoint every 3-5 seconds until the status becomes "succeeded" or "failed".
Best Practices
Image Guidelines
- Use high-quality source images (1024px or larger recommended)
- Supported formats: JPEG, PNG, WebP
- File size: 1KB - 15MB per image
- Outputs are rendered at 1K resolution for fast turnaround
When to Use v4.4-Fast vs v4.4-Ultra
- Use v4.4-Fast: Quick iterations, prototyping, budget-conscious projects, simpler transformations
- Use v4.4-Ultra: Final presentations, 2K output, detailed control over environmental parameters, up to 4 reference images, complex styling
Prompt Tips
- Be descriptive about materials, lighting, and atmosphere in your prompt
- Include style references (e.g., "modern minimalist", "industrial loft")
- Specify time of day or weather conditions in the prompt for desired effects
Error Handling
Common Error Responses
// 400 Bad Request - Missing image
{
"status": "error",
"code": "MISSING_IMAGE",
"message": "Image file is required"
}
// 400 Bad Request - Missing prompt
{
"status": "error",
"code": "MISSING_PROMPT",
"message": "Prompt is required"
}
// 400 Bad Request - Insufficient credits
{
"status": "error",
"code": "NO_CREDITS",
"message": "You do not have enough credits to use this feature. This API requires 1 credit.",
"details": { "credits": 0, "required": 1 }
}
// 400 Bad Request - Image too large
{
"status": "error",
"code": "IMAGE_TOO_LARGE",
"message": "Image file is too large",
"details": { "size": 20000000, "maxSize": 15728640 }
}