We just shipped @transloadit/convex on npm, a new Convex integration for Transloadit that gives a native feel to uploads, file processing, and webhooks. It includes a ready-to-run demo app (wedding gallery), documentation on how to combine it with the Uppy file uploader, and simple server-side helpers to keep secrets off the client and avoid request tampering.

What you get

  • A clean Uppy + @uppy/transloadit setup for browser uploads, sent to Transloadit, with optional encoding instructions.
  • A Convex module that can accept, sign, verify payloads, and save references to results.
  • A demo gallery written in Next.js that showcases this flow from end to end.
  • A Playwright testsuite that ensures everything keeps working.

In short, you get fast and resumable file uploading (up to 200 GB in size), video encoding, AI recognition, and a user interface that updates in real time.

Live demo

Give the demo app a try!

The source code and documentation can be found here.

How it works

  1. The user drags files to Uppy.
  2. Uppy creates an Assembly and sends files and Instructions to Transloadit, Convex signs this request with a secret that it has on the back-end to avoid tampering.
  3. The user finishes uploading and can navigate away.
  4. Transloadit processes files, stores results on CloudFlare R2 according to Instructions, and calls the Convex webhook when results are ready.
  5. Convex stores references in its database, and the gallery updates in real time.

Quick start

Install the Convex component:

npm i @transloadit/convex @uppy/core @uppy/transloadit

Then follow the README to wire up the Convex actions, webhook, and Uppy configuration.

If you want a runnable reference app, clone the repo and run the demo locally.

Why this approach?

Convex is great at real-time data and secure actions. Transloadit handles the heavy lifting, such as transcoding, image operations, and storage.

Put them together, and you can:

  • keep secrets in Convex actions,
  • securely sign requests,
  • scale uploads with tus-powered speed and reliability,
  • handle webhooks without custom servers,
  • save the results in your Convex database and notify consumers, and
  • ship fast!

What’s next?

The Convex integration for Transloadit is currently not yet in a 1.0 state. We may refine the API surface and continue polishing the DX, but the integration is ready for real apps today. Transloadit and Uppy are reliable building blocks with proven track record, and backed by large communities. If you’re building on Convex and need processing, give it a spin and tell us what you’d like to see next.