DotCheck/muybridge-video-v2
Apache-2.0 video-frame AI-likeness head for DotCheck (chronophotography person Muybridge). This repo includes the live .npz head, model card, license, and notices. It is not the product video assembly; clip eyes+ears seating is private Covenant (DotCheck product path).
| Field | Value |
|---|---|
| Hub id | DotCheck/muybridge-video-v2 |
| Wire id | inhouse-video@2 |
| Label | Muybridge (frames person) |
| Artifact | siglip2_base_patch16_224_linear_head_video_v2.npz |
| Backbone | google/siglip2-base-patch16-224 (Apache-2.0) |
| Profile | video (same tower as Vermeer; distinct head) |
| Frame contract | VS1 holdout / product VS3 densify: edge-aware frames |
| Aggregate | bag p90 of frame scores (public claim for this head) |
| Output (frame) | p ∈ [0,1] |
| Serve | CPU FastAPI image path with profile=video; Express samples frames |
Model description
Frozen SigLIP2-base + video-trained linear head. Not a spatiotemporal video transformer. Soundtrack AI-likeness is a separate open head (Helmholtz / inhouse-audio@2). Product clip scores use private Covenant (Muybridge bag + Helmholtz windows + AU6 fuse). Do not rewrite this card’s bag-p90 table as fused-video metrics.
Files in this repo: README.md, LICENSE, NOTICE, CITATION.cff, and the .npz head file(s) listed above.
Architecture
video container
→ sample 3 frames (VS1 timestamps)
→ per-frame: resize ≤256 → SigLIP2 224 → frozen emb → video head
→ bag aggregate: p90({p_frame})
Missing video head at serve → profile=video returns 503 (no silent image-head fallback).
Inference
Open weights: the live .npz head(s) in this repo (Apache-2.0), for use with the frozen upstream backbone named above. This is not a transformers AutoModel.from_pretrained("DotCheck/…") package.
Product scoring: Check or Pro API (below). Leviathan (shared memory and related product path) is not in these files.
curl -sS -X POST "https://dotcheck-server-c221c1f32c68.herokuapp.com/analyze-video" \
-H "Authorization: Bearer dc_YOUR_KEY" \
-F "file=@clip.mp4"
UI: https://dotcheck.ai/check · API: https://dotcheck.ai/api · docs: https://dotcheck.ai/docs
Training data
| Split | Content |
|---|---|
| Fit AI | CogVideoX-2b + Wan2.1 (Apache-2.0), VS1 3-frame bags |
| Holdout AI | Wan2.2-TI2V-5B Diffusers only (FIT_MIX_HOLDOUT=0) |
| Real | Commons VS1 ffmpeg + ~20% thumb surface + still mix (STILL_FRAC=0.20) |
Evidence: video_gates_video_v2.json · VIDEO_GATES_OK. Prior @1 bag bal 0.716 on same bags (archived).
Evaluation
Bag p90 (public claim SSOT)
| Metric | Target | Measured |
|---|---|---|
| mean P(AI) | real | ≤ 0.12 | 0.004 |
| mean P(AI) | AI | ≥ 0.85 | 0.940 |
| bal_acc @ thr | ≥ 0.90 | 0.985 |
vs @1 bal (same bags) |
≥ baseline | 0.985 ≥ 0.716 |
Secondary single-frame floors (not public headline)
| Metric | Target | Measured |
|---|---|---|
| mean P(AI) | real | ≤ 0.15 | 0.004 |
| mean P(AI) | AI | ≥ 0.80 | 0.906 |
| separation | ≥ 0.45 | 0.902 |
| bal_acc | ≥ 0.88 | 0.955 |
Intended use
- Frame-bag AI-likeness for short clips in DotCheck inference.
- Citation of bag-p90 table.
Out of scope
- Product scoring SLA / Leviathan / Covenant seating recipe / FUP via Hub download
- Full temporal models / standalone audio deepfake courtroom forensics (see Helmholtz for audio head)
- Publishing Covenant as Apache weights (assembly stays with DotCheck)
- Legal determinations
Limitations
- Aggregation is unordered frame p90; no explicit motion model.
- Codec / compression / unseen generators can shift scores.
- Silent clips: frames only. When a soundtrack is present, product Covenant fuse with Helmholtz is separate from this artifact’s bag-p90 table (see
eval/COVENANT.md/ bake-off JSON for operator protocol; fused public floats only after a commercial panel).
License
LICENSE — Apache License 2.0 for DotCheck heads in this repo. Upstream backbones: see NOTICE.
Citation
CITATION.cff · wire inhouse-video@2 / Muybridge@2 · https://dotcheck.ai/docs
Model tree for DotCheck/muybridge-video-v2
Base model
google/siglip2-base-patch16-224Collection including DotCheck/muybridge-video-v2
Evaluation results
- mean_P_AI_real_bag_p90 on DotCheck video holdout (bag p90; Wan2.2 AI)video_gates_video_v2 / Data.json0.004
- mean_P_AI_ai_bag_p90 on DotCheck video holdout (bag p90; Wan2.2 AI)video_gates_video_v2 / Data.json0.940
- balanced_accuracy_bag_p90 on DotCheck video holdout (bag p90; Wan2.2 AI)video_gates_video_v2 / Data.json0.985