{"service": "music-connectz-backend", "status": "ok", "uploads": {"backend": "FileSystemStorage", "bucket": "", "durable": false, "ephemeral": true, "kept_by": "nothing", "where": "/opt/render/project/src/media", "detail": "Uploads are on this container's own disk, and this container is replaced on every deploy \u2014 so every file a member has uploaded is deleted the next time anything ships. Two ways to fix it, both configuration and neither one a code change. A BUCKET: set S3_BUCKET_NAME, S3_ACCESS_KEY_ID and S3_SECRET_ACCESS_KEY (plus S3_ENDPOINT_URL for Cloudflare R2); settings.py switches over on the next restart. Or a DISK: add the `disk:` block in render.yaml, set MEDIA_ROOT to its mountPath and MEDIA_DURABLE=1. The bucket scales and the disk is free of credentials; either one keeps the music."}, "payments": {"stripe": {"configured": true, "mode": "live", "publishable_mode": "unknown", "modes_agree": true, "webhook_configured": true}, "paypal": {"configured": false, "mode": "live"}, "payouts": {"configured": true}, "ready": true, "problems": []}, "copyright": {"provider": "", "ffmpeg": true, "ready": false, "why": "No recognition provider is configured."}, "ai": {"configured": true, "detail": "GEMINI_API_KEY is set \u2014 surfaces will attempt a real call. Set does not mean working; run tools/coach_live_check.sh."}, "endpoints": ["/api/auth/register/", "/api/auth/login/", "/api/auth/oauth/{google|github|apple}/", "/api/mimez/skillz/...", "/api/directz/skillz/...", "/admin/"]}