User uploads, handled.
Avatars, attachments, and user-generated content, uploaded securely and delivered fast, with access control built in.
Secure uploads
Signed upload URLs and space-scoped API keys keep user content locked down.
Avatars on demand
Square-crop and face-center any profile photo with a single URL.
Public, private, or signed
Per-asset access: public CDN, private originals, or fully authenticated delivery.
Any asset type
Images, video, audio, PDFs, and documents from the same API.
Uploads without the plumbing
Signed upload URLs let your users push files to Tuzzle without the bytes ever transiting your servers. Upload configs validate file type and size at the door, so junk never reaches your storage and your own API stays thin.
await fetch('https://api.tzzl.io/v1/upload', {
method: 'POST',
body: form,
})Access control that matches your product
Mark each asset public, private, or authenticated. Private originals stay locked behind time-limited signed URLs while their derivatives stay fast on the CDN, and fully authenticated assets are never publicly cached at all. Your permission model, enforced at the delivery layer.
Every file type your users throw at you
Avatars, screenshots, attachments, exports, voice notes: images, video, audio, PDFs, and documents all live in the same space with the same API and access model. One integration covers the whole product, today and after the next feature.
cdn.tzzl.io/avatars/user_8f3.jpg?w=128&h=128&r=crop&g=faceExplore other solutions
Start delivering faster media today.
Free to start, no credit card. Be up and running with your first transform URL in minutes.