학습된 캐릭터로 광고 한 편을 실제로 만들어 봤습니다: 43초, 8샷, 같은 얼굴
캐릭터 일관성 영상 기술이 실제 광고 제작을 버티는지 궁금한 분들을 위한 글입니다. 지난 글에서 측정한 레퍼런스 조건 LoRA를 그대로 들고 와서, 합성 인물 한 명을 가상 커피 브랜드의 앰배서더로 세운 43초짜리 광고 한 편을 사내 GPU에서 끝까지 만들었습니다. 이 글이 드리는 것은 완성된 영상 한 편과 그 제작 파이프라인 전체, 그리고 만들면서 배운 실전 교훈입니다.
결과부터 보시죠
가상 브랜드 “NUBO COFFEE”의 43초 광고입니다. 아침 주방에서 시작해 도시 거리, 사무실, 카페, 공원, 루프탑을 지나 클로즈업으로 끝나는 8개 샷 전부에서 같은 인물이 유지됩니다. 영상 속 인물은 완전 합성 인물이고 브랜드도 가상이며, 전 과정이 외부 API 없이 사내 GPU 클러스터에서 생성됐습니다.
최종 광고에 들어간 8개 샷. 장면과 조명이 바뀌어도 얼굴이 유지되는 것이 이 파이프라인의 존재 이유입니다.
제작 파이프라인
지난 실험에서 학습해 둔 자산을 그대로 재사용했습니다. 인물 A의 레퍼런스 스틸 4장과 800스텝 학습된 레퍼런스 조건 LoRA입니다. 새로 한 일은 광고라는 산출물에 맞춘 연출과 선택이었습니다.
flowchart LR
A["캐릭터 자산<br/>(레퍼런스 4장 + 학습 LoRA)"] --> B["샷 리스트 8개<br/>(광고 스토리보드)"]
B --> C["샷별 생성 x 2벌<br/>(어댑터 강도 1.0 / 0.7)"]
C --> D["샷별 최적판 선택<br/>(identity vs 장면 추종)"]
D --> E["조립 + 타이틀 카드<br/>(ffmpeg, 43초)"]
핵심 설계는 어댑터 강도를 두 벌로 생성한 것입니다. 지난 글에서 측정했듯 강도 1.0은 identity가 가장 강한 대신 배경이 학습 데이터 쪽으로 끌리고, 0.7은 장면 추종이 살아나는 대신 identity가 내려옵니다. 광고는 샷마다 요구가 다릅니다. 클로즈업과 감정 샷은 얼굴이 전부라 1.0이 맞고, 카페나 사무실처럼 장소가 말을 해야 하는 샷은 0.7이 맞습니다. 그래서 8샷을 두 강도로 총 16클립 생성한 뒤 샷별로 좋은 쪽을 골랐습니다. 최종 선택은 1.0이 다섯 샷, 0.7이 세 샷이었습니다.
만들면서 배운 것
가장 흥미로운 발견은 단점이 장점이 되는 순간이었습니다. 강도 1.0에서는 학습 데이터의 초록 셔츠가 장면이 바뀌어도 계속 따라오는데, 실험 보고서에서는 이것이 프롬프트 추종 하락이라는 비용이었습니다. 그런데 광고 문맥에서는 같은 인물이 같은 옷으로 여러 장면에 등장하는 것이 브랜드 유니폼처럼 읽힙니다. 측정 지표의 실패가 연출 관점에서는 일관성이라는 자산이 된 셈입니다.
제작 비용 감각도 공유할 만합니다. 클립 하나 생성에 50 디노이징 스텝 기준 약 5분, 16클립 전체가 GPU 한 장에서 약 80분이었습니다. 두 강도를 병렬 잡으로 던지면 벽시계로 45분 안에 끝납니다. 조립은 ffmpeg로 몇 분이면 됩니다. 사람 손이 실제로 들어간 곳은 샷 리스트 작성과 샷별 선택, 딱 두 군데였습니다.
한계도 그대로 보입니다. 루프탑 샷은 두 강도 모두 배경이 프롬프트를 따라오지 못했고, 결국 연출을 배경이 아니라 동작 중심으로 바꿔 수습했습니다. 16클립 규모 학습의 프롬프트 추종 한계는 광고 제작에서도 실제 제약이고, 샷 리스트를 짤 때부터 이 제약을 알고 설계하는 것이 현재 시점의 실전 요령입니다.
ThakiCloud 관점
이 광고 한 편은 데이터가 밖으로 나가지 않는 콘텐츠 파이프라인의 실증이기도 합니다. 캐릭터 학습(Maxis의 자리)부터 샷 생성과 조립(Metis 위에서 도는 추론)까지 전부 고객이 통제하는 인프라 안에서 닫혔습니다. 브랜드 자산인 캐릭터를 외부 API에 올리지 않고도 캠페인 규모의 영상 생산이 가능하다는 것을 43초로 보여드린 셈입니다.
다음 편에서는 더 어려운 질문으로 갑니다. 얼굴이 아닌 대상, 그러니까 마스코트 캐릭터를 같은 파이프라인으로 학습해 두 번째 광고를 만들고, 학습 없이 레퍼런스만 주는 zero-shot 방식과 같은 조건에서 정면 비교한 실측 결과까지 함께 공개하겠습니다.