← back to blog
    Tom StrömSeptember 29, 20263 min read

    Attach Files and Screenshots in Cogny Chat — On Every Plan

    The fastest way to explain what you want is often to show it: the campaign brief, last quarter's export, a screenshot of the dashboard you'd like rebuilt. As of today you can hand any of those straight to the Cogny agent, on every plan and whichever model your workspace runs.

    The chat composer now takes:

    • Images: any image your browser can open. PNG, JPEG, GIF and WebP go up as they are; HEIC from an iPhone, SVG, BMP, TIFF and AVIF are converted to PNG in the browser before upload, and anything over 10 MB is downscaled rather than refused. You'll see a "Converted" note when that happened.
    • Documents: PDF, DOCX, CSV, TSV, TXT, Markdown, JSON, HTML, up to 25 MB.

    Up to five per message, by paste, drag-and-drop or the paperclip. You can send an attachment with no caption at all; the thread gets titled after the filename.

    What the agent sees

    Documents are read as text when you upload them, and the agent gets that text with your message. Up to 80,000 characters per file (about 20,000 tokens) go straight into the conversation. If a file is longer, the agent is told how much it's seeing, so it says "I read the first 30 pages" instead of pretending it read all 90, and it can read the rest from your context tree (below).

    Images work on every model we offer. Where the workspace's model can see images, it gets the image directly. Where it can't, Cogny first turns the image into a detailed, literal transcription — every visible label and number, tables as tables, chart values as far as they can be read — so the agent reasons over the same facts either way. That happens once per image; later turns in the thread reuse it.

    Files you attach while the agent is mid-run are picked up between steps, the same way.

    It stays in your context tree

    An attachment is not a one-thread thing. Every file and image you attach is saved to the workspace's context tree the moment it's uploaded, so the brief you handed the agent on Monday is there for the scheduled report on Friday and for every teammate's chat in between.

    • Documents land under uploads/chat/<name> with their full text, the same as a document uploaded from Settings → Context Tree. The agent is told where, so it can open the whole thing with read_context_node.
    • Images land under assets/uploads/<name>, next to your other uploads, so list_uploads finds them and generate_image can use them as references. When an image was transcribed, the transcription is saved with it, which makes the screenshot searchable.
    • The conversation's node lists what was attached to each message and links to it.

    If something was a one-off you don't want kept, archive the node from Settings → Context Tree; the chat keeps working from the message.

    What it costs

    • Reading a document is free.
    • An image the model views directly is part of that turn's usage, as before.
    • An image that needs a transcription costs a few cents in credits, once per image, and shows up in your credit ledger.

    Privacy

    Documents you attach are private to your workspace: only its members can open them, from the chip in the transcript.

    What's not there yet

    • Spreadsheets. .xlsx isn't read yet; export the sheet as CSV. The composer tells you when you try.
    • Scanned PDFs. If a PDF has no text layer, the upload is refused with the reason, and you can screenshot the pages instead — the agent reads those.
    • Images your browser can't open. Conversion happens in your browser, so a HEIC in Chrome on Windows (which can't open HEIC) is refused by name; Safari and iOS handle it. Animated GIFs over 10 MB are refused too, since shrinking them would drop the animation.
    • Video and audio. Not in chat. The Ad Studio has its own video upload.