How Artifacts Are Created
Any tool that returns aToolResult with an artifacts list generates downloadable files. The agent doesn’t need special instructions — artifact creation is a natural side effect of tool execution.
Common producers:
| Tool | Artifact Type | Example |
|---|---|---|
python_exec | Images, HTML, CSV, JSON | A matplotlib chart saved as PNG |
template_render | HTML | A formatted report |
| Code execution tools | Any file | Generated code, exported data |
| Image generation | Images | AI-generated illustrations |
The Gallery
The Artifacts page (/artifacts) provides a unified view of all files you’ve generated across all conversations.
Filtering
Four type filters narrow the view:| Filter | File Types |
|---|---|
| All | Everything |
| Images | PNG, JPG, GIF, SVG, WebP |
| HTML | HTML pages and reports |
| Code | Python, JavaScript, TypeScript, JSON, YAML, XML, CSS, SQL, Markdown, shell scripts |
| Files | Everything else — CSV, PDF, plain text, binary files |
Preview
Click any artifact to open an inline preview:- Images — rendered at full resolution
- HTML — displayed in a sandboxed iframe (scripts isolated)
- Code — syntax-highlighted with language detection
- Markdown — rendered as formatted text
- Other — shown as plain text or download prompt
Metadata
Each artifact shows:- File name and size
- Creation timestamp
- Source conversation (click to navigate back to the conversation where it was generated)