<aside> 📌 📅 Ngày thực hiện: 11/03/2026 | Kênh: A TỴ Podcast | Stack: n8n + Google Sheets + Gemini AI + Cloudinary + Buffer

</aside>

🎯 Mục tiêu

Tự động hóa 100% quy trình đăng video TikTok: đọc dữ liệu từ Google Sheets → AI viết caption → tải video từ Google Drive → upload lên Cloudinary → đăng lên TikTok theo lịch. Toàn bộ sử dụng công cụ miễn phí (hoặc gần miễn phí).


🏗 Kiến trúc Workflow Hoạt Động

Schedule Trigger (6:55 & 11:55) → Get All Videos (Google Sheets) → Find Pending + Build Prompt → Has Pending Video? (IF Gate) → Gemini AI (viết caption) → Parse Gemini Response (bóc tách file_id) → Download Video from Drive → Upload to Cloudinary (HTTP Request) → Build Cloudinary URL → [Gửi sang dịch vụ đăng] → Update Sheet Status


❓ Tại sao không dùng link Google Drive thẳng?


  1. Đăng ký Cloudinary Free (25 Credits/tháng — đủ dùng cho vài video/ngày)
  2. Vào Settings → Upload → Add Upload Preset: Đặt tên n8n_tiktok, Mode: Unsigned, Folder: tiktok_videos
  3. Lấy Cloud Name từ trang Home (ví dụ: dwitgl3xq)
  4. Trong n8n: HTTP Request POST đến https://api.cloudinary.com/v1_1/[CLOUD_NAME]/video/upload. Authentication: None. Body: file (formBinaryData từ field 'data'), upload_preset = n8n_tiktok

<aside> ⚠️ ⚠️ LỖI PHỔ BIẾN: Đừng dùng Basic Auth + Unsigned Preset cùng lúc — hai thứ này mâu thuẫn nhau. Unsigned preset = không cần auth. Basic Auth = dành cho Signed upload.

</aside>


🚧 Hành trình thử nghiệm & Bài học

Phương án 1: Make.com + Buffer ❌