Skip to main content
EverOS goes beyond text. You can attach images, PDFs, audio recordings, and other file types to your messages, and EverOS will extract relevant information from them to enrich the memory.

Supported Content Types

Images

JPG, PNG, GIF, WebPMax size: 10 MB

Documents

PDF, DOC, HTML, TXTMax size: 100 MB

Audio & Video

MP3, WAV, MP4, WebMMax size: 500 MB

How It Works

When you include multimodal content in a message, EverOS preprocesses each file into text: OCR for images, transcription for audio, parsing for PDFs and Office documents. It then extracts and stores relevant information as part of the user’s memory, just like text messages. The key difference from text-only messages is that the content field becomes an array of content items instead of a plain string.

Content Item Structure

Each item in the content array has a type field that determines how EverOS processes it:
The uri field contains an object key returned by the upload flow (see below), not a public URL.

Upload with the Python SDK

The Python SDK handles the upload for you: client.upload(path) presigns, uploads the bytes directly to S3, and returns the object_key to reference in a message.

Upload Flow (raw API)

If you are not using the SDK, uploading multimodal data is a 3-step process:
1

Get a pre-signed upload URL

Call POST /api/v2/object/sign to get a pre-signed S3 upload URL and an objectKey for your file.
Response (key fields):
Save the objectKey. You will need it in Step 3.
2

Upload the file to S3

Use the returned objectSignedInfo.url and fields to upload your file via an S3 POST request.
A successful upload returns HTTP 204 No Content.
3

Add memory with the objectKey

Call POST /api/v2/memory/add with content as an array. Set the uri field to the objectKey from Step 1.
EverOS will process the image, extract relevant information, and store it as part of the user’s memory.

Batch Upload

You can sign multiple files in a single request by passing multiple items in the objectList array (up to 50):
Then upload each file to its respective pre-signed URL and include all objectKey values in your message content array.

Mixing Text and Files

A single message can contain both text and multiple file attachments. EverOS processes all content items together to build a complete memory (timestamp is a unix millisecond value):
Text items have no limit per message. Non-text items (image, audio, doc, etc.) are limited to 10 per message. The total request body must be under 300 KB (file content is stored on S3, not in the request body).

Content Item Reference

Next Steps

Cloud Quickstart

Add and retrieve memories with the EverOS SDK

API Reference

Full request/response schemas for the Memory and Storage endpoints