Start with local storage. When the feature works, move to S3, R2, MinIO, or another storage by changing the storage adapter, not every upload API.
- Local: easy to debug and good for development.
- Cloud: better for production and shared access.
- Same service: keep upload logic behind `storageApi`.