Wan2.1 VACE Control Video — это направляемый рабочий процесс video-to-video, который сохраняет движение и тайминг исходного видео, одновременно меняя стиль или персонажа по текстовому запросу и референс-изображению. Он загружает чекпойнты Wan2.1 VACE (1.3B или 14B) через UNETLoader и VAELoader, кодирует ваш текст с помощью CLIPTextEncode и задаёт условие генерации контрольными сигналами, полученными из простой предобработки изображения (по умолчанию Canny). GetVideoComponents считывает кадры и FPS из входного клипа, а TrimVideoLatent удерживает латентную последовательность выровненной с выбранным диапазоном кадров и разрешением перед выборкой.
Внутри ModelSamplingSD3 настраивает ожидаемый график сэмплера для Wan2.1 VACE, а KSampler выполняет денойзинг последовательности видео-латентов, собранной WanVaceToVideo из вашего контрольного видео, промпта и референс-изображения. VAEDecode преобразует финальные латенты обратно в кадры, CreateVideo собирает их с нужным FPS, и вы можете экспортировать либо MP4 (SaveVideo), либо анимированный WebP (SaveAnimatedWEBP). Опциональная CausVid LoRA (LoraLoader) может ускорить или стабилизировать движение при очень малом числе шагов, но может потребоваться настройка силы. Модель 14B даёт более высокую точность (и поддерживает 720p), но работает медленнее и требует больше VRAM; вариант 1.3B быстрее и лучше подходит для выходов 480p.
API
Использовать этот рабочий процесс из кода
Каждый рабочий процесс Comfy — это JSON-граф. Ниже представлен payload этого процесса, точно так же, как его запускает ComfyUI: получите его по ссылке, храните в системе контроля версий или загрузите в ComfyUI и выполняйте по узлам.
Запустите его на TypeScript или Python с помощью Comfy SDK. Один и тот же код работает с Comfy Cloud или вашим собственным ComfyUI — меняется только базовый URL.
// Install (beta)
npm i @comfyorg/sdk
// Run "Wan VACE Control видео" (TypeScript)
import { Comfy } from "@comfyorg/sdk";
const client = new Comfy({ apiKey: "comfyui-..." });
// This workflow, exported in API format (see note below)
const wf = await client.workflows.fromFile("video_wan_vace_14B_v2v_api.json");
const asset = client.assets.fromFile("input.png");
wf.setInput("134", "image", asset); // LoadImage
wf.setInput("6", "text", "your prompt here"); // CLIPTextEncode
const job = await client.run(wf);
await job.getOutputs("70")[0].toFile("output.png"); // SaveAnimatedWEBPSDK принимает рабочий процесс в API-формате: откройте этот процесс в ComfyUI и используйте Файл → Экспортировать рабочий процесс (API).
Доступ к API Comfy Cloud требует плана с API-ключом.
FAQ















