V100's AI Director scores N cameras at 20Hz using face detection, audio energy, and motion analysis — then switches shots with human-quality pacing.
182 nanoseconds per decision.
From raw camera feeds to broadcast-quality cuts in four stages, all under 200 nanoseconds.
N WebRTC feeds enter the system simultaneously. Any camera count, any resolution up to 4K.
ONNX Runtime face detection identifies subjects. FFT audio energy detects who is speaking and where action is.
Composite score per camera, updated 20 times per second. Weighted signals produce a single relevance number.
Pacing model decides when and how to switch. Avoids mid-sentence cuts. Produces natural rhythm.
The pacing model uses a logistic urgency function to produce shot durations that feel like a human director made them.
Every camera gets a composite score updated 20 times per second. The highest scorer goes to program out.
Configure the AI Director to match your production style. Sports need fast cuts. News needs stability. Set it once, or change live.
All parameters can be adjusted live via the API during an active session. Changes take effect on the next 50ms scoring tick. No restart required.
The AI Director is the default. Your crew can override any time, and the AI resumes instantly.
Seamlessly hand off and resume. Zero latency on transition.
Create sessions, stream scores, force cuts, and configure rules — all from a clean REST API.
# ── Session Management ──────────────────────────────── POST /api/v1/director/sessions # Create a new AI Director session curl -X POST https://api.v100.ai/v1/director/sessions \ -H "Authorization: Bearer v100_live_..." \ -d '{"cameras": 4, "preset": "news"}' GET /api/v1/director/sessions/{id} # Get session status, active camera, and stats DELETE /api/v1/director/sessions/{id} # End session and finalize recording # ── Live Control ────────────────────────────────────── GET /api/v1/director/sessions/{id}/scores # Stream real-time camera scores (SSE) POST /api/v1/director/sessions/{id}/cut # Force immediate cut to a specific camera curl -X POST .../sessions/{id}/cut \ -d '{"camera_id": 2, "transition": "cut"}' POST /api/v1/director/sessions/{id}/override # Enable/disable manual override mode curl -X POST .../sessions/{id}/override \ -d '{"mode": "manual"}' # ── Configuration ───────────────────────────────────── PATCH /api/v1/director/sessions/{id}/config # Update pacing rules mid-session curl -X PATCH .../sessions/{id}/config \ -d '{"min_shot": 2, "max_shot": 12, "reaction_prob": 0.2}' GET /api/v1/director/sessions/{id}/timeline # Get full cut timeline with scores and reasons
Chain AI Director with V100's Voice Dubbing engine to produce a fully automated, globally distributed broadcast.
per decision tick
Benchmarked on production hardware. See full benchmarks for methodology.
Go from N cameras to broadcast-quality output with zero crew. The AI Director handles scoring, pacing, and switching. You just press record.