import { z } from "zod"; import { ComfyUIClient } from "../comfyui-client.js"; import { ProgressOptions } from "../progress.js"; /** * Conventional locations in ComfyUI input folder: * - avatars/ -> Portrait images for lip-sync * - voices/ -> Voice reference audio for TTS cloning */ export declare const AVATAR_SUBFOLDER = "avatars"; export declare const VOICE_SUBFOLDER = "voices"; export declare const listAvatarsSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>; export declare const listVoicesCatalogSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>; export declare const createPortraitSchema: z.ZodObject<{ description: z.ZodString; style: z.ZodDefault>>; gender: z.ZodOptional>; age: z.ZodOptional; expression: z.ZodDefault>>; backend: z.ZodDefault>>; model: z.ZodOptional; guidance: z.ZodDefault>; steps: z.ZodDefault>; seed: z.ZodOptional; width: z.ZodDefault>; height: z.ZodDefault>; output_path: z.ZodString; upload_to_cloud: z.ZodDefault>; }, "strip", z.ZodTypeAny, { description: string; style: "realistic" | "artistic" | "anime" | "furry"; expression: "neutral" | "slight_smile" | "serious" | "friendly"; backend: "sdxl" | "flux_gguf" | "flux_fp8"; guidance: number; steps: number; width: number; height: number; output_path: string; upload_to_cloud: boolean; model?: string | undefined; gender?: "male" | "female" | "androgynous" | undefined; age?: string | undefined; seed?: number | undefined; }, { description: string; output_path: string; model?: string | undefined; style?: "realistic" | "artistic" | "anime" | "furry" | undefined; gender?: "male" | "female" | "androgynous" | undefined; age?: string | undefined; expression?: "neutral" | "slight_smile" | "serious" | "friendly" | undefined; backend?: "sdxl" | "flux_gguf" | "flux_fp8" | undefined; guidance?: number | undefined; steps?: number | undefined; seed?: number | undefined; width?: number | undefined; height?: number | undefined; upload_to_cloud?: boolean | undefined; }>; export declare const batchCreatePortraitsSchema: z.ZodObject<{ portraits: z.ZodArray>; gender: z.ZodOptional>; age: z.ZodOptional; expression: z.ZodOptional>; model: z.ZodString; name: z.ZodString; }, "strip", z.ZodTypeAny, { model: string; description: string; name: string; style?: "realistic" | "artistic" | "anime" | "furry" | undefined; gender?: "male" | "female" | "androgynous" | undefined; age?: string | undefined; expression?: "neutral" | "slight_smile" | "serious" | "friendly" | undefined; }, { model: string; description: string; name: string; style?: "realistic" | "artistic" | "anime" | "furry" | undefined; gender?: "male" | "female" | "androgynous" | undefined; age?: string | undefined; expression?: "neutral" | "slight_smile" | "serious" | "friendly" | undefined; }>, "many">; backend: z.ZodDefault>>; output_dir: z.ZodString; steps: z.ZodDefault>; guidance: z.ZodDefault>; }, "strip", z.ZodTypeAny, { backend: "sdxl" | "flux_gguf" | "flux_fp8"; guidance: number; steps: number; portraits: { model: string; description: string; name: string; style?: "realistic" | "artistic" | "anime" | "furry" | undefined; gender?: "male" | "female" | "androgynous" | undefined; age?: string | undefined; expression?: "neutral" | "slight_smile" | "serious" | "friendly" | undefined; }[]; output_dir: string; }, { portraits: { model: string; description: string; name: string; style?: "realistic" | "artistic" | "anime" | "furry" | undefined; gender?: "male" | "female" | "androgynous" | undefined; age?: string | undefined; expression?: "neutral" | "slight_smile" | "serious" | "friendly" | undefined; }[]; output_dir: string; backend?: "sdxl" | "flux_gguf" | "flux_fp8" | undefined; guidance?: number | undefined; steps?: number | undefined; }>; /** * List available avatar portraits from ComfyUI input/avatars folder */ export declare function listAvatars(_args: z.infer, client: ComfyUIClient): Promise<{ avatars: Array<{ filename: string; subfolder: string; }>; convention: string; }>; /** * List available voice references from ComfyUI input/voices folder * More structured than list_voices - shows catalog with metadata */ export declare function listVoicesCatalog(_args: z.infer, client: ComfyUIClient): Promise<{ voices: Array<{ filename: string; subfolder: string; format: string; }>; convention: string; }>; /** * Generate a portrait image optimized for lip-sync * Supports multiple backends: Flux GGUF, Flux FP8, SDXL * Optionally uploads to cloud storage if configured */ export declare function createPortrait(args: z.infer, client: ComfyUIClient, progressOptions?: ProgressOptions): Promise<{ image: string; prompt: string; model: string; remote_url?: string; taskId: string; }>; /** * Batch generate multiple portraits with different models * Perfect for testing or creating a library of talking heads */ export declare function batchCreatePortraits(args: z.infer, client: ComfyUIClient): Promise<{ results: Array<{ name: string; image: string; prompt: string; model: string; success: boolean; error?: string; remote_url?: string; }>; summary: { total: number; succeeded: number; failed: number; }; }>;