Skip to content

Pricing and limits

Colour data is free. Painting costs credits (with an API key or OAuth sign-in) or USDC (with x402).

search_paint_colors, get_paint_color, find_equivalents and list_brands. No account, no key.

With an API key or OAuth sign-in, painting spends the credits of your Muro account, as in the app.

Quality Resolution Credits per colour Plan needed
standard about 1K 1 Any plan
hd about 2K 2 Pro or higher
ultra about 4K 3 Premium
  • A time-of-day version from relight_room costs 1 credit.
  • get_visualization and get_credits cost nothing.
  • Credits are held before painting starts. A colour that fails is refunded. The response says how many credits came back.
  • There are no free trials.
  • A call is refused up front if the account lacks the credits (see Errors).

Without an account, an agent pays per call in USDC on Base mainnet (eip155:8453). Details are on the x402 page.

Call Price
visualize_room, Standard 0.25 USDC per colour
visualize_room, HD 0.50 USDC per colour
visualize_room, Ultra 0.75 USDC per colour
relight_room 0.25 USDC
get_visualization Free: the job_id is the proof of purchase
get_credits Needs a Muro key (not sold through x402)

The price of a call is the number of colours times the per-colour price, for example 4 colours in HD is 2.00 USDC. The payment is settled only after the images are delivered, so if painting fails you are not charged.

Formats JPEG, PNG, WebP
Maximum size 12 MB
Given as image_url (public link) or image_base64
Surfaces interior walls, facade, roof
Not accepted by the server HEIC/HEIF. The Muro app and web app convert it; the CLI converts it on macOS; agents should send a JPEG

The format is detected from the file’s bytes, not from the claimed type. Links to usemuro.com itself cannot be fetched by the server: send the photo as image_base64 or host it elsewhere. In claude.ai and ChatGPT a pasted image cannot be passed on to a tool, so give the photo as a link.

  • 1 to 12 colours per visualize_room call. Each colour is a separate painted image.
  • Up to 100 photo uploads a day per account.
  • About 30 seconds for two colours in Standard.
  • About 15 seconds for a time-of-day version.
  • visualize_room waits about 45 seconds. If colours are not ready, it returns a job_id and project_id. Call get_visualization to collect the rest (each call waits up to about 25 seconds). The CLI waits for the job for up to 15 minutes.

Limits are per client IP address and per 60 seconds. They are enforced per Cloudflare data centre, so they are approximate.

Traffic Limit
Free colour calls, no Authorization header (including x402 calls) 600 per 60 s
Any request with an Authorization header (API key), and /account/mcp, /register, /authorize, /oauth/* (OAuth) 60 per 60 s

The server card (GET /.well-known/mcp.json), the landing text at GET / and CORS preflight requests are not counted.

Above the limit the server answers HTTP 429 with Retry-After: 60. See Errors. The 600 limit is generous because hosted connectors such as claude.ai and ChatGPT share vendor IP addresses.