switchboard-video-v1
8-classifier pipeline for video generation prompt routing. Each model classifies one dimension of a video generation request: length, complexity, style, quality, camera movement, physics, reference modality, and cost tier.
Architecture
These models power switchboard, a zero-alloc AI proxy engine that classifies incoming prompts and routes them to the cheapest capable video generation provider.
POST /v1/chat/completions
โ extract user message
โ 8-classifier pipeline (~2ms)
โ logic-based routing rules
โ upstream provider (runway, openai, kling, stability)
Models
| Model | Dimension | Labels | Size |
|---|---|---|---|
length.bin |
Duration | short, medium, long, multi_stage | 51 MB |
complexity.bin |
Scene complexity | simple, multi_subject, multi_stage | 51 MB |
style.bin |
Visual style | photorealistic, cinematic, animation, 3d, motion_graphics | 51 MB |
quality.bin |
Resolution / fidelity | basic, 4k, 8k, production-grade | 51 MB |
camera.bin |
Camera movement | static, dolly, tracking, orbital, fpv | 51 MB |
physics.bin |
Physical simulation | none, basic, particle, fluid, cloth | 51 MB |
refs.bin |
Reference modality | none, image, video, audio, multi | 51 MB |
cost.bin |
Cost tier | cheap, medium, expensive | 51 MB |
Training
# Clone the switchboard repo
git clone https://github.com/xDarkicex/switchboard
cd switchboard
# Generate training data
./switchboard synth \
--preset ./presets/video/synth.yaml \
--real ./presets/video/real_prompts.yaml \
--per-intent 1500 --output ./presets/video/training.txt
# Train all 8 models
go run ./scripts/train-pipeline
Training data: 42,731 examples (231 human-annotated + 5,000 auto-tagged + 37,500 synthetic). 42,731 examples ร 8 labels = 341,848 multi-label training lines.
Inference
import "github.com/xDarkicex/switchboard/internal/operator"
cfg := operator.PipelineConfig{
Style: operator.PipelineSlot{
ModelPath: "models/style.bin",
DefaultVal: "cinematic",
Labels: []string{"cinematic", "photorealistic", "animation", "3d", "motion_graphics"},
},
// ... 7 more dimensions
}
pipeline, _ := operator.NewPipeline(cfg)
defer pipeline.Close()
tags, _ := pipeline.Classify("Make a cinematic video of a dragon")
// tags.Style = "cinematic"
// tags.Length = "medium"
// tags.Cost = "medium"
License
MIT โ same as switchboard.
Citation
@software{switchboard2026,
author = {xDarkicex},
title = {switchboard-video-v1: 8-classifier pipeline for video generation routing},
year = {2026},
url = {https://huggingface.co/LibraVDB/switchboard-video-v1}
}