@mrt_dev/cloudinary-kit
v1.0.2
Published
Lightweight Node.js/TypeScript library for Cloudinary uploads and management
Maintainers
Readme
CloudinaryNodeKit
Notice:
- Requires TypeScript 5.2 or higher (for
moduleResolution: NodeNextand proper ESM support)- Requires Node.js 16 or higher
- Compatible with both CommonJS (CJS) and ESM projects
- Designed for backend Node.js / server-side usage. Browser usage is not recommended due to
Bufferdependency.
CloudinaryNodeKit is a lightweight and easy-to-use Node.js library for integrating Cloudinary uploads and media management into TypeScript and JavaScript projects. It supports uploading images and videos from local files or buffers, detects MIME types automatically, and provides secure URL access.
Features
- Upload images from local files
- Upload images from in-memory buffers (
Buffer) - Upload videos using Cloudinary's
videoresource type - Delete media using Cloudinary
public_id - Fully typed TypeScript support
- Supports Node.js, ESM, and CJS
- Generates
.d.tsdeclarations for type safety
Installation
npm install cloudinarykit
# or
yarn add cloudinarykitUSAGE
import { CloudinaryKit } from "cloudinarykit";
import fs from "fs";
const kit = new CloudinaryKit({
cloudName: process.env.CLOUDINARY_CLOUD_NAME!,
apiKey: process.env.CLOUDINARY_API_KEY!,
apiSecret: process.env.CLOUDINARY_API_SECRET!,
});
// Upload image from file
const imageUrl = await kit.uploadFile("path/to/image.jpg", "profiles", "user_123");
console.log("Image URL:", imageUrl);
// Upload image from buffer
const buffer = fs.readFileSync("path/to/image.jpg");
const bufferUrl = await kit.uploadBytes(buffer, "profiles", "user_123_buffer");
console.log("Buffer URL:", bufferUrl);
// Upload video
const videoUrl = await kit.uploadVideoFile("path/to/video.mp4", "videos", "video_123");
console.log("Video URL:", videoUrl);
// Delete media
const deleted = await kit.delete("profiles/user_123");
console.log("Deleted:", deleted);
import fs from "fs";
const kit = new CloudinaryKit({
cloudName: process.env.CLOUDINARY_CLOUD_NAME!,
apiKey: process.env.CLOUDINARY_API_KEY!,
apiSecret: process.env.CLOUDINARY_API_SECRET!,
});
// Upload image from file
const imageUrl = await kit.uploadFile("path/to/image.jpg", "profiles", "user_123");
console.log("Image URL:", imageUrl);
// Upload image from buffer
const buffer = fs.readFileSync("path/to/image.jpg");
const bufferUrl = await kit.uploadBytes(buffer, "profiles", "user_123_buffer");
console.log("Buffer URL:", bufferUrl);
// Upload video
const videoUrl = await kit.uploadVideoFile("path/to/video.mp4", "videos", "video_123");
console.log("Video URL:", videoUrl);
// Delete media
const deleted = await kit.delete("profiles/user_123");
console.log("Deleted:", deleted);
import { CloudinaryKit } from "cloudinarykit";
import fs from "fs";
const kit = new CloudinaryKit({
cloudName: process.env.CLOUDINARY_CLOUD_NAME!,
apiKey: process.env.CLOUDINARY_API_KEY!,
apiSecret: process.env.CLOUDINARY_API_SECRET!,
});
// Upload image from file
const imageUrl = await kit.uploadFile("path/to/image.jpg", "profiles", "user_123");
console.log("Image URL:", imageUrl);
// Upload image from buffer
const buffer = fs.readFileSync("path/to/image.jpg");
const bufferUrl = await kit.uploadBytes(buffer, "profiles", "user_123_buffer");
console.log("Buffer URL:", bufferUrl);
// Upload video
const videoUrl = await kit.uploadVideoFile("path/to/video.mp4", "videos", "video_123");
console.log("Video URL:", videoUrl);
// Delete media
const deleted = await kit.delete("profiles/user_123");
console.log("Deleted:", deleted);
