Nodes/wanvideo - seamless flow/WanEmbeddingPrevizCanvas
ComfyUI Node

WanEmbeddingPrevizCanvas

See your Wan transitions before you burn 20 minutes

By fblissjr·Created about a year ago·Updated about a year ago· 5
WanEmbeddingPrevizCanvas
  • text_embeds
  • visualization
  • recommendations
num_frames81
blend_width8
blend_methodsmooth
promptsPrompt 1 Prompt 2 Prompt 3
optimize_ordertrue

The cheapest fix for a bad Wan render is catching it before you sample. A multi-prompt video - the |-separated prompt list that lets you chain scenes - can look fine in the graph and then come back from 20 minutes of sampling with a transition that looks like two clips stapled together. WanEmbeddingPrevizCanvas is the node that tells you that's going to happen before you pay for it.

It's the analysis node of fblissjr's ComfyUI-WanSeamlessFlow pack ("wanvideo - seamless flow", built on Kijai's ComfyUI-WanVideoWrapper). You wire it between your blended embeddings and the sampler, and it measures how far apart your prompts' embeddings actually are in semantic space, draws the distance graph to an image, and hands you a plain-text recommendation for how to blend.

How it works

It needs at least two embeddings (the pack's blending only kicks in past one prompt - this is the same constraint as WanSmartBlend). It computes the distance between each consecutive pair of prompt embeddings, normalizes those distances, and draws them onto an 800x400 canvas as a distance graph - so you get a quick visual of which transition is the hard one.

Then it generates recommendations per transition: a difficulty score, a suggested blend width, a suggested curve, and the approximate frame position of the change. The whole thing comes back as a recommendations string - "prompt 2 to 3: difficulty 0.87, widen the blend" - which is the part you'll actually act on.

One nice design touch: almost every input is optional because the node tries to pull values from upstream. num_frames comes from your Empty Embeds or the embedding dict, blend_width/blend_method from a connected WanSmartBlend, prompts from the text encoder. You can override any of them manually, and the manual value wins.

The inputs that matter

  • text_embeds (required) - the embedding bundle. Feed it the output of WanSmartBlend so it knows your actual blend settings.
  • num_frames - default 81, and this one matters: if the node can't find your real frame count upstream it silently uses 81, which puts every transition marker in the wrong place. Make sure it matches your video.
  • blend_width and blend_method - your current settings, so the recommendations are adjustments rather than guesses.
  • prompts (multiline) - lets you name transitions by their actual text; it falls back to extracting them from the embedding dict.

Outputs: visualization (an IMAGE - view it with a preview node) and recommendations (a STRING - route it to a text viewer; that's the actionable bit).

Install

ComfyUI Manager, search wanvideo - seamless flow (or "WanSeamlessFlow"), or:

cd ComfyUI/custom_nodes
git clone https://github.com/fblissjr/ComfyUI-WanSeamlessFlow

Restart ComfyUI. No requirements.txt, no model downloads; it needs the WANVIDEOTEXTEMBEDS type from Kijai's WanVideoWrapper, installed first. The pack's example workflow at example_workflows/wanvideo_seamlessflow_long_T2V_example_01.json shows the recommended placement.

Where people get burned

  • It lies gracefully about defaults. Not wired to a source of num_frames? It uses 81 and logs a warning you'll never read. Your graph distances will be positioned against the wrong length. Check the inputs or wire the upstreams.
  • Fewer than two embeddings returns a blank white image and a note to check your prompts - a sign your WanVideoTextEncode isn't actually emitting multiple prompts.
  • It's a small, young pack with no real community footprint. Treat the difficulty scores as directional advice, not gospel - they're computed from embedding distance, not from watching rendered frames.

For anyone doing long Wan storyboards, this is the one node in the pack I'd actually reach for every time: it's the look-before-you-leap step that turns "render and pray" into "adjust and render once."

CategoryWanSeamlessFlow

Inputs (6)

NameTypeDefaultDescription
text_embedsWANVIDEOTEXTEMBEDS
num_framesoptINT811–1000Total number of frames in the video (optional, will try to get from Empty Embeds or text_embeds if not connected)
blend_widthoptINT80–32Current blend width setting (optional, will try to get from Smart Blend or text_embeds if not connected)
blend_methodoptCOMBOsmoothCurrent blend method setting (optional, will try to get from Smart Blend or text_embeds if not connected)
promptsoptSTRINGPrompt 1 Prompt 2 Prompt 3Prompts (optional, will try to get from Granular Text Encode or text_embeds if not connected)
optimize_orderoptBOOLEANtrue

Outputs (2)

NameTypeDescription
visualizationIMAGE
recommendationsSTRING