castad 프로젝트 : AI 마케팅 영상 제작 솔루션
 
 
Go to file
bluebamus 5c99610e00 세션 및 비동기 처리 개선 2025-12-29 23:46:21 +09:00
app 세션 및 비동기 처리 개선 2025-12-29 23:46:21 +09:00
docs 세션 및 비동기 처리 개선 2025-12-29 23:46:21 +09:00
media first commit 2025-12-19 09:36:23 +09:00
poc blob 이미지 업로드 완료 2025-12-26 15:25:13 +09:00
static first commit 2025-12-19 09:36:23 +09:00
.gitignore 노래 생성까지 완료 2025-12-22 18:45:43 +09:00
.python-version first commit 2025-12-19 09:36:23 +09:00
README.md 노래 생성까지 완료 2025-12-22 18:45:43 +09:00
config.py 크레아토 완료 2025-12-26 17:20:36 +09:00
main.py video 라우터 추가 2025-12-24 15:15:56 +09:00
pyproject.toml add crawler and generate 2025-12-21 22:49:57 +09:00
uv.lock add crawler and generate 2025-12-21 22:49:57 +09:00

README.md

CastAD Backend

AI 기반 광고 음악 생성 서비스의 백엔드 API 서버입니다.

기술 스택

  • Framework: FastAPI
  • Database: MySQL (asyncmy 비동기 드라이버)
  • ORM: SQLAlchemy (async)
  • AI Services:
    • OpenAI ChatGPT (가사 생성, 마케팅 분석)
    • Suno AI (음악 생성)

프로젝트 구조

app/
├── core/           # 핵심 설정 및 공통 모듈
├── database/       # 데이터베이스 세션 및 설정
├── home/           # 홈 API (크롤링, 영상 생성 요청)
├── lyric/          # 가사 API (가사 생성)
├── song/           # 노래 API (Suno AI 음악 생성)
├── video/          # 비디오 관련 모듈
└── utils/          # 유틸리티 (ChatGPT, Suno, 크롤러)

API 엔드포인트

Home API

Method Endpoint 설명
POST /crawling 네이버 지도 장소 크롤링
POST /generate 기본 영상 생성 요청
POST /generate/urls URL 기반 영상 생성 요청
POST /generate/upload 파일 업로드 기반 영상 생성 요청

Lyric API

Method Endpoint 설명
POST /lyric/generate ChatGPT를 이용한 가사 생성
GET /lyric/status/{task_id} 가사 생성 상태 조회
GET /lyric/{task_id} 가사 상세 조회
GET /lyrics 가사 목록 조회 (페이지네이션)

Song API

Method Endpoint 설명
POST /song/generate Suno AI를 이용한 노래 생성 요청
GET /song/status/{task_id} 노래 생성 상태 조회 (폴링)
GET /song/download/{task_id} 생성된 노래 MP3 다운로드

환경 설정

.env 파일에 다음 환경 변수를 설정합니다:

# 프로젝트 설정
PROJECT_NAME=CastAD
PROJECT_DOMAIN=localhost:8000
DEBUG=True

# MySQL 설정
MYSQL_HOST=localhost
MYSQL_PORT=3306
MYSQL_USER=your_user
MYSQL_PASSWORD=your_password
MYSQL_DB=castad

# API Keys
CHATGPT_API_KEY=your_openai_api_key
SUNO_API_KEY=your_suno_api_key
SUNO_CALLBACK_URL=https://your-domain.com/api/suno/callback

실행 방법

uv 설치

# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

의존성 설치

# 기본 설치 (uv가 자동으로 가상환경 생성)
uv sync

# 이미 venv를 만든 경우 (기존 가상환경 활성화 필요)
uv sync --active

서버 실행

# 개발 서버 실행
fastapi dev main.py

# 프로덕션 서버 실행
fastapi run main.py

API 문서

서버 실행 후 /docs 에서 Scalar API 문서를 확인할 수 있습니다.