
此 ComfyUI 工作流使用 Wan 2.2 14B Fun Camera Control 将单张静态图像转换为平滑、由虚拟相机驱动的视频。它通过 UNETLoader 与 ModelSamplingSD3 加载 Wan 2.2 模型,用 CLIPLoader + CLIPTextEncode 编码文本提示词,并用 WanCameraEmbedding 构建相机路径。WanCameraImageToVideo 节点将提示词、起始图像与相机 embedding 融合,生成在时间上保持一致、符合平移/缩放/旋转指令的帧序列。帧由 VAELoader + VAEDecode 解码,经 CreateVideo 组装,并通过 SaveVideo 输出。
在实现上,工作流用 KSamplerAdvanced 进行两段式去噪:先在 High noise 阶段建立运动、结构与视差,再在 Low noise 阶段细化细节并降低闪烁。这种分离有助于在相机动态移动时保持主体稳定。模板包含可选的 LightX2V 4 Steps LoRA(通过 LoraLoaderModelOnly)以牺牲运动丰富度与细节来加速生成;若追求更好的动态效果,请使用 Default(Without Lightning LoRA)路径。提供的 fp8_scaled Wan 2.2 checkpoint 针对 640×640 优化;在 RTX 4090D 24GB 上,该分辨率下通常占用约 ~84% 显存,首次运行约 536 秒,后续运行约 ~513 秒。
API
通过代码使用此工作流
每个 Comfy 工作流都是一个 JSON 图。下面的内容就是此工作流的完整数据,ComfyUI 运行时也是如此——你可以从该 URL 获取、放入版本控制,或在 ComfyUI 中加载并逐节点运行。
使用 Comfy SDK 从 TypeScript 或 Python 运行。相同代码可用于 Comfy Cloud 或你自托管的 ComfyUI——只需更改基础 URL。
// Install (beta)
npm i @comfyorg/sdk
// Run "Wan 2.2 14B Fun 相机控制" (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_wan2_2_14B_fun_camera_api.json");
const asset = client.assets.fromFile("input.png");
wf.setInput("97", "image", asset); // LoadImage
wf.setInput("107", "text", "your prompt here"); // CLIPTextEncode
const job = await client.run(wf);
await job.getOutputs("73")[0].toFile("output.png"); // SaveVideoSDK 需要 API 格式的工作流:在 ComfyUI 中打开此工作流,使用 文件 → 导出工作流(API)。
常见问题













