| name | my-storage-api |
| version | 1.0.0 |
| description | Edge-hosted asset storage. Upload local files (.png/.jpg/.gif/.webp) directly, or have the server fetch from a public URL. Each asset gets a stable public CDN URL.
|
| triggers | ["storage","upload","ingest","asset","cdn","image hosting","file upload","get-url","download","public url"] |
| checksum | sha256-pending |
MyStorageAPI
Per-org asset storage with edge CDN delivery. Two ways in: direct upload (local file → multipart) or ingest (server fetches a public URL). Both produce a stable public URL like https://api.mystorageapi.com/storage/<id>.
Capabilities
Storage is the asset layer. Anything you upload or ingest is served from the edge under a permanent public URL — embed it in funnel pages, email templates, anywhere.
upload accepts .png, .jpg, .jpeg, .gif, .webp, .svg, .pdf, .mp4, .webm from the local filesystem. For any other extension, host the file somewhere public and use ingest instead — the server fetches it for you.
Generated images from myimageapi automatically land here; they appear in storage list under their job id.
Use get for a round-trip metadata fetch. Use get-url when you just need the URL — it's a pure local URL constructor (no API call, no auth, no rate limit), perfect for piping to curl or embedding into HTML.
Commands
| Command | What it does |
|---|
myapi storage list | List all stored assets |
myapi storage upload <file> | Direct multipart upload of a local file (image/svg/pdf/mp4/webm) |
myapi storage ingest <url> | Server fetches a public URL into storage |
myapi storage get <asset_id> | Round-trip the API for full metadata (--json or human block) |
myapi storage get-url <asset_id> | Pure local URL constructor — no API call, no auth |
myapi storage delete <asset_id> | Permanently delete the asset |
Examples
myapi storage upload ./logo.png --name "brand-logo"
myapi storage ingest https://example.com/hero.jpg --name "hero"
myapi storage list
myapi storage get <asset_id>
URL=$(myapi storage get-url <asset_id>)
echo "<img src=\"$URL\" />"
curl -O "$URL"
myapi storage delete <asset_id>
Upload vs Ingest
upload — file is on your machine. Multipart POST. Supported extensions: .png, .jpg, .jpeg, .gif, .webp, .svg, .pdf, .mp4, .webm.
ingest — file is at a public HTTP(S) URL. Server downloads and stores. Useful for migrating assets, pulling in third-party files you have rights to, or for extensions upload doesn't accept.
Both produce identical asset records — list doesn't distinguish.
get vs get-url
get <id> — round-trips the API. Returns name, URL, created_at. Honors --json. Use when you want metadata.
get-url <id> — local URL constructor. No API call, no auth, no rate limit. Output is exactly https://api.mystorageapi.com/storage/<id> (or whatever MYAPI_STORAGE_URL is set to). Use to embed URLs into HTML, pipe to curl, or build download links cheaply.
Notes
- Assets are public by default — don't store sensitive files.
- Delete is immediate and unrecoverable — run
myapi storage list first to confirm the asset, pass --org explicitly, and pass --yes in non-interactive runs.
- The URL is permanent until you
myapi storage delete <id> — embed it freely.
Run myapi storage --help for full flag reference.