modes=transcript. This searches transcribed speech only — visual content, scene labels, and on-screen text are excluded from matching.
How it works
Every video’s audio is transcribed by Whisper into timestamped speech segments. Transcript search runs Postgres full-text search (websearch_to_tsquery) against that text — a lexical match, not a vector embedding. This means it rewards queries that share actual words with what was said: "pricing objection" matches a segment containing those words, but won’t match a segment that expresses the same idea in different words the way visual/conceptual search can. See Embeddings for why the two techniques are different under the hood.
When to restrict to transcript-only
- You know the moment involved someone saying something specific, and want to avoid visual false-positives
- You’re building a “search what was said” experience (meeting notes, lecture search, call review) where visual matches aren’t relevant
- You want faster, more precise results on content where speech is the primary signal — talking-head interviews, voiceovers, panel discussions