upfile.sh
Instant file uploads. Permanent URLs.
https://cdn.upfile.sh/xK9mZ.png
$ screencapture -x - | upfile
https://cdn.upfile.sh/mP3xQ.png
Built for AI Agents and Developers
⚡ Instant Uploads
Upload any file from your terminal and get a permanent CDN URL in seconds. No browser, no drag-and-drop, just a simple command.
🤖 AI-Ready API
Perfect for AI agents that need to share files, images, or documents. Programmatic access with simple HTTP endpoints.
🔒 Three Visibility Modes
Public files get permanent CDN URLs. Expiring files auto-delete after your TTL. Private files require authentication.
📦 Generous Free Tier
Start with 1GB of storage on the free tier. Upgrade to Pro for 100GB and advanced features when you need them.
Common Use Cases
Screenshot Sharing
Capture and share screenshots instantly. Pipe screencapture output directly to upfile and get a shareable URL in your clipboard. Perfect for bug reports, design feedback, and quick sharing with teammates.
AI Agent File Handling
Enable your AI agents to upload and share files automatically. Generate charts, export data, or create documents and get permanent URLs that can be shared in conversations or stored for later reference.
Temporary File Hosting
Need to share a file that shouldn't live forever? Use expiring uploads with custom TTL. Files automatically delete after your specified time, keeping your digital footprint clean.
Get Started in Seconds
$ yarn global add upfilesh
# Or use npx (no install)
$ npx upfilesh screenshot.png
Free tier includes 1GB storage. No credit card required.
Self Host
Run your own upfile instance on Cloudflare. Full control, no vendor lock-in.
$ git clone https://github.com/upfilesh/worker.git
# Deploy to Cloudflare
$ cd worker && yarn install && yarn wrangler deploy
Frequently Asked Questions
Is upfile free?
Yes! The free tier includes 1GB of storage with no expiration. Upgrade to Pro ($9/month) for 100GB and additional features.
How long do files last?
Public and private files are permanent unless you delete them. Expiring files are automatically removed after your specified TTL (time-to-live).
Can I use this in my scripts?
Absolutely. The CLI is designed for scripting and automation. Use it in shell scripts, Git hooks, or any automated workflow. JSON output available with the --json flag.
Is there an API?
Yes, check out the CLI documentation on GitHub for API details and examples.