Home › Developers

Developers

Sedam 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

  1. Open Studio on the website and sign in. The free plan works: 3 images, with the Sedam mark.
  2. 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.
  3. 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 pathKeyWhat it does
GET /api/v1/stylesNoLists the modes, styles and room types you can use.
POST /api/v1/designsYesStarts a design. Answers 200 when it has finished, or 202 while it is still working.
GET /api/v1/designs?id=…YesThe design's status, image links and Room Check result.
GET /api/v1/usageYesYour plan, images used and images left.
POST /api/mcpTo call toolsThe same, as MCP tools for AI agents. See below.

Start a design

POST /api/v1/designs takes these fields:

FieldWhat to send
image_urlA public https link to the room photo: JPEG, PNG or WebP, under 8 MB.
imageInstead 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.
modeWhat to change. One of the modes below. Default: stage.
styleA style id from GET /api/v1/styles, such as nordic-light.
instructionsPlain words, up to 1,800 characters. Needed for paint, renovate and describe.
room_typeOptional: living, bedroom, kitchen, dining, bathroom, office, entry or other.
nameOptional name for the design, shown in Studio. Default: “API design”.
wait_seconds0 to 60. How long to hold the request for the finished image. Default: 0.
ModeWhat it does
stageAdds furniture and decor in the chosen style to an empty or nearly empty room.
restyleReplaces the furniture and decor with the chosen style.
decorAdds rugs, art, plants and accessories, keeping the furniture.
declutterRemoves furniture and clutter to show the empty room.
paintChanges the wall colour. Put the colour, or a paint code, in instructions.
renovateShows a renovation idea such as floors, cabinets or moulding. Describe it, and what to keep, in instructions.
describeMakes the change you describe in instructions.
enhanceImproves light and clarity without changing what is in the room.
exteriorAdds 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."
}

Errors and limits

Errors look like {"error": {"code": "…", "message": "…"}}. The message is written for people, so you can show it.

StatusCodesWhat it means
400unknown_mode, unknown_style, unknown_room_type, instructions_required, image_required, bad_image_url, image_unreachable, not_a_photo, bad_id, bad_json, bad_requestFix the request and send it again.
401unauthorizedThe key is missing, removed, or its account is closed.
402plan_limitNo images left. The reply has a plans_url.
422room_request_…The photo or the request was refused by the content check, for example a request to add people.
404not_foundNo design with that id on this account.
409account_unavailableThe account can't start designs right now. The message says why.
429rate_limited, busyToo many requests. Wait and try again.
503unavailableSomething 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.

ToolWhat it does
list_stylesLists the modes, styles and room types.
create_designDesigns a room from a photo link. Waits up to 90 seconds by default and returns the image links and Room Check result.
get_designChecks a design that was still working.
get_usageShows 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.