คู่มือสร้างภาพปัง ดังข้ามโลกด้วย n8n + Nano Banana Pro ปั้น Content 4K และแบรนด์ใน 5 นาที

สรุปคลิป Youtube: How to Automate Anything with n8n AI Agents and Nano Banana 2 จากช่อง Nate Herk | AI Automation
📌 Youtube: https://youtu.be/iUgAVUcv9r0
คุณ Nate บอกว่า คลิปนี้จะมา break down Google’s new NanoBanana Pro image model ให้ดู image generator ที่ละเอียดที่สุดเท่าที่ผมเคยใช้มาแล้วตอนนี้ เราจะเอา NanoBanana Pro ไป plug-in กับ n8n ยังไง เพื่ออัปเลเวล AI Agents กับ Automation workflows ของคุณ & วิธีรันให้ต้นทุนถูกกว่าราคา Official แถมยังไม่มีลายน้ำ watermark อีกด้วย
🔷 มี 3 Workflows
1. Text to Image
2. Image to Image
3. Multiple Images to Image
💎 แอพ / API ที่ใช้มีอะไรบ้าง
1. n8n เป็นตัวต่อ Workflow ทั้งหมด
2. NanoBanana Pro ใช้โมเดลสร้างภาพผ่านแพลตฟอร์ม KAI (key.ai)
3. IMGBB API เอาไฟล์รูปที่อัปโหลด ไปอัปขึ้นเพื่อให้ได้ลิงก์รูปแบบสาธารณะ
Workflow 1. Text to Image คิดภาพเหมือนเรา สั่งทำรูปนึง แล้วแต่ละ node ก็คือคนละจุดในขั้นตอนสั่งงาน
👉 Workflows 1: 1 → Image Prompt → Create Image → Wait → Get Image → Switch → Result
🟢 1. Node Manual Trigger 1 – ตัวเริ่ม workflow
- หน้าที่ คือ ปุ่มเริ่มงาน เพียงกด มันจะรันให้ทั้งแถวข้างหลังวิ่งต่อ
🟢 2. Node Image Prompt – ประโยคสั่งรูป
- หน้าที่ คือ เก็บข้อความ prompt ที่เราอยากให้ NanoBanana Pro วาดให้
โดยตั้งค่า Parameters ที่ Fields to Set ตรง Prompt set คำตอบเป็น string ให้ตอบเป็น Text หรือข้อความ
🟢 3. Node Create Image – ตัวไปยื่นคำขอสร้างภาพ
ตั้งค่า Parameter ไว้
✅ Method: Post หน้าที่ คือ ส่งคำสั่ง + ข้อมูลใหม่ไปให้เขาทำงาน
✅ URL คือ เปิดไว้สำหรับรับคำสั่งให้สร้างรูปภาพใหม่จาก Nano Banana Pro
✅ Headers – Authorization และใส่ API เป็นกุญแจสำหรับใช้งาน Nano Banana Pro
✅ Send Body ไว้สำหรับสร้าง Content หรือสร้างภาพ
✨ Json
{
"model": "nano-banana-pro", (บอกว่าใช้โมเดล NanoBanana Pro)
"input": { (ของที่เราส่งไปให้ NanoBanana Pro คิด)
"prompt": "{{ $json.prompt }}", (ใช้ประโยคที่เราเพิ่งพิมพ์ไว้)
"aspect_ratio": "1:1", (อัตราส่วนภาพ 1:1)
"resolution": "4K", (ความละเอียดภาพ ยิ่งสร้างภาพละเอียด ใช้เครดิตเยอะ และเวลาสร้างจะนาน)
"output_format": "png" (ผลลัพธ์ของนามสกุลไฟล์ภาพที่จะได้)
}
}
พอ Create Image ยิงไปแล้ว ฝั่ง KAI จะยังไม่ให้รูปเราทันที เหมือนเราไปสั่งอาหาร แล้วได้ “เบอร์คิว” กลับมา 1 ใบ
🟢 4. Node Wait – ตัวยืนรอคิว ให้ Workflow หยุดรอ จะได้ไม่ติด Rate Limit เพื่อให้ NanoBanana มีเวลาสร้างรูปก่อน ที่เราจะไปถามผล
🟢 5. Node Get Image – ตัวเช็กสถานะ + ขอผลลัพธ์
- ใช้มันเพื่อถามว่า งานคิวที่.... เสร็จหรือยัง และตั้งค่า Parameter ไว้
✅ Method: GET เราถามข้อมูลกลับ
✅ URL สำหรับ API เป็นช่องทางสำหรับเช็กคิวงาน
✅ Query Parameters ตรงนี้สำคัญมาก เป็นการบอกเขาว่า
ผมกำลังถามถึงงานหมายเลขไหนนะ
- Name: taskId
- Value: {{ $json.data.taskId }} เป็นการไปดึงเลขคิวมาจากผลลัพธ์ node ก่อนหน้า (ฝั่งที่ได้มาจาก Create Image แล้วผ่าน Wait มา)
✅ Headers – Authorization ใส่เหมือน node เมื่อกี้เลย
Authorization: Bearer <API_KEY เดิม>
เมื่อต่อเสร็จและรัน หาก success แล้ว ตรงนี้จะมีข้อมูลรูป เช่น URL ที่ใช้ดาวน์โหลด
🟢 6. Node Switch เช็กว่า เสร็จ / ยัง / พัง
- ยัง → วนกลับไปรอ + เช็กอีกรอบ
- เสร็จ → ไป Result
🟢 7. Node Result – จุดรับลิงก์รูปสำเร็จรูป
- หน้าที่ เก็บ output สุดท้ายแบบที่ใช้งานได้จริง เช่น:
✅ URL ของรูป
✅ ชื่อไฟล์
✅ หรือ ส่งต่อไปแพลตฟอร์มอื่น เช่น Drive, Notion, Slack ก็ได้
✨ เพียงเท่านี้ก็ได้ ภาพที่เราสร้างไว้เสร็จ
Workflow 2: Image to Image
👉 Workflows 2: On form submission → Get URL → Edit Image → Wait1 → Get Image1 → Switch1 → Result1
🟢 1. Node: On form submission
- เวลาใครเปิดฟอร์ม Image to Image แล้วกด Submit workflow เส้นนี้จะเริ่มต้นใช้งาน และตั้งค่า Parameter ข้างใน
✅ Image Prompt ช่องให้พิมพ์คำสั่ง Prompt สำหรับสร้างภาพ
✅ Image ช่องอัปโหลดรูปจริง เอาไว้เป็นต้นฉบับให้โมเดลเอาไปแปลง
📌 ทั้งสองช่องติ๊กเป็น required หมด ต้องกรอกให้ครบถึงกดส่งได้
🟢 2. Node: Get URL
- เอาไฟล์รูปจาก On form submission ไปอัปขึ้นเว็บฝากรูป (ในตัวอย่างใช้ imgbb) แล้วดึง link กลับมา ปัญหา คือ รูปที่อัปปโหลดเป็นไฟล์ใน n8n ภายใน NanoBanana ต้องการลิงก์รูปที่เปิดจากข้างนอกได้ (public URL) และตั้งค่า Parameter ไว้
✅ Method: POST → ส่งไฟล์ขึ้นไป
✅ URL: https://api.imgbb.com/1/upload
✅ Authentication: เลือก credential ที่ผูกกับ imgbb ไว้เรียบร้อย
✅ Body Content Type: Form-Data → ข้างในจะมี Field ไฟล์รูป ที่ดึงมาจาก binary ของ On form submission (ช่อง Image)
ผลที่ได้จาก node นี้
data.url → https:// แล้วตามด้วย .jpg
display_url → ลิงก์แสดงรูป
image.filename → Laptop1.jpg
ตัวที่จะเอาไปใช้ต่อ คือ data.url เป็นลิงก์รูปแบบสาธารณะ ไปให้ NanoBanana ใช้ต่อ
🟢 3. Node: Edit Image
- ส่งรูป + คำสั่ง ไปให้ NanoBanana Pro ทำรูปใหม่ มันเป็นจุดที่เรา ยื่นงาน ให้ NanoBanana Pro ผ่าน KAI และตั้งค่า Parameter เอาไว้
✅ Method: Post หน้าที่ คือ ส่งคำสั่ง + ข้อมูลใหม่ไปให้เขาทำงาน
✅ URL คือ เปิดไว้สำหรับรับคำสั่งให้สร้างรูปภาพใหม่จาก Nano Banana Pro
✅ Headers – Authorization และใส่ API เป็นกุญแจสำหรับใช้งาน Nano Banana Pro
✅ Send Body ไว้สำหรับสร้าง Content หรือสร้างภาพ
ไฟล์ Json
{
"model": "nano-banana-pro",
"input": {
"prompt": "{{ $('On form submission').item.json['Image Prompt'] }}", (ดึงข้อความ prompt จากฟอร์มที่คนกรอก (ช่อง Image Prompt))
"aspect_ratio": "1:1", (อยากได้ภาพสี่เหลี่ยมจัตุรัส ขนาด 1:1)
"resolution": "4K", (ความละเอียดของภาพระดับ 4K)
"output_format": "png", (ผลลัพธ์ของภาพเป็นนามสกุลไฟล์ png)
"image_input": [ (ส่งรูปต้นฉบับให้โมเดล โดยเราใส่ URL ของรูปจาก node Get URL)
"{{ $json.data.url }}" (ลิงก์รูปจาก imgbb)
]
}
}
🟢 4. Node: Wait1
- ให้ workflow หยุดรอเป็นจำนวนวินาทีที่เราตั้ง (เช่น 5 วินาที) เพื่อให้ NanoBanana มีเวลาสร้างรูปก่อน ที่เราจะไปถามผล
🟢 5. Node: Get Image1
- เช็กว่า รูปแต่งเสร็จหรือยัง + ถ้าเสร็จแล้วลิงก์อยู่ไหน เป็นการไปถาม KAI ว่า งานที่เราฝากไว้ (ตาม taskId) เสร็จหรือยัง
🟢 6. Node: Switch1
- ทำหน้าที่เป็นตัวตัดสินใจว่า จะเอายังไงต่อดีจากผลของ Get Image1
✅ ถ้า data.state = "generating"
- ยังทำไม่เสร็จ → วนกลับไปที่ Wait1 (เส้นสีชมพูในรูป) ให้รออีกหน่อย แล้วไป Get Image1 ใหม่
✅ ถ้า data.state = "success"
- งานเสร็จแล้ว → ส่งต่อไป Result1
✅ ถ้า data.state = "fail"
- มีปัญหา → จบ flow หรือแจ้ง error ตามที่เราออกแบบ
🟢 7. Node: Result1
- จุดที่เราเก็บลิงก์รูปสุดท้ายเอาไปใช้ต่อ หมายถึง พอหลุดมาจาก Switch1 ในกรณี success ข้อมูลที่ได้จาก Get Image1 จะมีช่อง resultJson ติดมาด้วยข้างในจะมีลิงก์รูปที่เสร็จแล้ว และตั้งค่า Parameter เอาไว้
✅ Fields to Set:
- Field Name: image
- Type: String
ค่าของไฟล์ js: {{ JSON.parse($json.data.resultJson).resultUrls[0] }}
🔹 $json.data.resultJson = ข้อความยาว ๆ ที่ข้างในเป็น JSON อีกที
🔹 JSON.parse(...) = แกะมันออกมาให้กลายเป็น object
🔹 .resultUrls[0] = หยิบลิงก์รูปอันแรกออกมา
สุดท้าย Field image ก็จะกลายเป็นลิงก์รูปที่ NanoBanana แต่งเสร็จแล้วและสามารถเอาไปใช้งานอื่นได้เลย
✨ เพียงเท่านี้ก็ได้ ภาพที่เราปรับแต่งใหม่
Workflow 3: Multiple Images to Image
👉 Workflows 3: 1-1 → Prompt/Images → Edit Images → Wait2 → Get Image2 → Switch2 → Result2
🟢 Node 1. 1-1 เป็นจุดเริ่มต้นว่า ให้รัน flow นี้ด้วยการกดคลิกเอง หรือจะตั้งเวลาอะไรไว้ก็ได้ เพื่อให้ Node ตัวถัดไปทำงาน
🟢 Node 2. Prompt/Images
- กำหนด ประโยคสั่งรูป + ใส่ลิงก์รูปหลาย ๆ รูป บอก 2 เรื่องสำคัญ:
1. อยากได้รูปแบบไหน (prompt)
2. ใช้รูปอะไรเป็นส่วนประกอบบ้าง (image1, image2, image3)
🔶 และตั้งค่า Parameter เอาไว้
✅ Mode: Manual Mapping เรากรอกเองทีละช่อง
✅ Fields to Set มีอย่างน้อย 4 ช่องที่เห็นในรูป:
✅ prompt (ชนิด String) A hyper-realistic image of a man wearing the shirt provided in the image. He's hiking on a mountain and is holding the water bottle provided in the image. He's also wearing the watch provided in the image.
✅ image1 (String)
→ ใส่ลิงก์รูปแรก (เช่น รูปเสื้อจาก Amazon)
✅ image2 (String)
→ ใส่ลิงก์รูปที่สอง (เช่น รูปนาฬิกา Whoop)
✅ image3 (String)
→ ใส่ลิงก์รูปที่สาม (เช่น รูปขวดน้ำ Owala)
ทั้งหมดเป็น ลิงก์รูปที่เปิดจากเว็บได้ตรง ๆ (public URL)
🟢 Node 3. Edit Images
- ส่งประโยค + รูป 3 รูปไปให้ NanoBanana Pro ทำรูปสุดท้าย การตั้งค่า Parameter เหมือนกับ Workflow 2 Workflows ก่อนหน้า แต่ไฟล์ json จะเป็นตามนี้
{
"model": "nano-banana-pro",
"input": {
"prompt": "{{ $json.prompt }}",
"aspect_ratio": "1:1",
"resolution": "4K",
"output_format": "png",
"image_input": [
"{{ $json.image1 }}",
"{{ $json.image2 }}",
"{{ $json.image3 }}"
]
}
}
จุดหลักของ multiple images to image คือ แทนที่จะส่งรูปเดียวเหมือน image to image รอบนี้เราส่ง 3 ลิงก์ เข้าไปใน array เดียวกันเลย โมเดลจะเอา 3 รูปนี้มารวมกันแล้วตีความตาม prompt และฝั่ง KAI จะส่งกลับมาเป็นข้อมูลงาน พร้อม taskId เช่นเคย สถานะเริ่มต้นยังเป็น generating
🟢 Node 4. Wait2 ทำหน้าที่เหมือน Wait ตัวอื่น ๆ ที่คุณใช้ไปแล้ว เพื่อให้ NanoBanana มีเวลาสร้างรูปก่อน ที่เราจะไปถามผล
🟢 Node 5. Get Image2
- ถามว่า งานคิวนี้ เสร็จหรือยัง รูปอยู่ไหน และตั้งค่า Parameter เอาไว้
✅ Method: GET
✅ URL: https://api.kie.ai/api/v1/jobs/recordInfo
✅ เปิด Send Query Parameters แล้วใส่:
- Name: taskId
- Value: {{ $json.data.taskId }}
📌 ค่า taskId ก็ดึงมาจากผลลัพธ์ของ Edit Images (ผ่าน Wait2 มาแล้ว)
ส่วน Header ก็ใส่ Authorization: Bearer <API_KEY> เหมือนทุกครั้ง
ผลที่ได้จะมี data.state บอกว่า
- generating = ยังทำอยู่
- success = เสร็จแล้ว
- fail = พัง แล้วก็มี resultJson เก็บลิงก์รูปไว้เมื่อเสร็จ
🟢 Node 6. Switch2
- ทำหน้าที่เป็นตัวตัดสินใจว่า จะเอายังไงต่อดีจากผลของ Get Image2
✅ ถ้า state = generating
- วนกลับไป Wait2 (ตามเส้นสีชมพู) แล้วถามใหม่ด้วย Get Image2 อีกรอบ
✅ ถ้า state = success
- เดินต่อไป Result2
✅ ถ้า state = fail
- จะให้จบ flow เลย หรือส่งแจ้งเตือนก็ออกแบบเพิ่มได้
🟢 Node 7. Result2
- ดึงลิงก์รูปสุดท้ายออกมาเก็บให้เรียบร้อย
✨ เพียงเท่านี้ก็ได้ รวมสินค้า 3 ชิ้นในภาพเดียวแบบไลฟ์สไตล์
💵 ค่าใช้จ่าย
- ราคาประมาณ $0.12 ต่อ key ถูกกว่าราคา official ประมาณ 20% คุณ Nate บอกเตือนว่าราคา อาจมีการเปลี่ยนแปลงในอนาคต
👉 จะเห็นว่า การต่อ n8n ด้วย Nano Banana Pro นั้นได้ภาพที่มีรายละเอียดชัดเจนมาก ดีกว่า Nano Banana ตัวเก่า ต่อยอดงานได้หลากหลาย ตั้งแต่ทำ Infographic, สร้างการ์ตูน/สตอรี่, ออกแบบ Mock Up สินค้า
…..
💛 ติดตามเพจเราไว้ เพื่อรับความรู้สาระดี ๆ แบบนี้ได้ประจำครับ
#ใช้aiให้ดีต้องมีinsight #insightist #AI #topic #idea #aieasystep #n8n #nanobananapro #workflow #agentworkflows #aiworkflows #imgbb #KAI