Upload images, audio, video, and documents. Access them from any app with a single API call. Stow handles storage, dedup, and organization so you don't have to.
// Upload from any app
const form = new FormData()
form.append("file", photoBlob, "sunset.png")
const asset = await fetch("https://api.usestow.com/v1/assets", {
method: "POST",
headers: { Authorization: `Bearer ${STOW_KEY}` },
body: form
})
// Same file, same library — accessible from every app
// → {
// media_type: "image",
// content_hash: "a1b2c3...",
// public_url: "https://api.usestow.com/r2/image/a1b2...f4.png"
// }Connect all your apps to one shared library. Upload from anywhere, access everywhere. No more duplicating files across projects.
Files are stored by content hash. Upload the same file from two apps, get one copy back. True dedup, zero wasted storage.
Immutable assets are cached at the edge. Repeat reads in under 5ms, globally. No CDN to configure.
Stow detects media types, MIME types, and generates content hashes automatically. Just send a file.
One endpoint to upload. Search by type, tags, or text. Get by ID or content hash. Bearer token auth. That's it.
On the Pro plan, Stow transcribes audio, summarizes content, and auto-generates tags for every upload.
Register your apps
Sign up and add your applications. Each app gets its own API key.
Upload from anywhere
Send files from any app, the dashboard, or scripts. Everything goes into your shared library.
Access from every app
All apps share the same library. Search by tags, media type, or content hash. One file, everywhere.
Start free. Upgrade when you need more storage.
For side projects and experimentation
For production apps
For high-volume apps
Paid plans include overage billing — go beyond your limits and pay only for what you use. $1/1K assets, $0.50/GB storage, $2/1M requests. Capped at $100/mo.
Sign up, add your app, and upload. Stow handles the rest. No credit card required.