본문으로 건너뛰기
cccskills
무료GitHub에 공개

qwen-txt2img

Build Qwen Image 2512 text-to-image workflows with QwenImageIntegratedKSampler, separate component loading, lightning LoRAs, and fine-tuned model variants

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

실행 점수 미검증

설치 방법 보기

포함된 파일(1)

  • SKILL.md12.9 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Qwen Image 2512 Text-to-Image Workflows

Overview

Qwen Image 2512 is the latest (December 2025) text-to-image model from the Qwen family. It uses a vision-language model (Qwen2.5-VL) as the text encoder and generates high-quality images from natural language prompts. Two workflow approaches:

  1. QwenImageIntegratedKSampler: All-in-one node (recommended for simplicity)
  2. Separate component loading: UNETLoader + CLIPLoader + VAELoader + standard KSampler (more flexible)

Models

Standard Components

ComponentNodeModelNotes
UNETUNETLoaderqwen_image_2512_fp8_e4m3fn.safetensorsFP8, not currently installed — download if needed
CLIPCLIPLoader (type=qwen_image)qwen_2.5_vl_7b_fp8_scaled.safetensorsShared across all Qwen models, in clip/
VAEVAELoaderqwen_image_vae.safetensorsQwen-specific VAE (242MB)

Fine-tuned Variants (Installed)

ModelPathFocus
qwenImageEditRemix_v10diffusion_models/qwenImageEditRemix_v10.safetensorsGeneral-purpose remix
qwenUltimateRealism_v11UNETLoader pathProduct photography, hyper-realistic
copaxTimelessUNETLoader pathUltra-realistic portraits
qwnImageEdit_v16Bf16UNETLoader pathAbliterated (uncensored)

Lightning LoRAs

4-Step Lightning (General Qwen / txt2img)

{
  "class_type": "LoraLoaderModelOnly",
  "inputs": {
    "model": ["<unet_node>", 0],
    "lora_name": "Qwen-Image-Lightning-4steps-V1.0.safetensors",
    "strength_model": 1.0
  }
}

Settings: steps=4, cfg=1.0, sampler=euler, scheduler=simple, denoise=1.0

8-Step Lightning (Higher Quality)

{
  "class_type": "LoraLoaderModelOnly",
  "inputs": {
    "model": ["<unet_node>", 0],
    "lora_name": "Qwen-Image-Lightning-8steps-V1.0.safetensors",
    "strength_model": 1.0
  }
}

Settings: steps=8, cfg=1.0 (or 2.5 for character detail), sampler=euler, scheduler=simple

Sampler Settings

PresetStepsCFGSamplerSchedulerDenoiseLoRANotes
Lightning 4-step41.0eulersimple1.0Lightning-4stepsFastest, good quality
Lightning 8-step81.0eulersimple1.0Lightning-8stepsBetter detail
Lightning character82.5eulersimple1.0Lightning-8stepsBest for portraits
Standard504.0eulersimple1.0noneOfficial ComfyUI
Golden quality504.5eulersimple1.0noneCommunity best
Character composition304.0euler_ancestralbeta1.0noneMulti-character scenes
CopaxTimeless304.0res_multistepsgm_uniform1.0noneUltra-realistic
UltimateRealism307.5eulersimple1.0noneProduct photography

ModelSamplingAuraFlow

For standard (non-lightning) presets, apply flow matching shift:

{
  "class_type": "ModelSamplingAuraFlow",
  "inputs": { "model": ["<unet_or_lora>", 0], "shift": 3.1 }
}

Shift=3.1 is the standard value for Qwen Image. Not needed with lightning LoRA (baked into the distillation).

Resolutions

Qwen operates at ~1.6 megapixels natively:

AspectResolutionUse Case
Square1328x1328General
Portrait 3:41104x1472Portraits
Portrait 2:31056x1584
Portrait 9:16928x1664Phone format
Landscape 4:31472x1104Landscape scenes
Landscape 3:21584x1056
Landscape 16:91664x928Widescreen
Ultra portrait1536x2048Tall format
Video-ready832x480For WAN 2.2 FLF pipeline

Approach 1: QwenImageIntegratedKSampler (All-in-One)

The QwenImageIntegratedKSampler custom node handles model patching, conditioning, sampling, and output in a single node. Simplest workflow: 4 nodes for model loading + 1 integrated sampler + 1 save.

Node Inputs

Required:
  - model: MODEL (from UNETLoader)
  - clip: CLIP (from CLIPLoader, type=qwen_image)
  - vae: VAE
  - positive_prompt: STRING
  - negative_prompt: STRING
  - generation_mode: "文生图 text-to-image" or "图生图 image-to-image"
  - batch_size: INT (default 1)
  - width: INT (default 0, step 8)
  - height: INT (default 0, step 8)
  - seed: INT
  - steps: INT (default 4)
  - cfg: FLOAT (default 1)
  - sampler_name: euler, dpmpp_2m, etc.
  - scheduler: simple, sgm_uniform, beta, etc.
  - denoise: FLOAT (default 1)

Optional:
  - image1-5: IMAGE (reference images for i2i or multi-ref)
  - latent: LATENT
  - controlnet_data: CONTROL_NET_DATA
  - auraflow_shift: FLOAT (default 3)
  - cfg_norm_strength: FLOAT (default 1)

Outputs:
  [0] IMAGE — generated image
  [1] LATENT — output latent (optional)
  [2] IMAGE — scaled input image (for i2i)

Complete Workflow: Integrated Sampler (Lightning 4-Step)

{
  "1": { "class_type": "UNETLoader", "inputs": { "unet_name": "qwenImageEditRemix_v10.safetensors", "weight_dtype": "default" }},
  "2": { "class_type": "LoraLoaderModelOnly", "inputs": { "model": ["1", 0], "lora_name": "Qwen-Image-Lightning-4steps-V1.0.safetensors", "strength_model": 1.0 }},
  "3": { "class_type": "CLIPLoader", "inputs": { "clip_name": "qwen_2.5_vl_7b_fp8_scaled.safetensors", "type": "qwen_image" }},
  "4": { "class_type": "VAELoader", "inputs": { "vae_name": "qwen_image_vae.safetensors" }},
  "5": { "class_type": "QwenImageIntegratedKSampler", "inputs": {
    "model": ["2", 0],
    "clip": ["3", 0],
    "vae": ["4", 0],
    "positive_prompt": "<detailed natural language prompt>",
    "negative_prompt": "",
    "generation_mode": "文生图 text-to-image",
    "batch_size": 1,
    "width": 1024,
    "height": 1344,
    "seed": 42,
    "steps": 4,
    "cfg": 1,
    "sampler_name": "euler",
    "scheduler": "simple",
    "denoise": 1,
    "auraflow_shift": 3,
    "cfg_norm_strength": 1
  }},
  "6": { "class_type": "SaveImage", "inputs": { "images": ["5", 0], "filename_prefix": "qwen_t2i" }}
}

Approach 2: Separate Component Loading (Standard Pipeline)

More flexible, since it allows inserting additional processing nodes between stages.

Pipeline Flow

UNETLoader → [LoraLoaderModelOnly] → [ModelSamplingAuraFlow (shift=3.1)] → MODEL
CLIPLoader (qwen_image) → CLIP
VAELoader → VAE

CLIPTextEncode (positive) → CONDITIONING
ConditioningZeroOut → negative CONDITIONING

EmptySD3LatentImage (1024x1344) → LATENT

KSampler → VAEDecode → SaveImage

Latent node: use EmptySD3LatentImage, matching the official Comfy-Org image_qwen_image template. Qwen Image’s latent format is Wan21, so its latent is 16-channel; EmptyLatentImage emits 4. A bare EmptyLatentImage → KSampler still renders, because ComfyUI’s fix_empty_latent_channels (comfy/sample.py, called by every sampler node) repeats an all-zero latent up to the model’s channel count. But that rescue is gated on torch.count_nonzero(latent) == 0, so it stops applying the moment a node inserted here writes into the latent — which is exactly what this approach is for. Start 16-channel and the question never arises.

Complete Workflow: Separate Loading (Lightning 4-Step)

{
  "1": { "class_type": "UNETLoader", "inputs": { "unet_name": "qwenImageEditRemix_v10.safetensors", "weight_dtype": "default" }},
  "2": { "class_type": "LoraLoaderModelOnly", "inputs": { "model": ["1", 0], "lora_name": "Qwen-Image-Lightning-4steps-V1.0.safetensors", "strength_model": 1.0 }},
  "3": { "class_type": "CLIPLoader", "inputs": { "clip_name": "qwen_2.5_vl_7b_fp8_scaled.safetensors", "type": "qwen_image" }},
  "4": { "class_type": "VAELoader", "inputs": { "vae_name": "qwen_image_vae.safetensors" }},
  "5": { "class_type": "CLIPTextEncode", "inputs": { "clip": ["3", 0], "text": "<detailed natural language prompt>" }},
  "6": { "class_type": "ConditioningZeroOut", "inputs": { "conditioning": ["5", 0] }},
  "7": { "class_type": "EmptySD3LatentImage", "inputs": { "width": 1024, "height": 1344, "batch_size": 1 }},
  "8": { "class_type": "KSampler", "inputs": {
    "model": ["2", 0],
    "positive": ["5", 0],
    "negative": ["6", 0],
    "latent_image": ["7", 0],
    "seed": 42, "steps": 4, "cfg": 1, "sampler_name": "euler", "scheduler": "simple", "denoise": 1
  }},
  "9": { "class_type": "VAEDecode", "inputs": { "samples": ["8", 0], "vae": ["4", 0] }},
  "10": { "class_type": "SaveImage", "inputs": { "images": ["9", 0], "filename_prefix": "qwen_t2i" }}
}

Complete Workflow: Standard Quality (50-Step)

{
  "1": { "class_type": "UNETLoader", "inputs": { "unet_name": "qwenImageEditRemix_v10.safetensors", "weight_dtype": "default" }},
  "2": { "class_type": "ModelSamplingAuraFlow", "inputs": { "model": ["1", 0], "shift": 3.1 }},
  "3": { "class_type": "CLIPLoader", "inputs": { "clip_name": "qwen_2.5_vl_7b_fp8_scaled.safetensors", "type": "qwen_image" }},
  "4": { "class_type": "VAELoader", "inputs": { "vae_name": "qwen_image_vae.safetensors" }},
  "5": { "class_type": "CLIPTextEncode", "inputs": { "clip": ["3", 0], "text": "<detailed natural language prompt>" }},
  "6": { "class_type": "ConditioningZeroOut", "inputs": { "conditioning": ["5", 0] }},
  "7": { "class_type": "EmptySD3LatentImage", "inputs": { "width": 1328, "height": 1328, "batch_size": 1 }},
  "8": { "class_type": "KSampler", "inputs": {
    "model": ["2", 0],
    "positive": ["5", 0],
    "negative": ["6", 0],
    "latent_image": ["7", 0],
    "seed": 42, "steps": 50, "cfg": 4, "sampler_name": "euler", "scheduler": "simple", "denoise": 1
  }},
  "9": { "class_type": "VAEDecode", "inputs": { "samples": ["8", 0], "vae": ["4", 0] }},
  "10": { "class_type": "SaveImage", "inputs": { "images": ["9", 0], "filename_prefix": "qwen_t2i_hq" }}
}

Negative Conditioning

Always use ConditioningZeroOut for Qwen txt2img:

{
  "class_type": "ConditioningZeroOut",
  "inputs": { "conditioning": ["<positive_cond>", 0] }
}

Or use an empty string in CLIPTextEncode, but ZeroOut is more explicit and reliable.

QwenImageDiffsynthControlnet

For ControlNet support with Qwen models. Patches the model with a DiffSynth control signal:

Required Inputs:
  - model: MODEL
  - model_patch: MODEL_PATCH (from DiffSynth ControlNet loader)
  - vae: VAE
  - image: IMAGE (control image)
  - strength: FLOAT (default 1.0)

Optional:
  - mask: MASK

Outputs:
  [0] MODEL (patched)

DiffSynth ControlNets support: canny, depth, inpaint only (NOT pose).

Concept/Style LoRAs (Installed)

Located in loras/Qwen/:

  • style/: Figure makers, reality transform, panel painter
  • concept/: Various concept LoRAs
  • poses/: Pose-specific LoRAs
  • character/: Character enhancement
  • anime/: Anime style LoRAs
  • tool/: Utility LoRAs (anything2real, gaussian splash)
  • equirectangular projection/: 360 panorama LoRA

Apply with LoraLoaderModelOnly:

{
  "class_type": "LoraLoaderModelOnly",
  "inputs": {
    "model": ["<unet_or_lightning_lora>", 0],
    "lora_name": "Qwen\\concept\\hinaQwenImageAsianMixLora_v2.safetensors",
    "strength_model": 0.8
  }
}

Prompt Style

Natural language, 1 to 3 sentences. Be descriptive:

Good: "Professional portrait of an Asian woman in her late 20s, wearing a cream linen blazer at a Tokyo rooftop café during golden hour, holding a matcha latte, editorial fashion photography, shot on Sony A7III 85mm f/1.4"
Bad: "1girl, cafe, blazer, matcha"

Tips:

  • Put text to render in quotes within the prompt
  • "photograph" works better than "photorealistic"
  • Negative prompts: use NLP-style descriptions, not keyword spam (or use ZeroOut)

VRAM Considerations

ConfigVRAMNotes
FP8 UNET + fp8 CLIP + VAE~17-18GBFits comfortably on RTX 4090
bf16 UNET (edit model)~10GB UNET + 7GB CLIPAlso fits well
  • Always clear_vram before switching to Qwen from another model family
  • Lightning 4-step takes ~3-5s per image

Tips

  1. QwenImageIntegratedKSampler is the simplest approach for basic txt2img. One node handles everything
  2. For LoRA stacking or ControlNet, use the separate component pipeline instead
  3. The integrated sampler's auraflow_shift defaults to 3 (close to the recommended 3.1). Adjust only if needed
  4. For video pipeline output (feeding into WAN FLF), set resolution to 832x480
  5. CopaxTimeless pick: res_multistep + sgm_uniform at CFG 4.0 for ultra-realistic results
  6. Multiple concept LoRAs can stack. Reduce individual strength to 0.5-0.7 when combining

Sources

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Train custom LoRAs with ostris AI-Toolkit. Covers WAN 2.2/2.1 (people, styles, video motion) and Z-Image (Turbo & Base, low-VRAM image LoRAs). Use when the user wants to train a WAN or Z-Image LoRA; covers local + RunPod setup, dataset prep, key params, and using the result in a ComfyUI workflow.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

artokun/comfyui-mcp8602026년 10월 19일 업데이트

Anime/illustration text-to-image (ANIMA 1.0, ~2B Cosmos DiT). Use for anime, manga, illustrated characters; accepts Danbooru tags + natural language; runs/trains on <6GB VRAM; includes anime inpainting via Anima-LLLite ControlNet

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

artokun/comfyui-mcp8602026년 10월 19일 업데이트

Train a custom anime LoRA on the ANIMA base model with Citron's local Gradio trainer (kohya sd-scripts), <6GB VRAM, character/style LoRAs; covers setup, dataset prep, training params, and using the result in the anima-base workflow

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

artokun/comfyui-mcp8602026년 10월 19일 업데이트

civitai

무료

Discover Civitai models with the BUILT-IN download_model action:"search_civitai" and install/generate them locally. Find a checkpoint/LoRA/embedding on Civitai, download it into ComfyUI, and use its trigger words. Optionally pair the official Civitai MCP for community features (images browsing, posting, collections).

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

artokun/comfyui-mcp8602026년 10월 19일 업데이트

Diagnose and fix video/image color OBJECTIVELY with the get_image (action:"analyze_color") tool (scopes/stats such as black/white points, contrast, saturation, clipping, cast) instead of eyeballing a contact sheet. Covers the "washed out" signature, why reference color-match (mkl/ColorMatch/ColorMatchAdobe) CAN'T add contrast a flat source lacks, the levels/contrast-stretch fix (core AdjustContrast / CurveEditor), the measure→fix→re-measure loop, the side-by-side sandbox pattern, and where to place the fix in a render graph (after decode, before save). Use when a render looks washed out / flat / dull / over-saturated / color-cast, or when deciding between a color-match and a contrast/levels fix.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

artokun/comfyui-mcp8602026년 10월 19일 업데이트

Core ComfyUI knowledge covering workflow format, node types, pipeline patterns, and MCP tool usage

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

artokun/comfyui-mcp8602026년 10월 19일 업데이트

artokun의 스킬 모두 보기

이 스킬의 문제 신고