From bkit — AI Native Development OS
Guides file storage operations on bkend.ai: upload via presigned URLs, download via CDN, visibility levels, and multipart upload for large files.
How this skill is triggered — by the user, by Claude, or both
Slash command
/bkit:bkend-storagebkit:bkend-expertThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
| Method | Use Case | Process |
| Method | Use Case | Process |
|---|---|---|
| Single | Normal files | Presigned URL -> PUT upload -> Register metadata |
| Multiple | Multiple files | Repeat single upload |
| Multipart | Large files | Initialize -> Part URLs -> Complete |
| Level | Access | URL Type |
|---|---|---|
| public | Anyone | CDN URL (no expiry) |
| private | Owner only | Presigned URL (1 hour) |
| protected | Authenticated users | Presigned URL (1 hour) |
| shared | Specified targets | Presigned URL (1 hour) |
| Category | Max Size |
|---|---|
| Images | 10 MB |
| Videos | 100 MB |
| Documents | 20 MB |
images, documents, media, attachments
bkend MCP does NOT have dedicated storage tools. Use this workflow:
search_docs with query "file upload presigned url"search_docs with query "file upload code examples"| Doc ID | Content |
|---|---|
7_code_examples_data | CRUD + file upload code examples |
| Method | Endpoint | Description |
|---|---|---|
| POST | /v1/files/presigned-url | Generate presigned URL |
| POST | /v1/files | Register metadata (complete upload) |
| GET | /v1/files | File list |
| GET | /v1/files/:fileId | File detail |
| PATCH | /v1/files/:fileId | Update metadata |
| DELETE | /v1/files/:fileId | Delete file |
| POST | /v1/files/:fileId/download-url | Generate download URL |
| Method | Endpoint | Description |
|---|---|---|
| POST | /v1/files/multipart/init | Initialize multipart upload |
| POST | /v1/files/multipart/presigned-url | Get part upload URL |
| POST | /v1/files/multipart/complete | Complete multipart upload |
| POST | /v1/files/multipart/abort | Abort multipart upload |
1. POST /v1/files/presigned-url -> { url, fileId }
2. PUT {url} with file binary + Content-Type header
3. POST /v1/files with { fileId, filename, contentType, size, visibility }
1. POST /v1/files/multipart/init -> { uploadId }
2. POST /v1/files/multipart/presigned-url -> [{ partNumber, url }]
3. PUT each part URL with file chunk
4. POST /v1/files/multipart/complete -> { file }
For the latest storage documentation, use WebFetch:
npx claudepluginhub popup-studio-ai/bkit-claude-code --plugin bkitProvides S3-compatible object storage operations: upload/download, signed URLs, multipart upload for large files. Triggered by keywords like 'Stratus', 'object storage', 'signed URL'.
Guides file storage and CDN setup with object storage (S3, GCS, Azure Blob), presigned URLs, image/video processing pipelines, lifecycle policies, cost optimization, and backups.
Implements Vercel Blob for Next.js file uploads (images, PDFs, videos), client uploads with tokens, presigned URLs, listing/deleting, pathname organization, and fixes errors like BLOB_READ_WRITE_TOKEN or size limits.