Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nemostation-0.1.0.tar.gz (2.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nemostation-0.1.0-py3-none-any.whl (35.4 kB view details)

Uploaded Python 3

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

Hashes for nemostation-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b5c79c06e648a7d71e221fe0bd795be82cdaa83ad3378ad9509b3d6c8a8578b3
MD5 c97a9c63facc7655e618f24685c6b9da
BLAKE2b-256 48729a5f13daec5e387cb4de2b56870779464ea8a6b2b8123953fc838346fb41

See more details on using hashes here.

File details

Details for the file nemostation-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for nemostation-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e4b2957c4afc541bf7a7d7a2ab364856f5f1ce6a9851ff84b6a503d4c7f51e12
MD5 5937eafd215da59c06512157732fb7bf
BLAKE2b-256 7a7a2573376916e628ffbf5b2cf7a29ec19f94891f48f96fad8d73cab0fdac43

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page