FastAPI service in infra/media-worker implementing every MediaInferenceProvider operation behind HTTP API v1, plus capabilities. Bearer auth, MEDIA_ROOT realpath enforcement, strict request schemas, cancellation on disconnect, GPU/CPU gates with 503 overflow, input size/duration limits, lazy SHA256-pinned model downloads, fail-closed redaction with atomic output, offline pytest suite with fake backends, CPU/CUDA/ROCm Dockerfile and a license review of every model. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0138YqDj3ttfayRwuMKKrqVj
4.4 KiB
4.4 KiB
Licenses: models and libraries of the media sidecar
Checked October 2026 against the upstream LICENSE files and model cards linked
below. "Commercial use" means the published code or weights license permits it.
Training-data terms were not reviewed legally; where provenance is unclear the
backend is optional, never a default. Weights are downloaded at runtime from the
pinned revision (see app/models.py) and are never part of this repository or
the image.
Models
| Name | Purpose | License | Commercial use | Default / optional | Source |
|---|---|---|---|---|---|
| OpenCV YuNet 2023mar | Face detection, 5-point landmarks (detectFaces, trackFaces, faceLandmarks) |
MIT | yes | default | https://github.com/opencv/opencv_zoo/tree/main/models/face_detection_yunet |
| Whisper small (CTranslate2 conversion by Systran) | Transcription with word timestamps (transcribe) |
MIT | yes | default | https://huggingface.co/Systran/faster-whisper-small, https://github.com/openai/whisper |
| SigLIP base patch16-224 (ONNX export by Xenova) | Frame embeddings (embedFrames); zero-shot content scores (classifyContent, experimental) |
Apache-2.0 | yes | default | https://huggingface.co/google/siglip-base-patch16-224, https://huggingface.co/Xenova/siglip-base-patch16-224 |
| SAM 2.1 Hiera tiny | Click/box segmentation with video propagation (segmentPrompted, experimental) |
Apache-2.0 | yes | default | https://github.com/facebookresearch/sam2, https://huggingface.co/facebook/sam2.1-hiera-tiny |
| Big-LaMa (ONNX export by Carve) | Per-frame inpainting with optical-flow smoothing (inpaintVideo, experimental) |
Apache-2.0 | yes | default | https://github.com/advimman/lama, https://huggingface.co/Carve/LaMa-ONNX |
| OpenCV SFace 2021dec | Identity embeddings for local person clustering (trackFaces.embedding) |
Apache-2.0 (weights); training-data provenance unverified | unclear | optional (MEDIA_OPTIONAL_BACKENDS=faceIdentity) |
https://github.com/opencv/opencv_zoo/tree/main/models/face_recognition_sface |
| MediaPipe Face Landmarker | Dense face landmarks | Apache-2.0 | yes | not used: the mediapipe wheel pulls the GUI OpenCV build; YuNet's 5 points cover the partial modes |
https://github.com/google-ai-edge/mediapipe |
| OpenCLIP (LAION weights) | Frame embeddings | MIT | yes | not used: SigLIP runs on ONNX Runtime without torch | https://github.com/mlfoundations/open_clip |
| NudeNet v3 | Nudity detection | AGPL-3.0 | copyleft, not shipped | not used | https://github.com/notAI-tech/NudeNet |
| ProPainter | Video inpainting | S-Lab License 1.0 (non-commercial) | no | not used; never default | https://github.com/sczhou/ProPainter |
| InsightFace model zoo (SCRFD, ArcFace, inswapper) | Face detection, recognition, swap | code MIT; models non-commercial research only | no | not used; never default | https://github.com/deepinsight/insightface |
| Synthetic identity generator + swap | synthesizeIdentity |
none found with a commercial license | — | unavailable: always 501 unsupported |
— |
Methods without weights
| Name | Purpose | License | Commercial use | Default / optional | Source |
|---|---|---|---|---|---|
| PySceneDetect (AdaptiveDetector) | Shot detection (detectScenes) |
BSD-3-Clause | yes | default | https://github.com/Breakthrough/PySceneDetect |
IoU tracker (ByteTrack-style, in app/ops/faces.py) |
Face tracking | this repository | yes | default | — |
Spectral residual saliency (Hou & Zhang 2007, in app/ops/saliency.py) |
saliency |
this repository | yes | default | https://doi.org/10.1109/CVPR.2007.383267 |
FFmpeg ebur128, silencedetect |
Loudness, true peak, silences (audioFeatures) |
LGPL-2.1+ / GPL-2+ (Debian build with libx264) | yes, as a separate process | default | https://ffmpeg.org/legal.html |
| librosa | Beat and tempo tracking (audioFeatures) |
ISC | yes | default | https://github.com/librosa/librosa |
Libraries
| Name | License | Commercial use |
|---|---|---|
| FastAPI | MIT | yes |
| Uvicorn | BSD-3-Clause | yes |
| Pydantic | MIT | yes |
| NumPy | BSD-3-Clause | yes |
| OpenCV (opencv-python-headless) | Apache-2.0 (wheel bundles FFmpeg under LGPL) | yes |
| soundfile | BSD-3-Clause | yes |
| PyTorch, torchvision | BSD-3-Clause (bundles permissive third-party code: Apache-2.0, MIT, BSL-1.0) | yes |
| ONNX Runtime | MIT | yes |
| faster-whisper | MIT | yes |
| CTranslate2 | MIT | yes |
| Hugging Face tokenizers | Apache-2.0 | yes |
SAM 2 package (sam2) |
Apache-2.0 | yes |
| Hydra, iopath | MIT | yes |