Become a 10x Brand Engineer with Cuppa AI See Who's Hiring
Cuppa ChatChat Artifacts

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

FormatAsk forOutputMP4
filmTimed animation with an endingHTML on the canvasYes
graphicShort seamless loopHTML on the canvasYes
pageLanding page or interactive HTMLHTML on the canvasNo

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

  1. Open Create with Chat (a Brand Room, or lock to Just me)
  2. Ask in plain language, e.g. 15-second launch film, square, our colors or looping motion graphic or single-file waitlist page
  3. Enter / Run / Talk. The agent calls generate_artifact with your brief verbatim
  4. Keep working. In-app notification always. Email / Slack if chat.agent_completed is on
  5. 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

ArtifactVideo model
Toolgenerate_artifactgenerate_video
What you getCode-drawn film / loop / pagePhotoreal / cinematic clip
Time5–10 min~1–6 min
ExportHTML + in-browser MP4MP4 from the video pipeline
KeysAnthropic / OpenAI / GeminiReplicate / 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.