AI-Powered Production

Zero-Crew Live Production. AI That Directs Like a Pro.

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.

20 Hz
Decision frequency
182 ns
Per decision tick
N cams
Unlimited inputs
0 crew
Fully automated
Pipeline

How It Works

From raw camera feeds to broadcast-quality cuts in four stages, all under 200 nanoseconds.

STEP 1

Camera Feeds

N WebRTC feeds enter the system simultaneously. Any camera count, any resolution up to 4K.

WebRTC / RTMP / SRT
STEP 2

Frame Analysis

ONNX Runtime face detection identifies subjects. FFT audio energy detects who is speaking and where action is.

ONNX face detection
FFT audio energy
Optical flow motion
STEP 3

Scoring Engine

Composite score per camera, updated 20 times per second. Weighted signals produce a single relevance number.

Audio 0.35
Face 0.30
Motion 0.20
Speaking 0.15
STEP 4

Cut Decision

Pacing model decides when and how to switch. Avoids mid-sentence cuts. Produces natural rhythm.

182 ns per tick
Pacing Model

Natural Rhythm, Not Robotic Switching

The pacing model uses a logistic urgency function to produce shot durations that feel like a human director made them.

Shot Timeline 60 seconds of production
CAM 1
CAM 2
C3
CAM 2
CAM 4
CAM 1
C3
CAM 2
CUT
CUT
CUT
CUT
CUT
CUT
CUT
Urgency Curve (Logistic) P(cut) rises with time on current shot
threshold min max
Shot duration (seconds)
P(cut)
Min Shot Duration
2.0s
No cuts before this
Max Shot Duration
15.0s
Force cut at ceiling
Urgency Threshold
0.70
Logistic inflection
Mid-Sentence Guard
ON
Avoids speech cuts
Live Dashboard

Camera Scores, Real-Time

Every camera gets a composite score updated 20 times per second. The highest scorer goes to program out.

LIVE SESSION session_dir_7f3a2b
4 cameras 20 Hz 00:14:32
Camera 1
Wide Shot
0.45
audio: 0.12 face: 0.15 motion: 0.10 speak: 0.08
Camera 2 LIVE
Main Subject
0.82
audio: 0.30 face: 0.25 motion: 0.14 speak: 0.13
Camera 3
Crowd / Reaction
0.38
audio: 0.08 face: 0.12 motion: 0.11 speak: 0.07
Camera 4
Close-Up
0.71
audio: 0.25 face: 0.22 motion: 0.12 speak: 0.12
Last cut: 4.2s ago | Total cuts: 47
182ns/tick
Rules Engine

Fine-Tune Every Parameter

Configure the AI Director to match your production style. Sports need fast cuts. News needs stability. Set it once, or change live.

Min Shot Duration
Minimum time before the AI will consider cutting
3s
2s 8s
Max Shot Duration
Force a cut after this duration, regardless of score
15s
8s 30s
Reaction Shot Probability
Chance of cutting to a crowd/reaction camera after a key moment
15%
0% 30%
Follow Action Weight
How aggressively the AI tracks the highest-motion camera
50%
0% 100%

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.

Human-in-the-Loop

AI + Human, Seamlessly

The AI Director is the default. Your crew can override any time, and the AI resumes instantly.

AI Mode
Automated switching
  • Score-based camera selection at 20Hz
  • Pacing model with urgency curves
  • Mid-sentence avoidance
  • Reaction shot intelligence
  • 182ns decision latency
STATUS: DIRECTING
Manual Override
Crew takes control
  • One-click takeover, AI pauses instantly
  • Manual camera select via API or UI
  • AI scores keep updating in background
  • Release control, AI resumes seamlessly
  • Full event log for review
STATUS: STANDBY
AI Directing
Manual Override

Seamlessly hand off and resume. Zero latency on transition.

REST API

8 Endpoints. Full Control.

Create sessions, stream scores, force cuts, and configure rules — all from a clean REST API.

AI Director API
api.v100.ai/v1/director
# ── 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
Combined Pipeline

One Event. 40 Languages. Zero Crew.

Chain AI Director with V100's Voice Dubbing engine to produce a fully automated, globally distributed broadcast.

N Cameras
Live WebRTC feeds
AI Director
Score + Cut + Pace
Voice Dubbing
Real-time translation
40 Languages
Simultaneous output
Traditional Production
$200K+
Per event (crew, trucks, translators)
V100 AI Director + Dubbing
Cameras + Internet
That's it. API handles everything else.
Performance
182ns

per decision tick

Scoring target: 500,000 ns (500 µs)
2,747x
under target
20 Hz
Tick frequency
4 signals
Per camera per tick
Rust
Zero-copy scoring

Benchmarked on production hardware. See full benchmarks for methodology.

Ready to Automate
Your Production?

Go from N cameras to broadcast-quality output with zero crew. The AI Director handles scoring, pacing, and switching. You just press record.

HIPAA Compliant
AES-256-GCM Encryption
99.99% Uptime SLA
Built in Rust