この 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で読み込んでノードごとに実行できます。
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"); // SaveVideoSDKはAPI形式のワークフローを受け取ります:このワークフローをComfyUIで開き、「ファイル → ワークフローをエクスポート(API)」を使用してください。
FAQ















