/** * VideoAgent - Video analysis and processing agent * * Python parity with praisonaiagents/agent/video_agent.py * Analyzes videos using AI models. */ /** * Configuration for Video settings. */ export interface VideoConfig { /** Maximum video duration in seconds */ maxDuration?: number; /** Frame extraction rate (frames per second) */ frameRate?: number; /** Maximum frames to analyze */ maxFrames?: number; /** Timeout in seconds */ timeout?: number; /** Enable audio transcription */ transcribeAudio?: boolean; } /** * Result of video analysis. */ export interface VideoResult { /** Overall description */ description: string; /** Per-frame analysis */ frames?: Array<{ timestamp: number; description: string; }>; /** Audio transcription if available */ transcript?: string; /** Duration in seconds */ duration?: number; /** Additional metadata */ metadata?: Record; } /** * Configuration for creating a VideoAgent. */ export interface VideoAgentConfig { /** Agent name */ name?: string; /** LLM model */ llm?: string; /** Video configuration */ video?: boolean | VideoConfig; /** System instructions */ instructions?: string; /** Enable verbose output */ verbose?: boolean; } /** * Agent for video analysis and processing. * * @example * ```typescript * import { VideoAgent } from 'praisonai'; * * const agent = new VideoAgent({ llm: 'gpt-4o' }); * * // Analyze a video * const result = await agent.analyze('https://example.com/video.mp4'); * console.log(result.description); * ``` */ export declare class VideoAgent { static readonly DEFAULT_MODEL = "gpt-4o"; readonly name: string; private readonly llm; private readonly instructions?; private readonly verbose; private readonly videoConfig; private readonly agent; constructor(config: VideoAgentConfig); private buildSystemPrompt; private log; /** * Analyze a video and return a detailed description. */ analyze(videoUrl: string): Promise; /** * Ask a question about a video. */ ask(question: string, videoUrl: string): Promise; /** * Describe the contents of a video. */ describe(videoUrl: string): Promise; /** * Summarize a video. */ summarize(videoUrl: string): Promise; /** * Extract key moments from a video. */ extractKeyMoments(videoUrl: string): Promise; } /** * Create a VideoAgent instance. */ export declare function createVideoAgent(config: VideoAgentConfig): VideoAgent;