Agent Dev Thai Academyprinciples · patterns · architecture

nstc-pipeline

สคริปต์ Python ทำ YouTube Shorts จากไฟล์เพลง อัปโหลดตั้งเวลา แล้วดึงสถิติกลับมาดู

ผมทำ 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 กับเครื่องมือทำภาพ

เริ่มใช้

  1. ลง dependency ของ Python แล้วลง ffmpeg ด้วย

    pip install -r requirements.txt
  2. copy ไฟล์ตั้งค่า แล้วใส่ OAuth client ID กับ secret จาก Google Cloud Console (เปิด YouTube Data API v3 กับ YouTube Analytics API)

    cp .env.example .env
  3. ยืนยันตัวตนกับ YouTube สองขั้น เอา URL ไปเปิด แล้วเอา code กลับมาใส่

    python3 youtube-auth.py url
    python3 youtube-auth.py code YOUR_CODE
  4. ทำ 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 วินาทีที่จะตัด ตารางอัปโหลด และข้อมูลคลิป

บทความที่พูดถึง 2