AI 영상 생성 커넥터(Pixa)로 6월 3일 투표 독려 10초 캠페인 영상을 만들어 본 체험기입니다. 텍스트 프롬프트만으로 세로형 시네마틱 클립을 뽑고, 커넥터의 길이 제한을 멀티 클립 합성으로 우회해 정확히 10초로 마무리했습니다.
제작 과정 (How)
이 프로젝트는 "텍스트 프롬프트 → AI 영상 클립 생성 → ffmpeg 합성"의 단순한 파이프라인으로 진행했다.
기획: 밝고 활기찬 시민 캠페인 톤을 기준으로, 10초 안에 담을 서사를 세 컷으로 나눴다. ① 다양한 연령대의 시민이 투표소로 입장 → ② 투표용지를 투표함에 넣고 인증 도장을 보여주는 클로즈업 → ③ 시민들이 함께 엄지를 들고 환호하는 마무리.
클립 생성: AI 영상 생성 커넥터(Pixa)에서 Kling v3.0 Pro 모델을 골라, 9:16 세로 비율 / 텍스트 없음 조건으로 세 컷을 각각 text-to-video로 생성했다. 화면 속 글자는 AI가 깨뜨리기 쉬워 일부러 "텍스트 없음"으로 지시하고, 문구는 합성 단계에서 직접 넣기로 했다.
합성: 생성된 3개 클립과 직접 만든 엔드카드를 ffmpeg로 이어 붙였다. 컷 사이에는 0.4초 페이드(마지막 엔드카드 진입은 화이트 플래시 전환)를 줘 자연스럽게 연결하고, 최종 길이를 10.08초로 맞췄다.
발생했던 기술적 문제 (Trouble)
길이 제어 불가 (가장 큰 문제): 커넥터의 영상 생성 기능에 duration(길이) 파라미터가 노출되지 않아, 10초를 요청해도 모델 기본값인 3초짜리 클립만 생성됐다. 소비 크레딧(48 = 16/초 × 3초)으로도 3초가 확정임을 확인했다.
한글 자막 깨짐: 엔드카드 문구를 ffmpeg drawtext로 넣으려 했으나, 작업 환경에 한글 폰트가 없어 "6월 3일", "꼭 투표하세요" 같은 글자가 모두 □(두부) 박스로 깨져 나왔다.
클립 규격·오디오 불일치 우려: 클립이 24fps·무음(오디오 트랙 없음)으로 생성돼, 그대로 이어 붙이면 합성 단계에서 타임베이스나 오디오 매핑 충돌이 날 수 있었다.
해결 방안 (Action)
멀티 클립 합성으로 10초 확보: 한 번에 10초가 안 되니, 3초 클립을 세 컷 생성해 하나의 서사로 잇고 엔드카드(약 2.1초)를 더했다. ffmpeg xfade 필터로 컷당 0.4초씩 겹쳐 전환하니 총 10.08초가 됐고, 단순 길이 늘리기가 아니라 오히려 기승전결이 있는 캠페인 영상이 됐다.
한글 폰트 적용: 나눔고딕 Bold(.ttf)를 내려받아 drawtext의 fontfile로 지정하니 한글이 정상 출력됐다. 엔드카드는 시민 캠페인 톤에 맞춰 딥블루 배경 + 옐로 포인트 + "꼭 투표하세요" 버튼형 박스로 구성했다.
규격 통일: filter_complex 안에서 모든 입력을 scale=1080:1920, setsar=1, fps=24, format=yuv420p로 강제 정렬해 규격을 맞췄고, 오디오는 전 구간 무음으로 통일(-a 0)해 충돌 가능성을 제거했다.
느낀 점 및 배운 점 (Lessons Learned)
커넥터의 "기본값"을 의심하라: 같은 모델이라도 커넥터가 어떤 파라미터를 열어 두느냐에 따라 결과 길이가 달라진다. duration을 못 넘기면 "여러 컷을 만들어 합성"이라는 우회로가 오히려 더 나은 영상 구조를 만든다는 걸 배웠다.
생성과 합성은 별개의 공정: AI가 멋진 클립을 뽑아주는 것과, 그것을 10초짜리 완성본으로 엮는 포스트 프로덕션(전환·자막·길이 맞추기)은 전혀 다른 작업이다. 마지막 1초를 다듬는 데 시간이 더 들었다.
텍스트는 AI에 맡기지 말고 직접: 화면 문구를 AI 영상에 맡기면 십중팔구 깨진다. "텍스트 없는" 영상을 생성하고, 핵심 메시지는 폰트를 직접 지정해 합성 단계에서 넣는 방식이 가장 안정적이었다.
— 사용 도구: AI 영상 생성 커넥터(Kling v3.0 Pro, text-to-video, 9:16) · ffmpeg(xfade 합성·drawtext 자막) · 나눔고딕 — 결과물: 세로형(1080×1920) 10.08초 투표 독려 캠페인 영상