Skip to main content
Live. This area is documented as current, user-reliable behavior.

Goal

Build a production upload and asset management workflow around the StackShift Assets API.

Prerequisites

  • A browser or backend client
  • An authenticated API session for dashboard-style management actions

Workflow

1
Use normal upload for small backend files and upload sessions for large or unreliable browser uploads.
2
Resume chunked uploads by reading the received part list from the session endpoint.
3
Attach folder prefixes, tags, visibility, and metadata at upload time or through bulk actions.
4
Search assets by query, tag, MIME type, family, folder, or checksum.
5
Use collections and saved searches for repeatable DAM workflows.

Chunked upload flow

const session = await stackshift.assets.createChunkedUploadSession({
  fileName: file.name,
  fileSize: file.size,
  mimeType: file.type,
  bucket: 'media',
  key: `uploads/${file.name}`,
  visibility: 'private',
})

await stackshift.assets.uploadChunk(session.id, 1, firstChunk)
await stackshift.assets.completeUploadSession(session.id)

Management tools

  • Virtual folders are key prefixes, not separate folder records.
  • Tags are normalized so filtering and bulk edits stay predictable.
  • Duplicate hints use checksum groups.
  • Usage summaries group assets by bucket, MIME family, visibility, and duplicates.
  • Bulk actions support delete, visibility changes, tag changes, and metadata patches.

Expected result

Users can upload large files reliably and manage the resulting library without leaving the dashboard.

Direct browser uploads

Create a short-lived signed upload URL on your server, then PUT the file directly from the browser.

AI DAM and versioning

Use OpenAI-backed asset intelligence, moderation, transcripts, smart crops, background removal, collections, saved searches, and branching versions.