diff --git a/docs.json b/docs.json index e0b3441f4..7f924e55e 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,8 @@ "group": "Wan2.1", "pages": [ "ja/tutorials/video/wan/wan-video", + "ja/tutorials/video/wan/wan-causal-forcing", + "ko/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 +7587,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/ko/tutorials/video/wan/wan-causal-forcing.mdx b/ko/tutorials/video/wan/wan-causal-forcing.mdx new file mode 100644 index 000000000..7f90de227 --- /dev/null +++ b/ko/tutorials/video/wan/wan-causal-forcing.mdx @@ -0,0 +1,116 @@ +--- +title: "Causal Forcing I2V ComfyUI 워크플로우 예제" +description: "Causal Forcing 또는 Causal Forcing++와 Wan2.1을 사용하여 이미지에서 비디오를 생성합니다 — 단 1회의 추론 단계로 부드럽고 시간적으로 일관된 비디오 구현" +sidebarTitle: "Causal Forcing I2V" +--- + +import UpdateReminder from '/snippets/ko/tutorials/update-reminder.mdx' + +**Causal Forcing**은 추론 중 **반복적 조건화**를 적용하는 비디오 생성 기술로, 생성된 각 프레임이 모델에 다시 입력되어 다음 프레임을 예측합니다. 이를 통해 단일 시작 이미지에서 **1~4회의 추론 단계**만으로 부드럽고 시간적으로 일관된 비디오를 생성할 수 있습니다. + +이 워크플로우는 **Wan2.1**을 사용하며, **Causal Forcing**(표준) 및 **Causal Forcing++**(향상) 모드를 모두 지원합니다. + +Causal Forcing I2V 워크플로우 + + + + + + JSON 다운로드 또는 템플릿 라이브러리에서 "Causal Forcing" 검색 + + + +## 작동 방식 + +모든 프레임을 병렬로 처리하는 표준 비디오 생성과 달리, Causal Forcing은 비디오 생성을 **순차적 프로세스**로 처리합니다: + +1. 모델이 입력 이미지를 **첫 번째 프레임**으로 사용 +2. 이전 프레임을 조건으로 다음 프레임 생성 +3. 각 새 프레임이 다음 예측의 입력이 됨 +4. 원하는 프레임 수만큼 반복 + +이 반복적 접근 방식은 **강력한 시간적 일관성**을 만들어냅니다 — 각 프레임이 자연스럽게 이전 프레임에서 이어지며 — 매우 적은 추론 단계(1~4회)로도 고품질 결과를 생성할 수 있습니다. + + + 이 워크플로우는 모듈식 처리를 위해 서브그래프 노드를 사용합니다. 서브그래프 문서를 확인하여 워크플로우를 사용자 정의하고 확장하는 방법을 알아보세요. + + +### Causal Forcing vs 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++ (서브그래프 내부 구성 또는 사용 가능한 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 +```