Official Client Libraries
First-party client packages maintained by the DevCloudDesk core engineering team.
npm install @dcd-sdk/storage-clientDevCloudDesk SDKs eliminate the need to handcraft HTTP multipart requests, manually concatenate URL transformation strings, or calculate HMAC security signatures.
Whether you are building a modern Next.js web application, a scalable FastAPI backend, a Django enterprise monolith, or a batch media processing pipeline, the official SDKs offer a standardized, type-safe API with zero external bloat.
Why DevCloudDesk SDKs?#
- Fluent, Type-Safe Transformation Builder: Chain intuitive methods like
.resize(),.format('webp'),.quality(80), and.blur(5)with autocomplete for all parameters. - Direct Browser Uploads (Zero Backend Choking): Safely generate time-limited HMAC-signed upload tokens on your backend so client browsers upload heavy 50MB files directly to your storage server.
- Universal Ingestion: Seamlessly upload files from disk paths, in-memory Node.js
Buffer, Web StandardBlob/File, Python file handles, or raw byte streams. - Cloudinary Drop-In Compatibility: Includes identical
.uploaderand.apinamespaces for seamless migration from Cloudinary with zero rewrite of business logic. - Private Asset Security: Generate cryptographically signed, expiring download links for invoices, KYC documents, and private assets with customizable TTL.
Supported Languages & Runtimes:#
The SDKs are maintained and tested against the latest runtime versions:
- TypeScript / Node.js: Node.js 18+, Bun, Deno, Next.js (Edge & Node runtimes), Remix, Fastify, Express.
- Python: Python 3.8+, FastAPI, Django, Flask, Celery, PyTorch data pipelines.
30-Second Quickstart#
Initialize the client, upload a media asset, and generate on-the-fly transformed CDN delivery URLs:
import { StorageClient } from '@dcd-sdk/storage-client';
const client = new StorageClient({
endpoint: process.env.DCD_STORAGE_ENDPOINT || 'https://cdn.mycompany.com',
apiKey: process.env.DCD_STORAGE_API_KEY || 'dcd_key_live_xxxx',
});
// 1. Upload asset
const asset = await client.upload('./banner.jpg', { folder: 'banners' });
// 2. Generate on-the-fly optimized WebP CDN URL
const webpUrl = client
.url(asset.publicId)
.resize({ width: 800, height: 600, crop: 'fill' })
.format('webp')
.quality(80)
.build();
console.log('Optimized CDN URL:', webpUrl);Complete SDK Method Reference#
Looking for full method signatures, parameter tables, and return schemas for every client operation? 👉 View Complete Client Methods & API Reference →