docs
Everything here is runnable — copy any block into a notebook and it works. If you'd rather not write code at all, the playground does all of this in the browser.
Install
The library is Python today. The Artifact contract and DSL grammar are frozen and language-neutral, so R, Julia, and TypeScript clients are planned ports, not rewrites — and the HTTP API works from any language right now.
The one function
Every call returns the same thing: Artifacts, a list of
plain dictionaries — {text, images, audio, video, meta}.
Nothing raises. A file that fails comes back as an artifact with a typed
error in meta that says what happened and how to fix it.
Options, when you need them
Options live in brackets after the source — or as keyword arguments,
your choice. They're per-format; the
complete reference is generated from the code, and
att.options(".pdf") gives you the same answer at runtime.
The heavy stuff: local or hosted, your call
OCR and audio transcription need heavy downloads. Install them locally if your machine allows it — or let the free hosted tier handle just those, while everything light keeps running on your machine:
Free: 25 MB per file, 10 requests/minute, in memory, never stored. No key, no signup. Details and limits: pricing.
The command line
For agents: MCP
Gives any MCP-capable agent the same att() — files, folders,
URLs, repos — with images delivered as proper content blocks.
Going deeper
- DSL reference — every option for every format, generated from the code.
- HTTP API & self-hosting — the same endpoints from any language, and how to run the whole service yourself.
- The Artifact contract — the one-page spec everything is built on.
- Adding a format — one pure function, picked up by the conformance suite.
- Migrating from 0.25.x.