UNPKG

@juspay/neurolink

Version:

Universal AI Development Platform with working MCP integration, multi-provider support, voice (TTS/STT/realtime), and professional CLI. 58+ external MCP servers discoverable, multimodal file processing, RAG pipelines. Build, test, and deploy AI applicatio

61 lines (60 loc) 2.63 kB
/** * Video Generation Processing Utility * * Central registry + dispatch for video-generation handlers across * providers (Vertex Veo, Kling, Runway, Replicate-hosted models, etc.). * * Mirrors the static-handler-registry pattern established by * `TTSProcessor` (`utils/ttsProcessor.ts`) and `STTProcessor` * (`utils/sttProcessor.ts`). * * @module utils/videoProcessor */ import { VIDEO_ERROR_CODES } from "../constants/videoErrors.js"; import type { VideoGenerationResult, VideoHandler, VideoOutputOptions, VideoTransitionOptions } from "../types/index.js"; import { VideoError } from "../adapters/video/vertexVideoHandler.js"; export { VideoError, VIDEO_ERROR_CODES }; /** * Static processor managing the video handler registry. * * Handlers register themselves during `ProviderRegistry._doRegister()` * via `VideoProcessor.registerHandler(name, instance)`. Lookups are * O(1) on a normalised lower-case provider key. */ export declare class VideoProcessor { private static readonly handlers; /** * Register a video handler for a specific provider. */ static registerHandler(providerName: string, handler: VideoHandler): void; /** * Check if a provider has a registered video handler. */ static supports(providerName: string): boolean; /** * List the names of all registered providers. */ static listProviders(): string[]; private static getHandler; private static buildSpanAttributes; /** * Generate a single video clip via the registered handler. * * @param provider - Registered provider name (e.g. "vertex", "kling") * @param image - Source image buffer * @param prompt - Text prompt describing the desired motion / content * @param options - Resolution / length / aspect-ratio / audio options * @param region - Optional region override (Vertex location, etc.) * @throws VideoError on registry miss, handler-not-configured, or * generation failure */ static generate(provider: string, image: Buffer, prompt: string, options: VideoOutputOptions, region?: string): Promise<VideoGenerationResult>; /** * Generate a transition clip via the registered handler (Director Mode). * * Providers without first-and-last-frame interpolation surface a typed * `TRANSITION_NOT_SUPPORTED` error here; callers should fall back to * generating a regular clip with a transition prompt. */ static generateTransition(provider: string, firstFrame: Buffer, lastFrame: Buffer, prompt: string, options?: VideoTransitionOptions, region?: string): Promise<Buffer>; }