Media Nexus · Search

Ask for the shot the way you would ask the person who shot it.

One box. Type what you remember: something someone said, what was in frame, when it was shot, a camera, a codec, a filename. Media Nexus works out which kind of question it is and answers with the exact file or the exact timecode, and says why each result matched.

Reads it asA spoken moment
Understood
Layers that answer
Comes back asTranscript moments at their timecode

An illustration of how the box reads a request, using the same published rules. It searches nothing here; your own archive answers it.

Four ways to remember a clip. One box for all of them.

People remember footage by what was said, what it looked like, when it happened, or what it is called. A search that makes them pick a mode first has already lost half of them.

  1. Said“Someone saying the budget got cut”

    Answered from transcripts, with the line and its timecode.

  2. Seen“Aerial of the harbor at dawn”

    Answered from what the vision model saw in each frame.

  3. When“Shot in March”

    Answered from the date the camera recorded, not the day it was copied.

  4. What“ProRes interviews from the A cam”

    Answered from filenames, folders, tags and technical metadata.

How it is built

Five layers, fused into one ranked answer.

Each layer answers the part of a request it can prove. The ranking combines them, and the literal layers never wait on a model.

01

Exact words, always

Every filename, folder, tag, camera, lens, project, location, codec, resolution and transcript line is in a full-text index that updates in the same write as the catalogue, so a new clip is findable the moment it is indexed. Words match as prefixes, and a misspelled word is corrected to the closest real term in your own archive.

  • Field operators: camera: codec: project: folder: ext: type:
  • Phrases in quotes, -word to exclude
  • “Did you mean” from your archive’s own vocabulary
02

Meaning, on your hardware

A local embedding model turns each clip’s description and every transcript passage into a vector, and turns the request into one too. Requests and passages are embedded with the retrieval instructions the model was trained on, so “the weather pushed the shoot back” finds “we lost two days to the storm” without sharing a word.

  • Runs locally through Ollama
  • Rebuilt incrementally: only changed text is re-embedded
  • A similarity floor, so a weak neighbour is not a result
03

What was said, to the second

Whisper transcribes every clip on your own machine. Lines are joined into short, playable moments, and a spoken request returns the moment itself: the words, the clip, and the start and end timecode, ready to open at the line.

  • said:"exact words" for a verbatim line
  • “Someone saying…” for the gist
  • Results open at the timecode, not the top of the file
04

What was in frame, verified

A local vision model labels what it sees in each frame grab, so a clip is findable by its picture even when its name says nothing. For a visual request, the best candidates are shown back to the vision model and checked against the request, including what must not be there. A frame it cannot confirm is never presented as a verified shot.

  • “Nobody in frame” is a check, not a keyword
  • One frame per clip checked, the top three clips
  • Bounded in time, so the box stays fast
05

When it was shot

“Shot in March”, “last week”, “week 12” and after:2025-06 become exact date ranges before any model runs. The date the camera recorded comes first, then the file’s own date, then the day it was indexed, and every result labels which one it used. Leave out the year and it picks the most recent year that actually has footage in that range, and says so.

  • Day, month, year, week and relative ranges
  • Capture date, never the copy date, when one exists
  • Grouped by day and folder in the results
The ranking

Rank by agreement, not by one loud signal.

Keyword scores and similarity scores are on different scales, so adding them rewards whichever one happens to be bigger. Media Nexus fuses the two by position instead.

How two lists become one

  • Two independent rankings

    The literal layer and the meaning layer each rank the archive on their own terms.

  • Reciprocal rank fusion

    A clip near the top of both lists outranks a clip at the top of only one, the standard method for combining search signals without tuning weights.

  • Exact still wins

    Name a file that exists and it is the first result, with nothing similar-sounding in the way.

What it will not do

  • Pass a guess off as proof

    A clip found by meaning alone says “Similar meaning”. Only a real transcript line is quoted, and only a checked frame is called a verified shot.

  • Hide a slow layer

    If a model is offline, the literal results still return and the response says which layer was unavailable.

  • Splice evidence

    A request about what was said and what was seen only returns clips that contain both.

Every result says why

Trust a result because you can see its evidence.

Each result carries the reasons it matched, in plain words, so nobody has to open a file to find out whether it is the right one.

Interview_Harbormaster_camA.mov00:04:12

“We lost two full days to that storm before the boats could go out.”

Said this at 00:04:12Similar meaningProject matches
DJI_0441.MP400:00:18

Aerial pass along the breakwater at first light.

Verified “aerial of the harbor” at 00:00:18Tag: drone
A014C007_260311_R2KD.MOV11 Mar 2026

Day 03, A cam, ProRes 422 HQ.

Capture dateCodec matchesFolder: Day_03

Example results from a synthetic test library. The reasons are the engine’s own vocabulary.

Private by design

Nothing leaves the building to answer a search.

Every model the search uses runs on hardware you control. There is no per-search bill, no usage meter and no clip uploaded so a cloud service can look at it.

Where each part of search runs
PartWhat does itWhere it runsCost per search
Exact words, operators, datesSQLite full-text index and deterministic rulesYour Media Nexus server$0
MeaningLocal embedding modelYour Media Nexus server$0
TranscriptsWhisper, run once per clipYour Media Nexus server$0
Frame labels and verificationLocal vision modelYour Media Nexus server$0
Reading an ambiguous requestSmall local language model, only when the rules cannot tellYour Media Nexus server$0

Media Nexus indexes approved storage read-only, and never renames, moves or deletes originals. Transcription and tagging run on hardware the client controls.

Measured, not guessed

Every change to the ranking has to beat the last one on a test.

We keep a relevance-judged test library: synthetic footage, transcripts and tags, with requests phrased the way people actually ask. A ranking change ships only if it finds more of the right moments.

“Someone saying…”, in other words74%find the exact moment in the top tenwas 7% before this release
Every kind of request87%of the right clips in the top tenwas 64% before this release
Search time54 msmedian, on a Mac, with nothing sent anywhere$0 per search

Measured 18 Oct 2026 on a synthetic test library: 260 judged clips and 90 requests among 1,500 distractors, local models only. Not client media, and not a promise about any particular archive.

Questions

Plain answers.

Do I have to choose between keyword and AI search?

No. There is one box. Filenames and short keyword lookups are answered literally without waiting on any model, and the meaning layer is added on top when it helps.

Does any of my footage go to a cloud AI service?

No. Transcription, frame labelling, embeddings and query reading all run on hardware you control. Search costs nothing per query.

What happens when a model is offline?

The literal layer keeps answering. The response says which layer was unavailable instead of quietly returning a weaker page of results.

Can it find a shot that nobody tagged?

Yes, once the clip has been through AI tagging. The vision model labels what it sees in each frame grab, and those labels are searchable even when the filename and folder say nothing.

How does it handle a request with no good answer?

Meaning-only matches have to clear a similarity floor set for the embedding model in use, and a visual shot has to be confirmed by the vision model. What remains is labelled by how it matched, so a loose match reads as one rather than as an answer.

Media Nexus · The Free Build

See it search your own footage.

Tell us about your team and your media. If it is a fit, we build the archive first, on your storage, and you search it before you decide.