소셜 광고 빌더
scripts/build_ad.py는 샷 리스트를 두 개의 완성된 파일로 변환합니다. ffmpeg와 ffprobe(무료)만 있으면 됩니다. 모든 기본값은 점수 기반 반복 루프와 블라인드 A/B 리뷰를 통해 검증되었습니다:
- 하드 컷. 모든 컷에서 페이드가 검은색으로 깜박입니다.
- 브랜드 컬러의 단색 배경 위 요리 라벨. 복잡한 음식 위의 얇은 텍스트는 읽을 수 없습니다.
- 프레임 0의 브랜드명. 대부분의 사람들은 음소거 상태로 시청합니다.
- 각 음식 샷이 시작될 때 4% 확대 효과.
- 라이트 샤프닝과 하나의 웜 컬러 그레이딩. AI 클립과 휴대폰 영상이 같은 카메라로 촬영된 것처럼 보이게 합니다.
- 클립에서 오디오를 가져오지 않음. AI 비디오 모델이 자체 음악을 추가하기 때문입니다. 사운드는 제공하는 경우 실제 공간 앰비언스이며, 음식 아래 부드러운 시즐 효과가 더해집니다.
- 리미터가 적용된 -14 LUFS 음량. 실제 피크가 0dB 미만으로 유지되어 휴대폰 스피커에서 왜곡이 발생하지 않습니다.
- 4:5 안전 영역 내 텍스트 배치(1920 기준 y 약 390). 하나의 마스터가 피드용으로 깔끔하게 잘립니다.
샷 리스트
{
"out": "out/my-ad",
"brand_color": "#A3192B",
"brand_line": "Your Restaurant · Your Town",
"ambience": "room-recording.mov",
"shots": [
{"file": "clips/noodle-lift.mp4", "start": 3.0, "dur": 2.0, "label": "Dan Dan Noodles"},
{"file": "clips/mapo.mp4", "start": 0.8, "dur": 1.5, "label": "Mapo Tofu"},
{"file": "clips/mapo-scoop.mp4", "start": 3.3, "dur": 1.5},
{"file": "clips/dining-room.mp4", "start": 0, "dur": 1.0, "label": "Your Restaurant", "subline": "Your Town", "food": false}
],
"endcard": {"bg": "#F3ECE0", "logo": "logo.png", "dur": 2.0,
"lines": [{"text": "Your Town", "size": 58, "color": "#8B1E1E"},
{"text": "Order pickup or reserve a table", "size": 56},
{"text": "yoursite.com", "size": 84, "color": "#8B1E1E", "bold": true}]}
}
python3 scripts/build_ad.py shotlist.json을 실행합니다. out/my-ad-9x16.mp4와 out/my-ad-4x5.mp4 파일을 생성합니다.
샷 필드:
start와dur는 클립 내에서 초 단위입니다."food": false는 확대 효과와 시즐 효과를 끕니다(룸 샷용)."keep_label": true는 레이블을 다시 애니메이션하지 않고 두 샷에 걸쳐 유지합니다."subline"은 레이블 아래에 더 작은 줄을 추가합니다."label_size"는 레이블 크기를 설정합니다(기본값 78px). 레이블에\n을 넣으면 두 줄로 표시됩니다. 레이블과 엔드 카드 줄은 프레임 너비에 맞게 자동으로 축소됩니다.- 텍스트에는 따옴표, 콜론, 쉼표 및
%를 포함할 수 있습니다. 이모지는 레이블 폰트에서 렌더링되지 않으므로 사용하지 마십시오. - 클립이 요청된
dur보다 짧은 경우, 빌더는 있는 부분을 사용하고 메모를 출력합니다. 해당 메모를 확인하세요: 일찍 끝나는 후크는 마지막 프레임에서 멈춥니다.
우승 광고의 페이싱 규칙 (광고 분해 벤치마크 참조)
- 길이: 말없는 음식 몽타주는 12-20초에서 가장 효과적입니다. 대화나 스토리 광고는 더 길게 실행됩니다.
- 샷 길이: 약 1.8초마다 컷, 첫 번째 컷은 약 2초까지. 0.5초 단위의 샷 길이는 모든 120BPM 음악 트랙이 컷에 맞춰지도록 합니다.
- 순서: 손이 프레임 안에 있는 동작으로 시작합니다. 음식을 중단 없이 연속으로 보여줍니다. 빈 룸 샷은 약 1초로, 끝 부분 근처에 둡니다.
- 종료: 가장 좋은 음식 샷, 또는 간단한 행동 단어가 있는 카드.
- 음악: 업로드 시 플랫폼 자체 라이선스 라이브러리에서 추가하세요. 권한이 없는 노래를 인코딩하지 마십시오.
A/B 변형 만들기
변형당 하나만 변경하십시오(후크 샷, 후크 라인, 길이 또는 요리 세트). 승자가 스스로 설명할 수 있습니다. 샷 리스트를 복사하고, 하나의 필드를 편집한 후 다시 빌드하십시오.