export type OpenAIImageSize = "1792x1024" | "1024x1792" | "1024x1024" | "1536x1024" | "1024x1536"; export type OpenAIImageModeration = "low" | "auto"; export type OpenAIImageQuality = "low" | "medium" | "high" | "auto"; export type OpenAIImageOptions = { model: string; prompt: string; n: number; size: OpenAIImageSize; moderation?: OpenAIImageModeration; quality?: OpenAIImageQuality; background?: "opaque" | "transparent" | "auto"; }; export type AgentBufferResult = { buffer?: Buffer; saved?: string; text?: string; }; export type AgentPromptInputs = { prompt: string; }; export type AgentTextInputs = { text: string; }; export type AgentErrorResult = { error: unknown; }; export type AgentConfig = { apiKey?: string; }; export type ImageAgentInputs = AgentPromptInputs & { referenceImages: string[] | null | undefined; }; export type OpenAIImageAgentInputs = AgentPromptInputs & { referenceImages: string[] | null | undefined; }; export type ImageAgentParams = { model: string; canvasSize: { width: number; height: number; }; vertexai_project?: string; vertexai_location?: string; }; export type OpenAIImageAgentParams = ImageAgentParams & { moderation: OpenAIImageModeration | null | undefined; quality?: OpenAIImageQuality; }; export type ReplicateImageAgentParams = { model: `${string}/${string}` | undefined; canvasSize: { width: number; height: number; }; aspectRatio?: string; outputSize?: number; steps?: number; guidanceScale?: number; }; export type OpenAIImageAgentConfig = { baseURL?: string; apiKey?: string; apiVersion?: string; }; export type GoogleImageAgentConfig = { projectId?: string; token?: string; }; export type GenAIImageAgentConfig = { apiKey?: string; }; export type ReplicateImageAgentConfig = AgentConfig; export type MovieReferenceImage = { imagePath: string; referenceType: "ASSET" | "STYLE"; }; export type MovieAgentInputs = AgentPromptInputs & { imagePath?: string; lastFrameImagePath?: string; referenceImages?: MovieReferenceImage[]; movieFile: string; }; export type GoogleMovieAgentParams = ImageAgentParams & { duration?: number; vertexai_project?: string; vertexai_location?: string; generateAudio?: boolean; }; export type ReplicateMovieAgentParams = { model: `${string}/${string}` | undefined; canvasSize: { width: number; height: number; }; duration?: number; generateAudio?: boolean; }; export type ReplicateSoundEffectAgentParams = { model: `${string}/${string}` | undefined; duration?: number; }; export type SoundEffectAgentInputs = AgentPromptInputs & { soundEffectFile: string; movieFile: string; }; export type ReplicateLipSyncAgentParams = { model: `${string}/${string}` | undefined; duration?: number; }; export type LipSyncAgentInputs = { lipSyncFile: string; movieFile: string; audioFile: string; imageFile: string; }; export type GoogleMovieAgentConfig = GoogleImageAgentConfig; export type ReplicateMovieAgentConfig = AgentConfig; export type ReplicateSoundEffectAgentConfig = AgentConfig; export type ReplicateLipSyncAgentConfig = AgentConfig; export type TTSAgentParams = { suppressError: boolean; voice: string; }; export type OpenAITTSAgentParams = TTSAgentParams & { instructions: string; model: string; speed: number; }; export type KotodamaTTSAgentParams = TTSAgentParams & { decoration: string; }; export type GoogleTTSAgentParams = TTSAgentParams & { speed: number; model: string; instructions: string; }; export type ElevenlabsTTSAgentParams = TTSAgentParams & { model: string; stability: number; similarityBoost: number; speed: number; };