Select a video file and the pipeline will detect shots, classify composition metadata (framing, depth, scale, lighting cues, and related fields), and upload assets — visualized in real time.
Boundary Tuning
Tune shot boundaries against human verified cuts, run eval, and optionally publish a preset for the shared ingest library — then pick it here before you start.
Boundary Tuning hub →Guided prep →Click to select a video file
Optional: skip upload if this file is already in S3 (see below).
Paste the object key (s3Key), a full presigned S3 URL, or a JSON blob from the Network response. Click Use last uploaded source after one normal upload in this browser. If this field has text, Start skips PUT upload and only re-mints a GET URL (Vercel and worker must use the same bucket/credentials as the upload).
Shot detection still runs on the full file; only shots overlapping this window are ingested. Leave fields empty or use 0 for an unset start or end (full length). Decimals: 763.222 or 763,222.
Presets listed here include system baselines and community-shared profiles. Omit for Auto unless you assigned a default on the film row in the tuning workspace.
Shot boundaries use PySceneDetect adaptive mode. For dual-detector + NMS on the server, set METROVISION_BOUNDARY_DETECTOR=pyscenedetect_ensemble_pyscene. The classifier may attach an optional per-shot title string from the model; the archive is organized as shots only.
Deployed on Vercel: set INGEST_WORKER_URL or NEXT_PUBLIC_WORKER_URL to your TS worker base URL. Ingest enqueues a job via /api/ingest-film/async; Next proxies to the worker so heavy work does not run inside serverless.