KM
ComfyUI 101 · บทที่ 4

พารามิเตอร์ KSampler — 6 ปุ่มที่ต้องหมุนเป็น

บทที่แยก “คนกดมั่ว” ออกจาก “คนเข้าใจจริง” — ทุกปุ่มในบทนี้ลองหมุนได้จริง แล้วดูผลกับภาพทันที

4.1

Latent space คืออะไร (ทำไมต้องมี VAE)

โมเดล diffusion ไม่ได้วาดทีละ pixel — มันทำงานในพื้นที่ย่อขนาดที่เก็บ “ความหมาย” ของภาพแบบบีบอัด แล้วให้ VAE เป็นสะพานแปลงไป-กลับ

IMAGE (pixel)

1024×1024 ≈ 1 ล้าน pixel × 3 ช่องสี

ย่อ/บีบอัดภาพจริง → latent

LATENT

128×128 — เล็กกว่า ~8 เท่าต่อด้าน
เก็บ “ความหมาย/โครงสร้าง” แบบบีบอัด

🧠 KSampler ทำงานใน latent space ทั้งหมด → เร็วและประหยัด VRAM — latent คือ “ภาพร่างความคิด” ส่วน VAE คือ “นักแปล” ไป-กลับภาพจริง

4.2 · หัวใจของบท

พารามิเตอร์ KSampler ทีละตัว — ลองหมุนเอง

คลิกพารามิเตอร์ใน node ซ้ายมือ แล้วทดลองหมุนในแผงขวา — ผลที่เห็นเป็นการจำลองพฤติกรรม เพื่อให้เข้าใจทิศทางของแต่ละปุ่ม

KSampler

🌱 seedเมล็ดสุ่ม

seed เดียวกัน + ทุกอย่างเหมือนเดิม = ได้ภาพเดิมเป๊ะ

seed =42

“ภาพ” นี้ถูกสร้างจาก seed 42 — กด Generate ซ้ำดู:

fixed: ได้ผลเดิมเป๊ะทุกครั้ง — หัวใจของการทำซ้ำใน production/automation

💡 เจอภาพที่ชอบ → ตั้ง seed เป็น fixed แล้วค่อยปรับ prompt/ค่าอื่นทีละนิด

🌱

seed

เมล็ดสุ่ม

🔁

steps

จำนวนรอบ denoise

🎯

cfg

ความเข้มงวดต่อ prompt

🎲

sampler_name

อัลกอริทึม sample

📉

scheduler

จังหวะการลด noise

🌗

denoise

เก็บภาพเดิมแค่ไหน

4.3

ตารางตั้งค่าแนะนำ (Cheat Sheet)

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

KSampler — SDXL ทั่วไปค่าเริ่มต้นแนะนำ
steps25–30
cfg6–7
sampler_namedpmpp_2m
schedulerkarras
denoise1.0

4.4

ชนิดข้อมูลหลัก — ฉบับเข้าใจจริง

7 ชนิดที่เจอบ่อยสุด: คลิกแต่ละชนิดเพื่อดูว่า “มาจาก node ไหน” และ “ใครเอาไปใช้ต่อ” — เพิ่ม MASK จาก 6 ตัวที่รู้จักในบทที่ 3

มาจาก (ผู้ผลิต)

  • Empty Latent
  • VAE Encode
  • KSampler

LATENT

ภาพในพื้นที่บีบอัด

ใช้กับ (ผู้บริโภค)

  • KSampler
  • VAE Decode
  • Upscale Latent

🔑 กฎเหล็ก: ต่อได้เฉพาะชนิดเดียวกัน — ข้ามชนิดต้องมี node แปลงคั่นกลาง

IMAGEVAE EncodeLATENTKSampler ✓(จะส่งภาพให้ KSampler ที่กิน LATENT ต้องแปลงก่อนเสมอ)

4.5

Negative prompt ทำงานยังไง

KSampler รับ 2 เงื่อนไขเสมอ: positive ดึงภาพเข้าหา · negative ผลักภาพออกห่าง — และ cfg คือคนตัดสินว่าดึงแรงแค่ไหน

⬅ positive “ดึงเข้าหา”negative “ผลักออก” ➡
🖼️
cfg =7.0

ทุก step KSampler คำนวณว่า “ตาม positive จะไปทางไหน” กับ “ตาม negative จะไปทางไหน” แล้วใช้ cfg ตัดสินว่าจะเอนไป positive แรงแค่ไหน — ช่วงนี้กำลังพอดี

💡 negative prompt ได้ผลดีกับ SD1.5/SDXL — แต่โมเดลรุ่นใหม่บางตัว (เช่น Flux) แทบไม่ใช้ negative เพราะสถาปัตยกรรมต่างกัน

4.6 · ตัวอย่างจริง

Workflow “Hires Fix” — denoise ในสนามจริง

สร้างภาพใหญ่ตรง ๆ มักได้องค์ประกอบเพี้ยน (เช่น 2 หัว) — วิธีแก้คลาสสิก: สร้างเล็กก่อน แล้วขยาย+เกลาอีกรอบด้วย denoise ต่ำ

1. KSampler รอบ 1

denoise 1.0

สร้างองค์ประกอบที่ขนาดเล็ก (ไม่เพี้ยน)

2. Upscale Latent

×1.5–2

ขยายภาพร่างในพื้นที่ latent

3. KSampler รอบ 2

denoise 0.4–0.5

เติมรายละเอียดโดยไม่ทำลายโครงเดิม

4. VAE Decode

→ IMAGE

แปลงกลับเป็นภาพจริงความละเอียดสูง

🔑 นี่คือเหตุผลที่ “เข้าใจ denoise” สำคัญ — มันคือกุญแจของ img2img / upscale ทั้งหมด (ลงลึกในบทที่ 5)

✅ สรุปบทที่ 4

  • • diffusion ทำงานใน latent space (บีบอัด) → VAE คือสะพานไป-กลับภาพจริง
  • • KSampler 6 ปุ่ม: seed ทำซ้ำได้ · steps รายละเอียด/เวลา · cfg เชื่อ prompt แค่ไหน · sampler/scheduler วิธี+จังหวะ · denoise เก็บภาพเดิมแค่ไหน
  • denoise คือพารามิเตอร์ที่ทรงพลังที่สุดสำหรับงานแก้ภาพ/ขยายภาพ
  • • ชนิดข้อมูล 7 แบบ ต่อได้เฉพาะชนิดเดียวกัน — ข้ามชนิดต้องมี node แปลง (เช่น IMAGE → VAE Encode → LATENT)
📚 จากนี้แยกสาย: บทที่ 5 — เทคนิคงานกราฟิก (สาย Graphic — เลือกจาก sidebar ได้เลย) หรือ บทที่ 6 — Automation/API (สาย Automation) — เร็ว ๆ นี้