AI 프로그램 활용

Codex에게 시키면서 만드는 “유튜브 자동 업로드용 파이썬 스크립트” 단계별 구조

AI 스튜디오 2026. 4. 27. 08:39
반응형

Codex에게 시키면서 만드는 “유튜브 자동 업로드용 파이썬 스크립트” 단계별 구조

YouTube 자동 업로드는 YouTube Data API v3 + OAuth 2.0 인증이 필요합니다. 공식 문서에서도 Python 업로드 예제를 제공하고, client_secret.json 파일을 사용합니다. (Google for Developers)


1단계: Codex에게 이렇게 요청

Python으로 YouTube Data API v3를 사용해서 mp4 영상을 업로드하는 스크립트를 만들어줘.
OAuth 2.0 인증을 사용하고, 제목, 설명, 태그, 공개상태를 입력받게 해줘.
초보자도 이해할 수 있게 주석을 많이 달아줘.

2단계: 설치 명령어

pip install google-api-python-client google-auth-oauthlib google-auth-httplib2

3단계: 준비 파일

Google Cloud Console에서 YouTube Data API v3를 활성화한 뒤 OAuth 클라이언트 파일을 받아서 아래 이름으로 저장합니다.

client_secret.json

공식 샘플도 업로드 권한 범위로 https://www.googleapis.com/auth/youtube.upload를 사용합니다. (GitHub)


4단계: 기본 업로드 스크립트

import os
from googleapiclient.discovery import build
from googleapiclient.http import MediaFileUpload
from google_auth_oauthlib.flow import InstalledAppFlow

SCOPES = ["https://www.googleapis.com/auth/youtube.upload"]

def get_youtube_service():
    flow = InstalledAppFlow.from_client_secrets_file(
        "client_secret.json",
        SCOPES
    )
    credentials = flow.run_local_server(port=0)
    return build("youtube", "v3", credentials=credentials)

def upload_video(file_path, title, description, tags, privacy_status="private"):
    youtube = get_youtube_service()

    body = {
        "snippet": {
            "title": title,
            "description": description,
            "tags": tags,
            "categoryId": "10"  # 음악 카테고리
        },
        "status": {
            "privacyStatus": privacy_status
        }
    }

    media = MediaFileUpload(file_path, chunksize=-1, resumable=True)

    request = youtube.videos().insert(
        part="snippet,status",
        body=body,
        media_body=media
    )

    response = request.execute()
    print("업로드 완료!")
    print("영상 ID:", response["id"])
    print("영상 링크:", f"https://www.youtube.com/watch?v={response['id']}")

if __name__ == "__main__":
    upload_video(
        file_path="sample.mp4",
        title="시편 찬양 | Han's Music",
        description="AI 찬양 영상입니다.\n#찬양 #CCM #시편찬양",
        tags=["찬양", "CCM", "시편", "Han's Music"],
        privacy_status="private"
    )

5단계: Han’s Music용 Codex 추가 요청문

위 스크립트를 Han's Music 유튜브용으로 바꿔줘.
영상 폴더 안의 mp4 파일을 하나씩 읽어서
제목은 파일명에서 자동 생성하고,
설명에는 찬양, CCM, 시편찬양 해시태그를 넣고,
처음에는 private 상태로 업로드하게 만들어줘.

6단계: 실전 운영 방식

처음에는 반드시 private로 업로드하세요.
확인 후 썸네일, 설명, 자막을 점검하고 공개로 전환하는 방식이 안전합니다.

추천 폴더 구조:

youtube_upload/
 ├─ upload.py
 ├─ client_secret.json
 ├─ videos/
 │   ├─ psalm_001.mp4
 │   ├─ psalm_002.mp4
 │   └─ psalm_003.mp4

7단계: 다음 Codex 명령

videos 폴더 안의 모든 mp4 파일을 자동으로 업로드하고,
업로드가 끝난 파일은 uploaded 폴더로 이동하는 파이썬 코드로 확장해줘.

이렇게 진행하면 SUNO → CapCut/Vrew → mp4 저장 → Python 자동 업로드 흐름으로 만들 수 있습니다.

반응형