API

🚀 YouTube Shorts 자동 생성 시스템 개편: 앱 홍보 최적화 및 안정성 강화! ✅

Solo.dev 2025. 2. 17. 21:45

1️⃣ YouTube Shorts Automation 프로세스 변경

🔹 원래 프로세스

  1. 사용자가 유튜브 계정 선택
  2. 토픽 기반 자동 영상 생성
    • 사용자가 특정 토픽(예: 동기부여, 건강, 기술 등)을 선택
    • 선택한 토픽에 따라 AI가 알아서 영상 생성
  3. 영상 생성 단계 진행
    • generate_script(): 토픽을 기반으로 자동으로 스크립트 생성
    • generate_metadata(): 스크립트에 맞는 제목 및 설명 자동 생성
    • generate_prompts(): 스크립트 내용을 바탕으로 이미지 생성 프롬프트 자동 생성
    • generate_images(): AI 이미지 생성 (G4F 또는 Cloudflare Worker)
    • generate_script_to_speech(): 스크립트를 음성으로 변환
    • combine(): 모든 요소를 합쳐 최종 영상 생성
  4. 완성된 영상 업로드 여부 선택
    • 사용자가 업로드를 원하면 YouTube에 자동 업로드 진행
    • 아니라면 파일로 저장 후 종료

🛠 변경된 프로세스

목적:
원래는 사용자가 토픽을 선택하면 AI가 자동으로 영상 생성했지만, 내 어플을 홍보하는 유튜브 자동 생성 시스템으로 변경하고 싶었음.

  1. 사용자가 유튜브 계정 선택 후, App Name과 App Description 직접 입력 추가
    • 기존에는 generate_script()가 자체적으로 랜덤한 설명을 생성
    • 이제 사용자가 앱 이름과 설명을 직접 입력하도록 변경
    • youtube.set_app_info(app_name, app_description) 추가
  2. 영상 생성 과정 유지
    • 기존 프로세스와 동일하게 스크립트, 메타데이터, 이미지, TTS, 합성 진행
    • 하지만, 모든 요소가 앱 홍보에 맞춰지도록 변경
  3. YouTube 업로드 여부 선택 유지
    • 생성된 영상을 YouTube에 올릴지 여부는 기존과 동일

📌 결과:

  • 유튜브 숏츠 생성 시, 앱 설명이 랜덤하지 않고 사용자가 직접 입력한 내용으로 반영됨
  • 어플 홍보 영상으로 최적화된 자동 생성 시스템 구축

2️⃣ generate_prompts() 개선

🔹 원래 코드

  • script 길이에 따라 자동으로 n_prompts 결정
  • AI가 생성하는 프롬프트에 대한 통제력이 부족
  • 영상의 목적과 무관한 랜덤한 이미지가 생성될 가능성 존재

🛠 변경된 코드

  • 앱 설명을 기반으로 프롬프트 생성하도록 수정
  • 기존 script가 아닌, 앱 설명을 직접 반영하여 프롬프트 생성
  • f"Generate {n_prompts} AI Image Prompts for {self.app_name}."

📌 결과:

  • 이미지 프롬프트가 앱 기능과 더 밀접하게 연결됨
  • AI가 random한 이미지가 아니라 앱 컨셉을 반영한 이미지 생성

3️⃣ generate_image() 수정

🔹 원래 코드

  • use_g4f: True 계정만 G4F를 사용
  • use_g4f: False 계정은 Cloudflare Worker를 사용하려다 설정값이 없으면 에러 발생

🛠 변경된 코드

  • use_g4f 값이 없는 경우 기본값을 True로 설정
  • Cloudflare Worker를 쓰지 않는 계정에서는 아예 요청을 안 보내도록 수정

📌 결과:

  • Cloudflare worker URL not configured for this account 에러 해결
  • 자동으로 G4F가 우선 사용되고, Cloudflare 사용 설정을 추가해야만 작동하도록 변경

4️⃣ generate_script_to_speech() 에러 핸들링 강화

🔹 원래 코드

  • tts_instance.synthesize(self.script, path) 실행 시 RuntimeError 발생 가능
  • 길이가 짧거나 특정 문자가 포함되면 TTS 모델이 실패

🛠 변경된 코드

  • try-except 문 추가하여 에러 발생 시 디버깅 로그 출력
  • TTS 변환에 실패할 경우, 다른 음성 모델을 사용하도록 백업 기능 추가

📌 결과:

  • RuntimeError: Kernel size can't be greater than actual input size 문제 해결
  • TTS 변환 안정성 증가

5️⃣ main.py에서 update_accounts.py 실행 추가

🔹 원래 코드

  • 계정 정보를 한 번 생성하면 변경이 불가능

🛠 변경된 코드

  • main.py 실행 시 update_accounts.py 실행하여 계정 정보 업데이트 가능하도록 변경

📌 결과:

  • use_g4f, worker_url 등을 나중에 설정할 수 있도록 개선

🔥 최종 변경 사항 요약

  1. 토픽 기반 자동 생성 → 내 앱 홍보 자동 생성 시스템으로 변경
  2. 앱 이름과 설명을 직접 입력하도록 변경 → 더 맞춤형 영상 생성 가능
  3. 이미지 프롬프트가 앱 기능을 더 잘 반영하도록 수정
  4. Cloudflare Worker 관련 에러 해결
  5. TTS 오류 발생 시 대체 모델 사용 가능하도록 개선
  6. 계정 정보 업데이트 기능 추가 → 설정 변경 가능

이제 더 직관적이고, 안정적인 YouTube Shorts Automation 프로세스를 사용할 수 있음! 🚀