wan-flf-video について
ComfyUIでWAN 2.2の始点・終点フレーム間の動画を生成するためのスキルです。必須のHi-Lo 2段階サンプリングと、ネイティブおよびWanVideoWrapperの構成を説明します。
主な機能
- 01Hi-Lo 2段階サンプリング
- 02ネイティブとWanVideoWrapperの構成
- 03モデルとLoRAの設定ガイド
- 04フレームのリサイズと条件付け
- 05オプションのSeedVR2アップスケーリング
活用シーン
- 01始点と終点の画像から遷移動画を生成
- 02WAN 2.2のサンプリングワークフローを設定
- 03WanVideoWrapperでキャッシュやコンテキストウィンドウを利用
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ artokun/ comfyui-mcp --skill wan-flf-videoインストール後、Claude Code で/wan-flf-videoを入力して読み込まれたか確認します。
同梱ファイルreferences/workflows.md
詳細
WAN 2.2 First-Last-Frame(FLF)動画ワークフロー
概要
First-Last-Frame(FLF)動画生成では、開始画像と終了画像を入力し、その間を滑らかに遷移する動画を生成します。WAN 2.2 I2V(Image-to-Video)14B モデルは、この用途に適しています。
重要:Hi-Lo デュアルアーキテクチャ(必須)
WAN 2.2 I2V はノイズを分割するアーキテクチャを採用しています。 WAN 2.1 と異なり、2.2 モデルは異なるノイズ除去範囲を扱う HighNoise と LowNoise のコンポーネントを分けて学習しています。2 パスの KSamplerAdvanced 構成で、両方のモデルを必ず使用してください。 モデルを 1 つだけ使用すると、品質が低く、出力が破損します。
- HighNoise モデル(パス 1、ステップ 0→N/2)は、構造、動き、構図を決定します
- LowNoise モデル(パス 2、ステップ N/2→N)は、ディテールを調整し、入力フレームへの忠実度を保ちます
- 両方のパスで、
WanFirstLastFrameToVideoの同じコンディショニングを共有します - パス 1 はノイズのある潜在表現を返し、パス 2 はそこから処理を続行します
WAN 2.2 I2V では、モデルを 1 つだけ使う単一の KSampler を絶対に使用しないでください。
次の 2 つのネイティブな方法を使用できます。
- ネイティブ Hi-Lo デュアル方式(デフォルト):
WanFirstLastFrameToVideo+ デュアルKSamplerAdvancedの 2 パス構成 - WanVideoWrapper:
WanVideoVACEStartToEndFrame+WanVideoVACEEncode+WanVideoSampler(VACE、キャッシュ、コンテキストウィンドウ)
モデル
UNET ペア(Hi と Lo の両方を必ず読み込む)
Remix NSFW(推奨、lightning 組み込み、fp16):
| Model | Loader | Notes |
|---|---|---|
Wan2.2_Remix_NSFW_i2v_14b_high_lighting_fp16_v2.1.safetensors | UNETLoader | HighNoise、lightning 高速化を内蔵 |
Wan2.2_Remix_NSFW_i2v_14b_low_lighting_fp16_v2.1.safetensors | UNETLoader | LowNoise、lightning 高速化を内蔵 |
GGUF Q8(代替、外部 lightning LoRA が必要):
| Model | Loader | Notes |
|---|---|---|
Wan2.2-I2V-A14B-HighNoise-Q8_0.gguf | UnetLoaderGGUF | HighNoise、量子化済み |
Wan2.2-I2V-A14B-LowNoise-Q8_0.gguf | UnetLoaderGGUF | LowNoise、量子化済み |
公式 fp8:
| Model | Loader | Notes |
|---|---|---|
wan2.2_i2v_high_noise_14B_fp8_scaled.safetensors | UNETLoader | HighNoise、lightning LoRA が必要 |
wan2.2_i2v_low_noise_14B_fp8_scaled.safetensors | UNETLoader | LowNoise、lightning LoRA が必要 |
テキストエンコーダー
| Model | Node | Notes |
|---|---|---|
nsfw_wan_umt5-xxl_bf16_fixed.safetensors | CLIPLoaderGGUF (type=wan) | NSFW 向けに調整済み、Remix モデルと組み合わせて使用 |
umt5_xxl_fp8_e4m3fn_scaled.safetensors | CLIPLoader (type=wan) | 標準 UMT5-XXL fp8 |
CLIP Vision + VAE
| Component | Node | Model |
|---|---|---|
| CLIP Vision | CLIPVisionLoader | clip_vision_h.safetensors |
| VAE | VAELoader | wan_2.1_vae.safetensors |
ModelSamplingSD3(必須)
WAN 2.2 はフローマッチングを使用しているため、各 UNET に ModelSamplingSD3 を適用する必要があります。
{"class_type": "ModelSamplingSD3", "inputs": {"model": ["<unet>", 0], "shift": 5}}
lightning/Remix モデルでは shift=5 を設定します。標準(lightning なし)モデルでは shift=8 を設定します。
Lightning LoRA
Remix NSFW モデルには lightning が組み込まれています。外部 LoRA は不要です。
GGUF/fp8 モデルでは、Hi/Lo ペアの lightning LoRA を使用します。
wan2.2_i2v_lightx2v_4steps_lora_v1_high_noise.safetensors→ HighNoise UNETwan2.2_i2v_lightx2v_4steps_lora_v1_low_noise.safetensors→ LowNoise UNET
LoRA スタック(rgthree)
各モデルパスには、4 つの LoRA スロットに対応したローダーが 2 つスタックされています(Common + Specific)。
Hi path: UNETLoader(HN) → ModelSamplingSD3(shift=5) → Hi Common Stack → Hi Lora Stack → MODEL_HI
Lo path: UNETLoader(LN) → ModelSamplingSD3(shift=5) → Lo Common Stack → Lo Lora Stack → MODEL_LO
Common スタックには共有 LoRA(品質/スタイル)を設定します。Specific スタックにはモデルバリアント固有の LoRA を設定します。使用しないスロットには "None" を設定してください。LoRA を使用しない場合も、スタックを含めてください。スタックはテキストエンコーディング用に CLIP をそのまま渡します。
画像のリサイズ(ImageResizeKJv2)
FLF と CLIPVisionEncode の前に、入力フレームを必ず動画の目標解像度にリサイズしてください。終了フレームは開始フレームのリサイズ後の幅と高さを引き継ぐため、サイズが一致します。
{"class_type": "ImageResizeKJv2", "inputs": {
"image": ["<load_image>", 0], "width": 480, "height": 720,
"upscale_method": "nearest-exact", "keep_proportion": "crop",
"pad_color": "0, 0, 0", "crop_position": "center", "divisible_by": 2
}}
KSamplerAdvanced の 2 パス設定
| パラメーター | パス 1(Hi) | パス 2(Lo) |
|---|---|---|
| model | Hi LoRA stack の出力 | Lo LoRA stack の出力 |
| add_noise | 有効 | 無効 |
| steps | 4 | 4 |
| cfg | 1 | 1 |
| sampler_name | uni_pc | uni_pc |
| scheduler | beta | beta |
| start_at_step | 0 | 2 |
| end_at_step | 2 | 4 |
| return_with_leftover_noise | 有効 | 無効 |
| latent_image | WanFLF の出力[2] | パス 1 の出力[0] |
両方のパスで、WanFirstLastFrameToVideo の出力 [0] と [1] の同じポジティブ/ネガティブ条件付けを使用します。
標準(lightning ではない)モデルの場合:steps=20、step 10 で分割、cfg=4、sampler=euler、scheduler=simple、shift=8。
ネガティブプロンプト(必須)
品質を高めるため、必ずネガティブプロンプトを含めてください。
The tones are vibrant, overexposed, static, details are unclear, subtitles, style, work, painting, image, still, overall grayish, worst quality, low quality, JPEG compression artifacts, ugly, incomplete, extra fingers, poorly drawn hands, poorly drawn faces, deformed, disfigured, distorted limbs, merged fingers, motionless image, cluttered background, three legs, many people in the background, walking backwards
ノード:WanFirstLastFrameToVideo
Required Inputs:
- positive: CONDITIONING (from CLIPTextEncode)
- negative: CONDITIONING (from CLIPTextEncode with negative prompt)
- vae: VAE
- width: INT (from ImageResizeKJv2 end frame output[1])
- height: INT (from ImageResizeKJv2 end frame output[2])
- length: INT (default 81, step 4) — number of frames
- batch_size: INT (default 1)
Optional Inputs:
- clip_vision_start_image: CLIP_VISION_OUTPUT (from CLIPVisionEncode)
- clip_vision_end_image: CLIP_VISION_OUTPUT (from CLIPVisionEncode)
- start_image: IMAGE (resized start frame)
- end_image: IMAGE (resized end frame)
Outputs:
- [0] positive: CONDITIONING → feed to BOTH Hi and Lo KSamplerAdvanced
- [1] negative: CONDITIONING → feed to BOTH Hi and Lo KSamplerAdvanced
- [2] latent: LATENT → feed to Hi Pass only (Lo Pass gets Hi Pass output)
パイプラインの流れ
UNETLoader (HighNoise) → ModelSamplingSD3 (shift=5) → Hi Common Stack → Hi Lora Stack → MODEL_HI
UNETLoader (LowNoise) → ModelSamplingSD3 (shift=5) → Lo Common Stack → Lo Lora Stack → MODEL_LO
CLIPLoaderGGUF (wan) → CLIP
├─ CLIPTextEncode (positive) → CONDITIONING
└─ CLIPTextEncode (negative) → CONDITIONING
CLIPVisionLoader → CLIPVisionEncode (start) + CLIPVisionEncode (end)
VAELoader → VAE
LoadImage (start) → ImageResizeKJv2 (480x720) → resized start
LoadImage (end) → ImageResizeKJv2 (match dims) → resized end
WanFirstLastFrameToVideo (positive, negative, vae, clip_vision_start, clip_vision_end,
start_image, end_image, width/height from resize)
→ modified positive [0], modified negative [1], latent [2]
KSamplerAdvanced (Hi: MODEL_HI, steps 0→2, add_noise=enable, return_leftover=enable)
→ noisy LATENT
KSamplerAdvanced (Lo: MODEL_LO, steps 2→4, add_noise=disable, return_leftover=disable)
→ final LATENT
VAEDecode → IMAGE → VHS_VideoCombine (raw output)
→ VRAM_Debug → SeedVR2VideoUpscaler (1080p) → VHS_VideoCombine (upscaled)
完全なワークフロー(API JSON)
完全な Native FLF(Remix NSFW + Lightning)グラフは、references/workflows.md にあります。
オプション:SeedVR2 による動画アップスケーリング
AI による動画の 1080p アップスケーリングを行うには、VAEDecode の後に追加します。生成とアップスケーリングの間に VRAM を解放するには、VRAM_Debug を使用してください。
{
"25": { "class_type": "VRAM_Debug", "inputs": {
"image_pass": ["23", 0], "empty_cache": true, "gc_collect": true, "unload_all_models": true
}},
"26": { "class_type": "SeedVR2LoadDiTModel", "inputs": {
"model": "seedvr2_ema_3b_fp8_e4m3fn.safetensors", "device": "cuda:0",
"blocks_to_swap": 0, "swap_io_components": false, "cache_model": false, "attention_mode": "sdpa"
}},
"27": { "class_type": "SeedVR2LoadVAEModel", "inputs": {
"model": "ema_vae_fp16.safetensors", "device": "cuda:0",
"encode_tiled": false, "decode_tiled": false, "cache_model": false
}},
"28": { "class_type": "SeedVR2VideoUpscaler", "inputs": {
"image": ["25", 1], "dit": ["26", 0], "vae": ["27", 0],
"seed": 0, "resolution": 1080, "max_resolution": 0,
"batch_size": 5, "uniform_batch_size": false, "color_correction": "lab"
}},
"29": { "class_type": "VHS_VideoCombine", "inputs": {
"images": ["28", 0], "frame_rate": 16, "loop_count": 0,
"filename_prefix": "wan_flf_upscaled", "format": "video/h264-mp4",
"pingpong": false, "save_output": true,
"pix_fmt": "yuv420p", "crf": 19, "save_metadata": true, "trim_to_audio": false
}}
}
代替方法:Lightning LoRA を使用した GGUF モデル
Remix の代わりに GGUF Q8 モデルを使用する場合は、ペアの lightning LoRA を追加します。
Hi path: UnetLoaderGGUF(HN Q8) → ModelSamplingSD3(shift=5) → LoraLoaderModelOnly(hi_noise_lightning) → Hi Common Stack → Hi Lora Stack
Lo path: UnetLoaderGGUF(LN Q8) → ModelSamplingSD3(shift=5) → LoraLoaderModelOnly(lo_noise_lightning) → Lo Common Stack → Lo Lora Stack
LoRA ファイル:
Unknown\no tags\wan2.2_i2v_lightx2v_4steps_lora_v1_high_noise.safetensorsUnknown\no tags\wan2.2_i2v_lightx2v_4steps_lora_v1_low_noise.safetensors
方法 2:WanVideoWrapper(高度な制御)
WanVideoWrapper カスタムノードパックを使用して、条件付け、キャッシュ、コンテキストウィンドウ、高度な機能をより細かく制御します。
Native との主な違い
- 汎用の
MODEL型ではなく、WANVIDEOMODEL型を使用します CONDITIONINGではなく、条件付けにWANVIDIMAGE_EMBEDSを使用します- シフトパラメーターとスケジューラーオプションを備えた独自のサンプラー(
WanVideoSampler)があります - 速度最適化のための TeaCache、MagCache、EasyCache をサポートします
- より長い動画向けのコンテキストウィンドウをサポートします
- VACE モジュールにより、より柔軟なフレーム条件付けが可能です
VACE ベースの FLF パイプライン
WanVideoModelLoader → WANVIDEOMODEL
WanVideoVAELoader → WANVAE
WanVideoTextEncode → WANVIDEOTEXTEMBEDS
WanVideoClipVisionEncode (start + end images) → WANVIDIMAGE_CLIPEMBEDS
WanVideoVACEStartToEndFrame (start_image, end_image, num_frames=81)
→ images batch, masks
WanVideoVACEEncode (vae, input_frames, input_masks, width, height, num_frames)
→ WANVIDIMAGE_EMBEDS (vace_embeds)
WanVideoSampler (model, image_embeds, text_embeds, steps, cfg, shift, scheduler)
→ LATENT
WanVideoDecode (vae, samples) → IMAGE → VHS_VideoCombine → MP4
WanVideoSampler の設定
| パラメーター | 標準 | Lightning | 備考 |
|---|---|---|---|
| steps | 30 | 4 | |
| cfg | 6.0 | 1.0 | |
| shift | 5.0 | 5.0 | フローマッチングのシフト |
| scheduler | unipc | euler | WanVideoWrapper 独自のスケジューラー |
| force_offload | true | true | サンプリング後にモデルを CPU に移動します |
WanVideoWrapper と Native の使い分け
| 機能 | Native | WanVideoWrapper |
|---|---|---|
| シンプルさ | よりシンプル | より複雑 |
| デュアル Hi-Lo | 手動の 2 パス | 内部で処理できる場合があります |
| LoRA の読み込み | Lora Loader Stack(rgthree) | WanVideoLoraSelect → WanVideoModelLoader lora(merge_loras の注意事項を参照) |
| キャッシュ(TeaCache) | 利用不可 | 組み込み |
| コンテキストウィンドウ | 利用不可 | WanVideoContextOptions |
| ブロックスワップ(VRAM) | 利用不可 | WanVideoBlockSwap |
| VACE 条件付け | 利用不可 | VACE を全面的にサポート |
| 長い動画(>81 フレーム) | 制限あり | InfiniteTalk/コンテキストウィンドウ |
推奨:標準的な FLF トランジションには Native のデュアル Hi-Lo を使用してください。キャッシュ、コンテキストウィンドウ、VRAM 管理、高度な条件付けが必要な場合は、WanVideoWrapper を使用してください。
⚠️ 重要:fp8 スケーリング済みモデルでの merge_loras=false
fp8 量子化モデル(quantization=fp8_e4m3fn_scaled、公式の
wan2.2_i2v_high/low_noise_14B_fp8_scaled 重みなど)で LoRA を読み込む際は、
WanVideoLoraSelect から WanVideoModelLoader の lora
入力に接続し、WanVideoLoraSelect ウィジェットの merge_loras=false を必ず設定してください。
merge_loras=true(ノードのデフォルト)は、量子化済みの fp8 重みに LoRA の差分を 書き込もうとします。このマージ処理では LoRA の読み込み中に ComfyUI がハードクラッシュします。 Python のトレースバックなしでプロセスが終了するため(panel_get_errorsやフロントエンドには 何も表示されません。プロセスの再起動や OOM のような症状が現れるだけです)、このラッパーで 「LoRA 読み込み時にクラッシュする」という報告の最大の原因になっています。merge_loras=falseにすると、マージの代わりにフォワードパス中に LoRA をランタイムパッチとして 適用します。fp8 でも安全で、速度への影響はごくわずかです。fp8 の hi/lo I2V モデルでlightx2vの 4 ステップ lightning LoRA(hi + lo)を使う場合は、この設定が適切です。- ブロックスワップとも問題なく併用できます。
WanVideoBlockSwap(例:40 ブロック中 20~30 個を RAM に移動)とmerge_loras=falseの組み合わせは、24GB のカードで fp8 14B I2V を 720p/81f で動かす場合に検証済みです。(量子化されていない bf16/fp16 モデルを使う場合は、merge_loras=trueでも問題ありません。)
別途、720p/81f では WanVideoDecode の enable_vae_tiling=true を有効にしてください。
フルフレームのデコードも、捕捉されない OOM クラッシュがよく発生する箇所です。
解像度とフレーム数
標準解像度
| アスペクト比 | 解像度 | メガピクセル |
|---|---|---|
| ポートレート 2:3 | 480x720 | 0.35MP(推奨デフォルト) |
| ランドスケープ 16:9 | 832x480 | 0.4MP |
| ポートレート 9:16 | 480x832 | 0.4MP |
| 正方形 | 640x640 | 0.4MP |
幅と高さは 16 で割り切れる必要があります。divisible_by: 2 と keep_proportion: crop を指定して
ImageResizeKJv2 を使用してください。
フレーム数
- 16fps で 81 フレーム = 約 5 秒(デフォルト、推奨)
- 16fps で 49 フレーム = 約 3 秒(高速、動きは少なめ)
- 16fps で 121 フレーム = 約 7.5 秒(長尺、VRAM 使用量が増加)
- フレーム数は
4n + 1にしてください(1、5、9、…、49、81、121)
フレームレート
標準:WAN 2.2 出力では 16 fps。
動画出力
VHS_VideoCombine
{
"class_type": "VHS_VideoCombine",
"inputs": {
"images": ["<vae_decode>", 0],
"frame_rate": 16,
"loop_count": 0,
"filename_prefix": "wan_flf",
"format": "video/h264-mp4",
"pingpong": false,
"save_output": true,
"pix_fmt": "yuv420p",
"crf": 19,
"save_metadata": true,
"trim_to_audio": false
}
}
VRAM に関する考慮事項
Remix fp16 でのデュアル Hi-Lo
- UNET を 2 つ順番に読み込みます(ComfyUI はパス間でオフロードします):各約 14GB
- NSFW UMT5-XXL bf16:約 8GB(テキストエンコード後にオフロード)
- CLIP Vision H:約 1.5GB(エンコード後にオフロード)
- VAE:約 200MB
- 潜在表現(480x720、81 フレーム):約 1~2GB
ComfyUI はパス間でモデルをオフロードして VRAM を管理します。Lo UNET の読み込み前に Hi UNET がオフロードされます。
ヒント
- 別のモデルファミリーから WAN に切り替える前に、必ず
clear_vramを実行してください - 生成と SeedVR2 アップスケーリングの間に
VRAM_Debugノードを使用して、VRAM をすべて解放してください - 24GB GPU では、480x720 の 81 フレームが実用上の上限です
- Remix NSFW モデルには lightning が組み込み済みです。個別の LoRA は不要で、合計 4 ステップです
Morph LoRA(滑らかな変形)
デフォルトでは、FLF はフレーム間のトランジション/ディゾルブを生成します。真のモーフィング(ある形状が別の形状へ連続的に変形すること)には、Hi と Lo の両方のパスで morph LoRA を使用してください。
Magical Morph(推奨)
| バリアント | ファイル | 強度 | 備考 |
|---|---|---|---|
| HighNoise | wan2.2_i2v_magical_morph_highnoise.safetensors | 0.7-1.0 | Hi Common スタックに適用 |
| LowNoise | wan2.2_i2v_magical_morph_lownoise.safetensors | 0.7-1.0 | Lo Common スタックに適用 |
- 配布元:NikolaSigmoid/wan2.2-i2v-loras-magical-morph
- トリガーワードは不要です。LoRA がデノイズ処理の挙動を変更します
- 強度を 1.0 にすると、光のきらめきやパーティクル効果が加わることがあります。より自然なモーフィングにするには 0.7~0.8 に下げてください
- Remix NSFW モデルで動作します(組み込みの lightning と競合しません)
SkinMorph Redmond(代替 — 顔/身体に重点)
人物同士のモーフ(アイデンティティ、性別の変換)には、以下を使用します。
- トリガーワード:
Skin morph - 強度:0.8-1.0
- 入手先:CivitAI
プロンプトのヒント
開始状態と終了状態に加えて、変化の動きも記述してください。
Good: "A small cat sitting on the ground smoothly transforms and grows into a woman standing tall, seamless transformation, cinematic"
Bad: "A cat and a girl"
重要:プロンプトの言葉選びは映像に影響します。
- 「magical」「enchanted」「mystical」のような言葉は避けてください。きらめきやパーティクルのエフェクトが文字どおりに生成されます。
- 「smoothly transforms」「gradually reshapes」「seamlessly morphs」「transitions into」のように、動きを明確に表す言葉を使用してください。
- モーフィング効果はモーフ LoRA が処理します。プロンプトではスタイルではなく、動きと形状の変化を記述してください。
- 被写体のサイズが異なる場合は、スケールや位置の手がかりを含めてください。「grows into」「expands upward」「shrinks down」などを使用します。
設定のクイックリファレンス
| Config | Lightning(Remix) | Standard |
|---|---|---|
| モデル | Remix NSFW Hi+Lo fp16 | Official Hi+Lo fp8 |
| CLIP | nsfw_wan_umt5-xxl_bf16_fixed | umt5_xxl_fp8_e4m3fn_scaled |
| ModelSamplingSD3 shift | 5 | 8 |
| 合計ステップ数 | 4 | 20 |
| Hi pass end_at_step | 2 | 10 |
| CFG | 1 | 4 |
| サンプラー | uni_pc | euler |
| スケジューラー | beta | simple |
| 外部 LoRA が必要 | いいえ(組み込み) | はい(Hi/Lo のペア) |
マルチステップパイプラインのパターン
アンカーフレーム戦略(プロポーション)
開始フレームと終了フレームで被写体のサイズが異なる場合(例:小さな猫 → 背の高い人物)、まず「アンカー」フレーム(構図が最も複雑なフレーム)を生成し、次に Qwen Edit を使って、そこからもう一方のフレームを作成してください。これにより、以下の効果が得られます。
- フレーム間で背景やシーンの一貫性を保てます。
- 相対的なプロポーションが正しくなります(編集元のシーンのスケールが引き継がれます)。
- 両方のフレームで視覚的なコンテキストが共有されるため、FLF の結果が向上します。
例:猫から女の子へのモーフ
- Z-Image で、納屋の前に立つ女の子を生成します(フレームいっぱいに女の子が映るようにします)。
- Qwen Edit:「女性を画像の下部に座る小さな猫に置き換えてください」
- FLF:猫(開始)→ 女の子(終了)。納屋によってスケールが定まるため、プロポーションが正しくなります。
避けるべき方法:猫と女の子を別々に生成すると、スケールが一致しません。
パイプライン全体
- Z-Image/SDXL/Flux でアンカーフレームを生成します(立っている被写体には縦向きの画像を使用します)。
- Qwen Edit で2枚目のフレームを作成します。編集ではシーンのコンテキストが維持されます。
- モデルファミリーを切り替える間に VRAM をクリアします。
- 両方のフレームを入力として準備します。 フレームが前のステージで生成された ComfyUI の OUTPUTS(上記の生成/編集フレーム)である場合は、各出力の
{ filename, subfolder?, type? }を指定してupload_image (action:"stage")を使用し、返された入力ファイル名をそれぞれのLoadImageに渡します。(ローカルディスク上にあるフレームには、upload_image (action:"image")を使用します。)出力ファイルをファイルシステムのinput/パスにコピーしたり、パスを推測したりすることは絶対に避けてください。ComfyUI の input/output ディレクトリはカスタム設定(--input-directory/--output-directory)の可能性があるため、パスを推測するとLoadImageがファイルを拒否し(Invalid image file)、レンダリングが無駄になります。upload_image (action:"stage")はサーバー API(/view→/upload/image)経由で処理し、実際のディレクトリを正しく解決します。 - モーフィングが必要な場合は、モーフ LoRA を使用してデュアル Hi/Lo FLF を実行します。
- 必要に応じて、SeedVR2 で 1080p にアップスケールします。
RTX 4090 で確認済みの所要時間:Z-Image(35秒)→ Qwen Edit(78秒)→ WAN FLF 81フレーム(139秒)=合計約4分。
保存済みワークフローの操作
保存済みの WAN FLF ワークフローを変更または実行する前に、get_workflow (action:"analyze") を使用して内容を把握してください。セクション、ノード ID、主要な設定、仮想ワイヤーの接続を含む構造化された概要が返されます。生の JSON は不要です。
get_workflow(action="analyze", filename="Wan FirstLastFrame Advanced.json") # summary view (default)
get_workflow(action="analyze", filename="Wan FirstLastFrame Advanced.json", view="flat") # mermaid diagram
enqueue_workflow または create_workflow (action:"modify") で生の JSON が必要な場合に限り、get_workflow を使用してください。
情報源
- 公式: 見つかりませんでした。
- 実証情報:
packs/内の動作するグラフや、実際に確認したレンダリングから得られたサンプラー値、配線、プロンプトに関するメモです。ベンダーのプロンプトガイドではありません。