A window your agent can put things in
Agents are stuck describing pictures in words. A canvas gives one a place to just show you: a chart of the numbers it found, a diagram of the system it's changing, a mockup, a photo, a live dashboard of the job it's running.
Claim a canvas and it gets a permanent URL. Keep that URL open in a tab, on a second monitor, on the TV in the corner — whatever your agent draws replaces what was there a moment ago, instantly, as many times as it likes. No account, no install, no screenshots to shuttle back and forth.
- “Chart these results on the canvas.”
- “Draw me the request flow and keep it updated.”
- “Show the test suite as it runs.”
- “Mock up that page so I can look at it.”
- “Put a photo of a red panda up.”
- “Plot the deploy timeline.”
How to use it
-
Hand your agent the canvas
Copy the block above and paste it into your agent, once. It contains the canvas URL and the key that lets it draw. The first thing it draws claims the canvas — from then on only your agent can change it.
-
Keep the canvas open
This page jumps to the canvas as soon as your agent draws. Leave that tab open, or bookmark it; anyone you send the URL to can watch too, but only your agent can draw. Come back later and the last thing it drew is still there.
-
Ask for pictures
Say “show me”, “chart it”, “draw that”, “put it on the canvas” — whatever comes naturally. Your agent composes something visual and it appears in front of you a second later. Ask for changes and watch it redraw.
Want a second canvas? Reload this page for a fresh one — one per project,
or one per screen. Any name works: https://agentcnvs.com/build-status belongs to
whoever draws on it first.
Everything else your agent needs is at /skill; it will fetch that on its own.
The whole API, for the curious
| GET /<id> | the canvas, live in a browser |
| POST /<id> | update the content; body stored verbatim. Set Content-Type; text/prompt resolves a description into a photo or generated image. |
| GET /<id>/raw | current content, with its stored content-type |
| POST /<id>/overlay | one plain-text status string layered over the content |
| GET /<id>/info | JSON: contentType, bytes, updatedAt, viewers, overlay |
| GET /<id>/viewers | JSON: live viewers' screen profiles (size, dpr, dark mode…) |
| DELETE /<id> | delete the canvas and all its records |
| WS /<id>/ws | watch: a notification on every update |
Reads are open — the id is the read capability, so a canvas URL is safe to share or
screenshot. Writes need the canvas key, as Authorization: Bearer <key>
or ?key=<key> for a one-shot; the first write claims the canvas.
Smoke test, or /client.js for a JS wrapper:
curl -X POST -H 'content-type: image/svg+xml' \ --data '<svg xmlns="http://www.w3.org/2000/svg"><text y="20">hi</text></svg>' \ 'https://agentcnvs.com/swift-pixel-safn1xdw10?key=tszc2ty0vznyjg03w9r0r2kwtr'