upload files, get temporary public URLs. dead simple.

vanish — zsh
paused

Install

$ npm i -g vanish-cli

Or use directly with npx:

$ npx vanish-cli upload file.png

Usage

Upload a file:

$ vanish photo.jpg https://vanish.sh/f/b3kL8nR4.jpg # copied to clipboard

Multiple files:

$ vanish a.png b.png c.png https://vanish.sh/f/a7xK9mQ2.png https://vanish.sh/f/c2mP5vX8.png https://vanish.sh/f/d9nQ3wY1.png

With curl:

$ curl -X POST --data-binary @file.png \ -H "X-Filename: file.png" https://vanish.sh/upload {"url":"https://vanish.sh/f/e4rS7tU6.png"}

JSON output:

$ vanish --json file.png {"url":"...","id":"...","expires":"2026-02-19T..."}

cURL / API

Set your key once:

$ export VANISH_KEY="vnsh_your_key_here"

Upload (authenticated, all file types):

$ curl -X POST --data-binary @report.pdf \ -H "X-Filename: report.pdf" \ -H "Authorization: Bearer $VANISH_KEY" \ https://vanish.sh/upload {"url":"https://vanish.sh/f/b3kL8nR4.pdf","id":"b3kL8nR4",...}

Custom retention (Pro, up to 365 days):

$ curl -X POST --data-binary @doc.pdf \ -H "X-Filename: doc.pdf" \ -H "Authorization: Bearer $VANISH_KEY" \ -H "X-Expires-Days: 90" \ https://vanish.sh/upload

Download:

$ curl -OJ https://vanish.sh/f/b3kL8nR4.pdf

Delete:

$ curl -X DELETE \ -H "Authorization: Bearer $VANISH_KEY" \ https://vanish.sh/f/b3kL8nR4.pdf {"ok":true}

List uploads:

$ curl -H "Authorization: Bearer $VANISH_KEY" \ https://vanish.sh/uploads

Account info:

$ curl -H "Authorization: Bearer $VANISH_KEY" \ https://vanish.sh/me

Tiers

Tier File types Max file Storage Retention Rate limit Price
Anonymous images only 5 MB 24 hours 10/hour free
Free all 50 MB 50 MB 48 hours 50/hour free
Pro all 1 GB 1 GB 30 days (up to 365) 200/hour 2€/mo

Anonymous uploads: images only, 24h. Sign in with GitHub for 48h retention and all file types.

Auth & API Keys

Get your API key via CLI:

$ vanish login # opens GitHub OAuth in your browser ✓ logged in as @username # key saved to ~/.config/vanish/config.json

Or sign in with GitHub in your browser to get your key.

Create additional keys via API:

$ curl -X POST \ -H "Authorization: Bearer $VANISH_KEY" \ -H "Content-Type: application/json" \ -d '{"name":"ci-bot"}' \ https://vanish.sh/keys {"api_key":"vnsh_...","name":"ci-bot"} # key shown only once — save it

Manage your keys and uploads on the dashboard.

$ vanish upgrade # upgrade to pro for 30-day+ retention (up to 365 days)

More

$ vanish ls # list your uploads $ vanish status # show storage & tier info $ vanish rm <id> # delete an upload $ vanish whoami # show current user & tier

CORS-enabled — embed URLs directly in GitHub PRs and GitLab issues.