Install any skill in seconds. Free to start, no credit card required.
Get Started Free →bkend.ai file storage — upload (presigned URL), download (CDN), visibility levels, buckets. Triggers: bkend file, upload, download, presigned URL, storage, 파일 업로드, 스토리지.
.claude/skills/popup-studio-ai-bkend-storage/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-03 | ✗→✓ | ▲ Improved | 14% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 13% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 21% | 0% |
| case-02 | ✗→✓ | ▲ Improved | -17% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 2% | 0% |
| 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:
Other measured skills in the registry, with their headline benchmark lift.