initial upload: 8-classifier video pipeline
Browse files- README.md +103 -0
- camera.bin +3 -0
- camera_training.txt +0 -0
- complexity.bin +3 -0
- complexity_training.txt +0 -0
- cost.bin +3 -0
- cost_training.txt +0 -0
- length.bin +3 -0
- length_training.txt +0 -0
- physics.bin +3 -0
- physics_training.txt +0 -0
- quality.bin +3 -0
- quality_training.txt +0 -0
- refs.bin +3 -0
- refs_training.txt +0 -0
- style.bin +3 -0
- style_training.txt +0 -0
README.md
ADDED
|
@@ -0,0 +1,103 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: mit
|
| 3 |
+
language:
|
| 4 |
+
- en
|
| 5 |
+
tags:
|
| 6 |
+
- video-generation
|
| 7 |
+
- text-classification
|
| 8 |
+
- routing
|
| 9 |
+
- steady
|
| 10 |
+
- byteSteady
|
| 11 |
+
- switchboard
|
| 12 |
+
library_name: steady
|
| 13 |
+
---
|
| 14 |
+
|
| 15 |
+
# switchboard-video-v1
|
| 16 |
+
|
| 17 |
+
8-classifier pipeline for video generation prompt routing. Each model classifies
|
| 18 |
+
one dimension of a video generation request: length, complexity, style, quality,
|
| 19 |
+
camera movement, physics, reference modality, and cost tier.
|
| 20 |
+
|
| 21 |
+
## Architecture
|
| 22 |
+
|
| 23 |
+
These models power [switchboard](https://github.com/xDarkicex/switchboard), a
|
| 24 |
+
zero-alloc AI proxy engine that classifies incoming prompts and routes them to
|
| 25 |
+
the cheapest capable video generation provider.
|
| 26 |
+
|
| 27 |
+
```
|
| 28 |
+
POST /v1/chat/completions
|
| 29 |
+
→ extract user message
|
| 30 |
+
→ 8-classifier pipeline (~2ms)
|
| 31 |
+
→ logic-based routing rules
|
| 32 |
+
→ upstream provider (runway, openai, kling, stability)
|
| 33 |
+
```
|
| 34 |
+
|
| 35 |
+
## Models
|
| 36 |
+
|
| 37 |
+
| Model | Dimension | Labels | Size |
|
| 38 |
+
|---|---|---|---|
|
| 39 |
+
| `length.bin` | Duration | short, medium, long, multi_stage | 51 MB |
|
| 40 |
+
| `complexity.bin` | Scene complexity | simple, multi_subject, multi_stage | 51 MB |
|
| 41 |
+
| `style.bin` | Visual style | photorealistic, cinematic, animation, 3d, motion_graphics | 51 MB |
|
| 42 |
+
| `quality.bin` | Resolution / fidelity | basic, 4k, 8k, production-grade | 51 MB |
|
| 43 |
+
| `camera.bin` | Camera movement | static, dolly, tracking, orbital, fpv | 51 MB |
|
| 44 |
+
| `physics.bin` | Physical simulation | none, basic, particle, fluid, cloth | 51 MB |
|
| 45 |
+
| `refs.bin` | Reference modality | none, image, video, audio, multi | 51 MB |
|
| 46 |
+
| `cost.bin` | Cost tier | cheap, medium, expensive | 51 MB |
|
| 47 |
+
|
| 48 |
+
## Training
|
| 49 |
+
|
| 50 |
+
```sh
|
| 51 |
+
# Clone the switchboard repo
|
| 52 |
+
git clone https://github.com/xDarkicex/switchboard
|
| 53 |
+
cd switchboard
|
| 54 |
+
|
| 55 |
+
# Generate training data
|
| 56 |
+
./switchboard synth \
|
| 57 |
+
--preset ./presets/video/synth.yaml \
|
| 58 |
+
--real ./presets/video/real_prompts.yaml \
|
| 59 |
+
--per-intent 1500 --output ./presets/video/training.txt
|
| 60 |
+
|
| 61 |
+
# Train all 8 models
|
| 62 |
+
go run ./scripts/train-pipeline
|
| 63 |
+
```
|
| 64 |
+
|
| 65 |
+
Training data: 42,731 examples (231 human-annotated + 5,000 auto-tagged + 37,500 synthetic).
|
| 66 |
+
42,731 examples × 8 labels = 341,848 multi-label training lines.
|
| 67 |
+
|
| 68 |
+
## Inference
|
| 69 |
+
|
| 70 |
+
```go
|
| 71 |
+
import "github.com/xDarkicex/switchboard/internal/operator"
|
| 72 |
+
|
| 73 |
+
cfg := operator.PipelineConfig{
|
| 74 |
+
Style: operator.PipelineSlot{
|
| 75 |
+
ModelPath: "models/style.bin",
|
| 76 |
+
DefaultVal: "cinematic",
|
| 77 |
+
Labels: []string{"cinematic", "photorealistic", "animation", "3d", "motion_graphics"},
|
| 78 |
+
},
|
| 79 |
+
// ... 7 more dimensions
|
| 80 |
+
}
|
| 81 |
+
pipeline, _ := operator.NewPipeline(cfg)
|
| 82 |
+
defer pipeline.Close()
|
| 83 |
+
|
| 84 |
+
tags, _ := pipeline.Classify("Make a cinematic video of a dragon")
|
| 85 |
+
// tags.Style = "cinematic"
|
| 86 |
+
// tags.Length = "medium"
|
| 87 |
+
// tags.Cost = "medium"
|
| 88 |
+
```
|
| 89 |
+
|
| 90 |
+
## License
|
| 91 |
+
|
| 92 |
+
MIT — same as [switchboard](https://github.com/xDarkicex/switchboard).
|
| 93 |
+
|
| 94 |
+
## Citation
|
| 95 |
+
|
| 96 |
+
```bibtex
|
| 97 |
+
@software{switchboard2026,
|
| 98 |
+
author = {xDarkicex},
|
| 99 |
+
title = {switchboard-video-v1: 8-classifier pipeline for video generation routing},
|
| 100 |
+
year = {2026},
|
| 101 |
+
url = {https://huggingface.co/LibraVDB/switchboard-video-v1}
|
| 102 |
+
}
|
| 103 |
+
```
|
camera.bin
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:2e5127ccf31414228070f719574dfe42adef285189eb65525e481672c842d7ff
|
| 3 |
+
size 51201376
|
camera_training.txt
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
complexity.bin
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:3c2fa8f61fc4372e1375008ee2b0706af59755a49df760839e98b779d54a223a
|
| 3 |
+
size 51201108
|
complexity_training.txt
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
cost.bin
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:4e11da79a6e7ee97ff48fa457b2c63254b301128c7c47fc1c3e4a582c7b61f44
|
| 3 |
+
size 51200840
|
cost_training.txt
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
length.bin
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:f63fb87aa87bb0def8edb4e9e673a84166bb54705793b2e30824845785c88bef
|
| 3 |
+
size 51201108
|
length_training.txt
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
physics.bin
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:d3a3e0ab7f11e777673e26593539792164ff8059dc7339544412ced0fbfec770
|
| 3 |
+
size 51201376
|
physics_training.txt
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
quality.bin
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:49ceacec35810ed1de8433ce2338e643d21264e3e920efc74319c0e6d492fcf8
|
| 3 |
+
size 51201108
|
quality_training.txt
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
refs.bin
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:cea425c673224d412330329aa798ca5727cbafa6bd70ebb96d573219d07039a2
|
| 3 |
+
size 51201376
|
refs_training.txt
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
style.bin
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:cca63cd70bec5c65fb642c368494b8cf673f22f7457d160db6d1787c45fe1914
|
| 3 |
+
size 51201376
|
style_training.txt
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|