Nodes/ComfyUI-Lance/Lance Text-to-Image
ComfyUI Node

Lance Text-to-Image

The video model asked for a single frame

By benjiyaya·Created 4 months ago·Updated 4 months ago· 13
Lance Text-to-Image
  • model
  • image
prompt
width768
height768
num_timesteps30
timestep_shift3.5
cfg_text_scale4.0
seed42

Lance does video and images from one weight set, and Lance Text-to-Image is the still-frame side of that deal. Under the hood it's nearly the same node as Text-to-Video - same model, same flow-matching sampler, same Wan2.2 VAE - just run with num_frames=1 and the image_768res preset. One model, one pack, six task nodes, and this is the cheapest one to play with before you commit to a 121-frame render.

Honest framing up front: this is not going to dethrone SDXL or Flux for stills. It's a 768-ish image generator bolted onto a video model, and its reason to exist isn't to be the best T2I around - it's that you get images and video and editing from one download and one pipeline, with no separate checkpoint juggling. If your whole workflow is static images, you don't need this pack. If you're already running Lance for video, this is a free bonus that shares the loaded model.

What you actually set

  • prompt - multiline. Lance's prompt understanding is genuinely good (the launch thread's word was "impressive"), so plain English beats tag soup.
  • width / height - both 768 by default, range 256–2048 in steps of 16. The node validates multiples of 16 up front and refuses anything else, because the Wan VAE's spatial stride is 16. Non-square is fine as long as both dimensions pass the check.
  • num_timesteps - 30 default; the README suggests 30 or 50. Flow-matching models tolerate low step counts well, so don't reflexively crank it.
  • timestep_shift (3.5) and cfg_text_scale (4.0) - the official inference defaults, ported straight from ByteDance's inference_lance.sh. Good values; tune only if you know what you're tuning for.
  • seed - 42 default; -1 for random.

Output is a single image (IMAGE tensor) that wires into Preview Image, Save Image, or anything downstream.

Wiring and variant choice

[Lance Model Loader (lance_3b)] → [Lance Text-to-Image] → [Save Image]

Use the image variant (lance_3b) in the loader. The video variant can technically handle an image job but you're wasting VRAM on the video MoE path for nothing.

Gotchas

The 40GB VRAM floor applies here too - this is the same load-everything-in-GPU port as the rest of the pack, and the full Lance pipeline (LLM + ViT + Wan VAE) is what occupies the card, not the 768×768 latent. Don't expect a "light" image-only mode. If 16-multiple sizing trips you up, that's by design - the VAE will quietly corrupt otherwise. And since the loader caches per variant, switching this node between image and video tasks means keeping two heavy pipelines resident; plan your workflows to stick to one variant per run when you can.

CategoryLance

Inputs (8)

NameTypeDefaultDescription
modelLANCE_MODEL
promptSTRING
widthINT768256–2048
heightINT768256–2048
num_timestepsINT301–100
timestep_shiftFLOAT3.50.1–10
cfg_text_scaleFLOAT4.01–10
seedINT42-1–4294967295

Outputs (1)

NameTypeDescription
imageIMAGE