การ์ด Hero ที่มีชื่อว่า Qwen-Image-2.1 workflow คำบรรยายใต้ชื่อคือกราฟที่คุณสามารถสร้างใหม่ได้และปุ่มปรับที่กำหนดผลลัพธ์ โดยมีสามแถวที่มีป้ายกำกับอ่านว่า sampler euler กับ scheduler simple ที่ 25 steps และ CFG 1 ความละเอียดเป็นเป้าหมายระดับเมกะพิกเซลโดย 4.0 MP สำหรับ native 2K และทวีคูณของ 32 และ KV cache เป็นสวิตช์กำหนดความแน่นอน ไม่ใช่แค่การตั้งค่าความเร็ว ส่วนท้ายให้เครดิตภาพประกอบแก่เอกสาร Qwen-Image-2.1 ของ ComfyUI และที่เก็บเทมเพลต Comfy-Org อ่านเมื่อ 13 ตุลาคม 2026
Guides & Insights

เวิร์กโฟลว์ Qwen-Image-2.1: เชนโหนด ปุ่มปรับ และสิ่งที่เปลี่ยนแปลงไปนับตั้งแต่วันที่ศูนย์

ผู้เขียน

Gideon Frost

วันที่เผยแพร่

โมเดลล่าสุด · 20ดูโมเดลทั้งหมด →
เบนช์มาร์ก: Artificial Analysis · อัปเดตทุกวัน
กลับไปยังโพสต์ทั้งหมด

สิ่งที่คุณได้จากหน้านี้คือQwen-Image-2.1กราฟที่คุณสามารถสร้างใหม่ตั้งแต่ต้นและทำซ้ำได้ — ห่วงโซ่ของโหนดตามชื่อที่ตัวโหลดใช้จริง ปุ่มปรับสี่หรือห้าปุ่มที่ตัดสินว่าเอาต์พุตจะออกมาตรงกับสิ่งที่คุณขอหรือไม่ และการตั้งค่าสองอย่างที่ผู้คนเปลี่ยนโดยไม่รู้ตัวว่าพวกเขาได้เปลี่ยนตารางสัญญาณรบกวนไปแล้ว ตัวโมเดลเองคือการเปิดตัวแบบรวม text-to-image และการแก้ไขภาพของผู้ขาย ที่เปิดซอร์สเมื่อวันที่ 20 กันยายน 2026 ภายใต้สัญญาอนุญาตเพื่อการวิจัย: พารามิเตอร์ 7B ในองค์ประกอบการสร้างภาพ เลเยอร์ DiT แบบ single-stream จำนวน 32 เลเยอร์ VAE แบบ RGBA 64 แชนเนลที่การบีบอัดเชิงพื้นที่ 16 เท่า และรูปอ้างอิงสูงสุดสิบรูปบนเส้นทางการแก้ไข วันที่นั้นอยู่ตรงนี้เพื่อบอกคุณว่าคุณกำลังต่อเช็กพอยต์ตัวไหน ไม่ใช่เพื่อประกาศอะไร กราฟคือหัวข้อเรื่อง และกราฟก็มีประวัติการแก้ไขที่ควรอ่านก่อนที่คุณจะเชื่อภาพหน้าจอของคนอื่น — เทมเพลตที่แจกในวันนี้ไม่ใช่เทมเพลตที่แจกในวันแรก และความแตกต่างสี่ข้อก็คือสิ่งที่ผู้อ่านมักเข้าใจผิดพอดี

หน้านี้อธิบายกราฟใด

ทุกอย่างด้านล่างนี้อ่านมาจากที่เก็บเทมเพลตเวิร์กโฟลว์ของ ComfyUI Comfy-Org/workflow_templatesที่รีวิชันซึ่งเป็นปัจจุบัน ณ วันที่ 13 ตุลาคม 2026 โดยทำงานบน ComfyUI stable v0.39.0 (เผยแพร่เมื่อ 5 ตุลาคม 2026) ชื่อโหนดคือชื่อที่แสดงซึ่งตัวโหลดใช้ในกราฟ เมื่อโหนดใดถูกเพิ่มหรือเปลี่ยนชื่อระหว่างรีวิชัน จะมีการระบุวันที่ไว้ เส้นทางไปยังไฟล์เหล่านี้คือหน้าสอนใช้งานของ ComfyUI เองสำหรับ Qwen-Image-2.1 — มีเทมเพลตสามแบบอยู่ในนั้น และหน้านี้ทำตามเทมเพลตแบบข้อความเป็นภาพ จากนั้นจึงดัดแปลงมัน

เทมเพลตทั้งสามคือ Qwen-Image-2.1 Text to Image, Qwen-Image-2.1 Image Edit และ Remove Background: Qwen-Image-2.1ตัวสุดท้ายไม่ใช่กราฟที่แตกต่างออกไป: เอกสารของ ComfyUI ระบุว่ามันนำกราฟย่อยสำหรับแก้ไขภาพกลับมาใช้ซ้ำ โดยใช้พรอมต์ "ลบพื้นหลัง และส่งออกเป็นภาพ PNG" ดังนั้นจึงมีสองกราฟให้เรียนรู้ และหนึ่งในนั้นเป็นเทมเพลตพรอมต์ที่วางทับอยู่บนอีกกราฟหนึ่ง

เชนโหนด ตามลำดับ

เทมเพลตแปลงข้อความเป็นภาพเป็นซับกราฟ — โหนดที่พับเก็บได้หนึ่งโหนดบนแคนวาสซึ่งมีอินพุตที่เปิดเผยสิบแปดรายการ — ห่อหุ้มเชนสิบสามโหนด ภายในนั้น ลำดับคือ:

• UNETLoader — โหลด qwen_image_2.1_int8_convrot.safetensors โดยปล่อย weight dtype ไว้ที่ default นี่คือโมเดล diffusion และไฟล์ที่คุณเลือกตรงนี้คือสิ่งแรกที่ตัดสินว่าการรันของคุณจะตรงกับของคนอื่นหรือไม่

• Qwen Image 2.1 Cache — อยู่ระหว่างโหลดเดอร์กับแซมเพลอร์ ในเทมเพลตปัจจุบันถือเป็นโหนดที่ขาดไม่ได้ แต่สามารถบายพาสได้ และเป็นโหนดที่มีโอกาสหายไปจากกราฟที่คุณดาวน์โหลดมาในสัปดาห์แรกมากที่สุด

• KSampler — รับโมเดลจากโหนดแคช, คอนดิชันนิงเชิงบวกและลบจากตัวเข้ารหัสข้อความ, และ latent ว่างเปล่า วิดเจ็ตของมันในเทมเพลตที่จัดส่งมาอ่านว่า: seed 0, control fixed, steps 25, cfg 1, sampler euler, scheduler simple, denoise 1.

• EmptyLatentImage — ความกว้างและความสูงถูกเชื่อมเข้ามาจากResolution Selector โหนดที่อยู่นอกซับกราฟ และอินพุตตัวที่สามของมัน คือ batch size ถูกตั้งค่ามาให้ที่1.

• VAEDecode → SaveImageAdvanced — ตัวถอดรหัสส่งพิกเซลไปยังโหนดบันทึก โดยคำนำหน้าชื่อไฟล์คือ Qwen_image_2.1 และรูปแบบที่มีมาให้คือ PNG, 8-บิต, sRGB ทั้งนี้ PNG ไม่ใช่เรื่องเพียงผิวเผินในที่นี้ เพราะ VAE มีสี่แชนเนล ดังนั้น PNG 8-บิตจึงเป็นสิ่งที่รักษาแชนเนลอัลฟาให้คงอยู่ตลอดเส้นทางไปสู่ดิสก์

• CLIPLoader — โหลด qwen3vl_8b_int8_convrot.safetensors โดยตั้งค่าประเภทเป็น qwen_image Qwen3-VL 8B เป็น text encoder และยังเป็น vision tower ที่ใช้读取ภาพอ้างอิงของคุณด้วย

• Text Encode Qwen Image 2.1 (รหัสโหนด TextEncodeQwenImage21) — กำหนดเงื่อนไขให้พรอมป์ต โดยรับ clip, พรอมป์ต, พรอมป์ตเชิงลบ, VAE ที่ไม่บังคับ, จำนวนเต็มความละเอียด และชุดสล็อตรูปภาพที่ขยายเพิ่มอัตโนมัติชื่อ image_1 ถึง image_16 โดยคืนค่าสามอย่าง ได้แก่ conditioning เชิงบวก, conditioning เชิงลบ และ latent หนึ่งตัว latent นั้นคือส่วนที่คนมักมองข้าม — มันเป็น latent ว่างที่มีขนาดเท่ากับรูปอ้างอิงรูปแรก และบนกราฟ text-to-image มันไม่ถูกใช้งานเพราะ latent ว่างนั้นมาจาก Resolution Selector แทน

• VAELoader — qwen_image_2.1_vae_bf16.safetensors โดยป้อนให้ทั้งตัวถอดรหัสและเส้นทางภาพอ้างอิงของตัวเข้ารหัสข้อความ

สาขาเสริมเป็นส่วนสุดท้าย CLIPLoader ตัวที่สองโหลด qwen3.5_9b_qwen_image_2.1_pe_t2i.int8_convrot.safetensors โดยตั้งค่า type เป็น stable_diffusion — ไม่ใช่ qwen_image และความต่างนี้เป็นเจตนา เพราะนี่คือเช็คพอยต์สำหรับสร้างข้อความ ไม่ใช่ตัวเข้ารหัสภาพ มันป้อนเข้าสู่ Generate Textโหนด ซึ่งเอาต์พุตจะผ่าน Preview Any ไปยังพรอมป์ต์เชิงบวกของแซมเพลอร์ โดยสลับด้วย ComfySwitchNode ที่ต่อสายเข้ากับอินพุต refine_prompt และ Primitive String (Multiline)โหนดเก็บพรอมป์ต์ระบบที่การเขียนใหม่ทำตาม และคุณสามารถอ่านและแก้ไขได้

นับทั้งเชนดูแล้ว จะเห็นว่ามีหกโหนดที่เป็นงานจริง ๆ: โหลดโมเดล diffusion, โหลด text encoder, โหลด VAE, เข้ารหัส prompt, สุ่มตัวอย่างจาก latent ว่าง, ถอดรหัสและบันทึก ส่วนที่เหลือในเทมเพลตเป็นเรื่องหน่วยความจำหรือความสะดวกเท่านั้น

Screenshot of the ComfyUI documentation page for Qwen-Image-2.1, captured 13 October 2026, showing the language model link list for the text encoders and the 6.76 GB int8 diffusion model, the RGBA VAE filename, and the model storage location tree for the ComfyUI models folder, with the workflow settings section beginning below it.

มีอะไรเปลี่ยนไประหว่างกราฟ day-zero กับกราฟนี้

นี่คือส่วนที่ควรรู้ก่อนที่คุณจะคัดลอกเวิร์กโฟลว์จากภาพหน้าจอในบทช่วยสอน เพราะเทมเพลต Qwen-Image-2.1 ถูกแก้ไขห้าครั้งหลังจากที่เปิดตัวครั้งแรก และการแก้ไขเหล่านั้นไม่ใช่แค่การเปลี่ยนแปลงเพียงผิวเผิน

• 20 กันยายน 2026 — เทมเพลตแรก คอมมิต 96309bd530, "เพิ่มเทมเพลต Qwen Image 2.1" มีเจ็ดโหนดในซับกราฟ text-to-image: ตัวโหลด, เอนโคเดอร์, เลเทนต์ว่าง, แซมเพลอร์, ดีโคเดอร์ ตัวโหลด CLIP ถูกตั้งค่าให้ใช้ตัวเข้ารหัสข้อความ bfloat16, qwen3vl_8b_bf16.safetensors — ไฟล์ขนาด 16.33 GB

• 20 กันยายน 2026 ต่อมาในวันเดียวกัน คอมมิต 371a7b7171 ได้เปลี่ยนตัวโหลดนั้นเป็น qwen3vl_8b_int8_convrot.safetensors ไฟล์ขนาด 8.71 GB พร้อมข้อความ "เปลี่ยน CLIP ของ Qwen Image 2.1 เป็น int8 convrot" บันทึกของเทมเพลตเองระบุว่า "โหลดโดยเทมเพลต ใช้หน่วยความจำน้อยลง" เวิร์กโฟลว์ที่สร้างจากไฟล์ของช่วงเช้ากับที่สร้างจากไฟล์ของช่วงเย็นไม่ใช่เวิร์กโฟลว์เดียวกัน

• 25 กันยายน 2026 โหนด Qwen Image 2.1 Cache ปรากฏในกราฟเป็นครั้งแรก พร้อมกับสาขาการปรับปรุงพรอมป์ตทั้งหมด — ตัวโหลด CLIP ตัวที่สอง, Generate Text, Preview Any, สวิตช์, โหนดซิสเต็มพรอมป์ต ก่อนวันที่นี้ไม่มีโหนดแคชให้ตั้งค่าและไม่มีขั้นตอนการเขียนใหม่ให้ปิด เทมเพลตแก้ไขภาพได้รับการเพิ่มอินพุตที่สอดคล้องกันในวันเดียวกัน หมายเหตุ text-to-image ก็ได้รับการเพิ่มในรีวิชันนี้ทั้งบรรทัด 4 เมกะพิกเซลและตัวห่อพรอมป์ตภาพโปร่งใส

• 28 กันยายน 2026 มีการเพิ่มขนาดไฟล์เข้าไปในบันทึกประกอบการดาวน์โหลด — เป็นการเปลี่ยนแปลงด้านเอกสาร ไม่ใช่การเปลี่ยนแปลงของกราฟ แต่เป็นจุดที่ตัวเลขซึ่งผู้อ่านใช้เทียบกับตัวจัดการดาวน์โหลดของตนนั้นมีที่มาจาก

• 30 กันยายน 2026. คอมมิต 9fae1041be, "Qwen Image 2.1: อัปเดตการตั้งค่า PE" — ครั้งสุดท้ายที่เทมเพลต 2.1 ใด ๆ ถูกแก้ไข. นี่คือสิ่งที่สำคัญที่สุดและมองเห็นได้น้อยที่สุด. ค่าสามค่าบนโหนด Generate Text ถูกเปลี่ยน: งบโทเค็น max_length จาก 16256 ลงมาเป็น 4096, ค่าปรับการทำซ้ำจาก 1.05 เป็น 1.0, และ thinking จากปิดเป็นเปิด, โดยหมายเหตุของโหนดเองตอนนี้กล่าวว่า checkpoint "ถูกฝึกด้วยบล็อกการให้เหตุผลและสูญเสียคุณภาพหากไม่มีมัน". หมายเหตุของเทมเพลตอธิบายค่าก่อนหน้านี้ว่าเป็นค่าอย่างเป็นทางการและกล่าวว่าขีดจำกัดนี้มีอยู่เพื่อ "การเขียนใหม่ครั้งเดียวไม่สามารถทำงานเป็นเวลาหลายนาที".

สิ่งที่ไม่เปลี่ยนแปลงคือครึ่งที่มีประโยชน์ของเรื่องนี้ บล็อกการสุ่มตัวอย่างเหมือนกันทุกไบต์ระหว่างเทมเพลตเริ่มต้นกับของวันนี้: steps 25, cfg 1, euler, simple, denoise 1, การควบคุม seed แบบคงที่, latent ว่างที่เอาต์พุตของ Resolution Selector, ขนาดแบตช์ 1 กราฟนี้ไม่เคยถูกแก้โดยการย้าย sampler มันถูกแก้โดยการเปลี่ยนว่าโหลดไฟล์ text-encoder ไฟล์ใด เพิ่มโหนดแคช และแก้ไขการตั้งค่าของ prompt-enhancer เอง

ยังมีอีกหนึ่งชั้นที่อยู่ใต้กราฟ คอร์ของ ComfyUI ยังคงเปลี่ยนแปลงไปเรื่อย ๆ หลังจากที่เทมเพลตลงตัวแล้ว: v0.38.0 เมื่อวันที่ 29 กันยายน ปรับปรุงตรรกะตำแหน่ง KV cache ของ Qwen 2.1 และ v0.39.0 เมื่อวันที่ 5 ตุลาคม ได้ปล่อย "แก้ไขอาการแครชเมื่อเลือกแคช int8 หรือ int4 ใน qwen image 2.1" หากกราฟของคุณเป็นเวอร์ชันล่าสุดของวันนี้ และบิลด์ของคุณเก่ากว่านั้น ดรอปดาวน์แคชไม่ใช่ตัวเลือกที่ช้า แต่คือการแครช

Screenshot of the Comfy-Org workflow template repository commit history page for the Qwen-Image-2.1 text-to-image template, captured 13 October 2026, showing five commits: Add Qwen Image 2.1 template (#1276) and Switch Qwen Image 2.1 CLIP to int8 convrot (0.11.66) (#1277) both dated 20 September, Add Seedream 5.0 Flash templates (#1288) on 25 September, chore add model file sizes to download notes (#1291) on 28 September, and Qwen Image 2.1: Update PE settings (#1298) on 30 September.

หน้าปัดที่ผู้อ่านมีแนวโน้มจะอ่านผิดมากที่สุด

เริ่มจากสิ่งที่เอกสารระบุไว้ตรง ๆ เพราะมันช่วยตัดการเดาส่วนใหญ่ออกไป เวิร์กโฟลว์ Qwen-Image-2.1 ทั้งสามแบบใช้การสุ่มด้วย steps 25, cfg 1, euler sampler และ simple scheduler นั่นคือคำสรุปของ ComfyUI เอง และตรงกับวิดเจ็ตที่มีให้มาแบบตรงเป๊ะ

ความซับซ้อนอยู่ที่ว่า 25 และ 40 ต่างก็เป็นคำตอบที่ถูกต้องสำหรับคำถามที่ต่างกัน การ์ดโมเดลของผู้จำหน่ายเองรันไปป์ไลน์ diffusers ที่ num_inference_steps=40 และค่าดีฟอลต์ของไปป์ไลน์ diffusers ก็คือ 40 เช่นกัน เอกสารของ ComfyUI ระบุว่าไปป์ไลน์ที่เผยแพร่นั้น "ใช้ประมาณ 40 ถึง 50 สเต็ปกับออยเลอร์แซมเพลอร์ และเทมเพลตเริ่มต้นต่ำกว่าที่ 25" ไม่มีตัวเลขใดเป็นข้อผิดพลาด พวกมันคือค่าดีฟอลต์ของกราฟและการรันอ้างอิง

• Steps — ทิศทางและข้อแลกเปลี่ยน ค่าที่ต่ำกว่าจะเร็วกว่า และตามเอกสารของ ComfyUI คุณภาพจะคงอยู่แตกต่างกันไปตามลักษณะงาน: การแก้ไขเฉพาะจุดแบบง่าย ๆ ยังคงคุณภาพได้ที่ 4 ถึง 8 steps "ในขณะที่การแก้ไขที่เขียนใหม่ทั้งเฟรมจะสูญเสียความสอดคล้องและต้องใช้เต็ม 25 steps" รายละเอียดปลีกย่อยที่ดื้อดึงอย่างมือและนิ้ว "จะเข้าที่เมื่อประมาณ 30 steps" และการเพิ่มจาก 25 เป็น 40 ช่วยลดความไม่นิ่งในพื้นที่ที่มีรายละเอียด ทิศทางเป็นแบบโมโนโทนและข้อแลกเปลี่ยนเป็นแบบเส้นตรง: คำแนะนำในเอกสารคือให้ปรับ steps เฉพาะเมื่อมีบางสิ่งเฉพาะเจาะจงที่ยังแก้ไม่สำเร็จ ไม่ใช่เพิ่มเพื่อความปลอดภัย

• Guidance — cfg 1 คือการปิด guidance และนั่นคือเส้นทางที่เผยแพร่ ที่ cfg 1 ComfyUI จะข้ามขั้นตอน negative conditioning ไป ดังนั้น negative prompt จึงไม่มีผล เทมเพลตเก็บค่า cfg 1 ไว้ "ซึ่งเป็นเส้นทางที่ Qwen-Image-2.1 เผยแพร่ออกมา" ไปป์ไลน์ diffusers ก็พูดแบบเดียวกันด้วยถ้อยคำของตัวเอง โดยตั้งค่าเริ่มต้น true_cfg_scale เป็น 1.0 เพราะ "Qwen-Image 2.1 ถูกออกแบบมาให้สุ่มตัวอย่างโดยไม่ใช้ guidance" ปรับเพิ่มเฉพาะเมื่อคุณต้องการให้ negative prompt มีผลจริง ๆ และรู้ถึงราคาที่ต้องจ่าย: cfg 2 ทำตามพรอมป์ที่แน่นขนัดได้ใกล้เคียงกว่า รวมถึงข้อความและตัวเลขเล็ก ๆ "แลกมาด้วยขอบที่คมเกินไป" ค่าที่สูงขึ้นจะเลื่อนการเปิดรับแสงไปทางสว่างเกินหรือมืดเกิน cfg 5 ทำให้คุณภาพแย่ลงอย่างหนัก cfg 0.5 ทำให้ภาพพัง คำแนะนำของ ComfyUI คือให้เปลี่ยนทีละค่าที่ละครั้ง แล้วเปรียบเทียบที่ seed คงที่

• ความละเอียดคือเป้าหมายเชิงเมกะพิกเซล ไม่ใช่รูปสี่เหลี่ยม โหนด Resolution Selector กำหนดอัตราส่วนภาพและงบเมกะพิกเซล โดย 1.0 MP มีค่าประมาณ 1024x1024 Qwen-Image-2.1 สร้างภาพแบบเนทีฟที่ 2K ดังนั้นเป้าหมายสำหรับภาพจัตุรัส 2048x2048 จึงอยู่ที่ประมาณ 4.0 MP ค่าที่เป็นพหุคูณของ 32 คือสิ่งที่โมเดลต้องการ — ทูลทิปบนอินพุต resolution ของ text encoder ระบุว่าภาพอ้างอิงจะถูกปรับขนาดเป็นประมาณ resolution x resolution พิกเซลที่พหุคูณของ 32 โดยคงอัตราส่วนภาพไว้ และตัวช่วยคำนวณขนาดของไปป์ไลน์เองก็ปัดเป็น 32 เช่นกัน การ์ดโมเดลของผู้จำหน่ายเผยแพร่พรีเซ็ต 2K ไว้ดังนี้ 1:1 ที่ 2048x2048, 4:3 ที่ 2400x1792, 3:4 ที่ 1792x2400, 3:2 ที่ 2528x1696, 2:3 ที่ 1696x2528, 16:9 ที่ 2752x1536, 9:16 ที่ 1536x2752

• การตั้งเป้าเกิน 2K ทำให้การยึดตามพรอมป์ตลดลง ไม่ใช่ความคมชัด เป้าหมายที่สูงกว่าขนาด 2K ที่โมเดลได้รับการฝึกมาเป็นอย่างมาก เช่น 4K จะทำให้สูญเสียการยึดตามพรอมป์ต นั่นเป็นพฤติกรรมที่มีการบันทึกไว้ ไม่ใช่การอนุมานจากสถาปัตยกรรม

• ข้อที่ขัดกับสัญชาตญาณจริง ๆ ก็คือ ความละเอียดยังขยับตารางเสียงรบกวน (noise schedule) ด้วย Qwen-Image-2.1 สุ่มตัวอย่างด้วยตัวจัดตารางเวลาแบบ flow-matching Euler ซึ่งการเลื่อน timestep เป็นแบบไดนามิก และไปป์ไลน์จะคำนวณการเลื่อนนั้นจากความยาวของลำดับ latent — นั่นคือ จากจำนวนโทเค็นที่ความละเอียดซึ่งคุณเลือกสร้างออกมา คอนฟิก scheduler ของเช็กพอยต์ตั้งค่า base_shift 0.5 และ max_shift 0.9 ครอบคลุมช่วงลำดับภาพตั้งแต่ 256 ถึง 8192 และไปป์ไลน์จะป้อนความยาวลำดับของการรันของคุณเข้าสู่สูตรนั้นในทุกครั้งที่เรียกใช้ ดังนั้นการเปลี่ยนผืนแคนวาสจึงเปลี่ยนตารางของตัวสุ่มตัวอย่าง ไม่ใช่แค่เฟรมเท่านั้น ในเทมเพลต ComfyUI ไม่มีตัวควบคุม shift ให้ตั้งค่า — อินพุตของ KSampler มี model, positive, negative, latent image, seed, steps, cfg, sampler name และ scheduler และนั่นคือรายการทั้งหมด ถ้าผลลัพธ์ที่ 4 MP ของคุณดูไม่เหมือนผลลัพธ์ที่ 1 MP ในแบบที่คุณอธิบายไม่ได้ด้วยรายละเอียดเพียงอย่างเดียว นี่คือสาเหตุ

• บนกราฟการแก้ไข ความละเอียดทำงานแตกต่างออกไป และเป็นค่าดีฟอลต์ที่มีต้นทุนสูงที่สุดเพียงหนึ่งเดียว เมื่อปิด custom_size — ซึ่งเป็นค่าดีฟอลต์ของเทมเพลต — การแก้ไขจะถูกสร้างขึ้นที่ขนาดของภาพอ้างอิงภาพแรก resolution 0 จะคงภาพอ้างอิงแต่ละภาพไว้ที่ขนาดพิกเซลของตัวเองโดยปัดเป็นจำนวนเท่าของ 32 ดังนั้นภาพถ่ายขนาด 3000x4000 จึงให้ผืนผ้าใบขนาด 3008x4000 ส่วนค่าที่มากกว่า 0 จะปรับสัดส่วนภาพนั้นให้พอดีกับงบพิกเซล resolution x resolution แทน — ซึ่งเป็นจำนวนพิกเซลรวม ไม่ใช่ความกว้าง ตัวอย่างต้นทุนของ ComfyUI เองที่วัดบน RTX 5090: ภาพอ้างอิงขนาด 3000x4000 ที่ resolution 0 ใช้เวลาประมาณ 6 วินาทีต่อหนึ่งรอบ ส่วนการแก้ไขแบบเดียวกันที่ resolution 1024 ใช้เวลาประมาณ 0.3 วินาทีต่อหนึ่งรอบ ที่ขนาดราว 896x1184 เปิด custom_size แล้วดึงผืนผ้าใบจาก Resolution Selector และให้ขนาดใกล้เคียงกับขนาดภาพแรกหลังปรับขนาด "ไม่เช่นนั้นการแก้ไขอาจคลาดเคลื่อนได้"

ดีเทอร์มินิซึม: seed กำหนดอะไรได้บ้าง และอะไรที่มันกำหนดไม่ได้

การกำหนด seed แบบคงที่เป็นสิ่งจำเป็นแต่ยังไม่เพียงพอ และเทมเพลตที่จัดส่งมาด้วยกันนั้นมีความเห็นไม่ตรงกันในเรื่องนี้ KSampler สำหรับ text-to-image มาพร้อมกับการควบคุมแบบ คงที่ ส่วนเทมเพลตสำหรับการแก้ไขทั้งสองแบบ — การแก้ไขภาพและการลบพื้นหลัง — มาพร้อมกับการควบคุมแบบ สุ่ม sampler เดียวกัน ค่าเริ่มต้นเดียวกัน แต่พฤติกรรมตรงกันข้ามเมื่อจัดคิวซ้ำ

สมมติว่า seed ถูกกำหนดไว้คงที่แล้ว นี่คือสิ่งที่ยังทำให้ภาพเปลี่ยนแปลงได้:

• แคช KV นี่คือเรื่องใหญ่ และมีเอกสารยืนยัน ไม่ใช่ตำนาน Qwen-Image-2.1 แคชคีย์และค่าของข้อความและภาพอ้างอิงหลังจากขั้นตอนแรก; ซอร์สของไปป์ไลน์อธิบายว่าสิ่งนี้ใช้ได้เพราะโทเค็นการปรับเงื่อนไขไม่ขึ้นกับขั้นตอนภายใต้การปรับเงื่อนไขเชิงสาเหตุของโมเดล จากนั้นมันกล่าวถึงสิ่งที่สำคัญสำหรับผู้ที่พยายามสร้างภาพซ้ำ: การสลับแคช "ไม่สามารถสร้างภาพเดียวกันซ้ำแบบบิตต่อบิตในความแม่นยำที่ลดลง" เพราะขั้นตอนถอดรหัสให้ความสนใจด้วยรูปแบบลำดับที่แตกต่างจากขั้นตอน prefill ทั้งสองแบ่งไทล์ต่างกันและลงเอยที่การปัดเศษต่างกัน — และความแตกต่างหนึ่ง ULP ที่บล็อกแรกจะถูกขยายโดย 32 บล็อกและทุกขั้นตอนของตัวสุ่มตัวอย่าง ดังนั้น "การตั้งค่าทั้งสองให้ตัวอย่างที่ถูกต้องเท่าเทียมกันแต่แตกต่างกันอย่างเห็นได้ชัด" คำแนะนำของซอร์สเองคือ: แก้ไขตัวอย่างโดยการแก้ไขแฟล็กนี้ ใน ComfyUI แฟล็กนี้อยู่บน Qwen Image 2.1 Cache โหนด โดยมี device (auto, gpu, cpu, off) และ dtype (default, int8, int4)

• ประวัติการเผยแพร่ของโหนดแคชเอง มันยังไม่มีอยู่ก่อนวันที่ 25 กันยายน 2026 ดังนั้นเวิร์กโฟลว์แบบ day-zero จึงไม่มีการตั้งค่าเช่นนั้น และไม่ทำงานเหมือนกับของวันนี้ และ ปิด — การตั้งค่าเพียงอย่างเดียวที่ตัดแคชออก — "จะคำนวณคำนำหน้าใหม่ทุกขั้นตอน ซึ่งช้ากว่า แต่เป็นวิธีเดียวที่จะตัดแคชออก"

• ไฟล์โมเดลใด เทมเพลตจะโหลดโมเดล diffusion แบบ int8 และตัวเข้ารหัสข้อความแบบ int8 หากสลับอันใดอันหนึ่งเป็นไฟล์ bf16 คุณก็ได้เปลี่ยนการคำนวณไปแล้ว บันทึกการดาวน์โหลดจึงระบุทั้งสองแบบพร้อมขนาดไว้ ก็เพราะตัวเลือกนี้เป็นเรื่องจริง

• ตัวเพิ่มประสิทธิภาพพรอมป์ ถ้าเปิดอยู่เมื่อ refine_prompt เปิดอยู่ โมเดลรูปภาพจะสุ่มจากพรอมป์ที่เขียนใหม่ ไม่ใช่พรอมป์ที่คุณพิมพ์ — และการเขียนใหม่นั้นสร้างโดยโหนดGenerate Text แยกต่างหากที่มีพารามิเตอร์การสุ่มของตัวเอง: temperature 1.0, top_k 20, top_p 0.95, ฟิลด์ seed ของตัวเอง และmax_length งบโทเค็น. seed ของ KSampler ของคุณไม่ครอบคลุมสิ่งเหล่านั้นเลย โหนด Preview Any ภายในซับกราฟจะแสดงพรอมป์ที่ไปถึงโมเดลรูปภาพจริง ๆ ซึ่งเป็นวิธีเดียวที่จะรู้ว่าคุณเพิ่งทำซ้ำอะไร

• บิลด์ของ ComfyUI เทมเพลตมีคำเตือนของตัวเอง: โหนดที่หายไปเมื่อโหลดเวิร์กโฟลว์มักหมายความว่าบิลด์นั้นเก่ากว่าโหนด และ Desktop กับ Cloud จะตามรุ่นเสถียร จึงอาจตาม nightly ไม่ทัน

ดังนั้น การทำซ้ำภาพ Qwen-Image-2.1 ของคนอื่นจึงไม่ใช่แค่การสลับ seed มันคือรีวิชันของเทมเพลต ไฟล์โมเดลสองไฟล์ การตั้งค่าความละเอียด steps, cfg, sampler, scheduler อุปกรณ์แคชและ dtype สถานะเปิด/ปิดของ enhancer และ seed ของมันเอง — และสำหรับ edit graph คือขนาดของภาพอ้างอิงแรก ComfyUI ไม่ได้ให้การรับประกันเรื่องการทำซ้ำด้วย seed สำหรับเวิร์กโฟลว์เหล่านี้ และซอร์สของ diffusers ระบุตรง ๆ ว่าการสลับแคชเปลี่ยน sample ดังนั้นให้ถือว่าการตรงกันแบบเป๊ะ ๆ เป็นสิ่งที่คุณต้องประกอบขึ้นมาอย่างตั้งใจ ไม่ใช่สิ่งที่ seed หยิบยื่นให้คุณ

A two-column reference card contrasting the Qwen-Image-2.1 ComfyUI template as it shipped on 20 September 2026 with the template as it stands on 13 October 2026: the day-zero text encoder was qwen3vl_8b_bf16.safetensors at 16.33 GB, the KV cache node did not exist, there was no prompt enhancer, and the sampler was steps 25, cfg 1, euler, simple; today's text encoder is the int8 file at 8.71 GB, the Qwen Image 2.1 Cache node is present with device auto and dtype default, the prompt enhancer runs with thinking on and a max_length of 4096, and the sampler is unchanged.

มากกว่าหนึ่งภาพ และความทรงจำไปอยู่ที่ไหน

ในการตั้งค่าที่จัดส่งมา กราฟจะสร้างภาพหนึ่งภาพต่อการรัน และปุ่มปรับสำหรับเปลี่ยนค่านั้นก็ไม่น่าตื่นเต้น: EmptyLatentImage อินพุตที่สามของโหนด ซึ่งเป็น batch size ต่อไว้ที่ 1 การเพิ่มค่านั้นคือสิ่งที่ทำให้ sampler ปล่อยภาพหลายภาพจากคิวเดียว

ค่าใช้จ่ายของสิ่งนั้นคือจุดที่เรื่องนี้เริ่มตรงไปตรงมา เทมเพลตบอกคุณได้อย่างชัดเจนว่าแคชอยู่ที่ไหน — auto ใช้ VRAM ที่ว่างอยู่ แล้วจึงใช้ RAM ของระบบ; cpu ดึงข้อมูลล่วงหน้าอยู่เบื้องหลังการคำนวณ และเอกสารอธิบายว่ามันแลกมาด้วยความเร็วที่ลดลงเพียงเล็กน้อย; off คำนวณพรีฟิกซ์ใหม่ทุกสเต็ปและช้ากว่า พวกเขาระบุตัวเลขของฝั่งความแม่นยำ: int8 ลดแคชลงครึ่งหนึ่งโดยมีความแม่นยำประมาณ bf16 และ int4 ลดเหลือหนึ่งในสี่ แต่เพิ่มความผิดพลาดต่อสเต็ปเป็นประมาณสองเท่า สิ่งที่พวกเขาไม่เผยแพร่คือตารางขนาดแบตช์เทียบกับ VRAM และเอกสารของ ComfyUI ก็ไม่เผยแพร่เช่นกัน หากคุณกำลังกำหนดขนาดแบตช์สำหรับการ์ด คำตอบที่ตรงไปตรงมาคือไม่มีตัวเลขจากผู้พัฒนาเจ้าของผลิตภัณฑ์ใดที่ครอบคลุมเรื่องนี้; ปัจจัยที่ปรับได้ซึ่งมีผลตามที่เผยแพร่คืออุปกรณ์แคชและ dtype รวมถึงเป้าหมายความละเอียด ซึ่งเพิ่มทั้งจำนวน latent และพรีฟิกซ์ที่แคชไว้

กับดักแบตช์สองอย่างตั้งอยู่อีกฟากหนึ่งของรั้ว ในไปป์ไลน์ diffusers และทั้งคู่ก็ควรค่าแก่การรู้ เพราะกราฟ ComfyUI ซ่อนมันไว้ ในนั้น num_images_per_prompt จะคูณแบตช์ และถ้าคุณส่งลิสต์ของเจนเนอเรเตอร์ ความยาวของมันต้องตรงกับขนาดแบตช์ที่มีผลจริงพอดี ไม่เช่นนั้นไปป์ไลน์จะเกิดข้อผิดพลาด และลิสต์ของภาพเงื่อนไขคือ "ชุดภาพหนึ่งชุดที่ใช้ร่วมกันโดยทุกพรอมป์ต์ในแบตช์ ไม่ใช่หนึ่งรายการต่อพรอมป์ต์" — คุณไม่สามารถให้พรอมป์ต์แต่ละอันในแบตช์มีภาพอ้างอิงของตัวเองได้ คำแนะนำของแหล่งที่มาคือให้เรียกไปป์ไลน์หนึ่งครั้งต่อพรอมป์ต์แทน ซับกราฟการแก้ไขมีข้อจำกัดรูปร่างเดียวกันในตำแหน่งที่แตกต่างออกไป: ของมัน BatchImagesNode จะแบตช์ภาพอ้างอิงได้สูงสุดสิบภาพเข้าสู่ตัวเข้ารหัสข้อความ ซึ่งเป็นการแบตช์อินพุต ไม่ใช่เอาต์พุต ภาพอ้างอิงสิบภาพไม่ได้ให้ภาพสิบภาพ

Image-to-image จากกราฟเดียวกัน

คุณไม่จำเป็นต้องใช้กราฟที่แตกต่างออกไปสำหรับสิ่งนี้ เทมเพลตการแก้ไขภาพคือเชน text-to-image ที่นำ latent ว่างมาเปลี่ยนเป็นเอาต์พุต latent ของ text encoder แทน โดยมีLoadImage สองโหนดที่ป้อนimage_1 และimage_2 เข้าไปในสล็อตอ้างอิงของ subgraph และมีImageCompare โหนดอยู่ท้ายสุดเพื่อให้คุณเห็นอินพุตเทียบกับเอาต์พุต วางภาพหนึ่งภาพในimage_1 ปล่อยimage_2 ว่างไว้ เขียนคำสั่ง แล้วนั่นคือ image-to-image: ภาพของคุณคือบริบทที่โมเดลอ่าน ไม่ใช่ latent เริ่มต้นที่มันลดสัญญาณรบกวนบางส่วน ไม่มีสไลเดอร์ strength หรือ denoise บนเส้นทางนี้ให้ตั้งค่า เพราะเป้าหมายเริ่มจากสัญญาณรบกวน และข้อมูลอ้างอิงของคุณเข้าผ่าน encoder และ VAE แทน

นี่คือเส้นแบ่ง โดยสรุปอย่างละหนึ่งประโยค เพราะสองสิ่งนี้ห่างกันเพียงการค้นหาครั้งเดียว และผู้คนมักเอื้อมไปหยิบอันที่ผิด

• Image-to-image คือเมื่อคุณต้องการภาพที่แตกต่างออกไป: คุณส่งรูปภาพและคำอธิบายให้โมเดล แล้วโมเดลจะวาดภาพใหม่ที่คล้ายกับภาพของคุณ บนแคนวาสที่คุณเลือก

• การแก้ไข คือเมื่อคุณต้องการเปลี่ยนแปลง: คุณส่งภาพและคำสั่งที่ระบุว่าสิ่งใดควรแตกต่างให้โมเดล พร้อมกับมาสก์หรือรอยวาด (ไม่บังคับ) และโมเดลจะคงส่วนที่เหลือของเฟรมไว้

จุดสังเกตอยู่ตรงประโยคที่คุณกำลังจะพิมพ์ “ทำให้มันดูเหมือนแบบนี้แต่เป็นตอนกลางคืน” คือ i2i; “เปลี่ยนแจ็กเก็ตเป็นสีแดง ปล่อยอย่างอื่นไว้เหมือนเดิม” คือการแก้ไข และบนกราฟนี้ เส้นทางการแก้ไขคือที่ซึ่งมาสก์ ช่องอ้างอิงทั้งสิบ และพฤติกรรมการแก้ไขเฉพาะจุดอยู่ คำถามข้างเคียงนั้นเป็นหัวข้อของหน้าอื่น และอันนี้หยุดอยู่ที่เส้นนั้น เพื่อให้คุณบอกได้ว่าคุณอยู่บนเส้นไหน

เช็คพอยต์เทอร์โบ ในหนึ่งย่อหน้า

ขออ้างอิงสักหนึ่งรายการ เพราะรูปสะกดแบบ turbo อยู่ในตระกูลคำค้นนี้ และผู้อ่านจะได้พบเจอเข้าสักวัน Qwen-Image-2.1-Turbo เป็นเช็กพอยต์แบบ 8 สเต็ปแยกต่างหากของสถาปัตยกรรมการสร้างภาพขนาด 7B ตัวเดียวกัน เปิดตัวเมื่อวันที่ 9 ตุลาคม 2026 และโหลดด้วย QwenImage21Pipeline ตัวเดียวกัน การ์ดโมเดลของมันระบุว่าเช็กพอยต์นี้ "มาพร้อมตารางการสุ่มตัวอย่างที่แนะนำไว้แล้ว จึงพร้อมใช้งานได้ทันทีโดยไม่ต้องกำหนดค่าตัวจัดตารางเวลาด้วยตนเอง" ว่าการสร้างภาพใช้ CFG 1 เป็นค่าเริ่มต้น และการตั้งค่า num_inference_steps เพียงอย่างเดียวไม่ได้แทนที่ตารางเวลาที่บันทึกไว้ — อาร์กิวเมนต์ sigmas ที่ระบุอย่างชัดเจนตอนเรียกใช้ต่างหากที่จะแทนที่ได้ ทั้งหมดนั้นไม่ได้เปลี่ยนเชนของโหนดในหน้านี้เลย: ตัวโหลดเดิม เอนโคเดอร์เดิม โหนดแซมเพลอร์เดิม สิ่งที่เปลี่ยนคือตารางเวลามาจากไหน ซึ่งเป็นสิ่งเดียวที่ควรตรวจสอบในกราฟของคุณ ก่อนที่คุณจะเปรียบเทียบการรันแบบ turbo กับการรันแบบโมเดลฐาน แล้วสรุปว่าโมเดลแย่ลง

สิ่งที่ต้องทำต่อไปในกราฟ

โหลดเทมเพลตจากคลังเทมเพลตของ ComfyUI แทนที่จะโหลดจากภาพหน้าจอ จากนั้นอ่านโหนดทั้งสี่ก่อนที่คุณจะเข้าคิวอะไรก็ตาม บน Resolution Selector, ตั้งค่าอัตราส่วนภาพที่คุณต้องการจริง ๆ และถ้าคุณต้องการ 2K แบบเนทีฟของโมเดล ให้ตั้งเป้าหมาย 4.0 MP จากนั้นบน KSampler, ตรวจสอบว่า control เป็น fixed ถ้าคุณตั้งใจจะทำซ้ำการรันหนึ่งครั้ง และปล่อย steps ไว้ที่ 25 กับ cfg ที่ 1 จนกว่าจะมีบางอย่างที่เฉพาะเจาะจงล้มเหลว บน Qwen Image 2.1 Cache, ตัดสินใจเลือก device และ dtype ตอนนี้ แล้วจดบันทึกไว้ เพราะคุณไม่สามารถเปลี่ยนมันได้ในภายหลัง แล้วนำภาพสองภาพมาเปรียบเทียบกันราวกับว่ามีเพียง prompt ที่เปลี่ยนไป และบน Generate Text โหนด ให้ปล่อย refine_prompt ไว้ปิด จนกว่าคุณจะมี baseline ที่พอใจ — จากนั้นเปิดมัน อ่านข้อความที่เขียนใหม่ใน Preview Any และเก็บ seed ที่คุณใช้อยู่ไว้ เพื่อให้การเปรียบเทียบมีความหมาย

© 2026 OrcaRouter

สำหรับผู้ให้บริการ

ให้บริการแพลตฟอร์มการอนุมานอยู่หรือไม่ นำโมเดลของคุณขึ้น OrcaRouter

providers@orcarouter.ai

เข้าร่วมคอมมูนิตี้ของเรา

Discordsupport@orcarouter.aiXGitHubYouTube