광고 생성 UI를 상태 기계로 읽기: Script와 Commercial의 검토 경계
요약
본 글은 광고 생성 UI를 상태 기계(State Machine) 관점에서 분석하고, 구현 단계에서 중요한 '검토' 단계를 강조합니다. 단순히 '생성' 버튼에 집중하기보다 입력, 구성, 검토, 내보내기 등 각 과정을 독립적인 테스트 가능한 상태로 분리하는 설계 원칙을 제시합니다.
핵심 포인트
- 광고 생성 프로세스를 여러 개의 독립적이고 테스트 가능한 상태로 분리해야 합니다.
- 단순히 '생성' 완료를 승인으로 간주하지 않고, 검토(review) 단계를 필수적으로 거쳐야 합니다.
- 입력 계약과 변경된 변수(diff)를 추적하여 재현 가능하고 비교 가능한 실험 환경을 구축하는 것이 중요합니다.
이 글은 공개 페이지 설명만을 관찰한 설계 메모입니다. 소스 코드, 내부 모델, 성능 수치, 실제 생성 결과는 추측하지 않습니다.
영상 광고 생성 UI는 '생성' 버튼에 집중되어 보입니다. 하지만 구현이나 QA에서 중요한 것은 입력, 구성, 생성, 검토(review), 내보내기(export)를 별도의 상태로 다룰 수 있는지 여부입니다. 여기서는 텍스트 중심의 흐름과 영상 연출 중심의 흐름을 동일한 테스트 가능한 모델에 배치합니다.
공개 페이지에서 파악할 수 있는 입력 계약
AI Script Generator의 공개 설명에서는 상품 이미지 또는 판매 포인트와 타겟을 입력하고, 3가지 스크립트 아웃라인 중 하나를 선택하며, Energetic, Natural, Luxury 등의 톤으로 전개하는 흐름이 제시되어 있습니다. TikTok, Reels, YouTube Shorts와 같은 배포처에 맞춘 UGC(User Generated Content) 형태의 방향도 설명되어 있습니다.
AI Commercial Generator는 시작과 마지막 프레임, 이미지/영상/음성 참조, TVC(Television Commercial)/Product Demo/Lifestyle 처리, 모델/비율/언어/효과음을 선택하는 흐름입니다. 여기서 확인할 수 있는 것은 입력 항목과 사용자가 결정하는 경계까지이며, 내부 모델 구성은 아닙니다.
상태를 설계안으로 분리하기
다음 그림은 구현의 관찰 결과가 아니라, 수용 조건(acceptance criteria)을 논의하기 위한 제안입니다.
Script에서는 '상품 사실, 후크, 톤'이 검토 단계에 남아있고, Commercial에서는 '시작/종료, 참조 소재, 비율, 음성'이 별도로 남는 것을 각각 검증합니다. 생성 완료를 승인으로 간주하지 않는 것이 핵심입니다.
타입을 이용해 차이점을 추적하기
type AdBrief = {
mode: 'script' | 'commercial';
productTruth: string[];
...
}
이 타입은 제안입니다. tone과 firstFrame이 동시에 변경되었을 경우, 어느 변경 사항이 결과에 영향을 주었는지 설명할 수 없습니다. 한 번의 재생성으로 변수를 하나로 좁히고 검토란에 변경 이유를 남긴다면, 대량 생산(mass production)이 비교 가능한 실험이 됩니다.
최소 체크리스트
- 상품명, 특징, CTA가 입력 사실에서 벗어나지 않았는지
- Script의 톤과 Commercial의 화면 처리가 목적에 적합한지
- 비율, 언어, 음성/효과음 설정이 출력에 표시되는지
- 시작 프레임과 마지막 프레임을 사용할 경우, 그 사이 움직임이 검토 가능한지
- 승인 전 내보내기와 배포처의 심사 및 예산 설정을 분리할 수 있는지
구현을 볼 수 없는 단계에서도 입력 계약, 상태, 차이점(diff), 승인 경계를 미리 정의할 수 있습니다. 공개 UI를 학습 자료로 참조하면서도, 툴 이름에 의존하지 않는 테스트 항목으로 구체화하는 것이 이 설계의 목적입니다.
Discussion

AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기