Wan2.1 VACE アウトペイント - After
Wan2.1 VACE アウトペイント - Before

この ComfyUI ワークフローは、Wan 2.1 VACE を使って動画をアウトペイント(元のコンテンツを維持したままキャンバスを拡張)する方法を学ぶテンプレートです。LoadVideo でソースクリップを読み込み、GetVideoComponents と PreviewImage でサイズとフレーム数を取得します。次に ImagePadForOutpaint と、ImageToMask/MaskToImage から作成したマスクで拡張領域を定義し、RepeatImageBatch で時間方向に複製します。プロンプトは CLIPTextEncode でエンコードし、KSampler で生成を実行します。ModelSamplingSD3 スケジューリングを用い、Wan 2.1 VACE UNet/Decoder スタック(UNETLoader、VAELoader)上で動作し、VAEDecode が潜在をフレームへ変換します。WanVaceToVideo が動画向け条件付けを担当し、TrimVideoLatent が時間方向の形状整合を取ります。結果は CreateVideo で組み立て、SaveVideo で保存します。

技術的には、安定した推論のために2つの整合ルールが重要です。アウトペイントで設定する空間サイズは 16 で割り切れる必要があります(WanVaceToVideo と VAE の制約)。またシーケンス長は時間制約(Length - 1 が 4 で割り切れる)を満たす必要があり、TrimVideoLatent がこれを調整します。コアの Comfy ノードはまだ動画サイズ/フレーム数のユーティリティを公開していないため、このテンプレートでは実用的な回避策として PreviewImage を使用しています。利用可能ならカスタムのユーティリティノードへ置き換え可能です。ワークフローには、Wan2.1-VACE-1.3B(軽量、480p 推奨)と Wan2.1-VACE-14B(高品質、リソースが許せば 720p などの高解像度向け)のモデルグループを含みます。デフォルト設定は steps: 20、cfg: 6.0 で、任意の CausVid LoRA 調整は steps: 2〜4、cfg: 1.0 です。

API

このワークフローをコードから利用

すべてのComfyワークフローはJSONグラフです。以下のペイロードは、このワークフローそのものであり、ComfyUIが実行する内容と同じです — このURLから取得し、バージョン管理に保存したり、ComfyUIで読み込んでノードごとに実行できます。

video_wan_vace_outpainting.json
ワークフローJSONを取得中…

Comfy SDKを使ってTypeScriptまたはPythonから実行できます。同じコードでComfy Cloudや自身でホストしたComfyUIのどちらにも対応 — ベースURLだけが異なります。

// Install (beta)
npm i @comfyorg/sdk

// Run "Wan2.1 VACE アウトペイント" (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_vace_outpainting_api.json");

wf.setInput("6", "text", "your prompt here"); // CLIPTextEncode

const job = await client.run(wf);
await job.getOutputs("69")[0].toFile("output.png"); // SaveVideo

SDKはAPI形式のワークフローを受け取ります:このワークフローをComfyUIで開き、「ファイル → ワークフローをエクスポート(API)」を使用してください。

Comfy Cloud APIアクセスにはAPIキー付きプランが必要です。

FAQ

よくある質問

すべてのワークフローを見る
Showing 30 of 30 templates