ArchDiffusion v4.1
ArchDiffusion v4.1 is an advanced AI-powered multi-expert rendering engine for architectural visualization. Transform sketches, 3D models, and photos across 7 specialized domains: exteriors, interiors, masterplans, landscapes, floor plans, furniture, and product design.
How it works: Select an expert mode tailored to your project type, provide your design prompt, and customize parameters like camera angle, lighting mood, and render style. The API automatically enhances your prompt with expert-specific context and processes your image through specialized AI pipelines.
💳 Credit Cost: 5 credits per generation
Endpoint
POST https://api.mnmlai.dev/v1/archDiffusion-v41Request
Send a POST request with multipart/form-data containing your source image and design parameters. The API processes images asynchronously through expert-specific AI pipelines, returning a request ID for status tracking.
AI Prompt Enhancement
ArchDiffusion v4.1 automatically enhances your prompts by combining your image type, expert mode, and description with selected parameters (camera angle, scene mood, render style, context). This ensures optimal results from the AI rendering engine.
Example: Your prompt "Modern commercial building" with imagetype="sketch" and expert_name="exterior" becomes: "render this sketch in photorealistic exterior architectural visualization style, Modern commercial building, [+ render parameters]"
💡 Want full control?
Set render_style to "raw" to disable AI prompt enhancement and pass your prompt directly to the engine without any modifications.
Required Parameters
| Parameter | Type | Description |
|---|---|---|
imageRequired | File | Source architectural image (JPEG, PNG, WebP). Max 8MB, min 1KB |
expert_nameRequired | String | Expert mode: "exterior", "interior", "masterplan", "landscape", "plan", "furniture", "product" |
promptRequired | String | Description of desired transformation (max 2000 characters) |
Optional Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
imagetype | String | "photo" | Source type: "3dmass", "drawing", "wireframe", "construction", "photo", "sketch", "3d", "2d" |
camera_angle | String | "same_as_input" | Camera perspective: "same_as_input" (default), "eye_level", "aerial_view", "low_angle", "high_angle", "birds_eye", "worms_eye" |
scene_mood | String | "auto_daylight" | Lighting: "auto_daylight", "sunrise", "sunset", "overcast", "night", "golden_hour", "blue_hour", "dramatic" |
render_style | String | "realistic" | Style: "realistic", "artistic", "conceptual", "technical", "minimal", "dramatic", "cinematic", "raw" Note: "raw" disables AI prompt enhancement - your prompt is sent directly without modifications |
render_scenario | String | "precise" | Processing mode: "precise", "balanced", "creative", "experimental" |
context | String/Array | ["none"] | Expert-specific context tags (JSON array or comma-separated). Each expert validates its own context options |
reference_image_1reference_image_2reference_image_3reference_image_4 | File | None | Optional style reference images (up to 4). Each max 8MB |
seed | Number | Random | Random seed for reproducible results (0-1000000) |
Expert Modes
Exterior (exterior)
Valid image types: 3dmass, drawing, wireframe, construction, photo, sketch
Interior (interior)
Valid image types: 3dmass, drawing, wireframe, photo, sketch
Masterplan (masterplan)
Valid image types: drawing, sketch, 3d, 2d
Landscape (landscape)
Valid image types: drawing, sketch, photo
Floor Plan (plan)
Valid image types: drawing, sketch
Furniture (furniture)
Valid image types: photo, sketch, drawing, 3d
Product (product)
Valid image types: sketch, drawing, photo, 3d
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",
"seed": 742856,
"prompt": "Modern commercial building with glass facade",
"expert_name": "exterior",
"parameters": {
"imageType": "photo",
"cameraAngle": "same_as_input",
"context": ["commercial"],
"sceneMood": "auto_daylight",
"renderStyle": "realistic",
"renderScenario": "precise",
"resolution": "2K",
"aspectRatio": "match_input_image",
"referenceImageCount": 0
},
"credits": 93
}Response Fields:
- •
id- Unique request identifier for status tracking - •
seed- Random seed used (for reproducibility) - •
prompt- Your original prompt (before AI enhancement) - •
expert_name- Selected expert mode - •
parameters- Applied parameters summary - •
credits- Your remaining credit balance
Code Examples
Explore implementation examples across different languages and use cases. All examples use authentication via the Authorization: Bearer YOUR_API_KEY header.
1. Basic Exterior Rendering
Minimal example showing the three required parameters: image, expert_name, and prompt.
curl -X POST https://api.mnmlai.dev/v1/archDiffusion-v41 \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: multipart/form-data" \
-F "image=@/path/to/building.jpg" \
-F "expert_name=exterior" \
-F "prompt=Modern commercial building with glass facade"2. Interior Design with Context & Styling
Adding context tags, scene mood, and render style for enhanced control.
curl -X POST https://api.mnmlai.dev/v1/archDiffusion-v41 \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: multipart/form-data" \
-F "image=@/path/to/interior.jpg" \
-F "expert_name=interior" \
-F "prompt=Luxury hotel lobby with marble finishes" \
-F "context=["lobby","hotel_room"]" \
-F "scene_mood=golden_hour" \
-F "render_style=cinematic"3. Advanced with Reference Images
Complete example with all optional parameters including reference images, camera angle, and custom seed.
curl -X POST https://api.mnmlai.dev/v1/archDiffusion-v41 \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: multipart/form-data" \
-F "image=@/path/to/building.jpg" \
-F "expert_name=exterior" \
-F "prompt=Modern residential building with natural materials" \
-F "imagetype=3dmass" \
-F "camera_angle=eye_level" \
-F "scene_mood=sunset" \
-F "render_style=realistic" \
-F "render_scenario=balanced" \
-F "context=["residential"]" \
-F "reference_image_1=@/path/to/style-ref-1.jpg" \
-F "reference_image_2=@/path/to/style-ref-2.jpg" \
-F "seed=123456"4. Product Design Rendering
Using the product expert for design visualization.
curl -X POST https://api.mnmlai.dev/v1/archDiffusion-v41 \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: multipart/form-data" \
-F "image=@/path/to/product-sketch.jpg" \
-F "expert_name=product" \
-F "prompt=Modern minimalist product design with clean lines" \
-F "imagetype=sketch" \
-F "context=["realistic","minimal"]" \
-F "render_style=realistic"5. Node.js Implementation
Complete Node.js example using axios and form-data.
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('expert_name', 'exterior');
form.append('prompt', 'Modern commercial building with glass facade');
form.append('imagetype', 'photo');
form.append('camera_angle', 'same_as_input');
form.append('scene_mood', 'auto_daylight');
form.append('render_style', 'realistic');
form.append('render_scenario', 'precise');
form.append('context', JSON.stringify(['commercial']));
form.append('seed', '123456');
const response = await axios.post(
'https://api.mnmlai.dev/v1/archDiffusion-v41',
form,
{
headers: {
'Accept': 'application/json',
'Authorization': 'Bearer YOUR_API_KEY',
...form.getHeaders()
}
}
);
console.log('Request ID:', response.data.id);
console.log('Expert:', response.data.expert_name);
console.log('Seed:', response.data.seed);
console.log('Remaining credits:', response.data.credits);6. Python Implementation
Complete Python example using the requests library.
import requests
import json
url = 'https://api.mnmlai.dev/v1/archDiffusion-v41'
files = {
'image': open('building.jpg', 'rb')
}
data = {
'expert_name': 'exterior',
'prompt': 'Modern commercial building with glass facade',
'imagetype': 'photo',
'camera_angle': 'same_as_input',
'scene_mood': 'auto_daylight',
'render_style': 'realistic',
'render_scenario': 'precise',
'context': json.dumps(['commercial']),
'seed': '123456'
}
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"Expert: {result['expert_name']}")
print(f"Seed: {result['seed']}")
print(f"Remaining credits: {result['credits']}")Checking Processing Status
After submitting your request, use the Status Check endpoint with the returned ID to monitor processing progress and retrieve the generated image once complete.
GET https://api.mnmlai.dev/v1/status/{id}Processing Time: Typically 30-60 seconds depending on image complexity, selected parameters, and current server load. 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 - 8MB per image
- • Images are automatically resized to 1344px width while maintaining aspect ratio
- • Clear architectural features produce better results
Expert Mode Selection
- • Choose the expert mode that matches your content type
- • "exterior" for building facades and outdoor architecture
- • "interior" for rooms and indoor spaces
- • "masterplan" for site plans and urban layouts
- • "landscape" for gardens and outdoor environments
- • "plan" for floor plans and technical drawings
- • "furniture" for furniture design and visualization
- • "product" for product design and rendering
Prompt Enhancement vs Raw Mode
- • Default (Enhanced): Your prompt is automatically enhanced with expert context, style, and technical parameters for optimal results
- • Raw Mode: Set render_style="raw" to disable enhancement and use your exact prompt
- • Use raw mode when you have a highly detailed, pre-crafted prompt
- • Use enhanced mode (default) for simpler prompts and consistent quality
- • Enhanced prompts include expert prefixes, render quality instructions, and selected parameters
Reference Images
- • Upload up to 4 reference images to guide the style
- • Reference images should exemplify the desired aesthetic
- • Use high-quality references for best results
- • Each reference image follows the same size/format limits as main image
Performance & Quality
- • render_scenario="precise": Maximum architectural accuracy, preserves exact geometry
- • render_scenario="balanced": Mix of accuracy and creative enhancement (recommended)
- • render_scenario="creative": More artistic freedom, award-winning design details
- • render_scenario="experimental": Innovative interpretations, unexpected results
- • Set consistent seed values for reproducible outputs
- • Processing time: typically 30-60 seconds, varies by complexity and server load
- • Use render_style="raw" only when you have expertly crafted prompts
Error Handling
Common Error Responses
// 400 Bad Request - Missing image
{
"status": "error",
"code": "MISSING_IMAGE",
"message": "Image file is required"
}
// 400 Bad Request - Invalid expert name
{
"status": "error",
"code": "INVALID_EXPERT",
"message": "Invalid expert name. Valid options: exterior, interior, masterplan, landscape, plan, furniture, product",
"details": {
"requestedExpert": "invalid_expert"
}
}
// 400 Bad Request - Prompt too long
{
"status": "error",
"code": "PROMPT_TOO_LONG",
"message": "Prompt must be less than 2000 characters",
"details": {
"promptLength": 2500,
"maxLength": 2000
}
}
// 400 Bad Request - Image too large
{
"status": "error",
"code": "IMAGE_TOO_LARGE",
"message": "Image file is too large",
"details": {
"size": 10485760,
"minSize": 1024,
"maxSize": 8388608,
"unit": "bytes"
}
}
// 400 Bad Request - Invalid image type
{
"status": "error",
"code": "INVALID_IMAGE_TYPE",
"message": "Please upload a valid image type (jpeg, png, webp, jpg)",
"details": {
"receivedType": "image/bmp",
"allowedTypes": ["image/jpeg", "image/jpg", "image/png", "image/webp"]
}
}
// 400 Bad Request - Invalid parameters
{
"status": "error",
"code": "INVALID_PARAMETERS",
"message": "Image (base64) is required"
}
// 400 Bad Request - Insufficient credits
{
"status": "error",
"code": "NO_CREDITS",
"message": "You do not have enough credits to use this feature",
"details": {
"credits": 0
}
}
// 401 Unauthorized - Invalid API key
{
"status": "error",
"code": "UNAUTHORIZED",
"message": "Invalid authentication credentials"
}
// 500 Internal Server Error
{
"status": "error",
"code": "INTERNAL_SERVER_ERROR",
"message": "An unexpected error occurred",
"details": {
"error": "Processing failed",
"timestamp": "2025-11-26T10:30:00.000Z"
}
}Next Steps
Check your processing status and explore related API endpoints: