Build an Uncensored AI Video Workflow with ComfyUI + Wan2.2

Build a local uncensored AI video pipeline with ComfyUI & Wan2.2—or skip the GPU entirely. Sozee gives you full control. Start generating today.

Key Takeaways
  • Self-hosted ComfyUI + Wan2.2 pipelines face steep VRAM demands, fragile node graphs, and safety filters that block uncensored output.
  • The seven-step local workflow covers model selection, first/last-frame character locking, prompt writing, and a FastAPI + Redis production layer for 24/7 operation.
  • Quantized 5B and 14B Wan2.2 models plus SeedVR2 upscaling deliver a validated 15-second 1080p clip in under four minutes on a single RTX 4090.
  • Production-grade prompts, Euler sampling, and strict first/last-frame anchoring maintain consistent character likeness across every frame.
  • Skip GPU management and node maintenance, and sign up for Sozee to launch the same uncensored, locked-likeness videos in three clicks.

Match Wan2.2 Models to Your GPU in 2026

Wan2.2 ships two distinct model families with very different hardware profiles. Picking the wrong one for your GPU often kills the pipeline before the first frame renders.

Wan2.2-TI2V-5B is a 5-billion-parameter dense model that supports both text-to-video and image-to-video. The Wan2.2-A14B family uses a Mixture-of-Experts architecture with roughly 27B total parameters across two 14B experts, and only one expert stays active per denoising step, so only one expert needs to reside in VRAM at a time.

The table below maps each model variant to its minimum and recommended VRAM requirements across common resolutions.

Model Precision Min VRAM (480p) Recommended VRAM (720p)
TI2V-5B FP16 ~8 GB with offloading ~12 GB
TI2V-5B FP8 ~6–8 GB with CPU offload ~8–10 GB
T2V/I2V-A14B FP8 roughly 18–22 GB 22–26 GB without offloading
T2V/I2V-A14B GGUF Q5_K_M ~14 GB at load ~20 GB peak (fits on 16 GB cards)
T2V/I2V-A14B GGUF Q3_K approximately 6 GB fits on 8 GB cards

FP8 quantization reduces model memory footprint by 20–40% compared to BF16/FP16 at a minor quality cost, with official FP8-scaled checkpoints provided in the Wan2.2 release. A 24 GB RTX 4090 is the practical sweet spot for running the 14B model at 480p or 720p in FP8 without CPU offloading, or at 720p in Q5 with CPU offloading. Wan2.2 T2V-A14B FP8 models are 14.6 GB per expert and run on 24 GB cards through ComfyUI native offloading.

Step-by-Step Local Workflow Build

Step 1: Install ComfyUI and Core Extensions

Start by cloning the ComfyUI repository and installing the ComfyUI-Manager extension so you can add nodes with one click. Next, install the KJ Nodes extension, which provides the first/last-frame control nodes that lock your character at both temporal endpoints. Confirm CUDA 12.x and PyTorch 2.3+ are present before loading any model, because mismatched versions often cause silent VRAM allocation failures.

Common Pitfall: Mismatched CUDA and PyTorch versions cause silent VRAM allocation failures. Run python -c "import torch; print(torch.cuda.is_available())" before loading any model.

Step 2: Download Model Checkpoints for 5B and 14B

Place all files in ComfyUI/models/ subdirectories as indicated so ComfyUI can discover them. The native ComfyUI 5B workflow requires three files:

  • diffusion_models/wan2.2_ti2v_5B_fp16.safetensors
  • text_encoders/umt5_xxl_fp8_e4m3fn_scaled.safetensors
  • vae/wan2.2_vae.safetensors

For the 14B workflow, the Mixture-of-Experts design uses two FP8 experts, so you need two separate files: wan2.2_t2v_high_noise_14B_fp8_scaled.safetensors for early high-noise steps and wan2.2_t2v_low_noise_14B_fp8_scaled.safetensors for late refinement. The VAE file is required for all workflows, and omitting it produces black frames or a “VAE model not found” error.

Common Pitfall: Downloading the FP16 14B checkpoint without quantization requires 80 GB VRAM. Always confirm you are downloading the FP8 or GGUF variant for consumer hardware.

Step 3: Build a Stable Base Node Graph

A reusable ComfyUI video generation workflow node chain usually follows this sequence: prompt or image input, model loader, conditioning, sampler, decode, frame save, and video combine. Load the diffusion model with the UNETLoader node set to fp8_e4m3fn weight dtype so VRAM stays within budget. Connect the UMT5 text encoder through CLIPLoader and the VAE through VAELoader to complete the core graph.

Common Pitfall: Setting weight dtype to default on a 5B model causes VRAM overflow on 8 GB cards. Explicitly set fp8_e4m3fn in the UNETLoader node.

Step 4: Lock Character Likeness with First/Last-Frame Nodes

Character consistency across a clip depends on anchoring generation at both temporal endpoints. Wan2.2 offers mature and widely tested first/last-frame workflows in ComfyUI compared with other model families in 2026.

Connect your character reference image to the Image to Video Inplace node from KJ Nodes. This node performs hard latent replacement by directly overwriting specific keyframes inside the latent. Set the first-frame index to 0 and the last-frame index to -1. The first_strength and last_strength parameters control anchor influence, and values of 1.0 on both sides usually produce static output with no motion.

Common Pitfall: Motion drift appears when the first and last reference images differ significantly in camera angle or pose. High visual similarity across anchor frames is required to produce a seamless continuous shot.

Step 5: Write Production-Grade Video Prompts

A strong prompt formula for video generation follows this structure: subject, environment, camera move, motion behavior, lighting, and style constraints. An example: “woman in black bodysuit standing in neon-lit corridor, medium shot, slow push-in, slight head turn, wet floor reflections, cinematic lighting, consistent face, stable background.” Explicit motion descriptions produce better anchor adherence than prompts that only describe style.

Common Pitfall: Safety-filter leakage from residual classifier-free guidance settings can suppress outputs even in a self-hosted stack. Set negative guidance to an empty string and confirm no external API calls are present in the node graph.

Step 6: Configure Sampler Settings and Resolution

Once your prompt is production-ready, configure the sampler so the model interprets that prompt reliably during denoising. Use the KSampler node with the Euler scheduler, 20–30 steps, and CFG between 3.0 and 6.0. For the 5B model on a 4090, iterate at 480p and reserve 720p for final renders to keep feedback fast.

The 14B I2V model in FP8 generates 81 frames at 480p in under two minutes on an RTX 4090, which suits most short clips. For upscaling to 1080p, chain a SeedVR2 post-processing node after the VAE decode step. SeedVR2 maintains temporal consistency across frames where single-frame upscalers often introduce flicker.

Common Pitfall: VRAM overflow during the upscale pass is common when the diffusion model remains loaded. Unload the diffusion model before the upscale node executes, or route upscaling to a separate process.

Step 7: Export, Version, and Validate Output

Route decoded frames through a VHS_VideoCombine node set to H.264, CRF 18, at the target frame rate for a clean master file. Lock the seed during prompt refinement and change only one parameter at a time so you can reproduce and compare runs. Save the full workflow JSON after validation so you can version-control it and call the exact graph from the API layer.

Build a FastAPI + Redis Production Layer

Synchronous request-response architectures fail for generative video workloads because a single diffusion request can take seconds or minutes, and API gateways often time out before GPU sampling completes. A more reliable pattern uses a FastAPI endpoint that validates inputs, returns a job ID immediately, and pushes work onto a Redis-backed queue.

A minimal FastAPI endpoint looks like this:

from fastapi import FastAPI from redis import Redis import uuid, json app = FastAPI() r = Redis(host="localhost", port=6379) @app.post("/generate") async def generate(prompt: str, first_frame: str, last_frame: str): job_id = str(uuid.uuid4()) payload = json.dumps({ "job_id": job_id, "prompt": prompt, "first_frame": first_frame, "last_frame": last_frame, "priority": 1, }) r.lpush("wan_queue", payload) return {"job_id": job_id, "status": "queued"} @app.get("/status/{job_id}") async def status(job_id: str): result = r.get(f"result:{job_id}") return {"status": "complete", "url": result} if result else {"status": "pending"} 

A GPU worker process pulls from the queue, keeps model weights resident in VRAM between jobs, and writes completed video URLs to Redis result keys. Loading Wan2.2 14B weights takes noticeable time, so reloading on every job destroys throughput; the worker must stay alive between requests. Use priority tiers in the queue for paid users, previews, and batch jobs, and expose completion through polling or webhooks. Multi-GPU throughput for Wan2.2 can scale linearly by running independent generation jobs on separate GPUs, but single-video inference uses Ulysses sequence parallelism that requires inter-GPU communication and yields only near-linear speedup.

A self-hosted control plane intercepts every model call, evaluates it against locally defined governance policy, and either allows, blocks, or rewrites the interaction. This approach generates structured audit logs as a byproduct of enforcement rather than retrospective analysis and removes external moderation vectors that often break when models update.

Benchmark: Validate a 15-Second 1080p Clip

The repeatable benchmark for this pipeline is a 15-second 1080p clip generated in under four minutes on a single RTX 4090 with zero external refusals. You reach this target by generating at 720p with the 5B FP8 model, aiming for under 90 seconds for the diffusion pass. Then apply SeedVR2 upscaling to 1080p in under 60 seconds and encode to H.264 through FFmpeg in under 30 seconds.

First/last-frame anchors must produce the same character face across all frames with no visible drift on frame-by-frame inspection. If the benchmark fails, the most common causes are a residual external safety call in the node graph or VRAM contention between the diffusion and upscale passes.

Sozee: Skip the GPU and Keep the Control

The seven-step pipeline above works and delivers production-grade results. It also requires a dedicated GPU, ongoing node-graph maintenance, custom safety bypass logic that breaks on model updates, and an operations burden that grows with output volume. For agencies, advanced creators, and developers who want the same uncensored, locked-likeness output without that overhead, Sozee compresses the entire stack into three clicks.

Sozee AI Platform
Sozee AI Platform

Upload three photos and Sozee reconstructs your character’s likeness with hyper-realistic accuracy, or generate an entirely original character from scratch with no source photos. Photo Control sets five production dimensions (Setting, Outfit, Shot style, Expression, Object) that replace the prompt-and-pray loop. Likeness stays locked frame to frame, set to set, and week to week, matching the consistency the seven-step pipeline achieves through first/last-frame node configuration, but without touching a node graph.

Sozee’s video pipeline, including animate a still, video-to-video, reel cloning, and text-to-video, runs at up to 1080p and up to 15 seconds in every major aspect ratio. A full SFW-to-NSFW arc stays under creator control, including pacing and ceiling. The Scheduler connects Instagram, TikTok, X, Facebook, Reddit, and Fanvue per character, and Analytics separates what Sozee posted from what you posted so you can measure contribution. There is no GPU to provision, no queue to maintain, and no compliance layer that breaks on a model update.

GIF of Sozee Platform Generating Images Based On Inputs From Creator on a White Background
GIF of Sozee Platform Generating Images Based On Inputs From Creator on a White Background

Get started and go viral today, and build your first uncensored AI video workflow on Sozee now.

Creator Onboarding For Sozee AI
Creator Onboarding

Frequently Asked Questions

What is the minimum GPU needed to run Wan2.2 locally in ComfyUI?

The Wan2.2 TI2V-5B model in FP8 precision with CPU offload runs on approximately 6–8 GB VRAM at 480p and 8–10 GB VRAM at 720p, which makes it compatible with cards like the RTX 3060 or RTX 4060. The 14B A14B variant requires approximately 6–8 GB VRAM at 480p and 8–16 GB at 720p using GGUF Q4/Q5 quantization with T5 CPU offload. As noted in the hardware requirements section, a 24 GB RTX 4090 comfortably runs the 14B model at higher resolutions in FP8 without offloading.

How do first and last frame control nodes prevent character drift in ComfyUI?

First/last-frame control nodes use hard latent replacement to overwrite the latent representation at the first and last frame positions before sampling begins. This setup forces the diffusion model to generate intermediate frames that stay consistent with both anchors. Tuning the strength parameters produces natural motion while preserving character identity, and setting both values to 1.0 usually produces static output because the model cannot introduce variation. High visual similarity between the anchor images, including camera angle, background, and pose, is required for seamless continuity.

What is the difference between Wan2.2 5B and 14B for uncensored video generation?

The 5B model is a dense architecture that runs on consumer GPUs from 6 GB VRAM upward, and The Wan2.2 TI2V-5B model generates a 5-second 720p video in under nine minutes without specific optimization on a single consumer-grade GPU. It is the practical choice for iteration, local testing, and single-GPU production pipelines. The 14B A14B model uses a Mixture-of-Experts architecture with 27B total parameters and only one 14B expert active per denoising step. It delivers stronger motion coherence, identity preservation, and detail at the cost of higher VRAM requirements, and for uncensored production output at scale, the 14B model in GGUF Q5_K_M on a 24 GB card is the recommended configuration.

Why does Sozee eliminate the need for a self-hosted uncensored pipeline?

A self-hosted pipeline demands a compatible GPU, ComfyUI installation and maintenance, model checkpoint management, custom safety bypass logic, a job queue, and ongoing node-graph updates whenever a model version changes. Sozee delivers the same uncensored output, including a full SFW-to-NSFW arc, through a managed platform where likeness is locked from the first frame, no GPU is required, and the entire workflow from character creation to scheduled publishing runs in one place. For creators and agencies whose core business is content output rather than infrastructure management, Sozee removes every layer of technical overhead while preserving identical creative control.

Can Sozee match the character consistency achieved by first/last-frame node workflows?

Yes. Sozee’s locked-likeness system maintains the same face, body, and visual identity across every image, video frame, set, and publishing cycle without any node-graph configuration. The Photo Shoot feature takes a single image and builds a coherent set of up to ten around it with identity, outfit, and environment locked across the entire set. Video generation, including animate-a-still, video-to-video, and reel cloning, applies the same likeness lock automatically. The result is character consistency that matches or exceeds what a manually tuned first/last-frame ComfyUI workflow produces, delivered in three clicks instead of seven steps.

Conclusion: Scale Uncensored Video Without the Overhead

The seven-step ComfyUI + Wan2.2 pipeline in this article provides a functional, production-grade blueprint for repeatable uncensored AI video generation. It covers VRAM-aware model selection, first/last-frame character locking, a FastAPI + Redis production layer, and a validated 15-second 1080p benchmark on a single RTX 4090. For developers and technical leads who need full infrastructure control, it remains one of the most complete local workflows available for the Wan2.2 model family in 2026.

For creators, agencies, and virtual influencer builders whose priority is content output rather than infrastructure ownership, Sozee delivers the same uncensored control and locked-likeness character consistency without any configuration. Cast a character, direct the shoot, generate, refine, and publish from one platform at any scale, without a GPU in sight.

Start creating now and launch your uncensored AI video workflow on Sozee today.

Put this guide to work Three photos · first set free Start free