Skip to content

Sources & grounding

Canvas can ground a document in your own material. Click the Source icon in the chat header to open your personal source library, upload files, and tick which ones the current session should use.

Upload once, use everywhere

A file you add is saved to your account, not just this artifact. Tick which sources are selected for the current session; the same library is available from every artifact you work on.

Two lanes: text vs. visual

Sources are handled by what the model can actually consume:

Text lane (.txt, .csv, .md, .json, .docx, .xlsx, .pptx) — extracted to plain UTF-8 text and cached in object storage. The agent pulls content on demand with read_source (line-numbered, with offset/limit windows) and searches across the whole library at once with search_sources. Long files are paged through, not dumped into context.

Visual lane (images and PDFs — including scanned PDFs) — shown to the agent directly as visual content, the same way an AI reads a photo. A PDF page is rendered to an image and read with the model's own vision, which is dramatically better than a bundled OCR engine — especially for Vietnamese diacritics. This is where Canvas beats text-only tools: it can work from a scanned contract or a handwritten form with no separate OCR step.

"Summarize the attached PDF into 5 bullet points"

"Pull the Q3 numbers from the spreadsheet I added and chart them"

Reading long PDFs

A single request can carry at most 600 PDF pages. A longer PDF is marked "too long to show up-front" in the source manifest, and the agent pages through it with read_pdf_pages — pulling a window of up to 100 pages at a time, text and scanned pages alike.

Sub-agents for heavy research

When a session has a lot of source material, the agent can delegate a read-only investigation to a sub-agent that works in its own context window and reports back a summary. It can read and search the sources (and the web) but cannot see, write, or edit the document, and cannot dispatch further sub-agents. The agent can run several in parallel, keeping its own context clean for the actual writing.

"Pull every deadline and penalty clause out of these three contracts and list them with the source filename."

Sources are untrusted data

Everything read from a source is treated as untrusted reference data, never as instructions. Text embedded in a document won't be followed as if you had typed it — the same prompt-injection defense the rest of Nexrall uses. See Security & trust.

Video and unsupported files

Video is a link-only lane: the agent can embed it with a plain <video> tag pointing at its URL, but there's no text or vision path for video content. Old binary .doc files (and other unsupported binaries) can't be read — the agent will ask you to re-save as .docx or PDF.

Next steps

Built by Maxrall, Inc.