Build once.
Store anywhere.
One API to upload, manage, serve, and move files across any object store. Keep your application portable—and your data in infrastructure you own.
const file = await uplint.files.upload({file,storage: "production",metadata: {customer: "cus_72m"}});Native connections to the clouds you already use
- S3AWS S3
- AZAzure Blob
- GCGoogle Cloud
- R2Cloudflare R2
- +S3-compatible
Put a clean file interface between product code and an increasingly complicated storage world.
Every upload, retrieval, delivery, move, and deletion.
Route files by provider, tenant, region, or policy.
Your buckets, security boundaries, and infrastructure.
Your storage can change.
Your product doesn't.
File uploads are easy until your product needs another cloud, another region, or a customer-owned bucket. Uplint gives every object store one interface.
The control plane
for every file.
Your application knows the file. Uplint handles the provider, region, credentials, routing, and movement underneath.
- 01STABLE IDENTITY
Reference the file.
Not the bucket.A durable file ID keeps application references stable—even when the object moves between providers.
- 02BRING YOUR OWN STORAGE
Your storage.
Your data.Keep files inside infrastructure and security boundaries you already control.
- 03POLICY ROUTING
Different customers.
Different clouds.Route each tenant to the provider, bucket, and region their requirements demand.
- 04ONE FILE API
Five primitives.
No vendor surface area.A small, predictable API for the operations your product actually needs.
Switch providers.
Don't touch your code.
Select a destination below. The infrastructure configuration changes instantly; the application call stays exactly the same.
const file = await uplint.files.upload({file,storage: "production"});// This code never changes.{"provider": "s3","bucket": "company-files","region": "ap-south-1"}One file layer.
Many requirements.
Start simple, then add regions, providers, and customer-owned storage without rebuilding your product.
Product teams
Ship a complete file layer without turning every cloud decision into product code.
Explore use caseMulti-tenant platforms
Give each customer the bucket, provider, or region their policy requires.
Explore use caseAI applications
Handle documents, datasets, images, audio, and generated artifacts consistently.
Explore use caseRegulated software
Keep data in approved regions or customer-owned storage with one interface.
Explore use caseFrom zero to uploaded
in one request.
Connect a bucket, create an API key, and keep every future storage decision out of your application code.
Read the five-minute quickstart$ npm install @uplint/node✓ added @uplint/node$ uplint storage connect production✓ AWS S3 connected bucket: company-files region: ap-south-1▋One API for your files.
Any storage underneath.
Make your application portable before the next storage decision makes it permanent.