Try it

Pick a file once — Create session and PUT upload use the same name, type, and size.

Upload file
No file chosen

Required for upload session and CDN PUT examples.

Packages

Official SDKs

Reupload ships official packages for server and browser integrators. Use them together or pick only what you need — each layer builds on the one below.

Server SDKs

  1. @reupload/sdk — Node.js 20+ server SDK. Holds your API key and talks to the Reupload API (sessions, direct upload, files, framework route helpers).
  2. reupload-sdk (reupload-sdk) — Python 3.10+ server SDK with the same API surface, sync/async clients, and optional FastAPI helpers.

Browser SDKs (npm)

  1. @reupload/client — Browser client for your backend file router (prepare → CDN PUT → complete). No API key in the front end.
  2. @reupload/react — Drop-in React uploaders (DropzoneUploader, AvatarUploader, etc.) built on @reupload/client.

Which package do I need?

ScenarioPackages
Node API only (no custom UI)@reupload/sdk
Python API only (FastAPI, Django, scripts)reupload-sdk, Django guide
Custom React/Vite UI, your own components@reupload/sdk + @reupload/client
React app, want ready-made upload widgets@reupload/sdk + @reupload/react (includes client)
Python + React front end (CDN flow)reupload-sdk on the server + @reupload/client or @reupload/react in the browser
Server direct upload (browser → your API → Reupload)@reupload/sdk or reupload-sdk on the server only
CDN flow (browser PUTs to signed URL)Server SDK + @reupload/client or @reupload/react

Install

terminal
# Node server
npm install @reupload/sdk
 
# Python server
pip install reupload-sdk
pip install "reupload-sdk[fastapi]"   # optional FastAPI helpers
 
# Browser (CDN flow via your API)
npm install @reupload/client
 
# React uploaders
npm install @reupload/react @reupload/client

Typical CDN integration

  1. Implement POST /uploads/prepare and POST /uploads/complete with @reupload/sdk or reupload-sdk (see React/Next + Node.js).
  2. Set NEXT_PUBLIC_API_URL or VITE_API_URL in your front end.
  3. Use @reupload/react uploaders or @reupload/client in your UI.
  4. Add upload CORS origins for browser PUTs — Browser uploads.

Package reference

Related docs