ผมทำ pipeline นี้ให้ channel lofi ชื่อ Nostalgic for Things to Come เพลงทำด้วย Suno ภาพพื้นหลังทำจาก Midjourney + Runway ส่วนที่เหลือเป็นสคริปต์ที่เขียนกับ Claude Code ทั้งหมด
generate-shorts.py เอาเพลงกับ video loop มาทำคลิปแนวตั้ง 1080x1920 มี waveform ขยับตามเพลงกับข้อความทับ, youtube-upload.py อัปขึ้นแบบ private แล้วตั้งเวลา publish, fetch-youtube-analytics.py ดึงยอดวิวกับ swipe-away rate กลับมาดูว่าอะไรเวิร์ค ตัว pipeline ฟรี ที่อาจเสียเงินคือ Suno กับเครื่องมือทำภาพ
เริ่มใช้
ลง dependency ของ Python แล้วลง ffmpeg ด้วย
pip install -r requirements.txtcopy ไฟล์ตั้งค่า แล้วใส่ OAuth client ID กับ secret จาก Google Cloud Console (เปิด YouTube Data API v3 กับ YouTube Analytics API)
cp .env.example .envยืนยันตัวตนกับ YouTube สองขั้น เอา URL ไปเปิด แล้วเอา code กลับมาใส่
python3 youtube-auth.py url python3 youtube-auth.py code YOUR_CODEทำ Shorts ลองอัปแบบ dry-run ก่อน แล้วค่อยอัปจริง
python3 generate-shorts.py --phase 1 python3 youtube-upload.py --dry-run --phase 1
ข้างในมีอะไร 5
generate-shorts.pyทำคลิป 1080x1920 ด้วย librosa + Pillow + ffmpeg มี waveform ข้อความ และโลโก้ channel
youtube-upload.pyอัปขึ้น YouTube แบบ private แล้วตั้งเวลา publish ตาม slot (เวลาไทย)
fetch-youtube-analytics.pyดึงสถิติ channel รายคลิป traffic source และเตือนเมื่อ swipe-away สูง
youtube-auth.pyขอ OAuth token แบบสองขั้น ใช้บน server ที่ไม่มีหน้าจอได้
track-analysis.json / shorts-schedule.json / catalog.jsonไฟล์ที่เราสร้างเอง บอกช่วง 10 วินาทีที่จะตัด ตารางอัปโหลด และข้อมูลคลิป