Find moments in your videos. Agent-first CLI for Marlin-2B: dense captioning + temporal grounding, local or hosted.
Project description
marlin
Find moments in your videos. marlin is the agent-first CLI for
Marlin-2B — a 2B video VLM
for dense captioning + temporal grounding. Runs free on your Mac (Apple
Silicon) or NVIDIA GPU (MLX / vLLM), or against NemoStation hosted
inference with one env var.
uv tool install nemostation # or: pipx install nemostation
marlin setup # auto-detects Apple Silicon / NVIDIA / hosted
marlin engine install # local only — builds the engine for your machine
marlin index ./footage # caption + embed (resume-safe)
marlin find "deer crossing the road" # exact clip, model-verified timestamps
Why timestamps are right here
Search is two-stage: coarse retrieval over timestamped dense captions, then Marlin temporal grounding inside the winning 30s chunks. Grounding short chunks matches the model's training distribution (and sidesteps vLLM's long-video timestamp bug), so spans land where the event actually is.
Agents
marlin skills install # → .claude/skills/ + .agents/skills/
Every verb honors --json (auto when piped), long indexes run with
--async + marlin status <job_id>. See skills/video-search/SKILL.md.
How it runs (auto-detected)
| Apple Silicon | NVIDIA | hosted | |
|---|---|---|---|
| engine | SGLang-MLX | vLLM | Modal (vLLM), scale-to-zero |
| serve | marlin serve — auto-starts on first find |
marlin serve |
deploy/modal_app.py |
| auth | none (weights gated: 1-click form) | none | MARLIN_API_KEY |
| config | marlin setup --local |
marlin setup --local |
marlin setup --hosted --base-url … --api-key … |
Non-interactive/agent path: set MARLIN_BASE_URL (+ MARLIN_API_KEY if
hosted) — env always beats ~/.marlin/config.json.
Speech
marlin index --stt adds faster-whisper speech rows to the same index
(pip install 'nemostation[stt]') — search meetings by what was said and
what happened in one query.
Status
v0.1 — base + video-search skill. Verified end-to-end against a live
endpoint; more skills (footage-catalog, dashcam-event-finder, clip-scorer)
ride the same verbs next.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nemostation-0.1.0.tar.gz.
File metadata
- Download URL: nemostation-0.1.0.tar.gz
- Upload date:
- Size: 2.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b5c79c06e648a7d71e221fe0bd795be82cdaa83ad3378ad9509b3d6c8a8578b3
|
|
| MD5 |
c97a9c63facc7655e618f24685c6b9da
|
|
| BLAKE2b-256 |
48729a5f13daec5e387cb4de2b56870779464ea8a6b2b8123953fc838346fb41
|
File details
Details for the file nemostation-0.1.0-py3-none-any.whl.
File metadata
- Download URL: nemostation-0.1.0-py3-none-any.whl
- Upload date:
- Size: 35.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e4b2957c4afc541bf7a7d7a2ab364856f5f1ce6a9851ff84b6a503d4c7f51e12
|
|
| MD5 |
5937eafd215da59c06512157732fb7bf
|
|
| BLAKE2b-256 |
7a7a2573376916e628ffbf5b2cf7a29ec19f94891f48f96fad8d73cab0fdac43
|