สวัสดีครับ 👋
บทความนี้ผมจะมาแชร์ Workflow ที่ผมทำบน n8n เพื่อสร้าง คอนเทนต์โฆษณาแบบ UGC (User-Generated Content) แบบอัตโนมัติ ตั้งแต่การดึง ลิงก์รูปสินค้า จาก Google Sheets → สร้างภาพโฆษณา → แปลงเป็นวิดีโอสั้น 5–8 วินาทีด้วย AI (WAN2.2 และ Veo3) → อัปโหลดกลับเข้า Google Drive และอัปเดตลิงก์ใน Google Sheets ให้พร้อมใช้งานทันที ✅

👥 เหมาะกับใคร

  • เจ้าของร้านค้าออนไลน์ (Shopee, Lazada, TikTok Shop)
  • ทีมการตลาดที่ต้องการ สร้างคอนเทนต์หลายชิ้นอย่างรวดเร็ว
  • เอเจนซี่ที่อยากทำ UGC Ads แบบอัตโนมัติ เพื่อประหยัดเวลาและต้นทุน

💡 ปัญหาที่แก้ได้

ปกติแล้วการทำภาพโฆษณาและคลิป UGC ต้องใช้เวลาในการ ถ่าย / ตัดต่อ / ออกแบบ ค่อนข้างเยอะ
Workflow นี้ช่วยให้คุณสามารถ:

  • ดึงข้อมูลสินค้าจาก Google Sheets ได้อัตโนมัติ
  • ใช้ Fal.ai nano-banana หรือ Gemini (OpenRouter) เพื่อสร้างภาพโฆษณา
  • ใช้ AI (LLM + Vision) วิเคราะห์ภาพสินค้า แล้วแตกออกมาเป็น scene prompt สำหรับวิดีโอ
  • ใช้ WAN2.2 และ Veo3 ทำวิดีโอสั้น 5–8 วินาทีแนว UGC ที่ดูเป็นธรรมชาติ
  • อัปโหลดผลลัพธ์กลับ Google Drive พร้อมอัปเดตลิงก์อัตโนมัติใน Google Sheets

🛠️ โครงสร้าง Workflow

รูป product ต้นฉบับ

Zone 0 — Image Only (Gemini / OpenRouter)

ใช้สำหรับกรณีที่ต้องการแค่ สร้างรูปโฆษณา โดยไม่ทำวิดีโอต่อ

Nodes สำคัญ

  • Google Sheets (Get Data1) → อ่านข้อมูลแท็บ Gemini จากชีต
  • Set Node (setImgeURL) → แปลงลิงก์ Google Drive เป็น direct link

🔑 Expression ที่ใช้

{{
(() => {
const u = $json.product || '';
const q = u.match(/[?&]id=([-\\w]{25,})/);
const d = u.match(/\\/d\\/([-\\w]{25,})/);
const any = u.match(/[-\\w]{25,}/);
const id = q?.[1] || d?.[1] || (any ? any[0] : '');
return id ? 'https://drive.google.com/uc?export=view&id=' + id : '';
})()
}}
  • HTTP Request (CreateImagebyOpernRouter) → เรียก API Gemini ผ่าน OpenRouter
    – Method: POST
    – Body: ส่ง prompt + image_url
  • Code Node (setBase64data) → แยก base64 ที่ได้ออกมาเป็นไฟล์จริง
  • Google Drive (uploadImagetoGdrive) → อัปโหลดไฟล์รูปที่สร้างเสร็จ
  • Google Sheets (updateImageURL) → อัปเดตคอลัมน์ img_url

Zone 1 — สร้างภาพด้วย Fal.ai (nano-banana) + เตรียม Prompt สำหรับวิดีโอ

ใน Zone นี้ workflow จะสร้างภาพ UGC-style ด้วย Fal.ai แล้วเตรียมข้อมูลเพื่อเอาไปทำวิดีโอต่อ

Nodes สำคัญ

  • Google Sheets (Get Data) → อ่านข้อมูลแท็บ nanoBanana
  • Set Node (Edit Fields) → แปลงลิงก์ Drive → direct link (ใช้ Expression แบบเดียวกับ Zone 0)
  • HTTP Request (Call Fal.ai API nano-banana)
  • URL: https://queue.fal.run/fal-ai/nano-banana/edit
  • Headers:
    - Authorization: Key {{$env.FAL_KEY}}
    - Content-Type: application/json
  • Body JSON (Expression):
{{
(() => {
const u = $json.product || '';
const q = u.match(/[?&]id=([-\\w]{25,})/);
const d = u.match(/\\/d\\/([-\\w]{25,})/);
const any = u.match(/[-\\w]{25,}/);
const id = q?.[1] || d?.[1] || (any ? any[0] : '');
return id ? 'https://drive.google.com/uc?export=view&id=' + id : '';
})()
}}
  • HTTP Request (Get image status) → Polling รอให้ job เสร็จ
  • HTTP Request (Get the image) → ดึง URL ของภาพที่สร้างเสร็จ
  • AI Node (Analyze Image) → ใช้ OpenAI Vision หรือ Gemini Vision เพื่อสกัดข้อมูล เช่น brand name, color, visible text, คำอธิบายสั้น ๆ
image from nano Banana

Zone 2 — Generate Video (WAN2.2 + Veo3)

สร้างวิดีโอ UGC 5–8 วินาที โดยใช้รูปที่ได้จาก Zone 1

Nodes สำคัญ

  • AI Node (Describe Each Scene for Video) → ใช้ LLM สร้าง scene prompt แบ่งเป็น Characters, Scene Background, Camera Movement, Object Movements, Sound Design
  • Structured Output Parser → บังคับให้ LLM คืนค่าเป็น JSON Schema ที่ถูกต้อง
  • HTTP Request (Veo3)
  • URL: https://queue.fal.run/fal-ai/veo3/image-to-video
  • Body JSON:
{
"prompt": "{{ $json.output.scene_description }} {{ $json.camera_movement }} {{ $json.object_movements }} {{ $json.sound_effects }}",
"image_url": "{{ $json.img_url }}",
"duration": "8s",
"generate_audio": true,
"resolution": "720p"
}
  • HTTP Request (WAN2.2) → ใช้พารามิเตอร์
    - num_frames=81
    - fps=18

    - resolution=720p
    - aspect_ratio=auto
  • Polling Loop (Wait / Get status) → ตรวจ job status
  • HTTP Request (Download File) → ดาวน์โหลด MP4 ออกมาเป็น binary
  • Google Drive (uploadImagetoGdrive1) → อัปโหลดวิดีโอเสร็จ
  • Google Sheets (updateVideoURL) → อัปเดตคอลัมน์ video_url

🔑 สิ่งที่ต้องเตรียม

  • n8n (self-hosted)
  • Google Sheets + Google Drive Credentials (OAuth2)
  • Fal.ai API Key (ตั้งใน env: FAL_KEY)
  • OpenAI / Gemini (OpenRouter) สำหรับการทำ Image Description + Scene Prompt
  • Google Sheet ที่มีคอลัมน์:
product | presenter | prompt | img_url | video_url
  • ตั้งสิทธิ์ Google Drive เป็น Anyone with link → Viewer เพื่อให้ AI ดึงไฟล์ได้

📚 ลิงก์ประกอบ

https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FCVIS4otYCxI%3Ffeature%3Doembed&display_name=YouTube&url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DCVIS4otYCxI&image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FCVIS4otYCxI%2Fhqdefault.jpg&type=text%2Fhtml&schema=youtube

บทส่งท้าย

หวังว่าบทความนี้จะเป็นประโยชน์สำหรับผู้ที่สนใจพัฒนา n8n นะครับผม บางอย่างอาจจะต้องเอาไปปรับเพิ่มเติม แต่หวังว่า อาจจะเอาไปเป็นไอเดียเบื้องต้นได้ครับผม

ขอบคุณทุกคนมากนะครับที่อ่านมาถึงตรงนี้ ฝากติดตามผมในช่องทางอื่นด้วยนะครับ

🔵Facebook Page: https://www.facebook.com/JaruphatJ 📲

🔴Youtube Channel: https://www.youtube.com/@JaruphatJ 🎥

💡 อย่าลืมกด Like 👍, Subscribe 🔔 และ Comment 💬 เพื่อเป็นกำลังใจให้ผมด้วยนะครับ! 🚀

สนใจคุยกับเราก่อนได้

Leave a Reply

Your email address will not be published. Required fields are marked *