FluxMedia
Open Source TypeScript Library

One API for all your media uploads

Simplify media uploads in TypeScript. A unified, type-safe interface for Cloudinary, S3, R2, and more — so you can focus on building features, not wrangling SDKs.

terminal

# Install FluxMedia

$ pnpm add @fluxmedia/core @fluxmedia/s3

The Old Way
Loading...
FluxMedia Way
Loading...

Features

Everything you need for media uploads

FluxMedia handles the complexity of different providers so you can focus on building your app.

01

Unified API

One interface for all providers. Use Cloudinary, S3, or R2 with the same clean, type-safe API.

// Same code for ANY provider!
const uploader = new MediaUploader(
  new S3Provider({ ... })  // or Cloudinary, R2
);

await uploader.upload(file, {
  folder: "uploads",
  onProgress: (p) => console.log(p)
});
02

TypeScript First

Built with strict types for incredible DX. Full autocomplete for provider configs.

03

Tree-Shakeable

Modular architecture. Core is tiny (<5KB). Only bundle the providers you use.

04

Plugin System

Extend with validation, optimization, metadata extraction, analytics, and retry.

05

React Hooks

Production-ready hooks for upload state, progress tracking, and error handling.

06

Multi-Provider

S3, Cloudflare R2, Cloudinary, and extensible for custom providers.

07

Image Transforms

Resize, format conversion, and quality optimization with Cloudinary.

08

Auto Retry

Built-in retry plugin with exponential backoff for resilient uploads.

09

Type-Safe Config

Catch configuration errors at compile time, not runtime.

Providers

One API, Multiple Providers

Write your upload logic once. Use it with any provider. Same interface, same reliability.

Cloudinary

  • Image Transforms
  • Video Processing
  • AI Tagging
  • Multipart Upload
  • Direct Upload

AWS S3

  • Image Transforms
  • Video Processing
  • AI Tagging
  • Multipart Upload
  • Direct Upload
No Egress Fees

Cloudflare R2

  • Image Transforms
  • Video Processing
  • AI Tagging
  • Multipart Upload
  • Direct Upload
All providers support the same unified upload API. Provider-specific features are automatically detected.

Ready to simplify your media uploads?

Join developers building faster with FluxMedia. Get started in minutes with comprehensive docs and examples.