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

HTTP Method
POST https://api.mnmlai.dev/v1/archDiffusion-v41

Request

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

ParameterTypeDescription
imageRequiredFileSource architectural image (JPEG, PNG, WebP). Max 8MB, min 1KB
expert_nameRequiredStringExpert mode: "exterior", "interior", "masterplan", "landscape", "plan", "furniture", "product"
promptRequiredStringDescription of desired transformation (max 2000 characters)

Optional Parameters

ParameterTypeDefaultDescription
imagetypeString"photo"Source type: "3dmass", "drawing", "wireframe", "construction", "photo", "sketch", "3d", "2d"
camera_angleString"same_as_input"Camera perspective: "same_as_input" (default), "eye_level", "aerial_view", "low_angle", "high_angle", "birds_eye", "worms_eye"
scene_moodString"auto_daylight"Lighting: "auto_daylight", "sunrise", "sunset", "overcast", "night", "golden_hour", "blue_hour", "dramatic"
render_styleString"realistic"Style: "realistic", "artistic", "conceptual", "technical", "minimal", "dramatic", "cinematic", "raw"
Note: "raw" disables AI prompt enhancement - your prompt is sent directly without modifications
render_scenarioString"precise"Processing mode: "precise", "balanced", "creative", "experimental"
contextString/Array["none"]Expert-specific context tags (JSON array or comma-separated). Each expert validates its own context options
reference_image_1
reference_image_2
reference_image_3
reference_image_4
FileNoneOptional style reference images (up to 4). Each max 8MB
seedNumberRandomRandom 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.

Status Check Endpoint
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: