Exterior AI
Generate stunning exterior architectural designs with AI. Transform building images into photorealistic exterior renderings.
Endpoint
HTTP Method
POST https://api.mnmlai.dev/v1/exterior
Request
Send a POST request with multipart/form-data containing your building image and design specifications.
Required Parameters
Parameter | Type | Description |
---|---|---|
image | File | The building exterior image to redesign (multipart/form-data) |
prompt | String | Description of the desired exterior design |
Optional Parameters
Parameter | Type | Default | Description |
---|---|---|---|
imageType | String | "3dmass" | Type of input image: "3dmass" | "sketch" | "photo" |
scenario | String | "creative" | Design approach: "creative" | "precise" |
geometry_input | Number | 75 | Geometry preservation level (0-100) |
styles | String | "realistic" | Rendering style: "realistic" | "artistic" |
renderspeed | String | "best" | Processing speed vs quality: "fast" | "best" |
Response
The Exterior AI endpoint processes your building image asynchronously. You'll receive a request ID that you can use to check the status and retrieve the generated design.
Success Response (200 OK)
{
"status": "success",
"id": "b09ssvpzzhrj00cmzt1bykjzp1",
"prompt": "Modern exterior design with glass facade"
}
Examples
Basic Example
curl -X POST https://api.mnmlai.dev/v1/exterior \
-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 exterior design with glass facade"
Advanced Example with All Parameters
curl -X POST https://api.mnmlai.dev/v1/exterior \
-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 exterior design with glass facade" \
-F "imageType=3dmass" \
-F "scenario=creative" \
-F "geometry_input=75" \
-F "styles=realistic" \
-F "renderspeed=best"
Node.js Example
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 exterior design with glass facade');
form.append('imageType', '3dmass');
form.append('scenario', 'creative');
form.append('geometry_input', '75');
form.append('styles', 'realistic');
form.append('renderspeed', 'best');
const response = await axios.post(
'https://api.mnmlai.dev/v1/exterior',
form,
{
headers: {
'Accept': 'application/json',
'Authorization': 'Bearer YOUR_API_KEY',
...form.getHeaders()
}
}
);
console.log('Request ID:', response.data.id);
Python Example
import requests
url = 'https://api.mnmlai.dev/v1/exterior'
files = {
'image': open('building.jpg', 'rb')
}
data = {
'prompt': 'Modern exterior design with glass facade',
'imageType': '3dmass',
'scenario': 'creative',
'geometry_input': '75',
'styles': 'realistic',
'renderspeed': 'best'
}
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']}")
Processing Status
After submitting your request, use the Status Check endpoint with the returned ID to monitor processing progress:
Status Check Endpoint
GET https://api.mnmlai.dev/v1/status/{id}
Best Practices
Image Requirements
- • Use high-quality images for best results (minimum 512x512 pixels)
- • Ensure the building is clearly visible in the image
- • Avoid heavily distorted or low-resolution images
- • Supported formats: JPG, PNG, WebP
Parameter Tips
- • Use
imageType: "photo"
for real photographs - • Set
scenario: "precise"
for minimal changes - • Increase
geometry_input
to preserve more original structure - • Use
renderspeed: "fast"
for quick previews
Error Handling
Common Error Responses
// 400 Bad Request - Missing required parameters
{
"error": "Missing required field: image"
}
// 401 Unauthorized - Invalid API key
{
"error": "Invalid authentication credentials"
}
// 413 Payload Too Large - File size exceeded
{
"error": "File size exceeds maximum limit of 10MB"
}
// 429 Too Many Requests - Rate limit exceeded
{
"error": "Rate limit exceeded. Please try again later"
}