Home › Developers
DevelopersSedam Staging API
Send a photo of a real room and get back a designed image, with its Room Check result. Use it from your own code, or let an AI agent call it through MCP. It is the same Studio, with the same plans and checks.
Get started
- Open Studio on the website and sign in. The free plan works: 3 images, with the Sedam mark.
- Go to Settings → API keys and make a key. It starts with
sdm_live_and is shown only once, so copy it then. The keys section is on the website only, not in the iPhone or Android app. - Send the key with every request as
Authorization: Bearer sdm_live_….
curl https://sedamintelligence.com/api/v1/designs \
-H "Authorization: Bearer $SEDAM_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"image_url": "https://example.com/living-room.jpg",
"mode": "restyle",
"style": "nordic-light",
"wait_seconds": 60
}'
Keep keys on your server. Anyone who has a key can use your images. Remove a key in Studio settings if it leaks.
How images and plans work
An API image is a Studio image. Each finished image uses one image from your plan, exactly as it would in Studio, and the plan's rules apply: on the free plan, images are previews with the Sedam mark. See plans. A failed image, a refused photo or a photo with no room in it uses no image.
API designs are personal designs. They are not property listing photos and come without the listing label and kit. To make listing photos, use Studio.
Every result is an AI design preview: not a measured plan, a product catalogue or a guarantee of fit. Room Check compares each result with the original photo and reports what it finds, but it can miss details. Show your users the original and the result side by side.
Endpoints
The base address is https://sedamintelligence.com. Requests and replies are JSON.
| Method and path | Key | What it does |
|---|---|---|
GET /api/v1/styles | No | Lists the modes, styles and room types you can use. |
POST /api/v1/designs | Yes | Starts a design. Answers 200 when it has finished, or 202 while it is still working. |
GET /api/v1/designs?id=… | Yes | The design's status, image links and Room Check result. |
GET /api/v1/usage | Yes | Your plan, images used and images left. |
POST /api/mcp | To call tools | The same, as MCP tools for AI agents. See below. |
Start a design
POST /api/v1/designs takes these fields:
| Field | What to send |
|---|---|
image_url | A public https link to the room photo: JPEG, PNG or WebP, under 8 MB. |
image | Instead of a link, the photo as base64 or a data URL. Keep it under about 3 MB, because requests are capped at 4.5 MB. |
mode | What to change. One of the modes below. Default: stage. |
style | A style id from GET /api/v1/styles, such as nordic-light. |
instructions | Plain words, up to 1,800 characters. Needed for paint, renovate and describe. |
room_type | Optional: living, bedroom, kitchen, dining, bathroom, office, entry or other. |
name | Optional name for the design, shown in Studio. Default: “API design”. |
wait_seconds | 0 to 60. How long to hold the request for the finished image. Default: 0. |
| Mode | What it does |
|---|---|
stage | Adds furniture and decor in the chosen style to an empty or nearly empty room. |
restyle | Replaces the furniture and decor with the chosen style. |
decor | Adds rugs, art, plants and accessories, keeping the furniture. |
declutter | Removes furniture and clutter to show the empty room. |
paint | Changes the wall colour. Put the colour, or a paint code, in instructions. |
renovate | Shows a renovation idea such as floors, cabinets or moulding. Describe it, and what to keep, in instructions. |
describe | Makes the change you describe in instructions. |
enhance | Improves light and clarity without changing what is in the room. |
exterior | Adds outdoor furniture, plants or lighting to a patio, deck, balcony or garden. The building stays as photographed. |
The design you get back
{
"object": "design",
"id": "4f0c…",
"status": "done",
"images": [{
"id": "9b1e…",
"mode": "restyle",
"style": "nordic-light",
"status": "done",
"image_url": "https://…",
"original_url": "https://…",
"room_check": { "result": "passed", "note": "…" }
}],
"links_expire_in_seconds": 3600,
"note": "AI design preview. Not a measured plan, a product catalogue or a guarantee of fit."
}
statusisprocessing,done,failedorno_room_found.no_room_foundmeans the photo was not a room: nothing was changed and no image was used.- While a design is
processing, ask again withGET /api/v1/designs?id=…every 10 to 20 seconds. room_check.resultispassed,incomplete,flaggedorunavailable.- Image links work for one hour. Ask for the design again to get fresh links.
Errors and limits
Errors look like {"error": {"code": "…", "message": "…"}}. The message is written for people, so you can show it.
| Status | Codes | What it means |
|---|---|---|
| 400 | unknown_mode, unknown_style, unknown_room_type, instructions_required, image_required, bad_image_url, image_unreachable, not_a_photo, bad_id, bad_json, bad_request | Fix the request and send it again. |
| 401 | unauthorized | The key is missing, removed, or its account is closed. |
| 402 | plan_limit | No images left. The reply has a plans_url. |
| 422 | room_request_… | The photo or the request was refused by the content check, for example a request to add people. |
| 404 | not_found | No design with that id on this account. |
| 409 | account_unavailable | The account can't start designs right now. The message says why. |
| 429 | rate_limited, busy | Too many requests. Wait and try again. |
| 503 | unavailable | Something on our side failed. Try again in a minute. |
Limits: each account can start 10 designs a minute and 200 a day through the API. Each key can make 120 reads a minute. MCP allows 30 tool calls a minute per key, one tool call per request.
AI agents (MCP)
https://sedamintelligence.com/api/mcp speaks MCP over Streamable HTTP. It answers POST requests with JSON and does not open event streams. Anyone can list the tools; calling one needs a key in the Authorization header. Chat apps that only connect with a sign-in (OAuth) can't use it yet.
| Tool | What it does |
|---|---|
list_styles | Lists the modes, styles and room types. |
create_design | Designs a room from a photo link. Waits up to 90 seconds by default and returns the image links and Room Check result. |
get_design | Checks a design that was still working. |
get_usage | Shows the plan and images left. |
Claude Code:
claude mcp add --transport http sedam https://sedamintelligence.com/api/mcp \
--header "Authorization: Bearer sdm_live_…"
Cursor and other clients that take a JSON configuration:
{
"mcpServers": {
"sedam": {
"url": "https://sedamintelligence.com/api/mcp",
"headers": { "Authorization": "Bearer sdm_live_…" }
}
}
}
Rules
The API section of our Terms applies, along with the rest of the Terms. In short: send only photos you have permission to edit, keep your keys secret, don't resell access, and don't use API designs as listing photos. Questions: info@sedamintelligence.com.