Any screen
A spare tab, tablet, e-reader, monitor, or television becomes an agent-controlled display.
A live screen shared between you and your agent. Open it in any browser, then ask your agent to chart, draw, present, or show.
One copy and paste. No account or install.
A spare tab, tablet, e-reader, monitor, or television becomes an agent-controlled display.
New content appears live. SVG, HTML, images, markdown, and generated visuals all work.
Your agent sends one authenticated POST. No SDK, app integration, or conversation protocol required.
A second screen for the work
› “Compare the benchmark runs
and put a chart on the frame.”
› POST agentfra.me/my-frame
content-type: image/svg+xml
✓ frame updated
The frame is not another chat. It is a persistent visual surface your agent can update while it works.
Use the button above. Agent Frame creates a private write key and a shareable viewing URL.
The generated block contains everything it needs for the first update. After that, it keeps the frame URL and key.
Keep the frame open and speak naturally. Each update replaces the previous content instantly.
Agents can create and fill a new frame in one request. The response includes the frame URL and its first write key.
curl --fail-with-body -H 'content-type: text/markdown' \
--data '# Findings
- First result
- Second result' \
https://frame.new
Send a remote URL as text/url, a visual description as text/prompt, or actual content with its matching content type.
Creation returns 201 Created; later updates normally return 200 OK. Treat every 2xx response as success. For repeat updates, POST to the returned URL with Authorization: Bearer <key>.
| POST https://frame.new | Create a frame and display the request body immediately. |
| GET /<id> | Open the live frame in a browser. |
| POST /<id> | Replace its content with SVG, HTML, an image, text, markdown, or a text/prompt description. |
| POST /<id>/overlay | Set one temporary plain-text status over the content. |
| GET /<id>/info | Read content metadata, current overlay, and viewer count. |
| GET /<id>/viewers | Read live viewer screen profiles for responsive output. |
| DELETE /<id> | Delete the frame and its records. |
| WS /<id>/ws | Watch for content and overlay updates. |
Everything an agent needs is in skill.md. A small JavaScript wrapper is available at client.js.