TurboVision is Score's decentralized intelligence layer for live video and imagery. The network pairs expert models with a global community of validators and miners so raw footage becomes structured, decision-ready data in real time, with early deployments focused on professional sports.
Participate
Validators keep the network honest by scoring submitted models on live data. Read VALIDATOR.md.
Miners contribute models that solve Elements in the Manifest. Read MINER.md.
Common Setup
Bittensor Wallet
Install the CLI, create a coldkey and hotkey, then copy the hotkey folder and public coldkey (coldkeypub.txt) onto every host that will run TurboVision.
The runner executes scoring jobs per Element on a fixed block cadence. It fetches a challenge, builds ground truth (real or pseudo), scores miners, and emits results to R2.
sv -vv runner
Flow (per Element run):
Load the active Manifest.
Pull a challenge for the current element_id.
Determine the window ID and start block for timing metadata.
Build ground truth:
If elements[].ground_truth=true, fetch real GT from the API.
Otherwise generate pseudo-GT locally (SAM3).
Call eligible miners (from on-chain registry) and score outputs.
Emit a shard to R2 with evaluation payload + metadata.
Scheduling:
Runner keeps per-element timers based on elements[].window_block (or tempo).
If an Element does not define a cadence, it uses SV_DEFAULT_ELEMENT_TEMPO_BLOCKS (default 300).
When the manifest changes, runner rebuilds its per-element schedule.
Quality gates:
Pseudo-GT is retried until enough frames meet bbox thresholds.
Tune retries with SV_PGT_MAX_BBOX_RETRIES and SV_PGT_MAX_QUALITY_RETRIES.
Validator
The validator aggregates recent scores per Element, chooses winners, and submits weights on-chain via the signer service.