ConceptConcepts

The media library

Every project has a media library — upload documents, images, video and audio once, extract text from documents, and hand any file to your agents' workspace or back out as a download.

Updated 9/13/2026

Every project has a media library at /a/<slug>/p/<project>/media. It is the place files live before and after agent work: the PDF you want summarised, the screenshot you want compared, the video you want transcribed, and the image or document an agent produced. A file in the library is an artifact — it has an id, a kind, a status and a lineage — and the same artifact can be sent into an agent's workspace, extracted to text, or downloaded, without ever being uploaded twice.

What goes in

Four kinds of artifact, by content type:

KindExamplesPer-file cap
documentPDF, DOCX, Markdown, plain text50 MB
imagePNG, JPEG, WebP, SVG500 MB
videoMP4, WebM, MOV500 MB
audioMP3, WAV, M4A500 MB

Uploads go straight from your browser to storage on a short-lived signed URL; the file never passes through a connect0 server. The tile appears as pending the moment you drop the file and flips to ready when the bytes are confirmed. Stored bytes meter against your credits per the storage rate on pricing — see Credits and pricing.

Three origins are recorded on every artifact so you can always tell where a file came from: uploaded (you), generated (an agent or a media skill produced it) and derived (made from another artifact — for example the text extracted from a PDF, linked to its parent).

The Media tab

  • Upload — the button, or drop files anywhere on the grid. Several files at once are fine; each becomes its own artifact.
  • Filter by kind; select a tile to see its name, kind, size, pages or duration, origin and parent.
  • Extract text (documents) — queues a job that produces a derived document artifact in Markdown: the agent-readable form of a PDF or DOCX. The job runs in the background; the tile resolves in place.
  • Send to workspace — copies the artifact into the project's workspace at /workspace/media/<filename> so every agent on the project can read it with sh (cat /workspace/media/report.md).
  • Add from workspace — the other direction: give a path under /workspace (say data/report.pdf) and the file becomes a library artifact (origin uploaded), ready to download or share.
  • Download — a signed link, valid for a few minutes.
  • Delete — removes the artifact from the library. The bytes are garbage-collected seven days later; until then the row keeps its lineage for the audit trail.

Library versus workspace

The library and the workspace are two different places on purpose:

  • The library is durable, project-scoped, content-hashed on arrival, and visible in the dashboard. It is where humans put things and where finished results live.
  • The workspace (/workspace/…) is the working directory an agent's sandbox sees — connectors mount under /workspace/connectors/, uploads land under /workspace/media/. It is what tools like sh read and write.

Crossing the wall is always explicit — Send to workspace or Add from workspace in the UI, or the materialise-artifact / promote-file media skills from an agent — so nothing an agent writes silently becomes a shared file, and nothing you upload is silently exposed to a sandbox.

From an agent

Today an agent reaches library content through the workspace: send the artifact (or its extracted text) to the workspace and the agent reads it with sh; anything the agent writes under /workspace can be promoted back with Add from workspace. Direct media skills — reading a document by artifact id, generating images, video or audio into the library — are the next phase of the media pipeline and will appear in the skills catalog when they ship.

Limits and safety

  • Per-file caps as in the table above; a larger file is refused at upload time with the cap in the message.
  • A file that turns out larger than its cap fails on claim (size_cap_exceeded) instead of being kept.
  • Artifacts are scoped to the project: a member of the project can see and use them, an agent on the project can read what was sent to its workspace, and nobody else can.
  • Every artifact records who created it and, for derived files, which artifact it came from.

Where to go next

  • Media library quickstart — upload a PDF, extract its text, and have an agent read it, in five minutes.
  • Connect a data source — for sources that should stay live (a repo, a database, a SaaS tool) rather than a one-off file.

Ask Zero

Ask a question about connect0 and get an answer grounded in the docs, with links to the sources. Signed in? Zero answers with your account in mind.