| # CPU-only torch wheels — HF free tier has no GPU. | |
| # This cuts image size from ~5 GB to ~1.5 GB and removes all NVIDIA/CUDA deps. | |
| --extra-index-url https://download.pytorch.org/whl/cpu | |
| fastapi>=0.100.0,<0.116.0 | |
| uvicorn>=0.23.0,<0.31.0 | |
| transformers>=4.32.0,<4.46.0 | |
| torch==2.4.1+cpu | |
| torchaudio==2.4.1+cpu | |
| librosa>=0.10.0,<0.11.0 | |
| soundfile>=0.12.1,<0.13.0 | |
| pydantic>=2.0.0,<2.10.0 | |
| requests>=2.31.0,<2.33.0 | |
| numpy>=1.22.0,<2.0.0 | |
| slowapi>=0.1.9,<0.2.0 | |
| python-multipart>=0.0.6,<0.1.0 | |
| sse-starlette>=1.6.0,<2.0.0 | |
| # Music-native AI detector dependencies (lofcz/ai-music-detector). | |
| # All three are already installed transitively via librosa/transformers, | |
| # but we pin them explicitly so a dep-pin change can't silently | |
| # break the music-detector load path. | |
| scipy>=1.10.0,<2.0.0 # minimum_filter1d for fakeprint hull | |
| safetensors>=0.4.0,<1.0.0 # numpy weight loader for the LR head | |
| huggingface_hub>=0.20.0,<1.0.0 # one-shot model download on startup | |