เขียน prompt Stable Diffusion อย่างไร?

โดย อัปเดต 2 นาทีในการอ่าน

prompt Stable Diffusion คือคำอธิบายที่กำหนดภาพ: หัวข้อที่ชัดเจนมาก่อน ตามด้วยสไตล์ แสง การจัดเฟรม และคำบอกคุณภาพ คั่นด้วยจุลภาค prompt ที่สั้น เป็นรูปธรรม เรียงจากสำคัญมากไปน้อย ให้ภาพตามคาด

โครงสร้างที่ได้ผล

  1. หัวข้อ: ใครหรืออะไร กำลังทำอะไร ที่ไหน a red fox sitting on a mossy rock in a pine forest
  2. สไตล์หรือสื่อ: oil painting, 35mm photograph, watercolor, 3D render หรือชื่อศิลปิน: by Ivan Shishkin
  3. แสงและอารมณ์: golden hour, soft diffused light, dramatic rim light, foggy
  4. การจัดเฟรมและเลนส์: close-up, wide shot, 85mm, shallow depth of field
  5. คำบอกคุณภาพ: highly detailed, sharp focus, masterpiece สองสามคำก็พอ

คำที่อยู่ต้น prompt มักมีน้ำหนักมากกว่าคำที่อยู่ท้าย ให้หัวข้อมาก่อนเสมอ

ตัวอย่างพร้อมคำอธิบาย

portrait of an old fisherman, weathered face, wool sweater, oil painting by Rembrandt, warm candlelight, dark background, close-up, 85mm, highly detailed

ห้าคำแรกกำหนดหัวข้อ ชื่อศิลปินกำหนดโทนสีและฝีแปรง (ดูว่าชื่อเดียวเปลี่ยนภาพได้มากแค่ไหนในหน้าสไตล์ศิลปิน) คำเกี่ยวกับแสงกำหนดบรรยากาศ คำเกี่ยวกับการจัดเฟรมกำหนดองค์ประกอบ และกลุ่มสุดท้ายช่วยขัดเกลา ส่วน negative prompt: blurry, deformed hands, extra fingers, watermark, text (อ่านเพิ่มใน negative prompt คืออะไร)

น้ำหนักและการเน้นคำ

ใน Automatic1111 Forge Fooocus และ ComfyUI วงเล็บใช้กำหนดน้ำหนักของคำ: (red scarf:1.3) หมายถึงให้ความสำคัญเพิ่มขึ้น 30% ส่วน (background:0.7) คือลดลง วงเล็บเหลี่ยมใช้ลดน้ำหนักใน Automatic1111 ควรอยู่ระหว่าง 0.6 ถึง 1.4 เกินกว่านั้นภาพมักเสีย ใช้น้ำหนักเพื่อกู้รายละเอียดที่โมเดลมองข้ามอยู่เรื่อย ไม่ใช่ใส่ทุกคำ

ข้อผิดพลาดที่พบบ่อย

  • การปฏิเสธ: "a room without windows" มักได้ห้องที่มีหน้าต่าง สิ่งที่ไม่ต้องการให้ใส่ใน negative prompt แทน
  • ไอเดียเยอะเกินไป: หนึ่งหัวข้อต่อหนึ่งภาพ สำหรับ SD 1.5 และ SDXL ช่วง CLIP หนึ่งช่วงรับได้ 75 token (ราว 60 คำ) Automatic1111 จะย้ายส่วนที่เกินไปไว้ในช่วงที่สอง ส่วนเครื่องมือที่ไม่แบ่งช่วงจะตัดทิ้งเลย
  • สไตล์ขัดแย้งกัน: photorealistic watercolor ให้ผลลัพธ์ขุ่นมัว
  • เปลี่ยนทุกอย่างพร้อมกัน: ล็อก seed ไว้ แล้วเปลี่ยนทีละคำ เพื่อเรียนรู้ว่าแต่ละคำทำอะไร

ความแตกต่างระหว่างโมเดล

SD 1.5 และ SDXL ตอบสนองต่อรายการคีย์เวิร์ดแบบตัวอย่างข้างต้น ส่วน Stable Diffusion 3 และ 3.5 เข้าใจประโยคธรรมชาติได้ดีกว่า วางตัวแบบหลายตัวในภาพเดียวได้ ("a cat on the left, a dog on the right") และแสดงข้อความสั้น ๆ ในเครื่องหมายคำพูดได้ ไม่ว่าจะใช้โมเดลไหน prompt 82 ตัวอย่างบนเว็บไซต์นี้แสดงพารามิเตอร์เบื้องหลังแต่ละภาพ และตัวสร้าง prompt ช่วยขยายคำไม่กี่คำให้เป็น prompt ที่สมบูรณ์

คำถามที่พบบ่อย

prompt Stable Diffusion ควรยาวแค่ไหน?

สำหรับ SD 1.5 และ SDXL ช่วงที่ดีคือ 15 ถึง 60 คำ ต่ำกว่า 10 คำโมเดลจะเติมช่องว่างแบบสุ่ม เกิน 75 token Automatic1111 จะแบ่งข้อความเป็นช่วง ส่วนเครื่องมือที่ไม่มีฟีเจอร์นี้จะตัดทิ้ง

ชื่อศิลปินยังใช้ได้อยู่ไหม?

ได้ กับ SD 1.5 และ SDXL ซึ่งรู้จักศิลปินหลายพันคน: การเปรียบเทียบ 1,731 ชื่อของเรา ที่สร้างด้วย prompt และ seed ชุดเดียวกันสี่ชุด แสดงผลของแต่ละชื่อให้เห็น ส่วน Stable Diffusion 3 ตอบสนองต่อชื่อศิลปินน้อยกว่า

ควรเขียน prompt เป็นภาษาอังกฤษไหม?

ควร text encoder ถูกฝึกด้วยคำบรรยายภาษาอังกฤษเป็นหลัก prompt ภาษาไทยใช้ได้บางส่วนแต่เสียความแม่นยำ แปลเป็นอังกฤษก่อนดีกว่า