# Media sidecar dependencies (image gen, canvas, text-to-music).
#
# Same platform split as requirements.txt: the mlx/mflux stack is Apple
# Silicon only, and an unmarked list made `pip install -r` fail outright on
# Windows/Linux — which stopped media_server from starting at all, so the
# bundled acestep music runtime (shipped in sidecar/acestep/ on EVERY
# platform) was unreachable there.
#
# media_server.py has no module-level mlx imports, so it runs fine with just
# the cross-platform core; Apple-only features gate themselves at call time.

# ── Cross-platform core ──────────────────────────────────────────────────────
fastapi>=0.136.0
uvicorn>=0.47.0
Pillow>=12.0.0
numpy>=2.0.0
opencv-python>=4.13.0
# Text-to-music drives the bundled acestep.cpp binaries as subprocesses, so it
# needs no Python model stack — only audio I/O.
soundfile>=0.12.1

# ── Apple Silicon only (Metal-accelerated) ───────────────────────────────────
# Local image generation (Flux via mflux) and mlx-audio TTS. On Windows/Linux
# image generation routes to the bundled sd.cpp CLI instead.
mlx>=0.31.0 ; sys_platform == "darwin" and platform_machine == "arm64"
mlx-audio>=0.4.0 ; sys_platform == "darwin" and platform_machine == "arm64"
mflux>=0.5.0 ; sys_platform == "darwin" and platform_machine == "arm64"
