# Upload music and video

Status: In progress

Fanful's media layer already connects uploads, provenance, R2 storage, media routes, replacement review, and entitlement-aware playback. The current admin upload path is deliberately conservative; large resumable uploads and video processing are separate future hardening work.

## What is usable now

- D1 tracks store provenance fields for media source, credit, license, artwork source, replacement status, and replacement notes.
- /admin#tracks captures provenance when an admin uploads a recording through the Worker multipart path.
- R2 stores uploaded media, artwork, gallery images, short video, generated derivatives, and future media packages.
- /api/media/... serves media through access-aware checks instead of exposing the bucket as a public free-for-all.
- The current upload route is capped for small demos and short videos, which is appropriate until large media workflows are built.

## Fan value

- Fans can listen, browse, and return to media in the same branded creator destination.
- Locked or member media can resolve through site access rules rather than direct file URLs.
- Provenance labels help keep temporary, reviewed, and creator-owned assets distinct.

## Creator value

- Creators can manage music and video as part of the same admin context as shop, lessons, live, email, and analytics.
- Review queues make it clearer which assets are approved for long-term use and which need replacement.
- The data model leaves room for waveforms, thumbnails, video previews, and publish steps without changing the public URL strategy.

## Evidence in the current stack

- Media provenance: docs/features/media-provenance.md documents D1 provenance fields, admin upload capture, and the review queue.
- Storage boundary: docs/technical-architecture.md documents R2 media storage and /api/media access checks for visibility, entitlement, and range requests.
- Future large uploads: docs/features/media-provenance.md describes direct browser-to-R2 multipart sessions as the future architecture for larger files.

## Boundaries

- The current Worker multipart path is capped at 50 MB and should not be sold as the final large-upload architecture.
- Long concert video and livestream delivery should use Cloudflare Stream or another video provider when that scale is required.
- Browser playback and signed media routes are not the same thing as DRM; offline protection is a separate native-app strategy.

## Pricing notes

- Pricing includes media/upload storage allowances because audio, images, downloads, and generated assets create storage and request costs.
- Video delivery and storage should be costed separately when long-form video is enabled.

## Related pages

- [All features](/features): Return to the Fanful feature catalog.
- [Pricing](/pricing): Compare media and upload allowances.
- [Listen](/listen): Open the production listener media surface.
- [Markdown feature catalog](/features.md)
- [HTML feature page](/features/upload-music-and-video)
