Developer API
Straight from your own system
The same tools as in the interface, callable over REST: enhance images, stage rooms, generate videos, write listing texts. You pay per call in credits — no separate API base fee.
Endpoints
POST /api/enhance
Enhance an image: sky, seasons, twilight, object removal, cleanup, renovation.
POST /api/staging
Virtually stage rooms. Runs asynchronously — poll /api/staging/poll for status.
POST /api/video-jobs
Create a video job and track progress via /api/video-jobs/<id>.
POST /api/upscale
Upscale 2× or 4× (default: 4×).
POST /api/ai/generate-description
Generate a listing text from property data, with tone and language.
POST /api/listings
Create, read, update and publish listings.
GET /api/credits
Read the balance: credits, used, total, plan.
GET·POST·DELETE /api/keys
List, create and revoke API keys.
POST /api/mcp
MCP server (JSON-RPC 2.0) — AI agents call Zestio tools directly.
First call
Authentication uses the API key in the Authorization header (prefix zest_).
$ curl -X POST https://www.zestio.de/api/enhance \
-H "Authorization: Bearer zest_…" \
-H "Content-Type: application/json" \
-d '{"image":"https://…/wohnzimmer.jpg",
"enhancementType":"auto"}'Response
{
"success": true,
"output": "https://…/ergebnis.jpg",
"creditsUsed": 1,
"model": "auto",
"metadata": { "enhancementType": "auto" }
}
// Länger laufende Arten (Himmel, Jahreszeiten, Staging, Renovierung)
// antworten asynchron:
{ "status": "processing", "jobId": "…" }Check credits
$ curl https://www.zestio.de/api/credits \
-H "Authorization: Bearer zest_…"
{ "credits": 96, "plan": "pro", "used": 4, "total": 100 }Costs no credits. The balance is shared between the interface and the API.
Credits per call
Values from the central price list — the same credits as in the interface.
| Call | Credits | |
|---|---|---|
| Enhance (standard) | 1 | Auto lighting, denoise (SwinIR) |
| Enhance (premium) | 2 | Sky, seasons, twilight, object removal, cleanup, renovation |
| Virtual staging | 2 | Room type and furniture style selectable |
| Upscale | 2 | 2× or 4× |
| Video job | 15 | Full pipeline including stitching |
| Listing text | 1 | German or English |
| 3D tour | 8 | Computed from photos |
| Floor plan | 0 | Chat in the editor: 1 credit per message |
MCP interface for AI agents
One endpoint, 34 tools: search, listings, contacts and pipelines, image work, videos, floor plans and market data. Calls use JSON-RPC 2.0 over POST /api/mcp.
$ curl -X POST https://www.zestio.de/api/mcp \
-H "Authorization: Bearer zest_…" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,
"method":"tools/list"}'Examples from the toolbox
- buildsearch_listings — Search properties by location, price and type.
- buildvirtual_staging — Furnish an empty room and return the result.
- buildgenerate_video — Start a video job from photos or a listing URL.
- buildmarket_analysis — Query price and market data for an area.
- buildcreate_followup — Create a follow-up for a contact.
The complete tool list with parameters lives in the documentation at /docs.
Connect from Claude Code, Cursor or Windsurf
# Claude Code claude mcp add --transport http zestio https://www.zestio.de/api/mcp \ --header "Authorization: Bearer zest_YOUR_KEY" # Claude Desktop / Cursor (stdio-Bridge) npx -y mcp-remote https://www.zestio.de/api/mcp # MCP_REMOTE_API_KEY=zest_YOUR_KEY
The server is listed in the official MCP registry as de.zestio/zestio-mcp. Transport, authentication and the complete tool list are readable without an API key at /.well-known/mcp.json.
Buy credits
Subscription or single pack — both top up the same balance.
Keep building
The OpenAPI specification imports directly into API clients; the documentation describes every call with examples.
