Sawala CloudSawala CloudBeta
Sawala CloudBerkasna

File managementbuilt for your team

Upload images, video, and documents in seconds. Berkasna stores everything securely and delivers instant public URLs — no servers, no infrastructure to manage.

Storage

Edge-native
file storage

Every file is stored securely and served via the global CDN. Uploads go directly from the browser to storage — no routing through the API worker, no bottlenecks.

  • Max file size 200 MB per upload
  • Direct browser uploads via presigned URLs
  • Public CDN URLs available immediately after upload
  • No server required — fully serverless
Sawala Cloud — edge storage

Runtime Serverless edge — no cold starts

Storage Distributed object storage — globally redundant

Delivery Global CDN — files served at the edge

Upload Direct browser upload — no proxy, no bottleneck

Max size 200 MB per file


No origin routing. No file size overhead.

Upload

Direct uploads,
no server bottleneck

Berkasna uses a presigned-URL flow so large files transfer directly from the browser to storage. The API only issues and confirms the upload — it never touches the file bytes. Built-in deduplication prevents duplicate storage.

upload flow3-step presigned URL
# Step 1 — request a presigned URL
POST /upload/presigned
→ { assetId, uploadKey, uploadUrl }

# Step 2 — upload directly from the browser
PUT {uploadUrl}   (XHR with progress tracking)
→ 200 OK

# Step 3 — confirm the upload
POST /upload/complete
→ { id, status: "completed", url }
Optional deduplicationSHA-256 hash check
# Optional — check before uploading
GET /upload/check-duplicate?hash={sha256}
→ { isDuplicate: true, asset: { id, url, ... } }

# Skip upload if the file already exists
Organization

Every file type,
organized

Images, video, PDFs, and Office documents in one place. Each asset carries metadata — title, alt text, description, and tags — and is queryable by MIME category.

Images

JPEG, PNG, GIF, WebP, and all image/* formats.

Video

MP4, WebM, and QuickTime — up to 200 MB.

PDF

PDF documents, served directly from the CDN.

Documents

Word, Excel, and PowerPoint files.

200 MB max per file

asset listing response

GET /assets?mimeCategory=image&limit=25

{
  "data": [
    {
      "id": "f_abc123",
      "filename": "hero-banner.jpg",
      "mimeType": "image/jpeg",
      "size": 204800,
      "url": "https://cdn.example.com/org/hero-banner.jpg",
      "width": 1920, "height": 1080,
      "title": "Hero Banner",
      "alt": "A wide banner image",
      "tags": ["marketing", "hero"]
    }
  ],
  "meta": {
    "pagination": { "hasMore": true, "nextCursor": "cursor_xyz" }
  }
}
Integration

Embedded in your
content workflow

Berkasna powers the media field in Kontena. Pick or upload files directly inside content editing forms — without leaving your CMS context. The MediaPicker is shared across the whole organisation.

Browse & pick

Scroll, search, and filter existing assets by MIME category or keyword.

Upload in context

Upload a new file without leaving the content form — asset is immediately available.

Kontena schema — media field

{
  "name": "cover",
  "type": "media",
  "accept": ["image", "video"],
  "required": false
}

resolved asset in content response

"cover": {
  "id": "f_abc123",
  "url": "https://cdn.example.com/...",
  "mimeType": "image/jpeg",
  "width": 1920, "height": 1080
}

More out of the box

Everything you need to manage a production media library — without the infrastructure overhead.

MIME category filtering

Filter assets by image, video, pdf, or document. Fast browsing across large libraries with no noise.

Cursor-based pagination

Asset listing uses limit + cursor for stable, efficient reads. Response includes meta.pagination with hasMore and nextCursor.

Deduplication

Optional SHA-256 hash check before upload. Avoid storing the same file twice and keep storage costs low.

Rich metadata

Attach title, alt text, description, and tags to every asset. Keep your media library organized and searchable.

Video support

Upload MP4, WebM, and QuickTime files up to 200 MB. Stored and delivered from the edge like any other asset.

Instant API docs

Built-in API reference at /dashboard/berkasna/api-docs — always in sync with your deployed API.

Ready to store with Berkasna?

Upload your first file in seconds. No infrastructure to configure, no storage limits to pre-purchase.