UNPKG

media-exporter-processor

Version:

Media processing API with thumbnail generation and cloud storage

42 lines 1.92 kB
import type { ThumbnailResult } from "./ThumbnailService"; export interface UploadConfig { accessKeyId: string; secretAccessKey: string; endpoint: string; bucket: string; region?: string; } export interface UploadResult { key: string; url: string; size: number; } export interface VideoUploadResult { video: UploadResult; thumbnails: Record<number, UploadResult>; duration: number; } export interface ImageUploadResult { image: UploadResult; thumbnails: Record<number, UploadResult>; } export declare class UploadService { private s3Client; private config; constructor(config: UploadConfig); uploadVideo(videoBuffer: Buffer, filename: string, prefix?: string, metadata?: Record<string, string>): Promise<UploadResult>; uploadThumbnails(thumbnails: ThumbnailResult[], videoKey: string, prefix?: string): Promise<Record<number, UploadResult>>; uploadImage(imageBuffer: Buffer, filename: string, prefix?: string, metadata?: Record<string, string>): Promise<UploadResult>; uploadVideoWithThumbnails(videoBuffer: Buffer, filename: string, duration: number, thumbnails: ThumbnailResult[], prefix?: string, metadata?: Record<string, string>): Promise<VideoUploadResult>; uploadImageWithThumbnails(imageBuffer: Buffer, filename: string, thumbnails: ThumbnailResult[], prefix?: string, metadata?: Record<string, string>): Promise<ImageUploadResult>; deleteFile(key: string): Promise<void>; deleteVideoWithThumbnails(videoKey: string, thumbnailKeys: string[]): Promise<void>; private getPublicUrl; getPresignedUrl(key: string, expiresIn?: number): Promise<string>; getPresignedUploadUrl(key: string, contentType: string, expiresIn?: number): Promise<string>; /** * Download a file from S3 and return it as a Buffer */ downloadFile(key: string): Promise<Buffer>; } //# sourceMappingURL=UploadService.d.ts.map