# Attachments

> Put a file, a recording or something you already made into a conversation — and know who can see it afterwards.

Source: https://endless.app/docs/chat/attachments

Anything you attach to a message becomes part of the conversation: Endless looks at it, works
from it, and can come back to it later in the same chat.

## Four ways to attach something

<Cards>
  <Card icon="<Paperclip />" title="The add menu">
    **"Open add menu"*&#x2A; next to the composer, then &#x2A;*"Attachments"*&#x2A; — described
    as &#x2A;"Choose from your library or upload files"*.
  </Card>

  <Card icon="<Upload />" title="Drop it on the page">
    Drag files anywhere over the chat: &#x2A;"Drop files to attach"&#x2A;, &#x2A;"Drop anywhere
    to add them to your prompt"*.
  </Card>

  <Card icon="<Files />" title="Paste it">
    Paste a screenshot or a copied image straight into the composer. A copy that
    also carries text — a spreadsheet selection, say — pastes as text instead.
  </Card>

  <Card icon="<Library />" title="Pick something you already have">
    The same &#x2A;*"Attachments"** row opens a picker over your **Library*&#x2A;, with an
    &#x2A;*"Upload file"** button beside the search for a fresh upload.
  </Card>
</Cards>

The picker is titled &#x2A;*"Attachments"** and offers the Library's search and filters, so you can
narrow it down by type and the rest before you pick.

<Callout type="info">
  Existing work is reached through that picker, not through `@`. Mentions bring
  in projects, transcripts and models; files come from the add menu. See
  [Mentions](/docs/chat/mentions).
</Callout>

## What you can attach

Images, video, audio, and documents and text files — PDF, Word, Excel, csv, markdown, plain
text, JSON and similar. Video and audio can be up to **2 GB** each and everything else up to
**100 MB**; a file over its limit is refused with a message naming the file and the limit. You
can attach up to **20 files at once*&#x2A;; ask for more in one go and the whole
batch is refused with &#x2A;"You can upload up to 20 files at a time"*. Attach another
batch after it and they add up — there's no cap on how many end up on one message.

<Callout type="warn" icon="<CircleWarning />">
  **Documents have a much lower ceiling than that 100 MB limit suggests**, and a
  document that's too big can be left out of the message without an error saying
  so. If Endless answers as though a document wasn't there, its size is the
  first thing to check — split it or attach the part that matters.
</Callout>

## What Endless does with each kind

<Cards>
  <Card icon="<Photo />" title="Images">
    Seen directly — Endless reads the picture itself, so you can ask about
    what's in it, edit it, or use it as a reference for a new one.
  </Card>

  <Card icon="<Files />" title="Documents and text">
    Read as text. PDFs, Word files and spreadsheets are extracted and handed to
    the conversation as reference material. A scanned PDF with no text layer
    can't be read this way — Endless will say it can see the file but not read
    it.
  </Card>

  <Card icon="<Video />" title="Video and audio">
    Not watched automatically. Endless is told the file is there and looks at it
    when the question needs it — and for speech, the better route is a real
    transcript.
  </Card>
</Cards>

<Callout type="info">
  An attachment stays available for the rest of the conversation, not just the
  message you attached it to. You don't need to attach the same file again to
  ask a second question about it.
</Callout>

<Cards>
  <Card icon="<Microphone />" title="Working with recordings" href="/docs/transcripts">
    For anything speech-heavy, make a transcript — it's searchable, has speakers
    and timestamps, and the chat can read it back on demand.
  </Card>

  <Card icon="<Bolt />" title="Not every model reads images" href="/docs/concepts/models">
    If the model powering the conversation can't look at pictures, sending is
    blocked with &#x2A;"…can't analyze images. Pick another model"*. Switch model and
    send again.
  </Card>
</Cards>

## What happens to an attachment afterwards

This is the part worth reading twice, because attaching a file has consequences beyond the
message.

<Steps>
  <Step>
    ### Uploaded media becomes an asset

    Images, video and audio you upload are saved to the workspace and show up in the
    **Library** — the same as anything you generate. They're **private to you** the moment they land.
  </Step>

  <Step>
    ### Documents from your device don't

    A PDF or spreadsheet you drag in from your computer is used by the conversation but is **not**
    added to your Library. If you want a document kept, upload it in the **Library** first and
    pick it from there in the attachment picker instead.
  </Step>

  <Step>
    ### The chat carries its own access

    When you attach a file you own, it is linked to the conversation, and that link is one of the
    ways someone else can end up seeing it: &#x2A;*anyone who can open the chat can see what you attached
    to it.** Share a chat with your workspace and those attachments come along, without the files
    themselves changing. Attaching someone else's file links nothing: it stays in your message, but
    it gives nobody access they didn't already have.
  </Step>
</Steps>

<Callout type="warn" icon="<Lock />">
  Attaching doesn't make a file public, and sharing a chat never makes its
  attachments editable by anyone else — the chat only lets people view them.
  Only whoever created a file can re-share or delete it; people it was shared
  with at &#x2A;*"Can edit"** can rename it. The complete list of ways someone can
  see your work is in [Assets and visibility](/docs/concepts/assets-and-visibility).
</Callout>

<Cards>
  <Card icon="<Eye />" title="Who can see it" href="/docs/concepts/assets-and-visibility">
    The paths to an asset — you made it, it's shared with the workspace or with
    them by name, or it's in a chat, a canvas or a project they can reach.
  </Card>

  <Card icon="<Layers />" title="Where it lives" href="/docs/get-started/tour">
    **Library** in the sidebar, filterable by type, project, creator and date.
  </Card>
</Cards>

## If an attachment won't send

Endless checks attachments before it sends, and says which one is the problem:

* *"Wait for the upload to finish before sending"* — the file is still going up. The message
  keeps everything you typed; send again in a moment.
* *"An attachment failed to upload. Retry or remove it first"* — the chip itself becomes the
  retry control. Select it to try the same file again, or remove it.
* *"An attached file can't be sent. Remove it and try again"* — an older library item that
  Endless can't hand to a model. Remove it and attach a current one.

<Callout type="info">
  Uploading needs your workspace to have the **Library** turned on, and it needs
  permission to create content — a **Viewer** has neither the upload nor the
  generate half. If every upload fails immediately, that's the thing to check
  with an admin. See [Roles and permissions](/docs/governance/roles-and-permissions).
</Callout>
