From 3e777ad4bd484b1c27bd3537ae458fd63d05d41a Mon Sep 17 00:00:00 2001 From: lin-bot23 Date: Tue, 2 Jun 2026 19:06:53 +0800 Subject: [PATCH] Add Causal Forcing I2V tutorial (EN/ZH/JA) --- docs.json | 5 +- ja/tutorials/video/wan/wan-causal-forcing.mdx | 116 ++++++++++++++++++ tutorials/video/wan/wan-causal-forcing.mdx | 116 ++++++++++++++++++ zh/tutorials/video/wan/wan-causal-forcing.mdx | 116 ++++++++++++++++++ 4 files changed, 352 insertions(+), 1 deletion(-) create mode 100644 ja/tutorials/video/wan/wan-causal-forcing.mdx create mode 100644 tutorials/video/wan/wan-causal-forcing.mdx create mode 100644 zh/tutorials/video/wan/wan-causal-forcing.mdx diff --git a/docs.json b/docs.json index e0b3441f4..8ed835b01 100644 --- a/docs.json +++ b/docs.json @@ -265,6 +265,7 @@ "group": "Wan2.1", "pages": [ "tutorials/video/wan/wan-video", + "tutorials/video/wan/wan-causal-forcing", "tutorials/video/wan/vace", "tutorials/video/wan/wan-move", "tutorials/video/wan/wan-alpha", @@ -2691,6 +2692,7 @@ "group": "Wan2.1", "pages": [ "zh/tutorials/video/wan/wan-video", + "zh/tutorials/video/wan/wan-causal-forcing", "zh/tutorials/video/wan/vace", "zh/tutorials/video/wan/wan-move", "zh/tutorials/video/wan/wan-alpha", @@ -5122,6 +5124,7 @@ "group": "Wan2.1", "pages": [ "ja/tutorials/video/wan/wan-video", + "ja/tutorials/video/wan/wan-causal-forcing", "ja/tutorials/video/wan/vace", "ja/tutorials/video/wan/wan-move", "ja/tutorials/video/wan/wan-alpha", @@ -7583,4 +7586,4 @@ "destination": "/zh/:slug*" } ] -} +} \ No newline at end of file diff --git a/ja/tutorials/video/wan/wan-causal-forcing.mdx b/ja/tutorials/video/wan/wan-causal-forcing.mdx new file mode 100644 index 000000000..4b1420be4 --- /dev/null +++ b/ja/tutorials/video/wan/wan-causal-forcing.mdx @@ -0,0 +1,116 @@ +--- +title: "Causal Forcing 画像から動画 ComfyUI ワークフロー例" +description: "Wan2.1 の Causal Forcing または Causal Forcing++ を使用して、画像から動画を生成します。わずか 1 ステップの推論で滑らかで時間的に一貫性のある動画を実現します。" +sidebarTitle: "Causal Forcing I2V" +--- + +import UpdateReminder from '/snippets/ja/tutorials/update-reminder.mdx' + +**Causal Forcing(因果強制)** は、推論時に **リカレント条件付け** を適用する動画生成技術です。各フレームが生成されるたびにモデルにフィードバックされ、次のフレームを予測するために使用されます。たった **1 〜 4 ステップの推論** で、1 枚の開始画像から滑らかで時間的に一貫性のある動画を生成できます。 + +このワークフローは **Wan2.1** をベースにしており、**Causal Forcing**(標準)と **Causal Forcing++**(拡張)の両方のモードをサポートしています。 + +Causal Forcing 画像から動画ワークフロー + + + + + + JSON をダウンロード、またはテンプレートライブラリで "Causal Forcing" を検索 + + + +## 仕組み + +標準的な動画生成がすべてのフレームを並列処理するのに対し、Causal Forcing は動画生成を **逐次プロセス** として扱います: + +1. モデルは入力画像を **最初のフレーム** として受け取る +2. 前のフレームに条件付けされて次のフレームを生成する +3. 生成されたフレームが次の予測の入力となる +4. 目的のフレーム数に達するまで繰り返す + +このリカレントアプローチにより **強い時間的一貫性** が生まれ、わずか 1〜4 ステップの推論で高品質な結果が得られます。 + + + このワークフローはサブグラフノードを使用してモジュール化された処理を行います。サブグラフのドキュメントを参照して、ワークフローをカスタマイズおよび拡張する方法を学んでください。 + + +### Causal Forcing と Causal Forcing++ + +| モード | 説明 | +|---|---| +| **Causal Forcing** | 標準のリカレント条件付け。2〜4 ステップで良好な品質。 | +| **Causal Forcing++** | 拡張モード。追加の条件付けにより時間的コヒーレンスが向上。1〜2 ステップでも良好。 | + +## ワークフローの使用 + +### 入力 + +ワークフローは 1 枚の入力画像(最初のフレーム)と、動画内容を説明するテキストプロンプト(オプション)を受け付けます。 + +| 設定 | 説明 | +|---|---| +| **first_frame**(必須) | 動画の開始画像。**LoadImage** ノードで PNG/JPG を読み込みます。 | +| **positive_prompt**(オプション) | 希望する動画内容のテキスト説明。空欄の場合は条件付けなし。 | +| **duration**(オプション) | 生成するフレーム数。デフォルトはモデルが期待する出力フレーム数。 | + +### WAN I2V サブグラフパラメータ + +これらのパラメータはブループリントサブグラフノード上で直接操作できます: + +| パラメータ | デフォルト | 説明 | +|---|---|---| +| `unet_name` | — | 使用する Wan2.1 I2V モデルチェックポイント | +| `clip_name` | — | プロンプト用の CLIP / テキストエンコーダーモデル | +| `vae_name` | — | エンコード/デコード用の VAE モデル | +| `width` | — | 出力動画の幅 | +| `height` | — | 出力動画の高さ | +| `noise_seed` | — | 再現性のためのシード値 | + +## 実行手順 + +1. **画像を読み込む** — **LoadImage** ノードで開始フレームを読み込みます +2. **プロンプトを入力**(オプション)— 希望する動画内容を記述します +3. **フレーム数を設定** — 生成するフレーム数を指定します +4. **モデルを選択** — Wan2.1 I2V チェックポイント、CLIP、VAE を選択します +5. **モードを選択** — Causal Forcing または Causal Forcing++ +6. **実行** — フレームが逐次生成され `ComfyUI/output/` に保存されます + +## モデルダウンロード + +Wan2.1 I2V モデルと必要なファイルをダウンロードします。対応する `models/` サブディレクトリに配置してください。 + +### Wan2.1 I2V + + + + wan2.1_i2v_480p_14B_fp16.safetensors — Wan2.1 I2V 14B チェックポイント + + + wan2.1_t2v_1.3B_fp16.safetensors — Wan2.1 1.3B チェックポイント(最小 8GB VRAM) + + + +### CLIP と VAE + + + + google-bert/bert-base-uncased — CLIP テキストエンコーダー + + + Wan2.1_VAE_bf16.safetensors — Wan2.1 VAE + + + +### モデル保存場所 + +``` +📂 ComfyUI/ +├── 📂 models/ +│ ├── 📂 diffusion_models/ +│ │ └── wan2.1_i2v_480p_14B_fp16.safetensors(または 1.3B 版) +│ ├── 📂 text_encoders/ +│ │ └── bert-base-uncased(フォルダ、model.safetensors を含む) +│ └── 📂 vae/ +│ └── Wan2.1_VAE_bf16.safetensors +``` diff --git a/tutorials/video/wan/wan-causal-forcing.mdx b/tutorials/video/wan/wan-causal-forcing.mdx new file mode 100644 index 000000000..da05d019f --- /dev/null +++ b/tutorials/video/wan/wan-causal-forcing.mdx @@ -0,0 +1,116 @@ +--- +title: "Causal Forcing I2V ComfyUI Workflow Example" +description: "Generate videos from images using Causal Forcing or Causal Forcing++ with Wan2.1 — achieving smooth, temporally consistent video in as few as 1 inference step." +sidebarTitle: "Causal Forcing I2V" +--- + +import UpdateReminder from '/snippets/tutorials/update-reminder.mdx' + +**Causal Forcing** is a video generation technique that applies **recurrent conditioning** during inference, where each generated frame is fed back into the model to predict the next frame. This produces smooth, temporally consistent videos from a single start image in as few as **1 to 4 inference steps**. + +This workflow uses **Wan2.1** and supports both **Causal Forcing** (standard) and **Causal Forcing++** (enhanced) modes. + +Causal Forcing I2V workflow + + + + + + Download JSON or search "Causal Forcing" in Template Library + + + +## How it works + +Unlike standard video generation which processes all frames in parallel, Causal Forcing treats video generation as a **sequential process**: + +1. The model takes an input image as the **first frame** +2. It generates the next frame conditioned on the previous one +3. Each new frame becomes the input for the next prediction +4. This repeats for the desired number of frames + +This recurrent approach creates **strong temporal consistency** — each frame naturally follows from the one before it — and can produce high-quality results with very few inference steps (1 to 4). + + + This workflow uses a Subgraph node for modular processing. Check out the Subgraph documentation to learn how to customize and extend the workflow. + + +### Causal Forcing vs Causal Forcing++ + +| Mode | Description | +|---|---| +| **Causal Forcing** | Standard recurrent conditioning. Good quality with 2–4 steps. | +| **Causal Forcing++** | Enhanced mode that applies additional conditioning for better temporal coherence. Works well with just 1–2 steps. | + +## Using the workflow + +### Inputs + +The workflow accepts a single input image (the first frame) and a text prompt describing the desired video content (optional). + +| Setting | Description | +|---|---| +| **first_frame** (required) | The starting image for the video. Load a PNG/JPG via the **LoadImage** node. | +| **positive_prompt** (optional) | A text description of the desired video content. Leave empty for no conditioning. | +| **duration** (optional) | The number of frames to generate. Default: number of frames in the model's expected output. | + +### WAN I2V subgraph parameters + +These are exposed as controls on the blueprint subgraph node: + +| Parameter | Default | Description | +|---|---|---| +| `unet_name` | — | The Wan2.1 I2V model checkpoint to use | +| `clip_name` | — | The CLIP / text encoder model for the prompt | +| `vae_name` | — | The VAE model for encoding/decoding | +| `width` | — | Output video width | +| `height` | — | Output video height | +| `noise_seed` | — | Seed for reproducibility | + +## Steps to run + +1. **Load an image** — use the **LoadImage** node to load your starting frame +2. **Write a prompt** (optional) — describe the desired video content +3. **Set duration** — how many frames to generate +4. **Select models** — choose Wan2.1 I2V checkpoint, CLIP, and VAE +5. **Choose mode** — Causal Forcing or Causal Forcing++ (set via the subgraph's internal configuration or a Causal Forcing-specific input if available) +6. **Run** — frames will be generated sequentially and saved to `ComfyUI/output/` + +## Model downloads + +Download the Wan2.1 I2V model and required files. Place them in the corresponding `models/` subdirectories. + +### Wan2.1 I2V + + + + wan2.1_i2v_480p_14B_fp16.safetensors — Wan2.1 I2V 14B checkpoint + + + wan2.1_t2v_1.3B_fp16.safetensors — Wan2.1 1.3B checkpoint (8GB VRAM minimum) + + + +### CLIP and VAE + + + + google-bert/bert-base-uncased — CLIP text encoder + + + Wan2.1_VAE_bf16.safetensors — Wan2.1 VAE + + + +### Model storage location + +``` +📂 ComfyUI/ +├── 📂 models/ +│ ├── 📂 diffusion_models/ +│ │ └── wan2.1_i2v_480p_14B_fp16.safetensors (or 1.3B variant) +│ ├── 📂 text_encoders/ +│ │ └── bert-base-uncased (folder with model.safetensors) +│ └── 📂 vae/ +│ └── Wan2.1_VAE_bf16.safetensors +``` diff --git a/zh/tutorials/video/wan/wan-causal-forcing.mdx b/zh/tutorials/video/wan/wan-causal-forcing.mdx new file mode 100644 index 000000000..62324a6a1 --- /dev/null +++ b/zh/tutorials/video/wan/wan-causal-forcing.mdx @@ -0,0 +1,116 @@ +--- +title: "Causal Forcing 图生视频 ComfyUI 工作流示例" +description: "使用 Wan2.1 的 Causal Forcing 或 Causal Forcing++ 从图片生成视频——只需 1 步推理即可获得流畅、时序一致的视频。" +sidebarTitle: "Causal Forcing I2V" +--- + +import UpdateReminder from '/snippets/zh/tutorials/update-reminder.mdx' + +**Causal Forcing(因果强制)** 是一种视频生成技术,在推理过程中应用 **循环条件控制**:每一帧生成后都会作为输入反馈给模型,用于预测下一帧。通过这种方式,仅需 **1 到 4 步推理**,就能从单张起始图片生成流畅、时序一致的视频。 + +此工作流基于 **Wan2.1**,支持 **Causal Forcing**(标准)和 **Causal Forcing++**(增强)两种模式。 + +Causal Forcing 图生视频工作流 + + + + + + 下载 JSON 或在模板库中搜索 "Causal Forcing" + + + +## 工作原理 + +与标准视频生成(并行处理所有帧)不同,Causal Forcing 将视频生成视为一个 **顺序过程**: + +1. 模型将输入图像作为 **首帧** +2. 基于前一帧生成下一帧 +3. 每生成一帧都作为下一帧的输入 +4. 重复此过程直到生成目标帧数 + +这种循环方法带来了 **很强的时序一致性**——每帧自然地承接前一帧——并且仅需很少的推理步数(1 到 4 步)即可生成高质量结果。 + + + 本工作流使用子图节点进行模块化处理。查看子图文档了解如何自定义和扩展工作流。 + + +### Causal Forcing 与 Causal Forcing++ + +| 模式 | 说明 | +|---|---| +| **Causal Forcing** | 标准循环条件控制。2–4 步即可获得良好质量。 | +| **Causal Forcing++** | 增强模式,应用额外条件控制以获得更好的时序连贯性。仅需 1–2 步即可工作。 | + +## 使用工作流 + +### 输入 + +工作流接受一张输入图片(首帧)和一个描述视频内容的文本提示(可选)。 + +| 设置 | 说明 | +|---|---| +| **first_frame**(必填) | 视频的起始图像。通过 **LoadImage** 节点加载 PNG/JPG。 | +| **positive_prompt**(可选) | 对期望视频内容的文字描述。留空则无文本条件控制。 | +| **duration**(可选) | 生成帧数。默认为模型期望输出的帧数。 | + +### WAN I2V 子图参数 + +这些参数直接暴露在蓝图子图节点上: + +| 参数 | 默认值 | 说明 | +|---|---|---| +| `unet_name` | — | 使用的 Wan2.1 I2V 模型检查点 | +| `clip_name` | — | 用于提示词的 CLIP / 文本编码器模型 | +| `vae_name` | — | 用于编码/解码的 VAE 模型 | +| `width` | — | 输出视频宽度 | +| `height` | — | 输出视频高度 | +| `noise_seed` | — | 可复现结果的随机种子 | + +## 运行步骤 + +1. **加载图片** — 使用 **LoadImage** 节点加载起始帧 +2. **编写提示词**(可选)— 描述期望的视频内容 +3. **设置帧数** — 生成多少帧 +4. **选择模型** — 选择 Wan2.1 I2V 检查点、CLIP 和 VAE +5. **选择模式** — Causal Forcing 或 Causal Forcing++ +6. **运行** — 帧将按顺序生成并保存到 `ComfyUI/output/` + +## 模型下载 + +下载 Wan2.1 I2V 模型及所需文件。放入对应的 `models/` 子目录。 + +### Wan2.1 I2V + + + + wan2.1_i2v_480p_14B_fp16.safetensors — Wan2.1 I2V 14B 检查点 + + + wan2.1_t2v_1.3B_fp16.safetensors — Wan2.1 1.3B 检查点(最低 8GB 显存) + + + +### CLIP 和 VAE + + + + google-bert/bert-base-uncased — CLIP 文本编码器 + + + Wan2.1_VAE_bf16.safetensors — Wan2.1 VAE + + + +### 模型存放位置 + +``` +📂 ComfyUI/ +├── 📂 models/ +│ ├── 📂 diffusion_models/ +│ │ └── wan2.1_i2v_480p_14B_fp16.safetensors(或 1.3B 版本) +│ ├── 📂 text_encoders/ +│ │ └── bert-base-uncased(文件夹,内含 model.safetensors) +│ └── 📂 vae/ +│ └── Wan2.1_VAE_bf16.safetensors +```