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)
Storage
Artifacts are stored on the server filesystem underuploads/conversations/{conversation_id}/artifacts/. Each artifact gets a UUID-based filename, making URLs unguessable. Files are served directly — no database records for individual artifacts, keeping the storage layer simple and fast.
API
| Endpoint | Description |
|---|---|
GET /api/artifacts | List all artifacts for the current user. Supports ?page=, ?size=, ?type= filters |
GET /api/conversations/{id}/artifacts | List artifacts for a specific conversation |
GET /api/conversations/{id}/artifacts/{artifact_id} | Download a specific artifact |