@creativekit/server
v1.0.13
Published
Server-side CreativeKit SDK with OAuth authentication
Maintainers
Readme
@creativekit/server
Server-side CreativeKit SDK with OAuth2 authentication
⚠️ Node.js only - Never expose to browsers
Quick Start
npm install @creativekit/serverimport { CreativeKitServer } from "@creativekit/server";
const ck = new CreativeKitServer({
apiBase: "https://api.creativekit.com",
clientId: process.env.CREATIVEKIT_CLIENT_ID!,
clientSecret: process.env.CREATIVEKIT_CLIENT_SECRET!,
});
// Create creative with presigned upload URL (AWS-style)
const creative = await ck.creatives.create("audio:podcast-aac");
// Return to frontend
res.json({
creativeId: creative.id,
uploadUrl: creative.uploadSlots?.[0]?.url,
uploadHeaders: creative.uploadSlots?.[0]?.headers,
});
// After frontend uploads, commit it
await ck.creatives.commit(creative.id);Key Methods
// Create creative + get presigned URL (AWS-style)
const creative = await ck.creatives.create(profile, options);
// Generate upload URL for existing creative
const { url } = await ck.creatives.generateUploadUrl(id);
// Commit after upload
await ck.creatives.commit(id);
// Server-side upload (Node.js only)
const result = await ck.creatives.upload({ profile, files });
// Management
await ck.creatives.get(id);
await ck.creatives.list({ status, limit });
await ck.creatives.delete(id);
await ck.creatives.cancel(id);
await ck.creatives.retry(id);
// Profiles & health
const profiles = await ck.profiles.list();
const health = await ck.health.check();📖 Full Documentation
See the main SDK documentation for:
- Complete API reference
- Architecture patterns
- Full examples (Express, Next.js, NestJS)
- Security best practices
- Troubleshooting
Security
- ✅ Use environment variables for credentials
- ✅ Never expose this SDK to browsers
- ✅ Keep
clientSecretsecure - ✅ Add auth middleware to your backend
License
MIT
