Skip to main content
Artifacts are the files that AI agents produce during conversations — images, HTML pages, code files, documents, and other outputs. The Artifacts page is a cross-conversation gallery that lets you find, preview, and download everything your agents have created.

How Artifacts Are Created

Any tool that returns a ToolResult 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:
ToolArtifact TypeExample
python_execImages, HTML, CSV, JSONA matplotlib chart saved as PNG
template_renderHTMLA formatted report
Code execution toolsAny fileGenerated code, exported data
Image generationImagesAI-generated illustrations
When a tool produces an artifact, it appears inline in the conversation as a downloadable attachment. All artifacts are also collected in the Artifacts gallery for cross-conversation browsing. The Artifacts page (/artifacts) provides a unified view of all files you’ve generated across all conversations.

Filtering

Four type filters narrow the view:
FilterFile Types
AllEverything
ImagesPNG, JPG, GIF, SVG, WebP
HTMLHTML pages and reports
CodePython, JavaScript, TypeScript, JSON, YAML, XML, CSS, SQL, Markdown, shell scripts
FilesEverything 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
Use arrow keys to navigate between artifacts; press Escape to close the preview.

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 under uploads/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

EndpointDescription
GET /api/artifactsList all artifacts for the current user. Supports ?page=, ?size=, ?type= filters
GET /api/conversations/{id}/artifactsList artifacts for a specific conversation
GET /api/conversations/{id}/artifacts/{artifact_id}Download a specific artifact