UNPKG

@imgly/plugin-ai-video-generation-web

Version:

AI video generation plugin for the CE.SDK editor

67 lines (66 loc) 2.4 kB
import { CommonPluginConfiguration, GetProvider, Output, Provider, VideoOutput } from '@imgly/plugin-ai-generation-web'; /** * Configuration to set provider and models for video generation. */ export interface PluginConfiguration<I, O extends Output> extends CommonPluginConfiguration<'video', I, O> { providers?: { /** * Provider of a model for video generation just from a (prompt) text. */ text2video?: GetProvider<'video'>[] | GetProvider<'video'>; /** * Provider of a model for video generation from a given image. */ image2video?: GetProvider<'video'>[] | GetProvider<'video'>; }; /** * Provider of a model for video generation just from a (prompt) text. * @deprecated Use `providers.text2video` instead. */ text2video?: GetProvider<'video'>[] | GetProvider<'video'>; /** * Provider of a model for video generation from a given image. * @deprecated Use `providers.image2video` instead. */ image2video?: GetProvider<'video'>[] | GetProvider<'video'>; } /** * Input types for video-specific quick actions * This interface is extended by individual quick action files using module augmentation */ export interface VideoQuickActionInputs { } /** * Type-safe support mapping for image quick actions * Allows `true` or `{}` when the quick action input type extends the provider input type */ export type VideoQuickActionSupport<I, K extends keyof VideoQuickActionInputs> = VideoQuickActionInputs[K] extends I ? true | { mapInput: (input: VideoQuickActionInputs[K]) => I; } | { [key: string]: any; } : { mapInput: (input: VideoQuickActionInputs[K]) => I; }; /** * Type-safe mapping for video quick action support */ export type VideoQuickActionSupportMap<I> = { [K in keyof VideoQuickActionInputs]?: VideoQuickActionSupport<I, K>; } & { [key: string]: true | { mapInput: (input: any) => I; } | { [key: string]: any; }; }; /** * Video provider extension with type-safe quick action support * Only parameterized by K (the quick action key), O is fixed to VideoOutput */ export interface VideoProvider<I> extends Provider<'video', I, VideoOutput> { input: Omit<Provider<'video', I, VideoOutput>['input'], 'quickActions'> & { quickActions?: { supported?: VideoQuickActionSupportMap<I>; }; }; }