peepshow/sinks/qdrant

Reel #15Vector DB

peepshow sink / qdrant

QdrantUpsert frame points into a Qdrant collection.

Named vectors, payload metadata, filter-ready. Works with Qdrant Cloud or self-hosted.

What it does

Push a peepshow run into a Qdrant collection. Each frame is a point with a text-embedding vector and structured payload (director, genre, timestamp, path) so you can query with vector + filter.

When to reach for it

  • Filterable video RAG: `similar to X AND genre=Thriller AND director=Kubrick`
  • Enterprise self-hosted vector DB with peepshow as the ingestor
  • High-QPS frame lookup for an agent querying a very large video corpus

Install

npm i -g peepshow

Use it

peepshow ./doc.mp4 --sink qdrant \
  --sink-arg url=https://your-cluster.qdrant.io \
  --sink-arg collection=peepshow

Make it automatic

Register the sink once — every run fires it afterward. Scope by--whenso it only runs for matching videos.

peepshow sinks add qdrant
peepshow sinks add qdrant --when extension=mp4,mov
peepshow sinks add qdrant --when path=/Volumes/Work/

Configuration

  • PEEPSHOW_QDRANT_URLQdrant cluster URL.required
  • PEEPSHOW_QDRANT_API_KEYAPI key for Qdrant Cloud.

Write your own

A sink is any executable that reads the--emit jsonpayload on stdin. Shell, Node, Python, Go — the spec's indocs/PLUGINS.md. Register persistent ones withpeepshow sinks add-cmd 'your-command'.