Supported file types
RememberStack reads text. Every document is turned into Markdown before anything else happens, so what a deployment accepts depends on which formats it can turn into Markdown.
At a glance
| Format | As installed | With converters configured |
|---|---|---|
Markdown (.md) | Yes | Yes |
Plain text (.txt) | Yes | Yes |
| Chat logs and transcripts, as Markdown or text | Yes | Yes |
| HTML | Yes | Yes |
Word (.docx), PowerPoint (.pptx), Excel (.xlsx) | Yes | Yes |
| PDF, including scanned PDFs | No | Yes, with mistral_ocr (needs a Mistral API key) |
| PNG and JPEG images | No | Yes, with image_ocr_description (OCR plus a written description of the image) |
Legacy Office (.doc, .ppt, .xls) | No | No: save as .docx, .pptx or .xlsx first |
| Audio and video | No | No |
| Web addresses (URLs) | No | No: download the page and send the HTML |
Formats and converters
A new self-hosted deployment converts Markdown, plain text, HTML, Word,
PowerPoint and Excel files locally, with no API key. Other formats are
accepted and stored, but they wait unprocessed until you add a converter
for their type. The upload response tells you: its parked field is
"no_route", and remember ingest prints a warning.
To read PDFs and images, map each file type to a converter in
REMEMBERSTACK_SELFHOST_CONVERSION_ROUTES. File formats and
converters shows the setting, what each
converter does and costs, and how to release files that were stored before
you added a route.
Send the right type
The type sent with the upload decides which converter reads the file. The
remember CLI, Python client and MCP ingest tool take it from the file
extension, the same way on every Python installation: .md is
text/markdown, .txt is text/plain, .pdf is application/pdf, and
so on (the full table). A file
whose extension does not say what it is needs the type passed explicitly:
client.ingest("notes/standup", mime="text/markdown")remember ingest notes/standup --mime text/markdownConversations
There is no separate conversation format. Write each conversation as one Markdown document with one line per turn, and send it like any other file. Ingest conversations and transcripts shows the layout.