Chat Artifacts
Ask Chat for an animated film, a looping graphic, or a single-file landing page. Cuppa queues a background build (generate_artifact), docks the result on the canvas, and pings you when it is ready. Films and graphics export to MP4 in the browser. Pages stay HTML.
This is not Video Generation. Video models (Wan, Seedance, Runway, Kling, …) render photoreal clips. Artifacts write a self-contained HTML file (Canvas / WebGL / CSS / WebAudio) and play it in a sandboxed iframe.
Needs Agentic Chat (Studio+) and an Anthropic, OpenAI, or Gemini key. Default build model is Claude Opus 5.5 when that key exists. Name a model in the brief if you want a different one.
Formats
| Format | Ask for | Output | MP4 |
|---|---|---|---|
| film | Timed animation with an ending | HTML on the canvas | Yes |
| graphic | Short seamless loop | HTML on the canvas | Yes |
| page | Landing page or interactive HTML | HTML on the canvas | No |
Typical build: 5–10 minutes. The agent should stop that turn and offer other work. Talk announces ready / failed on the job board.
How to run one
- Open Create with Chat (a Brand Room, or lock to Just me)
- Ask in plain language, e.g. 15-second launch film, square, our colors or looping motion graphic or single-file waitlist page
- Enter / Run / Talk. The agent calls
generate_artifactwith your brief verbatim - Keep working. In-app notification always. Email / Slack if
chat.agent_completedis on - Open the canvas (or the Full page link at
/artifacts/{id})
Say approve / skip only applies to other canvas edits. The artifact player is the piece.
On the canvas
When status is ready:
- Sandboxed iframe preview (scripts on, no app cookies / storage /
fetch) - Restart playback
- HTML download (single file, no CDN)
- Export MP4 — films and graphics only. Renders frame-by-frame in this tab. Keep the tab open. Cancel if you need to
- Full page — same player at
/artifacts/{id}(notification deep link)
While queued / generating you see elapsed time and the model. Failed jobs show the error on the canvas and in-app.
Constraints (do not fight these)
- One self-contained HTML file. No CDNs, fonts, images, or remote audio
- File cap ~600 KB
- Brand DNA (name, colors, tagline) is passed when the thread has a site
- Live playback loops. Browser autoplay blocks sound until a click
- MP4 export needs the file to expose
window.__artifact(duration,canvas,renderFrame). Pages skip that contract
vs generate_video
| Artifact | Video model | |
|---|---|---|
| Tool | generate_artifact | generate_video |
| What you get | Code-drawn film / loop / page | Photoreal / cinematic clip |
| Time | 5–10 min | ~1–6 min |
| Export | HTML + in-browser MP4 | MP4 from the video pipeline |
| Keys | Anthropic / OpenAI / Gemini | Replicate / WaveSpeed / xAI / Google as the model requires |
Animate this still / make a Reel → video. Motion graphic / WebGL film / HTML page → artifact.
Notifications
- In-app:
chat.artifact_ready/chat.artifact_failed - Email + Slack: same pref as Agent finished (
chat.agent_completed). Failure stays in-app
Prefs: Team Settings → Notifications.
API / MCP / CLI
Not exposed. Artifacts are Chat + canvas only. list_models does not start a build.
Related
- Brand Rooms — Canvas, Talk, playbooks
- Agentic AI — Tool catalog
- Video Generation — Wan / Replicate / WaveSpeed clips
- OpenAI API / Anthropic API — Keys