AI 만화 비디오 한 편을 생성하는 데 실제로 드는 비용, 라인별 분석
요약
AI 만화 비디오 생성 파이프라인의 실제 비용을 fal.ai, Replicate, Anthropic API 요율을 바탕으로 정밀 분석합니다. 비디오 생성 모델(WAN i2v)과 캐릭터 설정(LoRA), 증강 단계의 비용 구조를 상세히 다룹니다.
핵심 포인트
- 비디오 생성 모델(WAN i2v)이 전체 비용의 가장 큰 비중을 차지함
- 캐릭터 증강(Augmentation) 비용이 LoRA 학습 비용보다 3.5배 더 높음
- 프레임 수 조절을 통해 클립당 비용을 약 80% 절감 가능
- 생성된 초(Generated seconds)와 완성된 초(Finished seconds)의 개념 구분 필요
지난주에 몇 달 만에 처음으로 fal.ai 결제 대시보드를 살펴보기 위해 자리에 앉았습니다. 무언가 잘못되어서가 아니라, 그동안 대략적인 수치로만 때워왔던
가격 정보는 fal.ai, Replicate, 그리고 Anthropic이 게시한 API 요율을 기준으로 하며, 제 계정의 지난 약 100회 생성에 걸친 평균 사용량을 교차 참조했습니다. 출력량 기준(Kontext Pro) 또는 글자 수 기준(Kokoro)으로 가격이 책정되는 모델의 경우, 한계 토큰당 요율(marginal-token rate) 대신 호출당 평균값(per-call mean)을 사용했습니다.
이전 초안에서 혼동했던 부분이 있어, 정확히 정의해둘 만한 몇 가지 개념이 있습니다:
- 생성된 초 (Generated seconds): 실제로 비용을 지불하는 시간입니다. 저의 프레임 설정에서 WAN i2v는 약 6초 길이의 클립을 생성하므로, 4개의 장면은 24초의 생성된 초가 됩니다.
- 완성된 초 (Finished seconds): 사용자가 시청하는 시간입니다. 저의 파이프라인은 병합 후 각 장면을
audio_length + 0.5s로 트리밍(trimming)하므로, 3초의 음성 라인이 포함된 6초 클립은 3.5초의 완성된 장면이 됩니다. 4개 장면으로 구성된 비디오는 보통 약 16초 내외로 완성됩니다.
두 수치 모두 실제 데이터입니다. 초당 수치는 변동될 수 있으며, 전체 과정에서 이를 명확히 구분하여 기술하겠습니다.
감가상각 (Amortization): 캐릭터당 설정 비용은 제 데이터에서 나타나는 반복 사용 패턴에 따라 캐릭터당 5개의 비디오로 나누어 계산했습니다. 캐릭터당 비디오를 1개만 제작할 경우 초당 비용은 대략 두 배로 뜁니다. 저는 그 범위를 모두 보여드릴 것입니다.
제외 항목: 실패 후 재생성된 생성 건(아래에서 별도 처리), Azure blob storage 및 데이터 전송(egress) 비용(반올림 오차 범위), Container Apps 기본 비용(월 약 $30–50, 고정 비용, 모든 트래픽에 걸쳐 감가상각 적용), 개발 시간. 포함 항목: 각 캐릭터의 목소리를 자동으로 선택하는 비전(vision) 호출, 장면 브리프(scene brief)를 작성하는 Claude Haiku 호출.
세부 분석 (The teardown)
장면당 비용
| 구성 요소 | 모델 | 호출당 비용 |
|---|---|---|
| 키프레임 (단독 캐릭터) | fal-ai/flux-lora | $0.04 |
| ... |
다중 캐릭터 장면당: 약 $0.555. 4개 장면: $2.22.
참고할 점: fal의 wan-i2v 공시 가격은 초당 비용이 아니라 720r 클립 기준입니다. 81프레임을 초과하는 클립에 대해서는 1.25배 배수가 적용됩니다. 제 파이프라인은 오디오를 위한 여유 공간을 확보하기 위해 장면당 16 fps를 요청하며, 이로 인해 배수가 적용되는 구간에 해당하여 클립당 $0.50이 소요됩니다. 프레임을 80프레임으로 낮추면 클립당 $0.10을 절약할 수 있고, 대부분의 음성 대사에는 5초면 충분합니다. 이는 제가 아래에서 다룰 실제적인 최적화(optimization) 작업입니다.
WAN이 장면당 비용의 대부분을 차지합니다. 놀라운 일은 아닙니다. 비디오 모델이 가장 비싼 부분이 될 것이라고 예상했습니다. 제가 예상하지 못했던 것은 나머지 비용이 어디에서 발생하는가였습니다.
캐릭터당 (일회성, 분할 상환)
| 구성 요소 | 모델 | 비용 |
|---|---|---|
| 시각적 묘사 (Visual description) | Claude Sonnet (vision) | $0 |
| ... |
제가 실제로 이 포스트를 쓰게 만든 놀라운 사실은 다음과 같습니다: 증강 (augmentation) 단계의 비용이 LoRA 학습 (training) 자체보다 3.5배 더 많이 듭니다.
이런 시스템을 구축해 본 적이 없다면, LoRA 학습이 가장 비싼 부분이라고 가정할 수도 있습니다. 이름에 "학습"이 포함된 항목이니까요. 하지만 그렇지 않습니다. 진짜 비싼 항목은 학습에 "투입"하기 위해 필요한 35개의 만화 스타일 변형 (variations)을 생성하는 것입니다. 왜냐하면 단일 소스 사진으로 미세 조정 (fine-tuned)된 LoRA는 심각하게 과적합 (overfitting)되어, 결과물인 캐릭터가 장면마다 특징 없이 평범하고 비슷해 보이기 때문입니다.
따라서 포즈의 변화, 표정의 변화, 조명의 변화가 필요합니다. Kontext Pro를 통해 생성할 때 각각 약 $0.04의 비용이 듭니다. 이를 35개까지 쌓으면 단 하나의 가중치 (weight)를 학습하기도 전에 이미 $1.40을 지출하게 됩니다.
저는 만화 스타일 이미지에서 20개의 변형(포즈, 표정)을 생성하고, 원본 셀카에서 15개의 변형을 생성합니다 (이때 원본 셀카는 실제 얼굴을 기준으로 하여, 데이터 혼합 비율이 치우쳤을 때 관찰되었던 만화 측면의 피부톤 어두워짐 현상을 상쇄합니다). 이 20+15의 분할이 LoRA가 실제로 알아볼 수 있는 인물을 생성할 수 있게 만드는 핵심입니다.
이것은 사람들이 "이제 LoRA 미세 조정 (fine-tuning)은 저렴하다"라고 말할 때 아무도 지적하지 않는 숨겨진 비용입니다.
정산 (Reconciliation)
캐릭터당 5개의 비디오에 걸쳐 분할 상환(amortized)했을 때, 전형적인 4장면, 2캐릭터 비디오의 경우:
캐릭터당 설정 비용 (분할 상환): 2 × $1.975 / 5 = $0.79
장면당 비용 (4 × $0.555): = $2.22
프로젝트 브리프 (Per-project brief): < $0.01
────────────────────────────────
비디오당 총합 ≈ $3.02
÷ 생성된 24초 (4 × 6.25초 클립) ≈ $0.126 / 초
÷ 완성된 16초 (오디오 인지 트리밍 후) ≈ $0.189 / 초
따라서: 생성된 초당 약 $0.13 (fal/Replicate/Anthropic이 저에게 청구하는 금액), 또는 완성된 초당 $0.19 (시청자가 실제로 경험하는 금액)입니다. 두 수치 모두 실제이며, 완성된 초당 수치가 사용자가 실제로 얻는 결과물이기에 더 정직한 헤드라인이 됩니다.
비용 점유율 (Share of the bill)
이 부분이 실제로 유용하다고 생각하는 대목입니다:
| 구성 요소 | 비디오당 $ | 점유율 |
|---|---|---|
| WAN i2v (4개 클립) | $2.00 | 66% |
| ... |
비디오 모델이 가장 큰 비중을 차지합니다. 유일한 항목은 아니며, 제가 예상했던 것만큼 압도적이지도 않습니다. 증강 (Augmentation)만으로도 비용의 거의 5분의 1을 차지합니다.
분할 상환 범위 (Amortization range)
| 캐릭터당 비디오 수 | 생성된 초당 비용 (24초) | 완성된 초당 비용 (16초) |
|---|---|---|
| 1 (단일 비디오, 신규 캐릭터) | ~$0.26 | ~$0.39 |
| ... |
생성된 초당(generated-second) 열은 회계사가 관심을 가질 부분입니다 (인보이스와 일치합니다). 완성된 초당(finished-second) 열은 사용자가 경험하는 부분입니다. 두 수치가 차이 나는 이유는 각 WAN 클립이 약 6초를 생성하지만, 연결 (concat) 단계에서 오디오 길이에 0.5초를 더한 길이로 트리밍(trim)하기 때문입니다. 대부분의 음성 대사는 3~4초 내외로 돌아오므로, 생성된 프레임의 상당 부분이 잘려 나갑니다.
주목할 만한 형태는 다음과 같습니다: 비디오 수를 5개에서 10개로 늘려도 초당 비용은 $0.02–0.03 정도만 절감됩니다. 반면 1개에서 2개로 늘리면 초당 약 $0.08가 절감됩니다. 단위 경제성 (unit-economic) 측면에서 가장 큰 승부처는 사용자가 열 번째 비디오를 만들게 하는 것이 아니라, 기존 캐릭터로 '두 번째' 비디오를 만들게 하는 것입니다. 제가 구축해 온 대부분의 제품 기능들(프리셋 장면, 그룹 비디오, "속편 만들기")은 본질적으로 이 수학적 계산에 의해 설계되었습니다.
실질 비용 vs 표면 비용 (Effective vs. sticker cost)
제 로그를 살펴보면, 장면 이미지 생성(scene image generation)은 약 810번의 시도 중 1번꼴로 첫 번째 시도에서 실패합니다. 주요 원인은 두 가지입니다. 하나는 fal에서 발생하는 일시적인 5xx 오류이고, 다른 하나는 Claude Haiku 리라이터(rewriter)가 트리거 단어들을 교체한 후에도 WAN의 콘텐츠 필터(content filter)가 액션이나 전투 관련 표현이 포함된 장면 설명을 거부하는 경우입니다. 리라이터를 사용했을 때의 실질적인 재시도율(reroll rate)은 약 **1012%**입니다.
따라서 실질 비용(effective cost)은 표면 가격(sticker price)의 약 1.10~1.12배입니다. 무시할 수준은 아니지만, 더 엄격한 비디오 모델을 사용할 때 발생하는 1.4배 수준은 아닙니다. 만약 제가 Sora 2 Pro나 초기 버전의 Veo를 사용했다면 이 배수는 훨씬 더 커졌을 것입니다.
비디오 모델 단독 비용과의 비교
2024년 중반 기준, 초당 비디오 모델 원가(raw per-second video-model pricing)는 다음과 같습니다.
| 모델 | 공시 가격 |
|---|---|
| Seedance 1.5 Pro | ~$0.025/sec |
| ... |
WAN 가격에 관한 참고 사항: fal은 초당 과금이 아닌 클립(clip)당 과금을 합니다. 720p 기준 기본 가격은 클립당 $0.40이지만, 81프레임을 초과하는 클립에는 1.25배의 승수(multiplier)가 적용되어 클립당 $0.50가 됩니다. 제 파이프라인(pipeline)은 장면당 100프레임(원시 데이터 기준 약 6.25초)을 요청하므로 승수 적용 구간에 해당합니다. 하나의 클립은 56초 분량의 영상을 생성하지만, 최종 편집본이 얼마나 짧든 상관없이 동일한 금액을 지불합니다. WAN에 대해 초당 $0.04$0.08를 인용하는 라운드업(Roundup) 게시물들은 대개 480p 변형 모델(클립당 $0.20로 가격이 절반)을 의미하거나, 모델이 기본 설정에서 실제로 생성하는 프레임 수가 아닌 최대 프레임 수로 $0.40/클립을 나누어 계산한 결과입니다.
따라서 순수 비디오 모델 관점에서 제 파이프라인은 중간 단계입니다. Sora 2 기본 모델과 비슷하며, Veo Standard보다는 저렴하고 Kling보다는 비쌉니다. 전체 비용(all-in cost)을 계산하면 비디오 모델 단독 비용의 약 1.5~2배가 됩니다. 이러한 오버헤드(overhead)는 멀티 모델 개인화 스택(multi-model personalization stack)의 구조적 특징입니다: 키프레임 컨디셔닝(keyframe conditioning), 캐릭터별 학습(per-character training), 음성(voice), 비전(vision), 브리프(brief) 등이 포함됩니다.
Seedance로 전환하면 비디오 항목에서 초당 약 $0.04를 절감할 수 있지만, 나머지 오버헤드는 그대로 남게 됩니다. 최적화의 문제는 "어떤 더 저렴한 비디오 모델을 쓸 것인가?"가 아니라, "그 모델을 감싸고 있는 래퍼(wrapper)에서 얼마나 더 깎아낼 수 있는가?"입니다.
실제로 최적화할 부분
솔직히 말해서, 영향력이 큰 순서대로 나열하면 다음과 같습니다:
- 데이터 증강 (Cut augmentation) 호출 줄이기. 비디오 이외의 항목 중 가장 큰 비중을 차지하며 개선 여지가 가장 많습니다. 35개의 이미지로 구성된 Kontext-Pro 증강 세트를 소스 이미지와 선택된 스타일 이미지를 직접 사용한 Flux LoRA 학습 단계로 교체하면 캐릭터당 약 $1.40를 절약할 수 있습니다. 트레이드오프(LoRA의 표현력 범위 감소)는 분명히 존재하며, 이것이 제가 다음에 실행하고자 하는 A/B 테스트입니다.
- WAN의 num_frames를 100에서 80으로 낮추기. fal에 게시된 가격 정책에 따르면, 81프레임을 초과하는 720p 클립에는 1.25배의 승수가 적용됩니다. 즉, $0.40면 될 것을 $0.50를 지불하고 있는 셈입니다. 후속 단계에서 오디오 인지 트리밍 (audio-aware trim)을 수행하기 때문에, 완성된 장면은 어차피 5초를 넘는 경우가 거의 없습니다. 순수 절감액: 비디오당 $0.40, 완성된 초당 약 $0.025. 이는 전체 스택에서 가장 쉬운 단위 경제성 (unit-economic) 승리이며, 아직 적용하지 않은 것에 대해 변명의 여지가 없습니다.
- 캐릭터당 비디오 생성 수 늘리기. 기존 캐릭터에 비디오가 하나씩 추가될 때마다 초당 비용이 약 $0.02/sec씩 감소합니다. 사용자를 기존 캐릭터로 다시 불러오는 제품 기능은 직접적인 단위 경제성 레버 역할을 합니다. 모델을 최적화하는 것보다 저렴합니다.
- TTS는 건드리지 않기. Kokoro는 장면당 $0.005입니다. 이보다 더 저렴한 것은 반올림 오차 수준일 것이며, Kokoro는 이 가격대에서 다른 대안들보다 소리가 더 좋습니다.
제가 시간을 투자하지 않을 부분: 비디오 모델 교체. 더 저렴한 옵션들이 존재하지만, 개선의 여지는 모델 자체에 있는 것이 아니라 모델 주변의 컨디셔닝 (conditioning)과 학습에 있습니다.
직접 해보고 싶다면
완성된 초당 $0.19가 실제 비디오로 어떻게 구현되는지 보고 싶다면 — 그리고 제 계산이 맞는지 확인하고 싶다면 — atveanimation.com에서 제품을 확인해 보세요. 사진을 업로드하고, 스타일을 선택한 뒤, 생성 버튼을 누르기만 하면 됩니다. 무료 티어에서는 하루에 10개의 장면을 제공하며, 이는 짧은 영상 두 편을 만들기에 충분한 양입니다.
만약 증강 (augmentation) 단계를 무너뜨리거나 단일 계정으로 $20의 청구서를 뽑아낼 방법을 찾으신다면, 꼭 알려주세요. 진심으로 알고 싶습니다.
맺음말
이 분석이 완전히 새로운 것이라고 주장하지는 않겠습니다. 청구 대시보드(billing dashboard)와 계산기만 있다면 누구든 작성할 수 있는 내용이니까요. 하지만 WAN + Kontext + flux-lora + Kokoro 스택을 위해 공개적으로 작성된 분석은 본 적이 없었습니다. 또한, 증강(augmentation) 과정에서 발생하는 비용(LoRA 학습 비용의 3.5배)은 제가 이 기술을 1년 동안 구축해 온 이후에도 충분히 의외였기에, 기록할 가치가 있다고 판단했습니다.
만약 수치에서 잘못된 점을 발견하신다면 댓글을 남겨주세요. 제 주장을 방어하기보다는 게시물을 수정하겠습니다.
금요일 오후, 제 책상에서 작성되었습니다. 수치는 소수점 둘째 자리(cent)까지 맞추었습니다. 만약 여러분의 계산과 일치하지 않는다면 그 이유를 꼭 알고 싶습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기