
Claude Code로 AI 영상 제작 자동화하기 — Gemini API 하나로 30초 쇼츠 영상 만들기
요약
Claude Code를 감독으로 활용하여 Gemini API를 통해 30초 분량의 쇼츠 영상을 자동으로 제작하는 워크플로우를 소개합니다. Claude Code가 스크립트 작성, API 호출, 영상 편집(ffmpeg)을 총괄하며 테마 입력만으로 콘티부터 최종 영상까지 완성하는 과정을 다룹니다.
핵심 포인트
- Claude Code를 전체 공정의 감독 역할로 활용
- Gemini API를 사용하여 이미지 및 영상 소스 생성
- Node.js와 ffmpeg를 이용한 자동화 스크립트 실행
- 여러 개의 짧은 컷을 생성하여 하나의 완성된 영상으로 편집
이 기사에서 할 일
Claude Code에게 부탁하여, 대사와 소리가 포함된 30초 쇼츠(Shorts) 영상을 만듭니다. 프롬프트(요청문)는 모두 복사해서 붙여넣을 수 있는 형태로 실려 있으므로, 위에서부터 순서대로 진행하면 비슷한 결과물을 만들 수 있습니다.
그리고 마지막에는 다음과 같이 됩니다.
테마: 영업 종료 후의 라멘 포장마차에서, 주인이 몰래 숨겨진 메뉴를 시사(試作)한다
예산은 $10 이내. 나머지는 알아서 해주세요.
테마를 한마디 전달하는 것만으로, 콘티 → 이미지 → 영상 → 편집까지 전 자동. 이것이 이 기사의 목표입니다.
사용하는 도구는 간단합니다.
Claude Code— 전체 감독 역할. 코드를 작성하고, API를 호출하며, 편집까지 수행 -
Gemini API— 이미지는 Nano Banana Pro, 영상은 Gemini Omni. API 키 하나로 양쪽 모두 사용 가능 -
ffmpeg— 영상을 연결하는 표준 도구
스크립트는 모두 **Node.js (공식 SDK @google/genai)**로 작성하게 합니다 [1].
1. 메커니즘 — Claude Code가 감독, Gemini가 촬영 스튜디오
먼저 중요한 사실 하나를 말씀드립니다. Claude 자체는 이미지나 영상을 만들 수 없습니다. 특기하는 것은 코드를 작성하고, 조사하고, 파일을 조작하는 것입니다. 따라서 그림과 영상은 Google의 생성형 AI가 만들게 하고, Claude Code에는 그것들을 호출하는 스크립트를 작성하고 실행하는 "감독" 역할을 맡깁니다.
| 역할 | 담당 | 하는 일 |
|---|---|---|
| 감독 | Claude Code | 구성을 생각함/생성 스크립트를 작성함/API를 호출함/검수 및 편집함 |
| ... |
또 다른 중요한 사실. 이 기사에서 사용하는 Gemini Omni가 1회 생성으로 만들 수 있는 것은 10초까지의 "1컷"입니다 (1회에 30초를 생성할 수 있는 모델도 나오기 시작했지만, 아직 일부입니다 [2]). 따라서 6초짜리 컷을 5개 만들어 연결하여 30초로 만듭니다 — 영상 제작과 동일한 "컷을 찍고 편집하는" 흐름이 됩니다. 여기서 Claude Code가 유용합니다. 컷 관리와 연결을 모두 알아서 해주기 때문입니다.
2. 준비
2-1. Claude Code
설치와 로그인은 공식 절차를 따르세요. 이 기사는 터미널에서 claude를 입력하면 기동되는 상태에서 시작합니다. Claude의 유료 플랜 (Pro / Max 등)이 필요하므로, 그 부분만 미리 준비해 주세요.
2-2. Node.js 및 ffmpeg 설치
Node.js는 생성 스크립트를 구동하는 데 사용합니다. 이전에는 Claude Code 자체가 Node.js를 필요로 했으나, 현재는 권장 설치 방법이 Node.js가 필요 없는 네이티브 버전이 되었기 때문에 설치되어 있지 않을 수 있습니다. node -v로 확인하여 버전이 나오지 않으면 공식 사이트의 LTS 버전을 설치해 주세요.
ffmpeg는 영상의 연결 및 음량 조절에 사용합니다.
# macOS (Homebrew)
brew install ffmpeg
# Windows (winget. 후보가 여러 개 나와서 멈추므로 ID를 지정한다)
...
ffmpeg -version이 표시되면 OK입니다.
2-3. Gemini API 키 만들기 (결제 안전 설정 포함)
API 키는 Claude Code가 당신을 대신해 Gemini를 호출하기 위한 "열쇠"입니다.
- Google AI Studio에 Google 계정으로 로그인
- 열쇠 모양 🔑의 "Get API key" → "API 키 생성"으로 키를 발행하고 복사하여 보관 - 이 기사에서 사용하는 이미지/영상 모델은 모두 무료 범위를 벗어나므로, 결제 수단을 설정해야 합니다.
2-4. API 키를 환경 변수에 설정하기
발행한 키는 환경 변수 GEMINI_API_KEY로 설정합니다. 공식 SDK는 이 이름의 환경 변수를 자동으로 읽으므로 스크립트 측의 설정은 불필요합니다. 어떤 폴더에서 작업해도 동일한 키를 사용할 수 있어 나중에 절차를 재사용할 때도 편리합니다.
# macOS / Linux (zsh의 경우. bash라면 ~/.bashrc)
# ※ 이 방식대로 하면 키가 셸 히스토리에도 남습니다. 신경 쓰인다면
# 에디터로 ~/.zshrc를 열어 export 행을 직접 추가해 주세요
...
3. 프로젝트 만들기
작업 폴더를 만듭니다.
mkdir ai-video && cd ai-video
【팁】 격리된 환경(devcontainer)에서 실행하기
Claude Code에게 명령어를 실행하게 하는 것이 조금 불안한 분들을 위한 방법입니다. devcontainer(일회용 작업용 컨테이너) 안에서 Claude Code를 실행하면, 명령어가 전달되는 범위는 해당 컨테이너 내부로만 한정됩니다. ffmpeg와 같은 도구들도 컨테이너 측에 설치되므로, 내 PC를 더럽히지 않고 사용할 수 있다는 점도 장점입니다. 편집한 파일이나 생성된 영상은 평소와 같이 로컬 프로젝트 폴더에 나타납니다.
1. 도구 설치하기
먼저 Docker를 설치합니다. 가장 대중적인 것은 Docker Desktop입니다. Mac 사용자라면 OrbStack을 추천하는데, 가볍고 빠르며 docker 명령어를 그대로 사용할 수 있습니다.
그다음, 컨테이너를 조작하는 devcontainer CLI를 설치합니다.
npm install -g @devcontainers/cli
2. 설정 파일 배치하기
프로젝트 폴더에 .devcontainer/devcontainer.json 파일을 만듭니다. 이 파일 하나만 있으면 "Claude Code + Node.js + ffmpeg가 포함된 Ubuntu" 환경이 완성됩니다.
{
"name": "ai-video",
"image": "mcr.microsoft.com/devcontainers/base:ubuntu",
...
3. 실행 및 접속하기
프로젝트 폴더에서 두 개의 명령어만 입력하면 됩니다. 처음 실행할 때는 빌드에 몇 분 정도 소요됩니다.
# 컨테이너를 생성하고 실행하기
devcontainer up --workspace-folder .
# 컨테이너 안에서 Claude Code 실행하기
...
이후 과정은 본문의 절차와 동일합니다. 정리를 하고 싶다면 devcontainer down --workspace-folder .로 중지할 수 있습니다.
알아두면 좋은 점
- 컨테이너 내부에서 다시 로그인해야 합니다. 게다가 컨테이너를 다시 만들 때마다 로그인이 사라지므로, 유지하고 싶다면 공식 절차에 따라
~/.claude에 볼륨을 마운트해 주세요. - 컨테이너 내부라면 승인을 일일이 기다리지 않고 실행하는
--dangerously-skip-permissions옵션도 사용하기 편리해집니다 (9장의 완전 자동화 단계와 궁합이 좋습니다).
규칙을 CLAUDE.md에 작성하기
Claude Code를 실행하기 전에 한 가지 준비 작업이 필요합니다. 이 부분이 이 글에서 가장 효과적인 부분입니다.
채팅으로 "앞으로는 이렇게 해줘"라고 약속하더라도, 다음 세션에서 이를 지켜준다는 보장이 없습니다. 매번 지켜주길 바라는 사항은 대화가 아니라 파일에 적어야 합니다. 프로젝트 루트 디렉토리에 CLAUDE.md를 두면, Claude Code는 실행될 때마다 이를 자동으로 읽어 들입니다.
에디터로 다음 내용의 CLAUDE.md를 작성하여 폴더 루트에 저장하세요 (그대로 복사해서 붙여넣어도 됩니다).
# AI 영상 프로젝트
## 사용하는 도구
- 생성 스크립트는 Node.js + 공식 SDK "@google/genai"로 작성한다
...
모델명까지 명시하는 데에는 이유가 있습니다. 지정하지 않으면 멋대로 경량 모델이 선택되어 화질이 떨어질 수 있으며, 더 나아가 모호하게 "이미지를 만들어줘"라고 요청하면, 그림을 그릴 수 없는 Claude가 SVG(도형의 조합)로 "그럴싸한 그림"을 직접 만들어버리는 사고가 발생하기도 합니다. 모델명을 직접 지정함으로써 이 두 가지 문제를 모두 방지할 수 있습니다.
"check.html"은 확인용 웹 페이지입니다. 생성된 이미지나 영상을 하나씩 열어 비교하는 것은 번거로우므로, 브라우저에서 페이지 하나만 열면 전부 확인할 수 있는 상태를 Claude Code가 매번 만들도록 합니다. 다음 장부터는 요청하지 않아도 자동으로 생성됩니다.
Claude Code 실행하기
파일을 배치했다면, 이 폴더에서 Claude Code를 실행합니다.
claude
실행 시 CLAUDE.md가 자동으로 읽히며, 방금 작성한 규칙을 인지한 상태에서 대화가 시작됩니다.
4. 첫 번째 영상 만들기 (10초 · 약 150엔)
준비가 되었으니 우선 한 편 만들어 봅시다. 이왕 하는 김에, 실사로는 절대 찍을 수 없는 장면을 만들어 보겠습니다.
Gemini Omni로 10초짜리 영상 1개를 만들고 싶습니다.
API 키는 환경 변수 GEMINI_API_KEY에 설정되어 있습니다.
내용: 밤의 대도시 상공을 거대한 고래가 천천히 헤엄쳐 지나간다.
...
전송하면 Claude Code가 @google/genai 사용법을 조사하고, 생성 스크립트를 작성한 뒤, 「무엇을·몇 초 동안·비용이 얼마나 드는지」에 대한 견적을 보여주며 승인을 요청합니다. 금액(10초라면 약 $1.00)을 확인하고 「OK」라고 답하면 생성이 시작됩니다. 몇 분 기다리면 폴더에 영상 파일이 생성되어 있습니다(파일명은 Claude Code가 붙이기 때문에 꽤 긴 이름이 됩니다). 네온사인 가득한 거리 위를 고래가 헤엄치며, 소리도 포함되어 있습니다.
그리고 요청하지 않아도 check.html을 만들어 확인할 수 있게 해줍니다. CLAUDE.md에 작성한 규칙이 즉시 효과를 발휘하고 있습니다.
5. 캐릭터 시트 만들기
여기서부터 30초 영상을 향한 본격적인 단계입니다. 영상 AI의 최대 약점은 아무런 조치를 취하지 않으면 컷마다 캐릭터의 얼굴이 다른 사람처럼 변한다는 것입니다. 이에 대한 대책은 「캐릭터 시트 (Character Sheet)」를 먼저 만든 뒤, 매 생성 시마다 함께 전달하는 것입니다. 내용은 두 가지입니다.
- 설정 문구 — 이름·외형·성격. 매번 덧붙이는 「변하지 않는 설명문"
- 참조 이미지 — 얼굴 클로즈업과 전신 정지 화면. AI에게 보여줄 「이 인물을 등장시켜 줘」라는 표본
주연은 이분에게 부탁해 보겠습니다.
오리지널 캐릭터를 1명 만들어서 캐릭터 시트를 정리해 주세요.
캐릭터 안: 밤의 골목길에만 나타나는 포장마차 라멘집 「네코켄」의 주인, 위엄 있는 삼색 고양이.
머리띠를 두르고 남색 사무에(作務衣)를 입었으며, 목에는 콩무늬 수건을 두르고 있음.
...
여기서도 견적이 나오고 멈춥니다. 정지 화면은 1장에 $0.134(1K·2K), 2장에 약 40엔 정도[3]입니다. 「OK」라고 답해야 비로소 생성이 시작됩니다. 이후에도 결제 전에는 매번 이렇게 멈춥니다. 내용과 금액을 확인하고 「OK」라고 답하는 — 그 과정을 반복합니다.
생성된 이미지는 자신의 눈으로 확인하기
생성이 끝나면 Claude Code가 check.html에 「캐릭터 확인」 섹션을 만들어 줍니다(CLAUDE.md의 규칙입니다). 참조 이미지 2장과 character.md 설정의 요점이 한 페이지에 나열되므로, check.html을 열어 확인합니다.
「설정도 check.html에 쓰면 character.md는 필요 없지 않을까?」라고 생각할 수도 있지만, 역할이 다릅니다. character.md는 생성할 때마다 AI에게 전달하는 「소재」이고, check.html은 당신이 보는 「확인 페이지」입니다. 소재는 매번 프롬프트에 포함되므로 텍스트 파일이 다루기 쉽고, 확인 페이지에는 그 요점이 전사됩니다. 당신은 check.html만 열어보면 됩니다.
페이지의 두 장을 비교합니다. 사소해 보이지만, 이 「자신의 눈으로 확인하는 과정」이 AI 영상 제작 실력 그 자체입니다. 확인해야 할 점은 4가지입니다.
- 지시대로 되었는가 — 삼색 무늬·머리띠·남색 사무에·콩무늬가 모두 포함되었는가
- 얼굴 클로즈업과 전신이 같은 고양이로 보이는가 — 삼색 무늬 패턴까지 어긋나지 않았는가. 이 부분이 무너지면 영상에서도 얼굴이 안정되지 않습니다.
- 결함이 없는가 — 앞발이나 수염, 사무에의 구조가 이상하지 않은가. 의심스러운 부분은 확대해서 봅니다.
- 불필요한 것이 없는가 — 요청하지 않은 글자·로고·워터마크(포장마차 간판에 알 수 없는 글자가 있는 경우가 흔합니다)
마음에 들지 않으면 망설임 없이 다시 만듭니다(1장에 수십 엔입니다).
전신 이미지를 다시 만들어 주세요. 얼굴은 완벽하지만, 사무에의 남색이 검은색처럼 보입니다.
「남색 사무에」를 강조해서, 얼굴 클로즈업과 같은 삼색 무늬를 유지한 채로 한 장 더 만들어 주세요.
생성 전에 평소처럼 견적을 보여주세요.
6. 스토리보드 만들기
갑자기 영상을 생성하지 않고, **스토리보드 (Storyboard, 컷 분할 설계도)**를 먼저 만듭니다. 영화나 광고와 같은 순서입니다. 이렇게 하면 불필요한 생성 = 불필요한 비용이 급격히 줄어듭니다. 정지 화면을 다시 만드는 것은 1장에 $0.134, 영상을 다시 만드는 것은 1컷에 약 $1 정도로 — 7배 이상의 차이가 나기 때문입니다.
이 캐릭터로 30초짜리 쇼츠 영상을 만들고 싶습니다. 먼저 스토리보드를 만들어 주세요.
테마: 비 오는 밤, 골목길에 외롭게 불을 밝히는 포장마차 라멘집 「네코켄".
주인의 재료 준비부터, 김이 모락모락 나는 라멘 한 그릇을 내어주는 「자, 여기 있습니다」까지.
...
먼저 컷 분할 표만 반환됩니다. 그 후 확인 요청이 나올 때마다 「OK」라고 답하며 진행해 나갑니다.
완성되면 check.html에 「콘티(絵コンテ)」 섹션이 추가되며, 5장의 이미지 그림이 컷 번호, 내용, 대사와 함께 나열됩니다. 이야기의 흐름이 자연스러운지, 모든 컷의 고양이가 동일한지, 클로즈업(寄)과 풀샷(引き)이 적절히 섞여 있는지 등 — 신경 쓰이는 부분이 있다면 해당 컷만 수정해 달라고 요청하면 됩니다.
컷 3만 다시 만들어 주세요. 다른 컷과 다른 고양이처럼 보입니다.
7. 30초 영상으로 조립하기
콘티가 확정되면 드디어 영상 제작 단계입니다.
콘티가 확정되었으니, 영상으로 만들어 봅시다.
・컷 1부터 순서대로, 한 컷씩 Gemini Omni로 생성해 주세요
・각 컷마다 character.md + 참조 이미지 + 해당 컷의 콘티를 매번 첨부할 것
...
포인트는 "매 컷마다 시트와 참조 이미지를 전부 다시 첨부하는 것"입니다. 영상 AI는 이전 컷의 내용을 기억하지 못하기 때문에, "아까와 같은 캐릭터로"라는 말은 통하지 않습니다. 컷 사이에서 무언가 어긋난다면, 원인은 거의 "해당 컷에 쓰는 것을 잊었기 때문"입니다.
역할을 구분하여 작성하는 것도 그만큼 효과적입니다. 콘티의 이미지 그림과 캐릭터 참조 이미지는 전달 방식은 같더라도 요구하는 바가 정반대입니다. 전자는 "이 그림으로부터 움직임이 시작되길 바라는 것"이고, 후자는 "화면에는 나오지 않더라도 외형만 맞춰주길 바라는 것"입니다. 이 부분을 명시하지 않고 두 장을 나란히 전달하면, AI가 어느 쪽 역할인지 추측하게 됩니다[4]. 추측이 틀리면 콘티에서 결정한 구도가 통째로 무시되는 결과로 나타납니다.
생성이 끝나면, check.html의 「완성 확인」 섹션에서 반드시 모든 컷을 자신의 눈으로 직접 재생하며 확인합니다.
얼굴 — 컷마다 다른 고양이가 되지 않았는가. 삼색 고양이의 무늬는 동일한가
의상·소품 — 사무에(作務衣)나 테누구이(手ぬぐい)의 색상이 도중에 바뀌지 않았는가 (정말 자주 일어나는 일입니다)
글자 — 요청하지 않은 자막이나 로고가 화면에 박혀 있지 않은가 (화면 구석구석까지 확인)
이상한 컷이 있다면 "컷 3만, ◯◯를 수정해서 다시 만들어줘"라고 부분적으로 요청하면 됩니다. 전부 다시 만들 필요는 없습니다.
과거의 섹션을 지우지 않고 쌓아가는 규칙도 여기서 빛을 발합니다. 채택한 참조 이미지도, 승인한 견적도 같은 페이지에 남아 있으므로, check.html이 그대로 제작 기록이 됩니다.
8. 지식을 축적하여 CLAUDE.md를 성장시키기
계속할수록 편해지는 메커니즘을 하나 더 도입합니다. "오늘 알게 된 점"을 기록하게 해두면, 다음번에는 그 기록을 읽는 것만으로도 같은 실수를 반복하지 않게 됩니다.
이 프로젝트의 운영 방식을 정비합니다.
1. knowledge 폴더를 만들고, 다음 두 파일로 기록을 시작해 주세요
・learnings.md — 잘된 점 / 실패와 원인 / 다음에는 이렇게 한다 (날짜 포함)
...
이로써 지금까지 매번 요청해야 했던 일들을 이제 요청하지 않아도 준수하게 되었습니다. 다음에 이 폴더에서 claude를 실행했을 때의 Claude Code는, 처음부터 당신의 규칙과 과거의 학습 내용을 알고 있는 상태에서 업무를 시작합니다.
9. 마무리 — 원 프롬프트(One-prompt)로 전 자동화
현재 폴더에는 캐릭터 시트 · CLAUDE.md의 규칙 · knowledge의 학습 내용이 모두 갖춰져 있습니다. 즉, 공정 전체를 통째로 하나의 의뢰로 맡길 수 있는 상태입니다.
포인트는 단 하나입니다. 공정별 OK 대신, "예산의 상한선"을 먼저 전달하는 것입니다.
오늘은 한 편을 통째로 맡깁니다.
테마: 폐점 후의 "네코켄(ねこ軒)". 점주가 몰래 숨겨진 메뉴를 시사하고,
직접 스프를 맛보며, 자신도 모르게 수염이 올라가는 모습
...
그 후에는 지켜보기만 하면 됩니다. 30분 정도 지나면 폴더에 완성된 영상과 확인 페이지 일체가 나타납니다. 승인은 건너뛰더라도 확인 기록은 남깁니다 — 나중에 check.html을 위에서부터 훑어보면 모든 공정을 사후에 체크할 수 있습니다. 이상한 컷이 있다면 그 부분만 다시 만들라고 요청하면 됩니다.
더 나아가고 싶다면, 이 공정을 Claude Code의 스킬(이름이 붙은 절차서)로 정리하는 방법도 있습니다. "지금까지의 제작 방법을 short-video라는 이름의 스킬로 만들어줘"라고 요청하면, 다음부터는 "short-video 절차로, 테마: ◯◯"라는 한마디로 시작할 수 있습니다.
10. 다른 생성 AI도 "같은 형식"으로 사용 가능
이 기사는 Gemini API 하나로 완결되었지만, 이 형식은 Gemini 전용이 아닙니다. 새로운 서비스의 API 키를 환경 변수(Environment Variable)에 추가하고 "이 API를 사용해줘"라고 요청하기만 하면 동일한 공정에 포함할 수 있습니다. 접속 코드는 Claude Code가 작성해주므로, 당신의 작업은 키를 발급받는 것뿐입니다. 캐릭터 시트도 스토리보드(Storyboard)도 check.html도 그대로 통용됩니다.
예를 들어, 다음과 같은 것들이 있습니다 (단가·사양은 2026-08 시점 기준. 사용 전 반드시 공식 요금 페이지를 확인하세요).
Veo 3.1 (Google · 동영상)
화질이 부족해졌을 때. Gemini Omni와 동일한 GEMINI_API_KEY로 사용할 수 있는 고화질 프레임으로, 키를 추가할 필요조차 없습니다. 720p/1080p/4K를 지원하며, 실사풍(Photorealistic) 질감에 강합니다. 1회 생성은 8초이지만, 7초씩 덧붙여 길게 늘려가는 연장 기능이 있습니다. 단, 단가는 Gemini Omni($0.10/초)의 4~6배에 달합니다. 모든 컷을 Veo로 만들면 비용이 많이 들기 때문에, 최종 출력물 중 "결정적인" 컷에 사용하는 것이 현실적입니다 (속도 중시형인 Fast, 더 저렴한 Lite도 있습니다).
Grok Imagine (xAI · 동영상/이미지)
제작 편수를 늘리고 싶을 때. 단가가 저렴하고 (480p 기준 $0.05/초~, 상위 모델인 Grok Imagine Video 1.5도 $0.08/초), 생성 속도도 빠릅니다. 이미지→동영상(i2v)에 특화되어 있어, 스토리보드의 이미지 컷을 그대로 움직이는 용도와 궁합이 좋습니다. Gemini Omni에는 생성 횟수 제한이 있고 (한도는 플랜 및 이용 상황에 따라 변동), 제한에 걸린 날의 보험으로서도 우수합니다. 정지 영상 생성도 1장당 몇 엔~십여 엔 수준으로 매우 저렴하여, 후보를 대량으로 뽑아내는 물량전 방식에 적합합니다. 약점은 요청하지 않은 글자를 멋대로 그려 넣는 습관이 있다는 점입니다.
Kling (Kuaishou · 동영상)
대사를 정확하게 말하게 하고 싶을 때. 립싱크(Lip-sync)의 유력한 후보입니다. 최신 Kling 3.0에서는 텍스트로부터 립싱크가 완료된 음성까지 통째로 생성할 수 있어 (다국어 대응), 이전처럼 "음성 파일을 따로 준비해서 입 모양을 맞추는" 2단계 과정을 거치지 않아도 됩니다. 컷을 이어 붙여 이야기하는 기능이나, 짧은 영상에서 피사체와 목소리를 추출하는 상위 모델(3.0 Omni)도 있습니다. 두 명이 동시에 대화하는 장면에도 강합니다.
Seedance (ByteDance · 동영상)
세밀하게 제어하고 싶을 때. 참조 자료를 대량으로 전달할 수 있는 것이 특징인 제어 중심형 모델입니다. Seedance 2.5는 참조 입력을 최대 50점까지 한꺼번에 전달할 수 있으며 (이미지 30 · 동영상 10 · 음성 10), 1회에 최장 30초 생성에 대응합니다 (2026-07-31 발표). 단, API는 아직 제공되지 않았습니다 — 요금표와 모델 ID는 미리 공개되어 있으므로 조만간 제공될 것으로 보이지만, 사용 가능 여부는 공식 채널에서 확인하시기 바랍니다.
gpt-image-2 (OpenAI · 이미지)
이미지에 글자를 넣고 싶을 때. "글자를 정확하게 출력하는 것"과 "글자를 출력하지 않는 것" 양쪽 모두에서 최상급 성능을 보여주며, 도해(Diagram)나 썸네일 제작에 적합합니다. 실사 질감은 Gemini 계열(Nano Banana Pro)이 우위에 있으므로 용도에 맞춰 구분해 사용하세요.
Eleven Music / Eleven v3 (ElevenLabs · 음악/음성 합성)
BGM이나 나레이션이 필요할 때. 음악은 Eleven Music을 통해 초 단위로 지정하여 인스트루멘탈(Instrumental) 곡을 생성할 수 있습니다. 나레이션은 음성 합성 모델인 Eleven v3 등을 사용합니다. 요금은 크레딧 방식으로 플랜에 따라 실질 단가가 달라지므로 공식 페이지에서 확인하세요. 참고로 Gemini Omni의 동영상에는 환경음과 대사가 처음부터 포함되어 있어, BGM 없이도 하나의 영상으로서 성립합니다.
Higgsfield (다양한 모델을 통합 사용 가능한 플랫폼)
키를 계속 추가하는 것이 번거로워졌을 때. Kling, Seedance, Veo 등 다양한 모델을 하나의 계정으로 묶어서 사용할 수 있는 플랫폼도 있습니다. MCP와 CLI가 공식적으로 준비되어 있어, API 키 없이도 Claude Code에서 사용할 수 있다고 합니다. 과금은 API 종량제가 아닌 크레딧 방식인 것으로 보입니다.
MiniMax H3 (MiniMax · 동영상)
"영상 한 편당 얼마"라는 방식에서 벗어나고 싶을 때. 지금까지 언급한 모델들은 모두 "상대방의 서버에 요청하는" 방식이었지만, 동영상 모델 중에는 오픈 웨이트 (Open Weights) 모델도 있습니다.
가중치 (Weights)는 학습 결과로 만들어진 수치들의 집합 — 즉 AI의 내용물 그 자체입니다. Gemini나 Veo는 이것이 비공개이므로, API를 통해 상대방의 서버에서 구동하도록 할 수밖에 없습니다. 오픈 웨이트 (Open Weights) 모델은 이 내용물을 다운로드할 수 있기 때문에, 자신의 PC에서 구동할 수 있습니다. 생성 자체에 대한 과금은 제로이며, 드는 비용은 전기세뿐입니다.
소재가 외부로 유출되지 않는다 (미공개 기획이나 사내 기밀이라도 안심할 수 있음),
서비스 종료나 가격 인상에 휘둘리지 않는다는 점도 효과적입니다.
단, 오픈 소스 (Open Source)와는 별개의 개념입니다. 공개되는 것은 '완성된 내용물'뿐이며, 학습 데이터나 만드는 방법까지는 나오지 않는 것이 일반적입니다. 용도에 따라 독자적인 조건이 붙을 수 있으므로 라이선스는 반드시 확인해야 합니다.
그중 하나가 2026년 8월에 공개된 **MiniMax H3 (Hailuo 3.0)**입니다. 영상과 음성을 한 번에 내보내는 구조가 Gemini Omni와 유사하며, 최장 15초·2K까지 대응합니다. 공개된 당일부터 ComfyUI (로컬에서 AI 생성을 구동하기 위한 표준 도구)에서 사용할 수 있게 되었습니다.
필요한 머신은 대략 **VRAM 2432GB (RTX 4090 / 5090 클래스 정도면 현실적)**인 수준입니다. ComfyUI 측의 최적화가 상당히 잘 되어 있어서, 1216GB에서도 구동된다고 합니다. 디스크 용량은 40GB 이상이 필요합니다.
성능 좋은 로컬 머신이 없다면, GPU를 빌리면 됩니다. RunPod와 같은 GPU 클라우드라면, 이 구성을 시간제 대여로 준비할 수 있습니다. 수십만 엔짜리 그래픽 카드를 사는 대신, 필요할 때만 상위 GPU를 빌리는 방식입니다.
마치며
솔직히 말해서, 퀄리티는 "그저 그렇습니다." 스토리보드대로 나오지 않는 컷이 매번 몇 개씩 섞입니다. 지정한 구도가 무시되거나, 좌우가 반전되거나, 사라졌어야 할 불빛이 켜져 있거나, 쓴 기억이 없는 글자가 들어가는 등 — 세세한 지시는 누락될 것을 전제로 보는 편이 좋습니다. TV 광고나 작품으로서 세상에 내놓을 수 있느냐고 묻는다면, 아직 그 정도 단계는 아닙니다.
반면, SNS에 한 편 올리기, 기획의 이미지를 사내에서 보여주기, 가게 소개 영상을 만들기 등의 용도라면 충분히 통합니다.
마지막으로 몇 가지 보충 설명을 덧붙입니다.
이미지 생성은 구독 서비스로 해결하는 방법도 있습니다 — ChatGPT 유료 플랜을 계약하고 있다면, Codex CLI에 이미지 생성 (gpt-image-2) 기능이 내장되어 있습니다. 터미널에서 직접 만들 수 있으므로, 캐릭터 참조나 스토리보드용 정지 영상을 그쪽에서 준비하면 해당 부분의 API 과금은 제로입니다. 완성된 이미지를 폴더에 두면, 이후 공정은 이 기사의 내용 그대로 진행할 수 있습니다. 다만 같은 gpt-image-2라도 API로 호출하면 완전히 별개의 계약 및 과금 체계입니다. ChatGPT 유료 플랜을 사용 중이더라도 API는 무제한이 아니며, OpenAI Platform 측에 대한 결제가 별도로 발생합니다 -
Python으로도 만들 수 있습니다 — Node.js를 선택한 이유는 환경 설명을 간단히 하기 위해서입니다. Python을 사용할 수 있는 환경이라면, CLAUDE.md의 한 줄을 바꾸는 것만으로 Python 버전이 됩니다 -
"컷을 이어 붙이는 것"이 유일한 길은 아니게 되고 있습니다 — Seedance 2.5는 한 번에 최장 30초 생성을 발표했습니다. 다만, 컷 분할로 생각하는 단계 자체는 단발성 생성의 시대가 와도 구성의 도구로서 남을 것입니다 -
동영상 생성 AI를 사용하지 않고 영상을 만드는 방법도 있습니다 — 정지 영상에 천천히 줌(Zoom)이나 팬(Pan) 효과를 주고 ffmpeg로 잇는 방법과, Claude Code의 특기 분야인 HTML/CSS로 애니메이션을 만들게 하여 영상으로 내보내는 방법이 있습니다 (내보내는 메커니즘도 Claude Code가 스스로 준비합니다). 둘 다 동영상 생성 과금이 들지 않으며, 화면 내의 글자도 생성 AI에게 그리게 하는 것보다 확실합니다. 해설 계열 영상이라면 이 정도로 충분한 경우가 많으며, 타이틀이나 도해 컷만 이 방식으로 만들어 섞는 조합 기술도 효과적입니다 -
동영상 소재가 있다면 생성조차 필요 없습니다 — 촬영된 소재의 컷 편집, 연결, 자막, 볼륨 조절만 Claude Code에게 맡기는 사용법도 있습니다. 이 기사의 틀은 그대로 통용됩니다
아무것도 지정하지 않으면 Python으로 만들어지는 경우가 많으므로, 이 기사에서는 Node.js를 지정했습니다. ↩︎
ByteDance의 Seedance 2.5가 최장 30초 단발성 생성을 공식 발표했습니다 (2026-07-31). 다만 API는 2026-08 시점에서 아직 제공되지 않고 있습니다. ↩︎
더 저렴한 이미지 모델도 있습니다. Nano Banana 2(
gemini-3.1-flash-image는 1장당 $0.045부터 시작하여 3분의 1 수준으로 저렴하며, 속도 또한 몇 배 더 빠릅니다. 다만 여기서의 용도는 "참조 이미지를 전달하여 동일한 캐릭터를 그리게 하는" 즉, 이미지 편집에 가까운 작업이며, 그 부분은 아직 Nano Banana Pro가 우세한 영역입니다. 대량으로 후보를 생성하고 싶을 때만 저렴한 모델로 전환하는 것으로도 충분합니다. ↩︎ -
Gemini Omni에는 이미지의 역할을 지정하는 메커니즘이 있어, 시작 프레임이라면 <FIRST_FRAME>, 참조용이라면 <IMAGE_REF_0>와 같이 프롬프트 내에서 지정합니다. 지정하지 않을 경우 모델이 프롬프트로부터 의도를 추측한다고 공식 문서에 명시되어 있습니다. 일본어(또는 한국어)로 역할을 전달해 두면, 이 지정 작업은 Claude Code가 작성해 줍니다. ↩︎
Discussion

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