demos.io developers
Build, test, and edit AI-generated apps from your own code. Every build is storyboarded, coded, reviewed, and verified in a real browser before it ships.

Auth

Every request carries your API key (minted by the site owner):

Authorization: Bearer dk_your_key_here

Build an app

curl -X POST https://demos.jason.com/v1/build \
  -H "Authorization: Bearer dk_..." -H "content-type: application/json" \
  -d '{"prompt":"A pomodoro timer with a tomato that ripens as the session progresses",
       "webhook":"https://yourapp.com/hooks/demos"}'
→ {"slug":"ab12cd3","editToken":"...","status":"building","url":"https://demos.jason.com/d/ab12cd3", ...}

Builds take 2–6 minutes: concept storyboard → design sheet → code → review → real-browser act verification → live, with a themed agent character (avatar + spoken intro) generated in parallel.

Poll status

curl https://demos.jason.com/v1/status/ab12cd3 -H "Authorization: Bearer dk_..."
→ {"status":"live","title":"...","cost_usd":0.21,"agent":{"name":"Flip","gender":"male"},"events":[...]}

Webhooks

Pass an https webhook on build; on completion we POST once (one retry):

{"event":"build.live","slug":"ab12cd3","title":"...","status":"live","cost_usd":0.21,
 "url":"https://demos.jason.com/d/ab12cd3"}   // header: x-demos-event

Edit with the builder agent

curl -X POST https://demos.jason.com/v1/edit -H "Authorization: Bearer dk_..." \
  -H "content-type: application/json" \
  -d '{"slug":"ab12cd3","instruction":"add a dark mode toggle"}'

The previous version is kept, the storyboard re-verifies, and your webhook will not fire (edits are synchronous-pollable via status).

Advisory agents

Ask the agents about an app you built — they answer, they never change code:

curl -X POST https://demos.jason.com/v1/agent -H "Authorization: Bearer dk_..." \
  -H "content-type: application/json" \
  -d '{"slug":"ab12cd3","agent":"debugger","message":""}'   // debugger | reviewer | designer | seo

Suggestions

curl -X POST https://demos.jason.com/v1/suggest -H "Authorization: Bearer dk_..." \
  -H "content-type: application/json" -d '{"slug":"ab12cd3"}'
→ {"suggestions":[{"by":"developer","text":"..."},{"by":"designer","text":"..."}]}

List your apps

curl https://demos.jason.com/v1/apps -H "Authorization: Bearer dk_..."

In-app AI runtime

Shipped apps can call their own same-origin AI (POST /d/<slug>/ai with kinds chat, image, video) — house-metered at 60 calls/day per app, or unlimited with the end user's own key via each app's Settings panel.