The deep memory engine for media — video, audio, images in one shared 1024-dimension embedding space. LanguageBind encodes all three towers through a common OpenCLIP backbone, so a single audio query ranks image and video hits alongside audio. Stored on PostgreSQL + pgvector, same stack as SoulBrain and CodeBrain. No Qdrant — own your stack.
| MODALITY | RECOGNIZED EXTENSIONS (source: modality.rs) | VECTOR LANE |
|---|---|---|
| IMAGE | jpgjpegpngwebpbmptiffheic | image tower → shared space |
| VIDEO | mp4movmkvaviwebmm4v | video tower → shared space |
| AUDIO | mp3wavflacoggm4aaac | audio tower → shared space |
| UNRECOGNIZED | skipped, never guessed — extension sniffing is safe because ingestion is a controlled inbox on this box, not arbitrary uploads | |
8GB VRAM, no tensor cores, three LanguageBind towers loaded at once on an OpenCLIP backbone. A semaphore bounds the pipeline to one in-flight encode — raise it only after watching nvidia-smi during a real batch, never blind.
Rust and the Python encoder share the R630 filesystem. Loopback calls send file paths, not serialized video — zero pointless copy cost for 4GB files.
Per-file errors are logged and skipped; the overnight job ends with a summary — succeeded / skipped / failed. walkdir keeps walking.
Video/audio encodes are slow on this hardware by nature. The client waits two minutes per file rather than timing out a healthy-but-busy request.
EMBEDDING_DIM=1024 is hardcoded. Any checkpoint swap that changes dimensionality fails loudly at startup — the table is never silently corrupted.
PostgreSQL + pgvector, the same stack as SoulBrain and CodeBrain. No external vector-store dependency. Qdrant-free by directive.