Ce workflow ComfyUI génère de courtes vidéos guidées par prompt à partir d’une seule image tout en suivant précisément une trajectoire de caméra ou de sujet définie par l’utilisateur. Il utilise le modèle Wan 2.1 I2V ATI pour combiner guidage texte, image de référence et JSON de trajectoire afin que le mouvement de la caméra ou de l’objet ne soit pas laissé au hasard. Les nœuds principaux incluent UNETLoader (Wan2_1-I2V-ATI-14B_fp8_e4m3fn.safetensors) et VAELoader (wan_2.1_vae.safetensors) pour la diffusion, CLIPLoader et CLIPTextEncode pour le conditionnement du prompt, CLIPVisionLoader et CLIPVisionEncode pour le conditionnement image, et WanTrackToVideo pour appliquer le contrôle de trajectoire. KSampler (piloté par ModelSamplingSD3) effectue le débruitage, VAEDecode transforme les latents en images, et CreateVideo + SaveVideo assemble le résultat.
Techniquement, le workflow encode vos prompts positifs/négatifs via CLIPTextEncode et extrait les caractéristiques visuelles de l’image d’entrée avec CLIPVisionEncode. Le nœud PrimitiveStringMultiline contient le JSON de trajectoire exporté depuis Trajectory-Annotation-Tool ; WanTrackToVideo consomme ce JSON et injecte le contrôle de mouvement image par image dans le processus de sampling. ModelSamplingSD3 configure le scheduler pour que KSampler débruite de façon compatible avec l’entraînement de Wan 2.1. Après sampling, VAEDecode reconstruit les images, et CreateVideo les assemble à la résolution et FPS choisis. Sur un 4090D 24Go en 720x480, comptez environ 500 secondes pour un premier run à froid et 463 secondes pour les suivants (temps réel variable selon les réglages).
API
Use this workflow from code
Every Comfy workflow is a JSON graph. The payload below is this workflow, exactly as ComfyUI runs it — fetch it from the URL, keep it in version control, or load it in ComfyUI and run it node by node.
Run it from TypeScript or Python with the Comfy SDK. The same code targets Comfy Cloud or a ComfyUI you host yourself — only the base URL changes.
// Install (beta)
npm i @comfyorg/sdk
// Run "Wan ATI" (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_ati_api.json");
const asset = client.assets.fromFile("input.png");
wf.setInput("240", "image", asset); // LoadImage
wf.setInput("6", "text", "your prompt here"); // CLIPTextEncode
const job = await client.run(wf);
await job.getOutputs("258")[0].toFile("output.png"); // SaveVideoThe SDK takes a workflow in API format: open this workflow in ComfyUI and use File → Export Workflow (API).
Comfy Cloud API access requires a plan with an API key.
FAQ
















