Skip to content

Large memory — text, images, and blobs

Hive stores three kinds of non-standard memory alongside ordinary inline text. Understanding the distinction helps you choose the right tool and set accurate expectations for retrieval behaviour.

Memory value types

value_typeStored whereHow it arrivesMax size
textDynamoDB (inline)remember with a short value~100 KB
text-largeS3 (auto-promoted)remember with a long value10 MB
imageS3remember_blob with an image/* MIME type10 MB
blobS3remember_blob with any other MIME type10 MB

Inline threshold — when text spills to S3

When you call remember with a text value, Hive checks the encoded byte length against a 100 KB threshold:

  • ≤ 100 KB — stored inline in DynamoDB as value_type="text". recall stays DynamoDB-only and does not fetch from S3.
  • > 100 KB — stored in S3 as value_type="text-large". The DynamoDB item holds metadata only; the value is fetched from S3 when you recall the key.

The promotion to text-large is transparent: you call remember and recall exactly as before. The only observable differences are:

  • list_memories returns an empty value string for text-large memories (the inline value is cleared on S3 promotion; use recall to fetch the full content).
  • Retrieval adds a small S3 latency (~50–200 ms) on top of the DynamoDB read.

Binary memories — images and blobs

Use remember_blob to store images, PDFs, audio, or any other binary content. Pass the bytes as standard Base64 and specify a MIME type.

Hive routes by MIME prefix:

  • image/* (e.g. image/png, image/jpeg) → value_type="image"
  • Everything else (e.g. application/pdf, audio/mpeg) → value_type="blob"

Both subtypes are stored in S3. A binary memory has no inline value — the management UI and recall fetch the bytes directly from S3.

Semantic search (via search_memories) operates on text embeddings:

value_typeEmbedded?Notes
textYesFull inline value is embedded
text-largeYesLarge text is embedded; full S3 value is not fetched for list/search previews
imageNoBinary content is not embedded
blobNoBinary content is not embedded

text-large memories can appear in semantic search results. Binary memories (image and blob) are excluded from semantic search. For large text, search_memories and list_memories return an empty value string; use recall to fetch the complete content by key.

Size limits summary

LimitValue
Inline text threshold (auto S3 promotion)100 KB
Maximum text value (remember, including S3-promoted)10 MB
Maximum binary payload (remember_blob)10 MB
DynamoDB item ceiling (hard)400 KB

Hive — shared persistent memory for AI agents