Services

August 31, 2026 · View on GitHub

Auto-Labeling is built from small, single-purpose services. Each service reads and writes one shared scene format (a DAFT scene — the per-item output directory described in Experiment Output Layout), so services can run standalone, be chained by the workflow runner, or be orchestrated by an external platform.

Every page below follows the same structure: what the service does, what it needs before you start it, a copy-pasteable walkthrough, how to confirm it worked, and where to look when it doesn't.

If this is your first time running Auto-Labeling, start with Getting Started. Come back here when you need one stage on its own. If you are adding a service, see Adding A New Task Or Service.

Index

ServiceWhat it doesNeeds a GPU + local checkpoint?Needs a VLM/LLM endpoint?
Super ResolutionUpscales low-resolution video before annotationYes (SeedVR2)No
Detection and TrackingFinds and tracks objects across a video or imageYes (RF-DETR or SAM3)No
CaptioningDescribes what is happening in an image or videoNoYes (VLM, optional LLM)
Visual QAAnswers a fixed question bank about a sceneNoYes (VLM, optional LLM)
ReasoningDerives higher-level events and open-ended QA from existing scene dataNoYes (LLM)
Visual Attribute SearchAssembles person attributes and generates tiered search queriesNoYes (LLM, optional VLM upstream)
2D GroundingLinks caption phrases to boxes and masks in an imageYes (SAM3)Yes (VLM)
Referring ExpressionsGenerates a short phrase that uniquely identifies each detected boxNoYes (VLM)
Training ExportPackages completed scenes into a training-ready datasetNoNo
Workflow RunnerCompiles a cookbook into an ordered chain of the services above and runs them locallyDepends on selected stagesDepends on selected stages

Before running any service for real

Every service can be smoke-tested with no models, GPU, or network access — see each page's first step. Before a real run, make sure you have:

  1. Followed Installation so make sync has completed.
  2. Downloaded the checkpoints your chosen services need — see Model Provisioning.
  3. A reachable VLM and/or LLM endpoint — see VLM and LLM Endpoints.
  4. A DataEntry JSONL manifest pointing at your media — see Experiment Output Layout for the shape.

Running one service versus a full workflow

You can invoke any service directly with make run SCRIPT=<service>:main — useful for debugging one stage in isolation. For a real end-to-end pipeline (for example: detect, then caption, then answer questions, then reason), use the workflow runner with a cookbook instead of chaining services by hand; it resolves stage order, mounts, and shared scene paths for you.