
สวัสดีครับ 👋
บทความนี้ผมจะมาแชร์ 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


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, คำอธิบายสั้น ๆ

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 ดึงไฟล์ได้
📚 ลิงก์ประกอบ
- 📘 Workflow JSON: Generate UGC Ads from Google Sheets with Fal.ai Models (nano-banana, WAN2.2, Veo3)
- 📝 Medium Blog: https://medium.com/@jjaru
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 💬 เพื่อเป็นกำลังใจให้ผมด้วยนะครับ! 🚀
สนใจคุยกับเราก่อนได้