Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 9 additions & 5 deletions docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -306,7 +306,8 @@
"tutorials/video/wan/fun-control",
"tutorials/video/wan/fun-camera",
"tutorials/video/wan/fun-inp",
"tutorials/video/wan/wan-flf"
"tutorials/video/wan/wan-flf",
"tutorials/video/wan/scail2"
]
}
]
Expand Down Expand Up @@ -2831,7 +2832,8 @@
"zh/tutorials/video/wan/fun-control",
"zh/tutorials/video/wan/fun-camera",
"zh/tutorials/video/wan/fun-inp",
"zh/tutorials/video/wan/wan-flf"
"zh/tutorials/video/wan/wan-flf",
"zh/tutorials/video/wan/scail2"
]
}
]
Expand Down Expand Up @@ -5356,7 +5358,8 @@
"ja/tutorials/video/wan/fun-control",
"ja/tutorials/video/wan/fun-camera",
"ja/tutorials/video/wan/fun-inp",
"ja/tutorials/video/wan/wan-flf"
"ja/tutorials/video/wan/wan-flf",
"ja/tutorials/video/wan/scail2"
]
}
]
Expand Down Expand Up @@ -7959,7 +7962,8 @@
"ko/tutorials/video/wan/fun-control",
"ko/tutorials/video/wan/fun-camera",
"ko/tutorials/video/wan/fun-inp",
"ko/tutorials/video/wan/wan-flf"
"ko/tutorials/video/wan/wan-flf",
"ko/tutorials/video/wan/scail2"
]
}
]
Expand Down Expand Up @@ -10390,4 +10394,4 @@
"destination": "/zh/:slug*"
}
]
}
}
134 changes: 134 additions & 0 deletions ja/tutorials/video/wan/scail2.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
---
title: "ComfyUI SCAIL-2 キャラクター置換ワークフローチュートリアル"
description: "SCAIL-2 を使用して、参照キャラクター画像を駆動ビデオの動きで駆動し、キャラクターアニメーションやビデオ内キャラクター置換を実現します。"
sidebarTitle: "SCAIL-2"
---

import UpdateReminder from '/snippets/ja/tutorials/update-reminder.mdx'

**SCAIL-2** は、Wan2.1 上に構築されたエンドツーエンドのキャラクターアニメーションモデルです。駆動ビデオの動きを参照キャラクター画像に転送することで、キャラクターアニメーション(キャラクターに動きを実行させる)とビデオ内キャラクター置換(追跡された人物を参照キャラクターに置き換える)を可能にします。

**主な機能**:
- **エンドツーエンドのキャラクターアニメーション**:駆動ビデオの動きで静止キャラクター画像を駆動
- **2つのモード**:アニメーションモード(キャラクターが動きを実行)と置換モード(追跡人物を参照キャラクターに置き換え)
- **長尺ビデオ対応**:チャンクベースの重複フレーム拡張生成
- **組み込み ComfyUI ノード**:ネイティブの `WanSCAILToVideo`、`SCAIL2ColoredMask`、`SAM3` トラッキングを使用。標準モデルダウンロード以外にカスタムノードは不要

**関連リンク**:
- [Hugging Face: SCAIL-2](https://huggingface.co/zai-org/SCAIL-2)
- [SCAIL-2 拡散モデル](https://huggingface.co/Comfy-Org/SCAIL-2)

## SCAIL-2 キャラクター置換ワークフロー

<CardGroup cols={2}>
<Card title="Comfy Cloud で実行" icon="cloud" href="https://cloud.comfy.org/?template=video_wan21_scail2_character_replacement&utm_source=docs&utm_medium=referral&utm_campaign=scail2">
Comfy Cloud で開く
</Card>
<Card title="ワークフローをダウンロード" icon="download" href="https://github.com/Comfy-Org/workflow_templates/blob/main/templates/video_wan21_scail2_character_replacement.json">
JSON をダウンロードするか、テンプレートライブラリで "SCAIL-2" を検索
</Card>
</CardGroup>

<UpdateReminder />

## ワークフローの仕組み

このワークフローは、2つのサブグラフノード——**Base** サブグラフ(最初のセグメント)と **Extend** サブグラフ(以降のセグメント)——を使用して、ショートビデオとロングビデオの両方のキャラクターアニメーションをサポートします。

1. 駆動ビデオ(`pose_video`)と参照キャラクター画像を**読み込み**
2. **Base サブグラフ** が最初のセグメント(デフォルト 81 フレーム)を処理
3. **Extend サブグラフ** が 2 番目以降のセグメントを処理し、前のセグメントの `previous_frames` を連鎖
4. 結果をプレビューして保存

<Card title="サブグラフについて" icon="book-open" href="/ja/interface/features/subgraph">
このワークフローはモジュール処理に Subgraph ノードを使用します。ワークフローのカスタマイズと拡張については、サブグラフのドキュメントをご覧ください。
</Card>

### 長尺ビデオ

長いビデオの場合は、セグメント数を計算します:`ceil(total_frames / 76)`。最初のセグメント以外はすべて Extend サブグラフを使用します。さらにセグメントを追加するには Extend ノードを複製し、`previous_frames` 出力を連鎖させ、`segment_index` を増やします。

> **注意:** `WanSCAILToVideo` はすべてのセグメントを自動でキューできません——各セグメントは手動で実行してください。

## 2つのモード

| モード | `replace_mode` | 駆動ビデオマスク背景 | 説明 |
|--------|:--------------:|:-------------------:|------|
| **置換モード** | `true`(デフォルト) | 白 | 駆動ビデオで追跡された人物を参照キャラクターに置き換え |
| **アニメーションモード** | `false` | 黒 | 参照キャラクターが駆動ビデオの動きを実行 |

両方のサブグラフノードで `replace_mode` パラメータを設定します。

## 入力とパラメータ

### 共通パラメータ(Base と Extend)

| パラメータ | 説明 |
|-----------|-------------|
| `pose_video` | 動きを転送する駆動ビデオ |
| `reference_image` | アニメーション化または挿入するキャラクター画像 |
| `prompt` | 出力ビデオの説明 |
| `replace_mode` | `true` = 置換モード、`false` = アニメーションモード |
| `segment_index` | `1` = 最初のチャンク、`2+` = 継続。ポーズオフセット = `76 × (インデックス − 1)` |
| `width` / `height` | 出力解像度(例: `896×512`)。16 で割り切れる必要あり |
| `frame_count` | セグメントあたりのフレーム数(デフォルト: 81) |
| `previous_frame_count` | セグメント間の重複フレーム数(デフォルト: 5) |
| `pose_strength` / `pose_start` / `pose_end` | ポーズ条件付けの強度とタイミング |

### SAM3 トラッキング(2つの入力)

`sam3_video_object` と `sam3_image_object` 入力は、SAM3 マスクトラッキングを制御します——**SCAIL-2 の出力プロンプトではありません**。これらはカラーマスクでどのオブジェクトを追跡するかを決定します:

| 入力 | ターゲット | 出力 |
|-------|--------|--------|
| `sam3_video_object` | 駆動ビデオ | `pose_video_mask` |
| `sam3_image_object` | 参照画像 | `reference_image_mask` |

- オープンボキャブラリテキストを使用(デフォルト: `human`)
- ビデオと参照で対象が同じ場合は同じ用語を使用
- ビデオと参照で異なるフォーカスが必要な場合(例:混雑したシーン)は異なる用語を使用

## モデルのインストール

まず ComfyUI を最新バージョンに更新して、組み込みの WanSCAILToVideo および SCAIL2ColoredMask ノードを入手してください。

### 必要なモデル

**diffusion_models**
- [wan2.1_14B_SCAIL_2_fp16.safetensors](https://huggingface.co/Comfy-Org/SCAIL-2/resolve/main/diffusion_models/wan2.1_14B_SCAIL_2_fp16.safetensors)

**text_encoders**(いずれか)
- [umt5_xxl_fp8_e4m3fn_scaled.safetensors](https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/text_encoders/umt5_xxl_fp8_e4m3fn_scaled.safetensors)

**clip_vision**
- [clip_vision_h.safetensors](https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/clip_vision/clip_vision_h.safetensors)

**vae**
- [Wan2_1_VAE_bf16.safetensors](https://huggingface.co/Kijai/WanVideo_comfy/resolve/main/Wan2_1_VAE_bf16.safetensors)

**loras**
- [lightx2v_I2V_14B_480p_cfg_step_distill_rank64_bf16.safetensors](https://huggingface.co/Kijai/WanVideo_comfy/resolve/main/Lightx2v/lightx2v_I2V_14B_480p_cfg_step_distill_rank64_bf16.safetensors)
- [wan2.1_SCAIL_2_DPO_lora_bf16.safetensors](https://huggingface.co/Comfy-Org/SCAIL-2/resolve/main/loras/wan2.1_SCAIL_2_DPO_lora_bf16.safetensors)

**checkpoints**
- [sam3.1_multiplex_fp16.safetensors](https://huggingface.co/Comfy-Org/sam3.1/resolve/main/checkpoints/sam3.1_multiplex_fp16.safetensors)

### ファイル保存場所

```
ComfyUI/
├── models/
│ ├── diffusion_models/
│ │ └── wan2.1_14B_SCAIL_2_fp16.safetensors
│ ├── text_encoders/
│ │ └── umt5_xxl_fp8_e4m3fn_scaled.safetensors
│ ├── clip_vision/
│ │ └── clip_vision_h.safetensors
│ ├── vae/
│ │ └── Wan2_1_VAE_bf16.safetensors
│ ├── loras/
│ │ ├── lightx2v_I2V_14B_480p_cfg_step_distill_rank64_bf16.safetensors
│ │ └── wan2.1_SCAIL_2_DPO_lora_bf16.safetensors
│ └── checkpoints/
│ └── sam3.1_multiplex_fp16.safetensors
```
134 changes: 134 additions & 0 deletions ko/tutorials/video/wan/scail2.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
---
title: "ComfyUI SCAIL-2 캐릭터 교체 워크플로우 튜토리얼"
description: "SCAIL-2 모델을 사용하여 참조 캐릭터 이미지를 구동 비디오의 움직임으로 구동하여 캐릭터 애니메이션 또는 비디오 내 캐릭터 교체를 구현합니다."
sidebarTitle: "SCAIL-2"
---

import UpdateReminder from '/snippets/ko/tutorials/update-reminder.mdx'

**SCAIL-2**는 Wan2.1 기반의 엔드투엔드 캐릭터 애니메이션 모델입니다. 구동 비디오의 움직임을 참조 캐릭터 이미지에 전송하여 캐릭터 애니메이션(캐릭터가 동작을 수행하도록 함)과 비디오 내 캐릭터 교체(추적된 인물을 참조 캐릭터로 대체)를 가능하게 합니다.

**주요 기능**:
- **엔드투엔드 캐릭터 애니메이션**: 구동 비디오의 움직임으로 정적 캐릭터 이미지 구동
- **두 가지 모드**: 애니메이션 모드(캐릭터가 동작 수행)와 교체 모드(추적된 인물을 참조 캐릭터로 대체)
- **긴 비디오 지원**: 청크 기반 중첩 프레임 확장 생성
- **내장 ComfyUI 노드**: 네이티브 `WanSCAILToVideo`, `SCAIL2ColoredMask`, `SAM3` 트래킹 사용. 표준 모델 다운로드 외에 사용자 정의 노드 불필요

**관련 링크**:
- [Hugging Face: SCAIL-2](https://huggingface.co/zai-org/SCAIL-2)
- [SCAIL-2 확산 모델](https://huggingface.co/Comfy-Org/SCAIL-2)

## SCAIL-2 캐릭터 교체 워크플로우

<CardGroup cols={2}>
<Card title="Comfy Cloud에서 실행" icon="cloud" href="https://cloud.comfy.org/?template=video_wan21_scail2_character_replacement&utm_source=docs&utm_medium=referral&utm_campaign=scail2">
Comfy Cloud에서 열기
</Card>
<Card title="워크플로우 다운로드" icon="download" href="https://github.com/Comfy-Org/workflow_templates/blob/main/templates/video_wan21_scail2_character_replacement.json">
JSON 다운로드 또는 템플릿 라이브러리에서 "SCAIL-2" 검색
</Card>
</CardGroup>

<UpdateReminder />

## 워크플로우 작동 방식

이 워크플로우는 두 개의 서브그래프 노드——**Base** 서브그래프(첫 번째 세그먼트)와 **Extend** 서브그래프(이후 세그먼트)——를 사용하여 짧은 비디오와 긴 비디오 모두에서 캐릭터 애니메이션을 지원합니다.

1. 구동 비디오(`pose_video`)와 참조 캐릭터 이미지 **로드**
2. **Base 서브그래프**가 첫 번째 세그먼트(기본 81프레임) 처리
3. **Extend 서브그래프**가 두 번째 이상의 세그먼트를 처리하며, 이전 세그먼트의 `previous_frames` 연결
4. 결과 미리보기 및 저장

<Card title="서브그래프 알아보기" icon="book-open" href="/ko/interface/features/subgraph">
이 워크플로우는 모듈식 처리를 위해 Subgraph 노드를 사용합니다. 서브그래프 문서에서 워크플로우를 사용자 정의하고 확장하는 방법을 알아보세요.
</Card>

### 긴 비디오

긴 비디오의 경우 세그먼트 수를 계산합니다: `ceil(total_frames / 76)`. 첫 번째 세그먼트를 제외한 모든 세그먼트는 Extend 서브그래프를 사용합니다. 더 많은 세그먼트를 추가하려면 Extend 노드를 복제하고 `previous_frames` 출력을 연결한 다음 `segment_index`를 증가시킵니다.

> **참고:** `WanSCAILToVideo`는 모든 세그먼트를 자동으로 대기열에 넣을 수 없습니다——각 세그먼트를 수동으로 실행하세요.

## 두 가지 모드

| 모드 | `replace_mode` | 구동 비디오 마스크 배경 | 설명 |
|------|:--------------:|:---------------------:|------|
| **교체 모드** | `true`(기본값) | 흰색 | 구동 비디오에서 추적된 인물을 참조 캐릭터로 교체 |
| **애니메이션 모드** | `false` | 검은색 | 참조 캐릭터가 구동 비디오의 동작 수행 |

두 서브그래프 노드 모두에서 `replace_mode` 매개변수를 설정합니다.

## 입력 및 매개변수

### 공통 매개변수(Base 및 Extend)

| 매개변수 | 설명 |
|-----------|-------------|
| `pose_video` | 움직임을 전송할 구동 비디오 |
| `reference_image` | 애니메이션화하거나 삽입할 캐릭터 이미지 |
| `prompt` | 출력 비디오 설명 |
| `replace_mode` | `true` = 교체 모드, `false` = 애니메이션 모드 |
| `segment_index` | `1` = 첫 번째 청크, `2+` = 연속. 포즈 오프셋 = `76 × (인덱스 − 1)` |
| `width` / `height` | 출력 해상도(예: `896×512`). 16으로 나누어 떨어져야 함 |
| `frame_count` | 세그먼트당 프레임 수(기본값: 81) |
| `previous_frame_count` | 세그먼트 간 중첩 프레임 수(기본값: 5) |
| `pose_strength` / `pose_start` / `pose_end` | 포즈 조건화 강도 및 타이밍 |

### SAM3 트래킹(두 개의 입력)

`sam3_video_object` 및 `sam3_image_object` 입력은 SAM3 마스크 트래킹을 제어합니다——**SCAIL-2의 출력 프롬프트가 아닙니다**. 이들은 컬러 마스크로 추적할 객체를 결정합니다:

| 입력 | 대상 | 출력 |
|-------|--------|--------|
| `sam3_video_object` | 구동 비디오 | `pose_video_mask` |
| `sam3_image_object` | 참조 이미지 | `reference_image_mask` |

- 개방형 어휘 텍스트 사용(기본값: `human`)
- 비디오와 참조에서 대상이 같으면 동일한 용어 사용
- 비디오와 참조에서 다른 초점이 필요한 경우(예: 혼잡한 장면) 다른 용어 사용

## 모델 설치

먼저 ComfyUI를 최신 버전으로 업데이트하여 내장된 WanSCAILToVideo 및 SCAIL2ColoredMask 노드를 확보하세요.

### 필요한 모델

**diffusion_models**
- [wan2.1_14B_SCAIL_2_fp16.safetensors](https://huggingface.co/Comfy-Org/SCAIL-2/resolve/main/diffusion_models/wan2.1_14B_SCAIL_2_fp16.safetensors)

**text_encoders**(하나 선택)
- [umt5_xxl_fp8_e4m3fn_scaled.safetensors](https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/text_encoders/umt5_xxl_fp8_e4m3fn_scaled.safetensors)

**clip_vision**
- [clip_vision_h.safetensors](https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/resolve/main/split_files/clip_vision/clip_vision_h.safetensors)

**vae**
- [Wan2_1_VAE_bf16.safetensors](https://huggingface.co/Kijai/WanVideo_comfy/resolve/main/Wan2_1_VAE_bf16.safetensors)

**loras**
- [lightx2v_I2V_14B_480p_cfg_step_distill_rank64_bf16.safetensors](https://huggingface.co/Kijai/WanVideo_comfy/resolve/main/Lightx2v/lightx2v_I2V_14B_480p_cfg_step_distill_rank64_bf16.safetensors)
- [wan2.1_SCAIL_2_DPO_lora_bf16.safetensors](https://huggingface.co/Comfy-Org/SCAIL-2/resolve/main/loras/wan2.1_SCAIL_2_DPO_lora_bf16.safetensors)

**checkpoints**
- [sam3.1_multiplex_fp16.safetensors](https://huggingface.co/Comfy-Org/sam3.1/resolve/main/checkpoints/sam3.1_multiplex_fp16.safetensors)

### 파일 저장 위치

```
ComfyUI/
├── models/
│ ├── diffusion_models/
│ │ └── wan2.1_14B_SCAIL_2_fp16.safetensors
│ ├── text_encoders/
│ │ └── umt5_xxl_fp8_e4m3fn_scaled.safetensors
│ ├── clip_vision/
│ │ └── clip_vision_h.safetensors
│ ├── vae/
│ │ └── Wan2_1_VAE_bf16.safetensors
│ ├── loras/
│ │ ├── lightx2v_I2V_14B_480p_cfg_step_distill_rank64_bf16.safetensors
│ │ └── wan2.1_SCAIL_2_DPO_lora_bf16.safetensors
│ └── checkpoints/
│ └── sam3.1_multiplex_fp16.safetensors
```
Loading
Loading