사내 AI 도구 · 디자이너용
캐릭터 콘텐츠 스튜디오
장면 묘사 한 줄을 브랜드 캐릭터가 나오는 이미지, 영상, 음성으로 바꿔 주는 사내 웹 도구.
- 쓰는 사람
- 사내 디자이너
- 맡은 일
- 기획 · 설계 · 구현 · 운영
- 만드는 것
- 이미지 · 영상 · 음성
- 기술
- Next.js · Postgres · 이미지·영상·음성 생성 API · LLM
문제
캐릭터가 매번 다른 얼굴로 나왔다
회사에는 브랜드 캐릭터가 있고, SNS에는 이 캐릭터가 나오는 장면이 꾸준히 필요했습니다. 방법은 두 가지였는데 둘 다 막혀 있었습니다.
장면 기획
외주 요청
시안 왕복
컷 1장
컷마다 며칠
장면 묘사
생성
호출마다 얼굴·비율·옷이 조금씩 다름
쓸 수 없는 컷
브랜드 캐릭터로 부적합
범용 도구에 "기준 이미지를 꼭 첨부하세요"라는 규칙을 더하는 방법도 있었지만, 사람이 지켜야 하는 규칙은 언젠가 빠집니다. 속도와 일관성을 한 번에 얻으려면 규칙을 사람에게 맡기지 않는 도구가 필요했습니다.
기획
일관성은 시스템이, 안목은 사람이 맡는다
장면 묘사
한 번에 최대 15장면
캐릭터 자동 첨부
서버가 모든 요청에
여러 모델 동시 생성
사람이 고르기
장면마다 한 장
영상 · 음성
- 캐릭터 기준 이미지는 서버가 붙인다
- 디자이너가 기준 이미지를 첨부하는 단계를 아예 없앴습니다. 서버가 모든 생성 요청에 캐릭터 기준 이미지와 캐릭터 설명을 자동으로 붙이므로, 빠뜨릴 수 있는 경로 자체가 없습니다.
- 모델 하나를 고르지 않고, 여러 모델을 동시에 돌린다
- 어느 모델이 제일 나은지는 장면마다 달랐습니다. 여러 모델을 같이 돌려 결과를 나란히 놓으면 '어떤 모델을 쓸까'라는 기술 판단이 '어떤 컷이 좋은가'라는 안목 판단으로 바뀝니다. 새 모델이 나와도 목록에 한 줄을 더하면 됩니다.
- 못 하는 모델은 막지 않고 낮춰 보내되, 숨기지 않는다
- 한 모델이 고해상도를 못 낸다고 전체 생성을 막으면 동시 생성의 의미가 없어집니다. 가능한 해상도로 낮춰 보내고, 결과에 '실제 2K'처럼 실제로 받은 값을 표시합니다.
- 오류 없이 틀리는 지점은 모델 정의에 적어 둔다
- 영상 모델마다 시작 이미지를 받는 칸 이름이 달랐습니다. 이름을 잘못 보내면 오류 없이 무시되고 캐릭터가 빠진 영상이 나옵니다. 그래서 모델마다 받는 칸 이름을 정의에 명시하고, 코드가 그 표만 보고 보내게 했습니다.
- 영상은 고른 컷에서 출발한다
- 이미지 단계에서 장면마다 한 장을 고르면 그 컷이 영상의 첫 장면이 됩니다. 움직임 설명은 LLM이 한국어와 영어로 동시에 초안을 쓰고, 디자이너는 한국어만 고치면 됩니다.
결과물
장면 × 모델 그리드에서 고르고, 영상과 음성까지
- 이미지 모델
- 4
- 영상 모델
- 3
- 화면비
- 10
- 한 번에 만드는 장면
- 15
음성은 별도 탭에서 대사를 넣고 목소리와 감정을 골라 만듭니다. 사람마다 하루 사용 한도가 있고, 탭을 닫아도 영상은 예약 작업이 회수해 기록에 남깁니다.
회사와 업종, 사람과 브랜드는 밝히지 않았습니다. 화면은 실제 캡처가 아니라 구조를 다시 그린 것이라 문구와 배치가 실제와 조금 다릅니다.