TeleStyle Video
Restyle a whole clip from one image — no prompt-fu required
- model
- video_frames
- style_first_frame
- video_frames
This is the reason this pack exists: content-preserving video style transfer. You hand it a source clip and a stylized first frame, and it restyles the whole video into that look while keeping the motion and subject from the original. It's a ComfyUI port of Tele-AI's TeleStyle built on top of Wan 2.1, and its whole pitch - the thing people actually liked about it when it hit Reddit - is that the style comes from an image, not a sentence. No "anime watercolor with loose brushwork, soft edges" description roulette. Give it a reference, get the style.
How it works
Both your source frames and the style frame get resized to the target height/width, then encoded to latents with Wan's VAE (tiling is enabled to keep VRAM in check). The denoising loop then does something clever: the source video's latents are concatenated into the noisy latent, while the style frame's latents are fed to the transformer as the conditioning signal - with a black frame as the negative side of classifier-free guidance. A UniPC scheduler steps through, and you get an IMAGE tensor back in the 0–1 range. In plain terms: source carries the motion, style image carries the look.
The inputs that matter
video_frames- your source clip as anIMAGE(Load Video /VHS_LoadVideo→IMAGE).style_first_frame- the style reference. Only the first frame of this image is used, and this is the make-or-break input. See below.height/width(default 1024, step 16) - output resolution. The source video is resampled to fit, so this is a quality and VRAM dial, not a "crop" dial.video_length(default 81) - output frame count. Shorter = cheaper.guidance_scale(default 3.0) - higher pushes the result harder toward the style.num_inference_steps(default 25) - fewer steps is faster but softer.seed- set it to keep a look across takes.
The one output, video_frames, wires straight into a video encoder/combiner like VHS_VideoCombine or Video Combine. The pack ships a working example workflow (klein-to-TeleStyle.json) that shows the full chain with VHS_LoadVideo and a style-generation branch - worth stealing.
The gotcha everyone hits
style_first_frame must be a stylized version of your source's actual first frame (or visually very close). TeleStyle's original repo bundles a Qwen-Edit pipeline to stylize that first frame for you; this stripped port drops that, so you bring your own - stylize the first frame with an img2img/photo-to-cartoon tool, then feed it in.
Feed an unrelated style image and you get exactly what the community reports: the output looks like the style image with some blurry motions, because the content isn't matched to the footage. People describe it as "weirdly morphing" or "style isn't transferring." It's not a bug - it's the method. Also expect it to degrade if the source video has heavy motion; TeleStyle preserves content best on clips that aren't thrashing around.
Staying inside VRAM
The README's 24 GB recipe: 480 × 832, video_length 49, 20–25 steps, on the 1.3B model. The 14B tier wants 40 GB+. If you OOM, cut resolution and frames before you touch the model - that's the order that helps. Black output? Check that style_first_frame is actually connected and that your frames are in the normal 0–1 IMAGE range.
One honest caveat: this is a brand-new, one-commit port with no community trail. The better-known TeleStyle port has the threads and the tuning notes; if you're stuck, that's the louder room to ask in. But the node itself is the real thing - restyle a clip from a single reference image, no prompt-fu required.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| model | TELESTYLE_VIDEO_MODEL | — | |
| video_frames | IMAGE | — | |
| style_first_frame | IMAGE | — | |
| height | INT | 1024256–9999 | — |
| width | INT | 1024256–9999 | — |
| video_length | INT | 8117–999 | — |
| num_inference_steps | INT | 251–50 | — |
| guidance_scale | FLOAT | 3.01–10 | — |
| seed | INT | 00–18446744073709550000 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video_frames | IMAGE | — |