import { z } from "zod"; import { ComfyUIClient } from "../comfyui-client.js"; import { ProgressOptions } from "../progress.js"; export declare const lipSyncGenerateSchema: z.ZodObject<{ portrait_image: z.ZodString; audio: z.ZodString; model: z.ZodDefault>>; backend: z.ZodDefault>>; svd_checkpoint: z.ZodDefault>; sonic_unet: z.ZodDefault>; ip_audio_scale: z.ZodDefault>; use_interframe: z.ZodDefault>; dtype: z.ZodDefault>>; min_resolution: z.ZodDefault>; duration: z.ZodDefault>; expand_ratio: z.ZodDefault>; inference_steps: z.ZodDefault>; dynamic_scale: z.ZodDefault>; fps: z.ZodDefault>; seed: z.ZodOptional; output_path: z.ZodString; upload_to_cloud: z.ZodDefault>; }, "strip", z.ZodTypeAny, { audio: string; model: "sonic" | "dice-talk" | "hallo2" | "sadtalker"; backend: "auto" | "local" | "runpod"; output_path: string; upload_to_cloud: boolean; portrait_image: string; svd_checkpoint: string; sonic_unet: string; inference_steps: number; fps: number; ip_audio_scale: number; use_interframe: boolean; dtype: "fp16" | "fp32" | "bf16"; min_resolution: number; duration: number; expand_ratio: number; dynamic_scale: number; seed?: number | undefined; }, { audio: string; output_path: string; portrait_image: string; model?: "sonic" | "dice-talk" | "hallo2" | "sadtalker" | undefined; backend?: "auto" | "local" | "runpod" | undefined; seed?: number | undefined; upload_to_cloud?: boolean | undefined; svd_checkpoint?: string | undefined; sonic_unet?: string | undefined; inference_steps?: number | undefined; fps?: number | undefined; ip_audio_scale?: number | undefined; use_interframe?: boolean | undefined; dtype?: "fp16" | "fp32" | "bf16" | undefined; min_resolution?: number | undefined; duration?: number | undefined; expand_ratio?: number | undefined; dynamic_scale?: number | undefined; }>; export declare const talkSchema: z.ZodObject<{ text: z.ZodString; voice_reference: z.ZodString; voice_reference_text: z.ZodOptional; portrait_image: z.ZodString; backend: z.ZodDefault>>; speed: z.ZodDefault>; tts_seed: z.ZodOptional; svd_checkpoint: z.ZodDefault>; sonic_unet: z.ZodDefault>; inference_steps: z.ZodDefault>; fps: z.ZodDefault>; lipsync_seed: z.ZodOptional; output_path: z.ZodString; upload_to_cloud: z.ZodDefault>; }, "strip", z.ZodTypeAny, { backend: "auto" | "local" | "runpod"; output_path: string; upload_to_cloud: boolean; text: string; voice_reference: string; speed: number; portrait_image: string; svd_checkpoint: string; sonic_unet: string; inference_steps: number; fps: number; voice_reference_text?: string | undefined; tts_seed?: number | undefined; lipsync_seed?: number | undefined; }, { output_path: string; text: string; voice_reference: string; portrait_image: string; backend?: "auto" | "local" | "runpod" | undefined; upload_to_cloud?: boolean | undefined; voice_reference_text?: string | undefined; speed?: number | undefined; svd_checkpoint?: string | undefined; sonic_unet?: string | undefined; inference_steps?: number | undefined; fps?: number | undefined; tts_seed?: number | undefined; lipsync_seed?: number | undefined; }>; export declare const listLipSyncModelsSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>; /** * Generate a lip-synced video from portrait + audio * Optionally uploads to cloud storage if configured */ export declare function lipSyncGenerate(rawArgs: z.input, client: ComfyUIClient, progressOptions?: ProgressOptions): Promise<{ video: string; duration?: number; remote_url?: string; taskId: string; }>; /** * Full pipeline: Text → TTS → LipSync → Video * Optionally uploads to cloud storage if configured */ export declare function talk(rawArgs: z.input, client: ComfyUIClient, progressOptions?: ProgressOptions): Promise<{ video: string; text: string; remote_url?: string; taskId: string; }>; /** * List available lip-sync models */ export declare function listLipSyncModels(_args: z.infer, client: ComfyUIClient): Promise<{ sonic: { available: boolean; models: string[]; }; "dice-talk": { available: boolean; models: string[]; }; hallo2: { available: boolean; models: string[]; }; sadtalker: { available: boolean; models: string[]; }; }>;