@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
TypeScript
/**
* 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>;
}