Skip to main content

Endpoint

POST https://app.magicfurnish.com/api/v2/ai/external/process

Request Format

This endpoint expects a multipart/form-data POST request with:
FieldTypeRequiredDescription
imageFileYesJPG, PNG, or single-page PDF floor plan

Headers (Required)

X-API-Key: YOUR_API_KEY
X-API-Secret: YOUR_API_SECRET

Example Request

curl -X POST "https://app.magicfurnish.com/api/v2/ai/external/process" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "X-API-Secret: YOUR_API_SECRET" \
  -F "image=@floorplan.png"

Successful Response

If the floor plan is valid and processed successfully, the API returns:
{
  "status": "success",
  "data": {
    "uniqueId": "4959055a-5243-4e1f-8554-4091091f6bdf",
    "galleryUrl": "https://app.magicfurnish.com/floor-gallery/69245f96705e17e1e881bf2f",
    "furnishedImageUrl": "https://app.magicfurnish.com/api/v2/g/s3-image/59d98258-5da2-4d73-bcc0-667cd9ded501_layout.jpg"
  },
  "code": 200
}

Field Definitions

FieldDescription
uniqueIdInternal processing identifier for the uploaded plan
galleryUrlURL to the auto-generated MagicFurnish viewer/gallery
furnishedImageUrlDirect link to the furnished layout image

Validation Rules

The Upload endpoint performs automatic validation before processing. Floor plans must:
  • Be JPG, PNG, or single-page PDF
  • Be under 10 MB
  • Contain at least one visible dimension
  • Use consistent scale (if multiple scales appear, request is rejected)
  • Not contain visible furniture (to avoid misinterpretation)

Possible Error Responses

StatusMessageMeaning
400Invalid file typeMust upload JPG, PNG, or single-page PDF
400Multiple pages detectedPDF contains more than one page
400Dimensions not visibleAt least one dimension must be readable
400Mixed scale detectedConflicting scales found
400Furniture detectedRemove furniture and re-upload
400Plan size unsupportedFile exceeds size constraints
422File unreadableLow resolution or corrupted upload
408AI service request timeoutProcessing exceeded time limit
500AI service errorTemporary internal model issue
For detailed error shapes, see Errors.

Processing Time

Typical processing times:
  • Upload: ~10 seconds
  • Auto-Furnish: ~30–60 seconds
  • Gallery Ready: instantly upon completion

Next Steps

The returned galleryUrl can be:
  • Embedded in your app
  • Opened in a webview
  • Linked as part of a workflow (S.MPLE, internal dashboards, etc.)