LibraVDB/switchboard-video-v1
0
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
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-pipelineTraining 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}
}