
Quy trình Qwen-Image-2.1: Chuỗi nút, các nút điều chỉnh và những gì đã thay đổi kể từ Ngày 0
- OrcaMỚIOrca: OrcaCyber Zero 1.52026-10-10$3.00 / $7.50 trên 1 triệu token · 61 tok/s
- openaiMỚIOpenAI: GPT-6.1 Sol2026-09-2952Trí tuệ
- anthropicAnthropic: Claude Sonnet 5.52026-09-2856Trí tuệ
- typesafeTypeSafe: Jev 1.132026-09-24$0.04 / $0.00 trên 1 triệu token · 311 tok/s
- OpenAIOpenAI: GPT-6 Luna2026-09-2238Trí tuệ
- OpenAIOpenAI: GPT-6 Sol2026-09-2248Trí tuệ
- AnthropicAnthropic: Claude Opus 5.52026-09-2258Trí tuệ
- xAIGrok 4.72026-09-2146Trí tuệ
- OrcaOrca: OrcaCyber Zero 1.02026-09-17$3.00 / $7.50 trên 1 triệu token · 42 tok/s
- OrcaOrca: OrcaVerify Text 1.02026-09-16$2.00 / $0.00 trên 1 triệu token · 239 tok/s
- DeepSeekDeepSeek: DeepSeek V4.1 Flash2026-09-1040Trí tuệ
- OpenAIOpenAI: GPT-6 Astra2026-09-0453Trí tuệ77Lập trình
- GoogleGoogle: Gemini 3.8 Flash2026-09-0241Trí tuệ76Lập trình
- AlibabaQwen: Qwen3.8 Max (0902)2026-09-0245Trí tuệ76Lập trình
- AnthropicAnthropic: Claude Fable 5.12026-09-0153Trí tuệ82Lập trình
- TencentTencent: Hy4 preview2026-08-28$0.83 / $2.50 trên 1 triệu token · 56 tok/s
- AlibabaQwen: Qwen3.8 Flash2026-08-26$0.15 / $0.47 trên 1 triệu token · 120 tok/s
- z-aiZ.ai: GLM 5.3 Flash2026-08-2642Trí tuệ72Lập trình
- DeepSeekDeepSeek: DeepSeek V4 Flash Vision (Exp)2026-08-21$0.22 / $0.66 trên 1 triệu token · 212 tok/s
- z-aiZ.ai: GLM 5.32026-08-1845Trí tuệ75Lập trình
Những gì bạn nhận được từ trang này là một Qwen-Image-2.1 graph bạn có thể dựng lại từ đầu và tái tạo — chuỗi node theo đúng tên mà các loader thực sự dùng, bốn hoặc năm thông số điều chỉnh quyết định liệu đầu ra có phải là thứ bạn yêu cầu hay không, và hai cài đặt người ta thay đổi mà không hay biết mình đã thay đổi lịch nhiễu. Bản thân mô hình là bản phát hành hợp nhất text-to-image và chỉnh sửa ảnh của nhà cung cấp, được mở mã nguồn vào ngày 20 tháng 9 năm 2026 theo giấy phép nghiên cứu: 7B tham số trong thành phần sinh hình ảnh, 32 lớp DiT luồng đơn, một VAE RGBA 64 kênh với mức nén không gian 16x, và tối đa mười ảnh tham chiếu trên nhánh chỉnh sửa. Ngày đó xuất hiện ở đây để cho bạn biết bạn đang nối checkpoint nào, chứ không phải để công bố điều gì. Graph mới là đối tượng chính, và graph có một lịch sử sửa đổi đáng để đọc trước khi bạn tin vào ảnh chụp màn hình của người khác về nó — template được phát hành hôm nay không phải là template đã phát hành vào ngày đầu tiên, và bốn trong số những khác biệt đúng là những thứ mà người đọc hiểu sai.
Trang này đang mô tả biểu đồ nào
Tất cả nội dung dưới đây được đọc từ kho lưu trữ mẫu workflow của ComfyUI Comfy-Org/workflow_templates, tại bản sửa đổi hiện hành vào ngày 13 tháng 10 năm 2026, chạy trên ComfyUI stable v0.39.0 (phát hành ngày 5 tháng 10 năm 2026). Tên node là tên hiển thị mà các loader dùng trong graph; ở đâu một node được thêm mới hoặc đổi tên giữa các bản sửa đổi, ngày tháng sẽ được ghi rõ. Đường dẫn đến những tệp này là trang hướng dẫn của chính ComfyUI dành cho Qwen-Image-2.1 — trong đó có ba mẫu, và trang này đi theo mẫu text-to-image, rồi biến tấu nó.
Ba mẫu là Qwen-Image-2.1 Text to Image, Qwen-Image-2.1 Image Edit, và Remove Background: Qwen-Image-2.1. Mẫu cuối cùng không phải là một graph khác: tài liệu của ComfyUI nói rằng nó tái sử dụng subgraph image-edit với prompt "Remove the background, and output a PNG image". Vậy có hai graph cần học, và một trong số đó là một prompt template nằm trên cái còn lại.
Chuỗi nút, theo thứ tự
Mẫu text-to-image là một subgraph — một nút có thể thu gọn trên canvas với mười tám đầu vào được hiển thị — bao bọc một chuỗi mười ba nút. Bên trong nó, thứ tự là:
• UNETLoader — tải qwen_image_2.1_int8_convrot.safetensors với weight dtype được để ở mặc định. Đây là diffusion model, và file bạn chọn ở đây là thứ đầu tiên quyết định liệu lần chạy của bạn có khớp với lần chạy của người khác hay không.
• Qwen Image 2.1 Cache — nằm giữa loader và sampler. Nó không phải là tùy chọn trong template hiện tại, nhưng có thể bỏ qua, và đây là node dễ bị thiếu nhất trong một graph mà bạn tải về trong tuần đầu tiên.
• KSampler — lấy model từ nút cache, điều kiện positive và negative từ bộ mã hóa văn bản, cùng một latent rỗng. Các widget của nó trong template đi kèm đọc là: seed 0, control fixed, steps 25, cfg 1, sampler euler, scheduler simple, denoise 1.
• EmptyLatentImage — chiều rộng và chiều cao được nối vào từ Resolution Selector, nút nằm ngoài đồ thị con, và đầu vào thứ ba của nó, kích thước lô, được đặt ở 1.
• VAEDecode → SaveImageAdvanced — bộ giải mã chuyển pixel cho nút lưu, nút này có tiền tố tên tệp là Qwen_image_2.1 và định dạng xuất ra là PNG, 8-bit, sRGB. PNG không phải chuyện hình thức ở đây: VAE mang bốn kênh, nên PNG 8-bit chính là thứ giữ cho kênh alpha còn sống trên đường ghi ra đĩa.
• CLIPLoader — tải qwen3vl_8b_int8_convrot.safetensors với type được đặt thành qwen_image. Qwen3-VL 8B là text encoder, đồng thời cũng là vision tower đọc các ảnh tham chiếu của bạn.
• Text Encode Qwen Image 2.1 (id nút TextEncodeQwenImage21) — tạo conditioning cho prompt. Nó nhận clip, một prompt, một negative prompt, một VAE tùy chọn, một số nguyên độ phân giải, và một tập các khe hình ảnh tự động mở rộng có tên image_1 đến image_16. Nó trả về ba thứ: conditioning dương, conditioning âm, và một latent. Latent đó chính là phần mà mọi người thường bỏ sót — nó là một latent rỗng có kích thước bằng hình ảnh tham chiếu đầu tiên, và ở chế độ text-to-image, chính latent rỗng đó đến từ hình ảnh tham chiếu đầu tiên.
• VAELoader — qwen_image_2.1_vae_bf16.safetensors, cấp dữ liệu cho cả bộ giải mã lẫn đường dẫn ảnh tham chiếu của bộ mã hóa văn bản.
Nhánh tùy chọn là phần cuối cùng. Một CLIPLoader thứ hai tải qwen3.5_9b_qwen_image_2.1_pe_t2i.int8_convrot.safetensors với kiểu được đặt thành stable_diffusion — không phải qwen_image, và sự khác biệt đó là có chủ đích, vì đây là checkpoint tạo văn bản, không phải bộ mã hóa thị giác. Nó cấp dữ liệu cho một Generate Text nút, đầu ra của nút này đi qua Preview Any tới positive prompt của sampler, được chuyển bằng một ComfySwitchNode nối với đầu vào refine_prompt. Một nút Primitive String (Multiline) chứa prompt hệ thống mà bản viết lại tuân theo, và bạn có thể đọc và chỉnh sửa nó.
Đếm chuỗi thì nó gồm sáu nút công việc thực sự: tải mô hình diffusion, tải bộ mã hóa văn bản, tải VAE, mã hóa prompt, lấy mẫu từ một latent trống, giải mã và lưu. Mọi thứ còn lại trong template chỉ là bộ nhớ hoặc tiện ích.

Điều gì đã thay đổi giữa biểu đồ ngày 0 và biểu đồ này
Đây là phần đáng để biết trước khi bạn sao chép một workflow từ ảnh chụp màn hình hướng dẫn, vì các mẫu Qwen-Image-2.1 đã được chỉnh sửa năm lần sau khi chúng ra mắt lần đầu, và những chỉnh sửa đó không phải là thay đổi hình thức.
• 20 tháng 9 năm 2026 — mẫu đầu tiên. Commit 96309bd530, "Thêm mẫu Qwen Image 2.1". Bảy nút trong đồ thị con text-to-image: các bộ tải, bộ mã hóa, latent rỗng, bộ lấy mẫu, bộ giải mã. Bộ tải CLIP được đặt thành bộ mã hóa văn bản bfloat16, qwen3vl_8b_bf16.safetensors — tệp 16,33 GB.
• Ngày 20 tháng 9 năm 2026, muộn hơn trong cùng ngày. Commit 371a7b7171 đã chuyển loader đó sang qwen3vl_8b_int8_convrot.safetensors, tệp 8,71 GB, với thông báo "Switch Qwen Image 2.1 CLIP to int8 convrot". Ghi chú của chính template gắn nhãn cho nó là "loaded by the templates, lower memory". Một workflow được dựng từ tệp của buổi sáng và một workflow được dựng từ tệp của buổi tối không phải là cùng một workflow.
• 25 tháng 9 năm 2026. Nút Qwen Image 2.1 Cache đã xuất hiện trong đồ thị lần đầu tiên, cùng với toàn bộ nhánh tăng cường prompt — CLIP loader thứ hai, Generate Text, Preview Any, switch, nút system-prompt. Trước ngày này không có nút cache nào để thiết lập và không có bước prompt nào để tắt. Mẫu chỉnh sửa ảnh đã nhận được các đầu vào tương ứng cùng ngày. Ghi chú text-to-image cũng được bổ sung, trong bản sửa đổi này, cả dòng 4 megapixel và trình bao bọc prompt cho ảnh trong suốt.
• 28 tháng 9 năm 2026. Kích thước tệp đã được thêm vào phần ghi chú tải xuống — một thay đổi về tài liệu, không phải thay đổi về biểu đồ, nhưng đó chính là nguồn gốc của những con số mà người đọc đối chiếu với trình quản lý tải xuống của mình.
• 30 tháng 9 năm 2026. Commit 9fae1041be, "Qwen Image 2.1: Update PE settings" — lần cuối cùng một trong hai template 2.1 được động đến. Đây là thứ quan trọng nhất và cũng ít được thấy nhất. Ba giá trị trên nút Generate Text đã thay đổi: ngân sách token max_length từ 16256 giảm xuống 4096, hình phạt lặp lại từ 1.05 xuống 1.0, và thinking từ tắt sang bật, với ghi chú của chính nút giờ nói rằng checkpoint "đã được huấn luyện với một khối suy luận và mất chất lượng nếu không có nó". Các ghi chú của template mô tả những giá trị trước đó là các giá trị chính thức và nói rằng giới hạn này tồn tại để "một lần viết lại đơn lẻ không thể chạy trong nhiều phút".
Điều gì đã không thay đổi chính là nửa hữu ích của việc này. Khối sampling giống hệt từng byte giữa template ngày-zero và bản hôm nay: steps 25, cfg 1, euler, simple, denoise 1, điều khiển seed cố định, một latent trống ở đầu ra của Resolution Selector, batch size 1. Graph chưa bao giờ được sửa bằng cách di chuyển sampler. Nó được sửa bằng cách thay đổi tệp text-encoder nào được tải, thêm node cache, và chỉnh lại cài đặt của chính prompt-enhancer.
Một lớp nữa nằm bên dưới đồ thị. Phần lõi của ComfyUI vẫn tiếp tục thay đổi sau khi các template ổn định: v0.38.0 ngày 29 tháng 9 đã cải thiện logic định vị bộ đệm KV của Qwen 2.1, và v0.39.0 ngày 5 tháng 10 đã phát hành bản sửa “Sửa lỗi crash khi chọn bộ đệm int8 hoặc int4 trong qwen image 2.1”. Nếu đồ thị của bạn là bản hôm nay và bản dựng của bạn cũ hơn mốc đó, thì menu thả xuống cache không phải là một tùy chọn chậm, mà là một cú crash.

Những mặt số mà người đọc dễ hiểu sai nhất
Hãy bắt đầu từ những gì tài liệu nêu rõ ràng, vì điều đó loại bỏ phần lớn sự phỏng đoán. Cả ba workflow Qwen-Image-2.1 đều lấy mẫu với steps 25, cfg 1, bộ lấy mẫu euler, và bộ lập lịch simple. Đó là bản tóm tắt của chính ComfyUI, và nó khớp chính xác với các widget đi kèm.
Điều phức tạp là cả 25 và 40 đều là câu trả lời đúng cho những câu hỏi khác nhau. Thẻ mô hình của chính nhà cung cấp chạy pipeline diffusers ở num_inference_steps=40, và giá trị mặc định của pipeline diffusers cũng là 40; tài liệu của ComfyUI nói rằng pipeline được phát hành "dùng khoảng 40 đến 50 bước với bộ lấy mẫu euler, còn template bắt đầu thấp hơn ở mức 25". Không con số nào là lỗi. Chúng là một giá trị mặc định của graph và một lần chạy tham chiếu.
• Số bước — hướng và sự đánh đổi.Giá trị thấp hơn thì nhanh hơn và, theo tài liệu của ComfyUI, độ giữ vững chất lượng khác nhau tùy theo tác vụ: các chỉnh sửa cục bộ đơn giản vẫn giữ được chất lượng ở 4 đến 8 bước, "trong khi các chỉnh sửa viết lại toàn bộ khung hình mất tính mạch lạc và cần đủ 25 bước". Những chi tiết nhỏ khó nhằn như bàn tay và ngón tay "ổn định vào khoảng 30 bước", và đi từ 25 lên 40 giúp giảm hiện tượng nhấp nháy ở các vùng nhiều chi tiết. Xu hướng là đơn điệu và sự đánh đổi là tuyến tính: lời khuyên của tài liệu là chỉ điều chỉnh số bước khi một vấn đề cụ thể không được giải quyết, chứ không phải tăng chúng để cho an toàn.
• Guidance — cfg 1 là tắt guidance, và đó là lối được công bố. Ở cfg 1, ComfyUI bỏ qua lượt conditioning âm, nên prompt âm không có tác dụng. Template giữ cfg 1, "vốn là lối mà Qwen-Image-2.1 được công bố"; pipeline diffusers nói điều tương tự theo cách riêng của nó, mặc định true_cfg_scale là 1.0 vì "Qwen-Image 2.1 được thiết kế để lấy mẫu mà không cần guidance". Chỉ tăng nó lên khi bạn thực sự muốn prompt âm phát huy tác dụng, và hãy biết cái giá phải trả: cfg 2 bám sát các prompt dày đặc hơn, bao gồm cả chữ nhỏ và chữ số, "đổi lại là các cạnh bị làm sắc quá mức"; các giá trị cao hơn dịch chuyển độ phơi sáng theo hướng quá sáng hoặc quá tối; cfg 5 làm chất lượng suy giảm nghiêm trọng; cfg 0.5 làm hỏng ảnh. Hướng dẫn của ComfyUI là thay đổi từng giá trị một và so sánh ở cùng một seed cố định.
• Độ phân giải là một mục tiêu megapixel, không phải một hình chữ nhật. Nút Resolution Selector đặt tỷ lệ khung hình và ngân sách megapixel, trong đó 1.0 MP tương đương khoảng 1024x1024. Qwen-Image-2.1 tạo ảnh gốc ở 2K, vì vậy mục tiêu cho một hình vuông 2048x2048 là khoảng 4.0 MP. Bội số của 32 là điều mà mô hình yêu cầu — chú thích trên đầu vào resolution của text encoder cho biết các ảnh tham chiếu được đổi kích thước thành khoảng resolution x resolution pixel theo bội số của 32, giữ nguyên tỷ lệ khung hình, và trình trợ giúp kích thước của chính pipeline cũng làm tròn đến 32. Thẻ mô hình của nhà cung cấp công bố các cài đặt sẵn 2K: 1:1 ở 2048x2048, 4:3 ở 2400x1792, 3:4 ở 1792x2400, 3:2 ở 2528x1696, 2:3 ở 1696x2528, 16:9 ở 2752x1536, 9:16 ở 1536x2752.
• Vượt quá 2K làm mất tính tuân thủ, không phải độ sắc nét.Các mục tiêu cao hơn hẳn kích thước 2K mà mô hình được huấn luyện, chẳng hạn như 4K, làm mất tính tuân thủ lời nhắc. Đó là một hành vi đã được ghi nhận, không phải suy luận từ kiến trúc.
• Điều thực sự phản trực giác: độ phân giải cũng thay đổi lịch nhiễu. Qwen-Image-2.1 lấy mẫu bằng bộ lập lịch Euler flow-matching với độ dịch timestep động, và pipeline tính độ dịch đó từ độ dài của chuỗi latent — tức là từ số token mà độ phân giải bạn chọn tạo ra. Cấu hình scheduler của checkpoint đặt base_shift 0.5 và max_shift 0.9 trong khoảng chuỗi ảnh từ 256 đến 8192, và pipeline đưa độ dài chuỗi của lần chạy bạn vào công thức đó ở mỗi lần gọi. Do đó, thay đổi khung vẽ sẽ thay đổi lịch của bộ lấy mẫu, chứ không chỉ khung hình. Trong template ComfyUI không có điều khiển shift nào để đặt — các đầu vào của KSampler là model, positive, negative, latent image, seed, steps, cfg, sampler name và scheduler, và đó là toàn bộ danh sách. Nếu kết quả của bạn ở 4 MP trông khác với kết quả ở 1 MP theo cách mà bạn không thể giải thích chỉ bằng mức độ chi tiết, thì đây chính là lý do.
• Trên đồ thị edit, độ phân giải hoạt động khác đi và là mặc định tốn kém nhất.Với custom_size tắt — mặc định của template — bản chỉnh sửa được tạo ở kích thước của ảnh tham chiếu đầu tiên. resolution 0 giữ mỗi ảnh tham chiếu ở kích thước pixel riêng của nó, làm tròn đến bội số của 32, nên một bức ảnh 3000x4000 tạo ra canvas 3008x4000. Giá trị lớn hơn 0 thay vào đó sẽ co giãn tỉ lệ khung hình của ảnh đó theo một ngân sách pixel resolution x resolution — tổng số pixel, không phải chiều rộng. Ví dụ về chi phí của chính ComfyUI, đo trên RTX 5090: ảnh tham chiếu 3000x4000 ở resolution 0 mất khoảng 6 giây mỗi lần lặp; cùng bản chỉnh sửa đó ở resolution 1024 mất khoảng 0,3 giây mỗi lần lặp, với kích thước xấp xỉ 896x1184. Hãy bật custom_size và lấy canvas từ Resolution Selector, rồi giữ nó gần với kích thước ảnh đầu tiên sau khi đổi kích thước, "nếu không bản chỉnh sửa có thể bị lệch".
Tính xác định: một seed cố định những gì, và những gì nó không cố định
Một seed cố định là cần thiết nhưng chưa đủ, và các template đi kèm lại mâu thuẫn với nhau về điều này. KSampler text-to-image đi kèm với điều khiển cố định; cả hai template chỉnh sửa — chỉnh sửa ảnh và xóa nền — đều đi kèm với điều khiển ngẫu nhiên hóa. Cùng một sampler, cùng các giá trị mặc định, hành vi trái ngược khi đưa lại vào hàng đợi.
Giả sử seed đã được cố định. Đây là những gì vẫn làm thay đổi hình ảnh:
• Bộ nhớ đệm KV. Đây là vấn đề lớn, và nó đã được ghi lại trong tài liệu chứ không phải chỉ là tin đồn. Qwen-Image-2.1 lưu vào bộ nhớ đệm các khóa và giá trị của văn bản và ảnh tham chiếu sau bước đầu tiên; mã nguồn pipeline giải thích rằng điều này là hợp lệ vì các token điều kiện không phụ thuộc vào bước dưới cơ chế điều kiện nhân quả của mô hình. Sau đó, nó nói điều quan trọng đối với bất kỳ ai đang cố gắng tái tạo một bức ảnh: việc bật/tắt bộ nhớ đệm "không tái tạo cùng một hình ảnh từng bit một ở độ chính xác giảm", bởi vì bước giải mã chú ý với cách bố trí chuỗi khác so với bước điền trước, hai bước này chia tile khác nhau và rơi vào làm tròn khác nhau — và sự khác biệt một ULP ở khối đầu tiên được khuếch đại bởi 32 khối và mỗi bước lấy mẫu, vì vậy "hai cài đặt cho ra các mẫu hợp lệ như nhau nhưng khác biệt rõ rệt về mặt hình ảnh". Hướng dẫn của chính mã nguồn là: cố định một mẫu bằng cách cố định cờ này. Trong ComfyUI, cờ nằm trên Qwen Image 2.1 Cache nút, dưới dạng device (auto, gpu, cpu, off) và dtype (default, int8, int4).
• Lịch sử phát hành của chính nút bộ đệm. Nó chưa tồn tại trước ngày 25 tháng 9 năm 2026, nên một quy trình ngày 0 không có cài đặt như vậy và không hoạt động giống như quy trình ngày nay. Và tắt — cài đặt duy nhất loại trừ bộ đệm — "tính toán lại tiền tố ở mỗi bước, chậm hơn nhưng là cách duy nhất để loại trừ bộ đệm".
• Những tệp mô hình nào.Template tải một mô hình diffusion int8 và một bộ mã hóa văn bản int8. Đổi một trong hai sang tệp bf16 là bạn đã thay đổi phép tính. Ghi chú tải xuống liệt kê cả hai, kèm kích thước của chúng, chính vì lựa chọn này là có thật.
• Bộ tăng cường prompt, nếu nó đang bật. Với refine_prompt được bật, mô hình hình ảnh lấy mẫu từ prompt đã được viết lại, không phải cái bạn đã nhập — và bản viết lại được tạo bởi một nút Generate Text riêng với các tham số lấy mẫu riêng của nó: temperature 1.0, top_k 20, top_p 0.95, trường seed riêng của nó, và một ngân sách token max_length. Seed KSampler của bạn không bao gồm bất kỳ điều nào trong số đó. Nút Preview Any nằm bên trong đồ thị con hiển thị prompt thực sự đã đến mô hình hình ảnh, đây là cách duy nhất để biết bạn vừa tái tạo cái gì.
• Bản build ComfyUI. Các template có cảnh báo riêng: thiếu node khi tải một workflow thường có nghĩa là bản build ra đời trước các node đó, còn Desktop và Cloud đi theo các bản phát hành ổn định và có thể chậm hơn bản nightly.
Vậy việc tái tạo hình ảnh Qwen-Image-2.1 của người khác không phải là hoán đổi seed. Đó là bản sửa đổi template, hai tệp model, cài đặt độ phân giải, steps, cfg, sampler, scheduler, thiết bị cache và dtype, trạng thái bật/tắt của enhancer cùng seed riêng của nó — và, đối với graph chỉnh sửa, kích thước của ảnh tham chiếu đầu tiên. ComfyUI không công bố đảm bảo nào về khả năng tái lập theo seed cho các workflow này, và mã nguồn diffusers nói rõ rằng việc bật/tắt cache sẽ làm thay đổi mẫu; hãy coi khớp chính xác là thứ bạn chủ động lắp ghép chứ không phải thứ mà một seed ban cho bạn.

Nhiều hơn một hình ảnh và bộ nhớ đi đâu
Trong cấu hình phát hành, graph tạo ra một ảnh mỗi lần chạy, và nút điều chỉnh để thay đổi điều đó chẳng có gì hào nhoáng: node EmptyLatentImage có đầu vào thứ ba, batch size, được đặt ở 1. Tăng nó lên chính là thứ khiến sampler xuất ra nhiều ảnh từ một hàng đợi.
Cái giá của việc đó là chỗ mọi thứ trở nên thật lòng. Các template cho bạn biết chính xác cache nằm ở đâu — auto dùng VRAM còn trống rồi đến RAM hệ thống; cpu prefetch phía sau phần tính toán và tài liệu mô tả nó chỉ tốn chút tốc độ; off tính lại prefix mỗi bước và chậm hơn. Họ định lượng cả khía cạnh độ chính xác: int8 giảm một nửa cache với độ chính xác khoảng bf16, và int4 giảm còn một phần tư nhưng lỗi mỗi bước tăng gần gấp đôi. Điều họ không công bố là bảng ánh xạ batch-size sang VRAM, và tài liệu của ComfyUI cũng vậy. Nếu bạn đang tính kích thước batch cho một card, câu trả lời thật lòng là không có con số chính hãng nào bao quát được điều đó; những đòn bẩy có hiệu ứng được công bố là thiết bị lưu cache và dtype, cùng với mục tiêu độ phân giải, thứ làm tăng cả số lượng latent lẫn prefix được cache.
Hai cái bẫy về batch nằm ở phía bên kia hàng rào, trong pipeline diffusers, và cả hai đều đáng để biết vì đồ thị ComfyUI che giấu chúng. Ở đó, num_images_per_prompt nhân số lượng batch lên, và nếu bạn truyền vào một danh sách các generator thì độ dài của nó phải khớp chính xác với kích thước batch hiệu dụng, nếu không pipeline sẽ báo lỗi. Còn một danh sách ảnh điều kiện là "một tập ảnh được chia sẻ cho mọi prompt trong batch, chứ không phải một mục cho mỗi prompt" — bạn không thể cấp cho mỗi prompt trong một batch ảnh tham chiếu riêng của nó; hướng dẫn từ nguồn là thay vào đó hãy gọi pipeline một lần cho mỗi prompt. Đồ thị con chỉnh sửa có dạng ràng buộc tương tự ở một chỗ khác: BatchImagesNode của nó gom tối đa mười ảnh tham chiếu vào text encoder, tức là gom batch các đầu vào, chứ không phải đầu ra. Mười ảnh tham chiếu không mang lại cho bạn mười bức ảnh.
Hình ảnh sang hình ảnh từ cùng một đồ thị
Bạn không cần một đồ thị khác cho việc này. Mẫu chỉnh sửa ảnh là chuỗi text-to-image với latent rỗng được thay bằng đầu ra latent của text encoder, hai nút LoadImage đưa image_1 và image_2 vào các khe tham chiếu của đồ thị con, và một ImageCompare nút ở cuối để bạn có thể thấy đầu vào bên cạnh đầu ra. Đặt một ảnh vào image_1, để image_2 trống, viết một chỉ dẫn, và đó chính là image-to-image: ảnh của bạn là ngữ cảnh mà mô hình đọc, không phải latent khởi đầu mà nó khử nhiễu một phần. Không có thanh trượt strength hay denoise trên đường dẫn này để đặt, vì mục tiêu bắt đầu từ nhiễu và tham chiếu của bạn đi vào qua encoder và VAE thay vào đó.
Đây là ranh giới, mỗi bên một câu, vì hai thứ này chỉ cách nhau một lần tìm kiếm và người ta lại chọn nhầm cái kia.
• Hình ảnh sang hình ảnh là khi bạn muốn một biến thể: bạn đưa cho mô hình một hình ảnh và một mô tả, rồi nó vẽ một bức tranh mới giống với hình của bạn, trên khung vẽ mà bạn chọn.
• Chỉnh sửa là khi bạn muốn có một thay đổi: bạn đưa cho mô hình một hình ảnh và một chỉ dẫn nêu rõ điều gì cần khác đi, cùng với tùy chọn một mặt nạ hoặc các nét vẽ, và mô hình giữ nguyên phần còn lại của khung hình.
Dấu hiệu nằm ở câu bạn sắp gõ. "Làm cho nó trông như thế này nhưng vào ban đêm" là i2i; "đổi áo khoác thành màu đỏ, giữ nguyên mọi thứ khác" là một chỉnh sửa, và trên đồ thị này, đường chỉnh sửa là nơi chứa mặt nạ, mười khe tham chiếu và hành vi chỉnh sửa cục bộ. Câu hỏi lân cận đó là chủ đề của một trang khác, còn câu này dừng lại ở ranh giới để bạn có thể biết mình đang ở bên nào.
Checkpoint turbo, trong một đoạn văn.
Một tham chiếu chéo, vì cách viết turbo nằm trong họ truy vấn này và người đọc sẽ gặp nó. Qwen-Image-2.1-Turbo là một checkpoint 8 bước riêng biệt của cùng kiến trúc tạo hình ảnh 7B, được phát hành vào ngày 9 tháng 10 năm 2026 và được nạp bởi cùng QwenImage21Pipeline. Model card của riêng nó nói rằng checkpoint "bao gồm lịch lấy mẫu được khuyến nghị, nên có thể dùng ngay mà không cần cấu hình bộ lập lịch thủ công", rằng quá trình tạo sử dụng CFG 1 theo mặc định, và rằng chỉ đặt num_inference_steps không ghi đè lịch đã lưu — một đối số sigmas được truyền rõ ràng tại thời điểm gọi thì có. Không điều nào trong số đó thay đổi chuỗi nút trên trang này: cùng các loader, cùng encoder, cùng nút sampler. Điều thay đổi là lịch đến từ đâu, và đó là thứ duy nhất đáng kiểm tra trong graph của bạn trước khi bạn so sánh một lần chạy turbo với một lần chạy mô hình gốc và kết luận rằng mô hình đã trở nên tệ hơn.
Cần làm gì tiếp theo, trong biểu đồ
Hãy tải template từ thư viện template của ComfyUI thay vì từ ảnh chụp màn hình, rồi đọc bốn node trước khi bạn đưa bất cứ thứ gì vào hàng đợi. Trên Resolution Selector, hãy đặt tỉ lệ khung hình mà bạn thực sự muốn và, nếu bạn muốn mức 2K gốc của model, thì đặt mục tiêu 4.0 MP. Trên KSampler, hãy xác nhận control là fixed nếu bạn định tái lặp lại một lần chạy, và để steps ở 25 cùng cfg ở 1 cho đến khi có thứ gì đó cụ thể thất bại. Trên Qwen Image 2.1 Cache, hãy quyết định device và dtype ngay bây giờ rồi ghi chúng lại, vì bạn không thể thay đổi chúng sau đó rồi lại so sánh hai ảnh như thể chỉ có prompt thay đổi. Và trên node Generate Text, hãy để refine_prompt tắt cho đến khi bạn có một baseline mà mình ưng ý — sau đó bật nó lên, đọc bản viết lại trong Preview Any, và giữ nguyên seed bạn đang dùng để phép so sánh thực sự có ý nghĩa.
