Core Workflow — 6 node ที่อยู่เบื้องหลังทุกภาพ AI
ทุก workflow ที่ซับซ้อน (inpaint · ControlNet · video) ล้วนต่อยอดจากโครงนี้ — เข้าใจ 6 ตัวนี้ = อ่าน workflow ไหนก็ออก แล้วปิดท้ายด้วยการต่อเองตั้งแต่ศูนย์
3.1
โครงกระดูกของ text-to-image ทุกครั้ง
เปิด Templates → Image → Text to Image ใน ComfyUI จะเจอหน้าตาแบบนี้เป๊ะ — สีของเส้น = ชนิดข้อมูล
Node 1/6
📦 Load Checkpoint — โหลดโมเดลหลัก
โหลดไฟล์โมเดล (.safetensors) แล้วแยกออกเป็น 3 ส่วนให้ node อื่นใช้งาน
← Input
— ไม่มี (จุดเริ่มต้น)
Output →
- MODEL — สมองหลักที่ทำนาย noise
- CLIP — ล่ามแปลง prompt เป็นตัวเลข
- VAE — นักแปลระหว่างภาพจริง ↔ latent
⚙️ การตั้งค่า
เลือกชื่อไฟล์โมเดลจาก dropdown (ไฟล์ใน models/checkpoints/)
🧠 จำง่าย ๆ
checkpoint = “แพ็กรวม” ที่มีทั้งสมอง (MODEL), ล่ามภาษา (CLIP) และนักแปลภาพ (VAE) อยู่ในกล่องเดียว
ตำแหน่งใน workflow
Node 2/6
💬 CLIP Text Encode ×2 — แปลง prompt เป็นเงื่อนไข
รับข้อความ prompt → ใช้ CLIP แปลงเป็น CONDITIONING (เงื่อนไขที่บอก KSampler ว่าให้สร้างอะไร)
← Input
- clip — จาก Load Checkpoint
Output →
- CONDITIONING — เงื่อนไขจาก prompt
⚙️ การตั้งค่า
ต้องมี 2 ตัวเสมอ: Positive = สิ่งที่อยากได้ · Negative = สิ่งที่ไม่อยากได้ (blurry, watermark, extra fingers…)
🧠 จำง่าย ๆ
เหมือนล่ามสองคน — คนแรกบอกช่างว่า “เอาแบบนี้” อีกคนคอยกระซิบว่า “ห้ามแบบนี้เด็ดขาด”
ตำแหน่งใน workflow
Node 3/6
🌫️ Empty Latent Image — ผ้าใบเปล่า
สร้าง “latent ว่าง” — ผ้าใบเปล่าที่เต็มไปด้วย noise ให้ KSampler เอาไปวาดต่อ
← Input
— ไม่มี (จุดเริ่มต้น)
Output →
- LATENT — ผ้าใบ noise พร้อมวาด
⚙️ การตั้งค่า
width / height (SDXL แนะนำ 1024×1024, SD1.5 แนะนำ 512×512) · batch_size = กี่ภาพต่อรอบ
🧠 จำง่าย ๆ
ก่อนวาดรูปต้องมีผ้าใบ — แต่ผ้าใบของ AI เริ่มจากจุดรบกวนเต็มผืน ไม่ใช่สีขาว
ตำแหน่งใน workflow
Node 4/6
🪄 KSampler — หัวใจของการสร้างภาพ ❤️
“ค่อย ๆ ลบ noise” ออกจาก latent ตามทิศทางที่ prompt กำหนด จนกลายเป็นภาพ (denoising / sampling)
← Input
- model — สมองจาก checkpoint
- positive + negative — เงื่อนไขจาก prompt
- latent_image — ผ้าใบเปล่า
Output →
- LATENT — ภาพเสร็จแล้ว (ยังอยู่ในรูป latent)
⚙️ การตั้งค่า
seed · steps · cfg · sampler_name · scheduler · denoise → เจาะลึกทั้งหมดในบทที่ 4
🧠 จำง่าย ๆ
ช่างแกะสลัก: เริ่มจากก้อนหิน (noise) แล้วค่อย ๆ เคาะออกทีละนิด (steps) จนเป็นรูป โดยมี prompt เป็นแบบ
ตำแหน่งใน workflow
Node 5/6
🖼️ VAE Decode — แปลง latent → ภาพจริง
เอา LATENT จาก KSampler มาแปลงเป็น IMAGE — ภาพ pixel จริงที่ตามนุษย์มองเห็น
← Input
- samples — จาก KSampler
- vae — จาก Load Checkpoint
Output →
- IMAGE — ภาพ pixel จริง
🧠 จำง่าย ๆ
นักแปลคนสุดท้าย — แปลจาก “ภาษาเครื่อง” (latent) กลับเป็น “ภาษาคน” (ภาพที่มองเห็น)
ตำแหน่งใน workflow
Node 6/6
💾 Save Image — บันทึก / แสดงผล
บันทึกไฟล์ลงโฟลเดอร์ output/ (ตั้ง prefix ชื่อไฟล์ได้) — workflow จะถูกฝังในไฟล์ภาพด้วย
← Input
- images — จาก VAE Decode
Output →
— ไม่มี (ปลายทาง)
⚙️ การตั้งค่า
ถ้าแค่อยากดูไม่อยากเซฟ ใช้ Preview Image แทน
🧠 จำง่าย ๆ
เส้นชัย — และโบนัส: ภาพที่เซฟลากกลับเข้า ComfyUI เมื่อไหร่ workflow ทั้งกราฟก็กลับมา
ตำแหน่งใน workflow
3.3 · สำคัญมาก
ตามรอยข้อมูล — อ่าน workflow เป็นประโยคเดียว
ถ้าอ่านเส้นทางนี้ออก จะเข้าใจทั้ง workflow ในครั้งเดียว — และ workflow ที่ซับซ้อนกว่านี้ก็อ่านด้วยวิธีเดียวกัน
กด ถัดไป ทีละจังหวะ แล้วดูว่าข้อมูลไหลไปทางไหน
3.5
อ่าน “สี” ของช่องเสียบ
ComfyUI ใช้สีบอกชนิดข้อมูล — ต่อได้เฉพาะสี/ชนิดเดียวกัน ต่อเส้นไม่ติดเมื่อไหร่ = ชนิดไม่ตรงกัน (ความหมายลึก ๆ ของแต่ละชนิด เจาะต่อในบทที่ 4)
คลิกจุดสีก่อน แล้วคลิกชนิดข้อมูลที่คู่กัน
0 / 63.4 · ลงมือจริง
Workshop: สร้าง workflow แรกด้วยมือ
ทำครั้งเดียวพอ แล้วจะซึ้ง — ดับเบิลคลิกพื้นที่ว่างเพื่อค้นหา node ได้เสมอ
เคลียร์ canvas
Newเมนู Workflow → New (หรือ Clear) เริ่มจากหน้ากระดาษเปล่า
วาง Load Checkpoint
ดับเบิลคลิกดับเบิลคลิกพื้นที่ว่าง → พิมพ์ “Load Checkpoint” → เลือกโมเดลจาก dropdown
วาง CLIP Text Encode ×2
×2ทำ 2 ตัว (Positive / Negative) แล้วลาก CLIP จาก checkpoint ไปเสียบทั้งคู่ · positive: “a cozy coffee shop interior, warm light, photorealistic” · negative: “blurry, low quality”
วาง Empty Latent Image
1024²ตั้งขนาด 1024×1024 (ถ้าใช้โมเดลตระกูล SDXL)
วาง KSampler แล้วเสียบ 4 เส้น
4 เส้นMODEL จาก checkpoint · positive → ช่อง positive · negative → ช่อง negative · Empty Latent → ช่อง latent_image
วาง VAE Decode
ถอดรหัสเสียบ LATENT จาก KSampler + VAE จาก checkpoint
วาง Save Image
ครบ!เสียบ IMAGE จาก VAE Decode — ครบ 6 node พอดี
กด Run!
Ctrl+EnterCtrl+Enter แล้วดูภาพแรกที่สร้างด้วยมือตัวเองตั้งแต่ศูนย์ 🎉
💡 เทคนิคต่อเส้นเร็ว: ลากจากช่อง output ไปปล่อยที่พื้นที่ว่าง — ComfyUI จะเด้งเมนูแนะนำ node ที่ต่อได้ทันที ไม่ต้องจำชื่อ
✅ สรุปบทที่ 3
- • workflow text-to-image มาตรฐาน = 6 node: Checkpoint → Text Encode ×2 → Empty Latent → KSampler → VAE Decode → Save
- • checkpoint แตกเป็น MODEL / CLIP / VAE — KSampler คือหัวใจ ที่ลบ noise จนเป็นภาพ
- • ต่อเส้นโดยดู สี/ชนิด ให้ตรงกัน — ต่อไม่ติด = ชนิดไม่ตรง
- • workflow ซับซ้อนทั้งหมด (inpaint · ControlNet · video) ต่อยอดจากโครงนี้