/** * The "prompt in, mp4 on disk out" flow for video, mirroring generate.ts. * Kept separate so the image flow's settings shape stays exact: a clip has a * duration and a playback resolution, not a 1K/2K/4K size or a background. */ import type { VideoRegistry } from "./providers/video-registry.js"; import type { VideoAspectRatio, VideoResolution } from "./providers/video-types.js"; export declare const VIDEO_RESOLUTIONS: VideoResolution[]; export declare const VIDEO_ASPECT_RATIOS: VideoAspectRatio[]; export interface GenerateVideoOptions { registry: VideoRegistry; prompt: string; /** Friendly model name (e.g. "gemini-omni-1.1-flash"). */ model: string; /** Whole seconds; must fall within the model's supported range. */ durationSeconds?: number; resolution?: VideoResolution; aspectRatio?: VideoAspectRatio; /** See `GenerateImageOptions.outputDir`. */ outputDir?: string; /** See `GenerateImageOptions.outputBaseDir`. */ outputBaseDir?: string | null; /** Reference images sent ahead of the prompt. */ inputImages?: string[]; /** Continue an earlier clip instead of starting a new one. */ previousInteractionId?: string; } export interface GenerateVideoOutcome { /** The provider-level model id that actually ran. */ model: string; /** Absolute path of the file written. */ savedFile: string; /** Text the model returned alongside the clip, when any. */ description?: string; /** Pass back as `previousInteractionId` to extend this clip. */ interactionId?: string; settings: { durationSeconds: number; resolution: VideoResolution; aspectRatio: VideoAspectRatio; }; } export declare function generateVideoToDisk(options: GenerateVideoOptions): Promise; //# sourceMappingURL=generate-video.d.ts.map