- Published on
HunyuanVideo와 LTX-2 완벽 분석: 오픈소스 비디오 생성 모델의 아키텍처, 성능, 실전 활용 가이드
- Authors
- Name
- 1. 서론: AI 비디오 생성 모델의 현재와 오픈소스의 부상
- 2. HunyuanVideo 개요
- 3. HunyuanVideo 아키텍처 심층 분석
- 4. HunyuanVideo 학습 데이터 및 방법론
- 5. HunyuanVideo 모델 사양 및 성능
- 6. HunyuanVideo 실전 사용 방법
- 7. LTX-Video 개요
- 8. LTX-2 아키텍처 분석
- 9. LTX-2 핵심 특징
- 10. LTX-2 실전 사용 방법
- 11. HunyuanVideo vs LTX-2 상세 비교
- 12. 오픈소스 비디오 생성 모델 생태계 전체 비교
- 13. 프롬프트 엔지니어링 팁
- 14. 향후 전망
- 15. Reference
1. 서론: AI 비디오 생성 모델의 현재와 오픈소스의 부상
2024~2025년은 AI 비디오 생성(AI Video Generation) 기술이 상용화 단계에 진입한 시기다. OpenAI Sora, Google Veo, Runway Gen-3, Kling 등 상용 서비스가 연이어 공개되며 "텍스트로 영상을 만든다"는 개념이 현실이 되었다. 그러나 이들 상용 모델은 API 비용, 사용 제한, 데이터 프라이버시 등의 한계를 수반한다.
이런 상황에서 오픈소스 비디오 생성 모델이 빠르게 성장하며 상용 모델에 필적하는 품질을 달성하기 시작했다. 특히 Tencent의 HunyuanVideo와 Lightricks의 LTX-2는 각각 다른 철학과 강점을 가지고 오픈소스 비디오 생성의 양대 축을 형성하고 있다.
[AI 비디오 생성 모델 발전 타임라인]
2024 Q1-Q2 2024 Q3-Q4 2025 Q1-Q2 2025 Q3-Q4 2026 Q1
| | | | |
v v v v v
Sora Preview HunyuanVideo Wan 2.1 HunyuanVideo 1.5 LTX-2 Open
Runway Gen-3 CogVideoX LTX-Video 1.0 Wan 2.2 (MoE) Wan 2.6
Pika 1.0 Kling 1.0 Mochi 1 LTX-2 Preview Veo 3.1
Mochi Preview Sora 2
[오픈소스 vs 상용 모델 경쟁 구도]
상용 모델: Sora --> Sora 2 --> Veo 3.1 --> Kling 3.5
\ \ \ \
\ \ \ v
오픈소스: CogVideoX -> HunyuanVideo -> Wan 2.1 -> LTX-2
\ \ \ \
v v v v
품질 격차: 격차 축소: 동등 수준: 일부 초월:
상용 우위 빠른 추격 벤치마크 동등 속도/접근성 우위
이 글에서는 HunyuanVideo와 LTX-2 두 모델의 아키텍처를 논문 기반으로 심층 분석하고, 벤치마크 성능을 비교하며, Wan 2.1, CogVideoX, Mochi 등 다른 오픈소스 모델과의 생태계 전체 비교, 프롬프트 엔지니어링 팁, 그리고 실전 활용 가이드까지 포괄적으로 다룬다.
2. HunyuanVideo 개요
2.1 Tencent 연구팀 소개
HunyuanVideo는 Tencent의 혼원(Hunyuan) AI 연구팀이 개발한 대규모 비디오 생성 모델이다. Tencent Hunyuan 팀은 이미 HunyuanDiT(이미지 생성), Hunyuan3D(3D 생성) 등 다양한 생성형 AI 모델을 개발해온 경험을 보유하고 있으며, 이러한 기술적 축적을 바탕으로 비디오 생성 영역에 진출했다.
Tencent Hunyuan 팀의 주요 기여:
| 모델 | 분야 | 주요 특징 |
|---|---|---|
| HunyuanDiT | Text-to-Image | 이중 언어(중/영) 지원, DiT 아키텍처 |
| Hunyuan3D | 3D 생성 | 텍스트/이미지에서 3D 모델 생성 |
| HunyuanVideo | Text/Image-to-Video | 13B 파라미터, 오픈소스 최대 규모 |
| HunyuanVideo 1.5 | Text/Image-to-Video | 8.3B, 소비자 GPU 지원 |
2.2 오픈소스 최대 규모 비디오 생성 모델
2024년 12월 공개된 HunyuanVideo는 13B(130억) 파라미터로, 공개 당시 오픈소스 비디오 생성 모델 중 최대 규모였다. 이는 경쟁 모델인 CogVideoX(5B~10B), Mochi(10B)를 크게 상회하는 규모다.
HunyuanVideo 핵심 스펙:
| 항목 | HunyuanVideo | HunyuanVideo 1.5 |
|---|---|---|
| 파라미터 수 | 13B | 8.3B |
| 출시일 | 2024년 12월 | 2025년 11월 |
| 아키텍처 | Dual-to-Single Stream DiT | 개선된 DiT |
| 텍스트 인코더 | MLLM (Decoder-Only) | MLLM 개선 |
| VAE | 3D Causal VAE | 3D Causal VAE (개선) |
| 학습 방법 | Flow Matching | Flow Matching |
| 최대 해상도 | 720p (1280x720) | 720p |
| 최대 프레임 | 129 frames | 129 frames |
| 라이선스 | Tencent Hunyuan Community | Tencent Hunyuan Community |
2.3 Text-to-Video 및 Image-to-Video 지원
HunyuanVideo는 두 가지 핵심 기능을 지원한다:
Text-to-Video (T2V): 텍스트 프롬프트만으로 고품질 비디오를 생성한다. 자연어로 장면, 동작, 분위기를 묘사하면 이에 맞는 영상을 만들어낸다.
Image-to-Video (I2V): 정적 이미지를 입력받아 자연스러운 모션이 추가된 비디오로 변환한다. 2025년 3월에 별도로 공개된 HunyuanVideo-I2V 모델이 이 기능을 전담한다.
[HunyuanVideo 입출력 파이프라인]
Text-to-Video:
"A golden retriever running +----------+ +--------+
through a sunlit meadow" -----> | Hunyuan | --> | 비디오 |
| Video | | 출력 |
Image-to-Video: | Pipeline | | (MP4) |
[입력 이미지] + 프롬프트 -----> | | --> | |
+----------+ +--------+
|
MLLM 인코더
3D VAE
DiT Denoiser
3. HunyuanVideo 아키텍처 심층 분석
HunyuanVideo의 아키텍처는 크게 세 가지 핵심 컴포넌트로 구성된다: (1) MLLM 텍스트 인코더, (2) 3D Causal VAE, (3) Dual-Stream to Single-Stream DiT.
[HunyuanVideo 전체 아키텍처 다이어그램]
텍스트 프롬프트
|
v
+-------------+
| MLLM 텍스트 |
| 인코더 |
| (Decoder- |
| Only LLM) |
+------+------+
|
텍스트 토큰 (bidirectional refiner 적용)
|
v
+--------+ +---------------------+ +--------+
| 가우시안 | -> | Dual-Stream to | -> | 디노이즈 |
| 노이즈 | | Single-Stream DiT | | 결과 |
+--------+ | | +---+----+
| [Dual Phase] | |
| - Video Tokens | v
| - Text Tokens | +----------+
| (독립 처리) | | 3D VAE |
| | | Decoder |
| [Single Phase] | +----+-----+
| - Concat & Fuse | |
+---------------------+ v
최종 비디오
3.1 Dual-Stream to Single-Stream DiT 설계
HunyuanVideo의 가장 독창적인 아키텍처 요소는 "Dual-Stream to Single-Stream" 디자인의 Diffusion Transformer(DiT)다. 이는 기존 DiT 모델들과 차별화되는 핵심 설계 철학이다.
Dual-Stream 단계 (초기 레이어):
Dual-Stream 단계에서는 비디오 토큰과 텍스트 토큰이 독립적인 Transformer 블록을 통해 처리된다. 각 모달리티가 서로 간섭 없이 자신만의 적절한 modulation 메커니즘을 학습할 수 있다.
# Dual-Stream Phase 의사 코드
class DualStreamBlock(nn.Module):
def __init__(self, dim, num_heads):
self.video_attn = MultiHeadAttention(dim, num_heads)
self.text_attn = MultiHeadAttention(dim, num_heads)
self.video_ffn = FeedForward(dim)
self.text_ffn = FeedForward(dim)
self.video_norm = AdaLayerNorm(dim)
self.text_norm = AdaLayerNorm(dim)
def forward(self, video_tokens, text_tokens, timestep):
# 비디오 토큰 독립 처리
video_tokens = self.video_norm(video_tokens, timestep)
video_tokens = video_tokens + self.video_attn(video_tokens)
video_tokens = video_tokens + self.video_ffn(video_tokens)
# 텍스트 토큰 독립 처리
text_tokens = self.text_norm(text_tokens, timestep)
text_tokens = text_tokens + self.text_attn(text_tokens)
text_tokens = text_tokens + self.text_ffn(text_tokens)
return video_tokens, text_tokens
Single-Stream 단계 (후기 레이어):
Single-Stream 단계에서는 비디오 토큰과 텍스트 토큰이 **연결(concatenation)**되어 하나의 Transformer 블록에서 함께 처리된다. 이를 통해 효과적인 멀티모달 정보 융합이 이루어진다.
# Single-Stream Phase 의사 코드
class SingleStreamBlock(nn.Module):
def __init__(self, dim, num_heads):
self.attn = MultiHeadAttention(dim, num_heads)
self.ffn = FeedForward(dim)
self.norm = AdaLayerNorm(dim)
def forward(self, video_tokens, text_tokens, timestep):
# 비디오 + 텍스트 토큰 연결
combined = torch.cat([video_tokens, text_tokens], dim=1)
# 통합 처리 (Full Attention)
combined = self.norm(combined, timestep)
combined = combined + self.attn(combined)
combined = combined + self.ffn(combined)
# 분리하여 반환
video_out = combined[:, :video_tokens.shape[1]]
text_out = combined[:, video_tokens.shape[1]:]
return video_out, text_out
Dual-to-Single 설계의 장점:
| 특성 | Dual-Stream Only | Single-Stream Only | Dual-to-Single (HunyuanVideo) |
|---|---|---|---|
| 모달리티별 학습 | 우수 | 제한적 | 우수 (초기 단계) |
| 모달 간 융합 | 약함 | 강함 | 강함 (후기 단계) |
| 계산 효율성 | 높음 | 보통 | 높음 |
| 텍스트-비디오 정렬 | 낮음 | 높음 | 높음 |
| 모델 유연성 | 높음 | 낮음 | 매우 높음 |
3.2 3D VAE (Causal VAE) - 시공간 압축
HunyuanVideo는 3D Causal VAE를 사용하여 픽셀 공간의 비디오를 컴팩트한 잠재 공간(latent space)으로 압축한다. 이 VAE는 CausalConv3D를 기반으로 구축되었으며, 비디오의 시간적, 공간적 정보를 효율적으로 압축한다.
압축 비율:
| 차원 | 압축 비율 | 설명 |
|---|---|---|
| 시간(Temporal) | 4x | 129 frames를 33 latent frames으로 |
| 공간(Spatial) | 8x x 8x | 720x1280을 90x160으로 |
| 채널(Channel) | 3채널을 16채널로 | RGB 3ch를 latent 16ch로 |
전체 압축 효과:
입력 비디오: 720 x 1280 x 129 frames x 3 channels
= 약 356M 값
잠재 표현: 90 x 160 x 33 x 16 channels
= 약 7.6M 값
압축비: 약 47:1 (전체 원소 기준)
[3D VAE 압축 과정 시각화]
입력 비디오 (720x1280x129)
|
v
+------------------+
| Encoder |
| - Spatial Down | Block 1-3: 공간 다운샘플링 (8x)
| (8x reduction) | log2(8) = 3 블록
| |
| - Temporal Down | Block 4: 시간 다운샘플링 (4x)
| (4x reduction) | log2(4) = 2 블록
| |
| - Channel Map | 3ch -> 16ch latent
+------------------+
|
v
잠재 표현 (90x160x33x16)
|
v
+------------------+
| Decoder |
| - Temporal Up |
| - Spatial Up |
| - Channel Map | 16ch -> 3ch RGB
+------------------+
|
v
복원된 비디오 (720x1280x129)
Causal VAE의 특징:
Causal VAE는 시간적 인과성(causality)을 유지하는 설계를 채택한다. 이는 비디오의 각 프레임이 이전 프레임의 정보만을 참조하여 인코딩되므로, 이미지와 비디오를 동일한 VAE로 처리할 수 있다는 장점이 있다. 첫 번째 프레임은 이미지로 취급되어 별도의 시간적 압축 없이 처리되며, 이후 프레임들은 이전 프레임과의 관계를 고려하여 시간적 압축이 적용된다.
3.3 MLLM 텍스트 인코더
HunyuanVideo의 또 다른 혁신은 텍스트 인코더로 **Multimodal Large Language Model(MLLM)**을 채택한 점이다. 기존 비디오/이미지 생성 모델들이 주로 CLIP이나 T5를 텍스트 인코더로 사용하는 것과 대비된다.
기존 텍스트 인코더와의 비교:
| 특성 | CLIP | T5-XXL | MLLM (HunyuanVideo) |
|---|---|---|---|
| 아키텍처 | Encoder-Only | Encoder-Decoder | Decoder-Only |
| 파라미터 | 약 400M | 약 4.7B | 수십B 규모 |
| 이미지-텍스트 정렬 | 우수 | 보통 | 매우 우수 |
| 세부 묘사 이해 | 제한적 | 우수 | 매우 우수 |
| 복잡한 추론 | 약함 | 보통 | 강함 |
| Zero-shot 능력 | 제한적 | 보통 | 우수 |
| Attention 방식 | Causal | Bidirectional | Causal + Refiner |
Bidirectional Token Refiner:
MLLM은 Decoder-Only 구조 특성상 causal attention을 사용하지만, diffusion 모델의 텍스트 조건으로는 bidirectional attention이 더 효과적이다. 이 문제를 해결하기 위해 HunyuanVideo는 Bidirectional Token Refiner를 추가로 도입했다.
[텍스트 인코딩 파이프라인]
텍스트 프롬프트
|
v
+----------+ +--------------+ +------------------+
| MLLM | --> | Bidirectional| --> | 최종 텍스트 임베딩 |
| (Causal | | Token | | (DiT 조건으로 사용)|
| Attn) | | Refiner | | |
+----------+ +--------------+ +------------------+
풍부한 양방향 문맥 디퓨전 최적화된
의미 추출 보강 텍스트 표현
이 설계를 통해 MLLM의 강력한 의미 이해 능력과 bidirectional attention의 문맥 파악 능력을 동시에 활용할 수 있다.
3.4 Flow Matching 학습 방법
HunyuanVideo는 전통적인 DDPM(Denoising Diffusion Probabilistic Model) 대신 Flow Matching을 학습 방법으로 채택했다. Flow Matching은 데이터 분포와 노이즈 분포 사이의 최적 운송 경로(optimal transport path)를 학습하는 방법이다.
DDPM vs Flow Matching:
| 특성 | DDPM | Flow Matching |
|---|---|---|
| 노이즈 스케줄 | 사전 정의 필요 | 유연한 설계 |
| 학습 목표 | 노이즈 예측 | 벡터 필드 예측 |
| 수렴 속도 | 느림 | 빠름 |
| 추론 경로 | 곡선적 | 직선적 (효율적) |
| 샘플링 단계 | 많음 (20~50) | 적음 (20~30) |
# Flow Matching 학습 의사 코드
def flow_matching_loss(model, x_0, text_cond):
"""
x_0: 원본 비디오 latent
text_cond: 텍스트 조건
"""
# 랜덤 타임스텝 샘플링
t = torch.rand(x_0.shape[0], device=x_0.device)
# 노이즈 샘플링
noise = torch.randn_like(x_0)
# 선형 보간으로 중간 상태 생성
x_t = (1 - t) * x_0 + t * noise
# 목표 벡터 필드: 노이즈 방향
target = noise - x_0
# 모델의 벡터 필드 예측
predicted = model(x_t, t, text_cond)
# 손실 계산
loss = F.mse_loss(predicted, target)
return loss
3.5 Unified Image-Video 학습 전략
HunyuanVideo는 이미지와 비디오를 통합된 프레임워크 내에서 학습한다. 이미지는 단일 프레임 비디오로 취급되어 동일한 모델 아키텍처에서 처리된다.
[Unified Image-Video 학습]
이미지 데이터: [Frame 1] ---------> 1 프레임 비디오로 처리
|
비디오 데이터: [Frame 1][Frame 2]...[Frame N] -> N 프레임 비디오
|
v
동일한 3D VAE + DiT 파이프라인
장점:
- 이미지 데이터의 풍부한 시각적 지식 활용
- 비디오 데이터의 시간적 동역학 학습
- 단일 모델로 이미지/비디오 모두 생성 가능
3.6 Full Attention 메커니즘
HunyuanVideo는 시간과 공간 차원 모두에 걸쳐 Full Attention을 적용한다. 많은 비디오 생성 모델이 계산량을 줄이기 위해 공간적 attention과 시간적 attention을 분리하는 것과 대조적이다.
| Attention 방식 | 설명 | 모델 예시 |
|---|---|---|
| Spatial-Only | 공간 차원만 attention | 초기 비디오 모델 |
| Temporal-Only | 시간 차원만 attention | AnimateDiff |
| Spatial + Temporal (분리) | 번갈아 적용 | CogVideoX |
| Full 3D Attention | 시공간 전체 attention | HunyuanVideo |
Full Attention은 비디오의 모든 토큰이 시공간적으로 다른 모든 토큰과 상호작용할 수 있어 더 일관된 동작과 높은 시각적 품질을 달성하지만, 계산 비용이 크게 증가한다는 트레이드오프가 있다. HunyuanVideo는 이를 13B 규모의 모델 파라미터와 결합하여 품질을 극대화했다.
4. HunyuanVideo 학습 데이터 및 방법론
4.1 대규모 데이터 큐레이션 파이프라인
HunyuanVideo의 학습 데이터는 체계적인 큐레이션 파이프라인을 통해 준비된다. 원시 데이터에서 최종 학습 데이터까지 여러 단계의 필터링과 평가 과정을 거친다.
[데이터 큐레이션 파이프라인]
원시 데이터 수집
|
v
+------------------+
| 1. 기본 필터링 | - 해상도, 길이, 비트레이트 기준
| (Basic Filter) | - 워터마크/로고 감지
+------------------+
|
v
+------------------+
| 2. 미적 품질 평가 | - LAION Aesthetic Score
| (Aesthetic) | - 프레임별 품질 점수
+------------------+
|
v
+------------------+
| 3. 모션 품질 평가 | - 광학 흐름(Optical Flow) 분석
| (Motion) | - 모션 스무스니스 점수
+------------------+
|
v
+------------------+
| 4. 텍스트 캡션 생성| - MLLM 기반 자동 캡셔닝
| (Captioning) | - 상세 설명 + 짧은 설명
+------------------+
|
v
+------------------+
| 5. 중복 제거 | - 의미적 유사도 기반
| (Dedup) | - 해싱 기반 중복 제거
+------------------+
|
v
최종 학습 데이터셋
4.2 다단계 학습 전략
HunyuanVideo는 Progressive Training 전략을 채택하여, 낮은 해상도에서 시작해 점진적으로 해상도를 높여가며 학습한다.
학습 단계별 설정:
| 단계 | 해상도 | 프레임 수 | 배치 크기 | 주요 목표 |
|---|---|---|---|---|
| Stage 1 | 256x256 | 17 | 큼 | 기본 시각 개념 학습 |
| Stage 2 | 512x512 | 33 | 중간 | 세부 디테일 학습 |
| Stage 3 | 960x544 / 544x960 | 65 | 작음 | 고해상도 적응 |
| Stage 4 | 1280x720 / 720x1280 | 129 | 매우 작음 | 최종 품질 미세조정 |
[Progressive Training 시각화]
Stage 1 Stage 2 Stage 3 Stage 4
256x256 512x512 960x544 1280x720
17 frames 33 frames 65 frames 129 frames
+----+ +--------+ +------------+ +----------------+
| | | | | | | |
| | | | | | | |
+----+ | | | | | |
+--------+ +------------+ +----------------+
기본 개념 -----> 디테일 -------> 고해상도 ------> 최종 품질
적응 미세조정
4.3 데이터 필터링 및 품질 평가
데이터 품질은 모델 성능에 직결되므로 HunyuanVideo는 다차원적인 품질 평가 시스템을 사용한다.
품질 평가 기준:
| 평가 항목 | 사용 지표 | 임계값 기준 |
|---|---|---|
| 해상도 | 최소 해상도 | 720p 이상 |
| 미적 품질 | Aesthetic Score | 상위 50% |
| 모션 품질 | Optical Flow | 적정 범위 |
| 텍스트 품질 | Caption Quality Score | MLLM 기반 평가 |
| 콘텐츠 안전 | NSFW Classifier | 안전 콘텐츠만 |
5. HunyuanVideo 모델 사양 및 성능
5.1 지원 해상도 및 프레임
HunyuanVideo는 다양한 해상도와 종횡비를 지원한다.
지원 해상도 목록:
| 해상도 | 종횡비 | 용도 |
|---|---|---|
| 1280 x 720 | 16:9 | 랜드스케이프 HD |
| 720 x 1280 | 9:16 | 포트레이트 (모바일) |
| 960 x 544 | 약 16:9 | 중간 해상도 |
| 544 x 960 | 약 9:16 | 중간 포트레이트 |
| 720 x 720 | 1:1 | 정사각형 |
프레임 설정:
| 설정 | 값 | 비고 |
|---|---|---|
| 최대 프레임 수 | 129 frames | VAE 4x 압축 후 33 latent frames |
| FPS | 24 fps | 표준 영화 프레임레이트 |
| 비디오 길이 | 약 5.4초 | 129 / 24 = 5.375초 |
5.2 벤치마크 비교
HunyuanVideo는 다양한 벤치마크에서 우수한 성능을 보여준다.
VBench 평가 결과:
| 모델 | 전체 점수 | 시각 품질 | 텍스트 정렬 | 모션 품질 | Human Fidelity |
|---|---|---|---|---|---|
| HunyuanVideo | 상위권 | 96.4% | 68.5% | 64.5% | 우수 |
| Sora | 상위권 | 우수 | 보통 | 우수 | 매우 우수 |
| CogVideoX-1.5 | 중상위 | 우수 | 강함 | 보통 | 약함 |
| Kling 1.6 | 상위권 | 우수 | 우수 | 우수 | 우수 |
VBench-2.0 차원별 분석:
[VBench-2.0 차원별 성능 비교 (상대적 강점)]
HunyuanVideo Sora Kling 1.6 CogVideoX-1.5
Human Fidelity ████████████ ████████████ ████████ ██████
Motion Rationality ████████████ ████████████ ██████████ ██████
Controllability ██████ ████████ ████████████ ██████████
Physics/Common ████████ ██████ ██████████ ████████
Camera Control ████████ ████████ ████████████ ██████████
Prompt Adherence ██████████ ██████████ ████████████ ████████████
HunyuanVideo는 특히 **Human Fidelity(인체 생성 품질)**와 Motion Rationality(동작 합리성) 차원에서 두드러진 강점을 보인다.
5.3 경쟁 모델 비교 요약
| 비교 항목 | HunyuanVideo | Sora 2 | Runway Gen-3 | Kling 3.5 |
|---|---|---|---|---|
| 접근성 | 오픈소스 | 상용 (유료) | 상용 (유료) | 상용 (유료) |
| 파라미터 | 13B | 비공개 | 비공개 | 비공개 |
| 최대 해상도 | 720p | 1080p | 1080p | 1080p |
| 최대 길이 | 약 5초 | 최대 20초 | 최대 10초 | 최대 10초 |
| 로컬 실행 | 가능 | 불가 | 불가 | 불가 |
| 커스터마이징 | LoRA 가능 | 불가 | 제한적 | 불가 |
| 비용 | 무료 (GPU 필요) | API 과금 | 구독제 | API 과금 |
6. HunyuanVideo 실전 사용 방법
6.1 HuggingFace 모델 다운로드
HunyuanVideo 모델은 HuggingFace Hub에서 다운로드할 수 있다.
# HunyuanVideo 원본 모델 (13B)
pip install huggingface_hub
huggingface-cli download tencent/HunyuanVideo --local-dir ./HunyuanVideo
# HunyuanVideo 1.5 (8.3B, 더 가벼운 버전)
huggingface-cli download tencent/HunyuanVideo-1.5 --local-dir ./HunyuanVideo-1.5
# Image-to-Video 모델
huggingface-cli download tencent/HunyuanVideo-I2V --local-dir ./HunyuanVideo-I2V
6.2 Diffusers 라이브러리 추론 코드
HunyuanVideo는 Hugging Face Diffusers 라이브러리에 공식 통합되어 있어 간편하게 사용할 수 있다.
기본 Text-to-Video 추론:
import torch
from diffusers import HunyuanVideoPipeline, HunyuanVideoTransformer3DModel
from diffusers.utils import export_to_video
# 모델 로드
model_id = "tencent/HunyuanVideo"
transformer = HunyuanVideoTransformer3DModel.from_pretrained(
model_id,
subfolder="transformer",
torch_dtype=torch.bfloat16,
)
pipe = HunyuanVideoPipeline.from_pretrained(
model_id,
transformer=transformer,
torch_dtype=torch.float16,
)
pipe.vae.enable_tiling()
pipe.to("cuda")
# 비디오 생성
output = pipe(
prompt="A cat walks on the grass, realistic style, natural lighting",
height=720,
width=1280,
num_frames=129,
num_inference_steps=30,
guidance_scale=6.0,
).frames[0]
# 비디오 저장
export_to_video(output, "hunyuan_output.mp4", fps=24)
HunyuanVideo 1.5 추론 (더 가벼운 버전):
import torch
from diffusers import HunyuanVideo15Pipeline
from diffusers.utils import export_to_video
model_id = "hunyuanvideo-community/HunyuanVideo-1.5-480p_t2v"
pipe = HunyuanVideo15Pipeline.from_pretrained(
model_id,
torch_dtype=torch.float16,
)
pipe.vae.enable_tiling()
pipe.to("cuda")
output = pipe(
prompt="A cat walks on the grass, realistic",
num_inference_steps=50,
).frames[0]
export_to_video(output, "output_1_5.mp4", fps=15)
4-bit 양자화로 VRAM 절약:
import torch
from diffusers import HunyuanVideoPipeline, HunyuanVideoTransformer3DModel
from diffusers.utils import export_to_video
from transformers import BitsAndBytesConfig
# INT4 양자화 설정
quant_config = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_compute_dtype=torch.float16,
bnb_4bit_quant_type="nf4",
)
# 양자화된 트랜스포머 로드
transformer = HunyuanVideoTransformer3DModel.from_pretrained(
"tencent/HunyuanVideo",
subfolder="transformer",
quantization_config=quant_config,
)
pipe = HunyuanVideoPipeline.from_pretrained(
"tencent/HunyuanVideo",
transformer=transformer,
torch_dtype=torch.float16,
)
pipe.vae.enable_tiling()
# CPU 오프로드로 추가 VRAM 절약
pipe.enable_model_cpu_offload()
output = pipe(
prompt="A beautiful sunset over the ocean, cinematic",
height=544,
width=960,
num_frames=65,
num_inference_steps=30,
guidance_scale=6.0,
).frames[0]
export_to_video(output, "quantized_output.mp4", fps=24)
6.3 ComfyUI 워크플로우
ComfyUI는 노드 기반 UI로 HunyuanVideo를 시각적으로 활용할 수 있다.
[ComfyUI HunyuanVideo 기본 워크플로우]
+----------------+ +------------------+ +-------------+
| Load Checkpoint| --> | CLIP Text Encode | --> | KSampler |
| (HunyuanVideo) | | (Prompt 입력) | | Advanced |
+----------------+ +------------------+ +------+------+
|
+----------------+ +------------------+ |
| Empty Latent | --> | (연결) | -----------+
| Video | | | |
| (크기/프레임) | +------------------+ v
+----------------+ +-------------+
| VAE Decode |
+------+------+
|
v
+-------------+
| Save Video |
| (MP4 출력) |
+-------------+
ComfyUI 설정 단계:
- ComfyUI 최신 버전 설치
- HunyuanVideo 모델 파일을
models/checkpoints/디렉토리에 배치 - 필요한 커스텀 노드 설치 (
ComfyUI-HunyuanVideoWrapper등) - 워크플로우 JSON 파일 로드 후 실행
6.4 주요 파라미터 가이드
| 파라미터 | 기본값 | 범위 | 설명 |
|---|---|---|---|
guidance_scale | 6.0 | 1.0~15.0 | 프롬프트 충실도 (높을수록 프롬프트에 충실) |
num_inference_steps | 30 | 20~50 | 디노이징 단계 수 (높을수록 품질 향상, 속도 저하) |
height | 720 | 256~720 | 비디오 높이 (8의 배수) |
width | 1280 | 256~1280 | 비디오 너비 (8의 배수) |
num_frames | 129 | 17~129 | 총 프레임 수 (4k+1 형태 권장) |
seed | 랜덤 | 정수 | 재현성을 위한 시드 값 |
파라미터 튜닝 팁:
guidance_scale 영향:
낮음 (1-3): 창의적, 다양한 결과, 프롬프트와 느슨한 매칭
중간 (4-7): 균형 잡힌 품질과 프롬프트 충실도 [권장]
높음 (8-15): 프롬프트에 매우 충실, 과포화/아티팩트 위험
num_inference_steps 영향:
20 steps: 빠른 생성, 약간의 품질 손실
30 steps: 좋은 균형점 [권장]
50 steps: 최고 품질, 생성 시간 증가
6.5 GPU VRAM 요구사항
HunyuanVideo의 GPU VRAM 요구사항은 설정에 따라 크게 달라진다.
| 설정 | 필요 VRAM | 해상도 | 비고 |
|---|---|---|---|
| FP32 (원본) | 80GB 이상 | 720p 129f | A100/H100 필요 |
| BF16/FP16 | 약 40GB | 720p 129f | A100 40GB |
| FP8 양자화 | 약 24~30GB | 720p 129f | RTX 4090 가능 |
| INT4 양자화 + CPU Offload | 약 14~16GB | 544p 65f | RTX 4080 가능 |
| HunyuanVideo 1.5 (FP8) | 약 14GB | 480p | 소비자 GPU 가능 |
6.6 양자화 및 최적화 방법
FP8 양자화:
# FP8 가중치를 활용한 추론
# HuggingFace에서 FP8 가중치 다운로드
# --use-fp8 플래그를 사용하여 FP8 추론 활성화
# 공식 리포지토리 방식
python sample_video.py \
--model HunyuanVideo \
--prompt "A beautiful landscape" \
--video-size 720 1280 \
--video-length 129 \
--infer-steps 30 \
--use-fp8 \
--fp8-weight-path ./ckpts/hunyuan-video-t2v-720p/transformers/mp_rank_00_model_states_fp8.pt
추가 최적화 기법:
| 기법 | VRAM 절감 | 속도 영향 | 품질 영향 |
|---|---|---|---|
| VAE Tiling | 중간 | 약간 느림 | 무손실 |
| CPU Offload | 큼 | 느림 | 무손실 |
| FP8 양자화 | 약 10GB 절감 | 약간 빠름 | 미미한 저하 |
| INT4 양자화 | 큰 절감 | 보통 | 약간의 저하 |
| Attention Slicing | 중간 | 느림 | 무손실 |
6.7 LoRA 파인튜닝
HunyuanVideo는 LoRA(Low-Rank Adaptation)를 통한 파인튜닝을 지원하며, 특정 스타일, 캐릭터, 또는 동작 패턴을 학습시킬 수 있다.
주요 LoRA 학습 도구:
| 도구 | 특징 | 최소 VRAM |
|---|---|---|
| Musubi Tuner (kohya-ss) | 가장 인기 있는 LoRA 학습 도구 | 24GB |
| ai-toolkit (ostris) | 다양한 모델 지원 | 24GB |
| diffusion-pipe (tdrussell) | 파이프라인 기반 학습 | 24GB |
| FineTrainers (HuggingFace) | Diffusers 기반 공식 도구 | 24GB |
| fal.ai LoRA Training | 클라우드 기반, 설정 불필요 | 클라우드 |
Musubi Tuner를 사용한 LoRA 학습 예시:
# 1. 환경 설치
git clone https://github.com/kohya-ss/musubi-tuner.git
cd musubi-tuner
pip install -r requirements.txt
# 2. 학습 데이터 준비
# videos.txt: 비디오 파일 경로 (한 줄에 하나)
# prompts.txt: 각 비디오에 대한 프롬프트 (한 줄에 하나)
# 비디오 해상도: 32의 배수
# 프레임 수: 4k 또는 4k+1 (예: 16, 32, 49, 81)
# 3. latent 캐싱
python cache_latents.py \
--dataset_config dataset.toml \
--vae_path ./models/hunyuan_video_vae_fp32.safetensors
# 4. 텍스트 인코더 출력 캐싱
python cache_text_encoder_outputs.py \
--dataset_config dataset.toml \
--text_encoder_path ./models/text_encoder
# 5. LoRA 학습 실행
python hv_train_network.py \
--dataset_config dataset.toml \
--pretrained_model_name_or_path ./models/hunyuan_video.safetensors \
--network_module networks.lora \
--network_dim 32 \
--learning_rate 1e-4 \
--max_train_steps 1000 \
--output_dir ./output \
--output_name my_hunyuan_lora
학습 데이터 요구사항:
| 항목 | 요구사항 |
|---|---|
| Python 버전 | 3.10 이상 |
| GPU VRAM | 최소 24GB (권장 64GB+ RAM) |
| 비디오 해상도 | 32의 배수 |
| 프레임 수 | 4k 또는 4k+1 (예: 16, 32, 49, 81) |
| 비디오 형식 | MP4 |
| 최소 데이터 수 | 10~50개 비디오 (스타일 학습) |
7. LTX-Video 개요
7.1 Lightricks 회사 소개
Lightricks는 이스라엘 예루살렘에 본사를 둔 AI 기반 크리에이티브 기술 회사다. 2013년에 설립되어 Facetune, Videoleap, Photoleap 등 소비자용 사진/비디오 편집 앱으로 널리 알려져 있다. 모바일 크리에이티브 도구 분야에서 축적한 경험을 바탕으로 AI 비디오 생성 기술에 진출했다.
Lightricks 프로필:
| 항목 | 내용 |
|---|---|
| 설립 | 2013년 |
| 본사 | 이스라엘 예루살렘 |
| 주요 제품 | Facetune, Videoleap, LTX Studio |
| AI 모델 | LTX-Video, LTX-2 |
| 특징 | 모바일 크리에이티브 도구 전문, 효율성 중시 |
7.2 LTX-Video 1.0에서 LTX-2로의 진화
LTX-Video는 2024년 말에 처음 공개된 이후 빠르게 발전하여 LTX-2로 진화했다.
버전별 주요 변화:
| 버전 | 출시 시기 | 파라미터 | 주요 특징 |
|---|---|---|---|
| LTX-Video 0.9 | 2024년 11월 | 약 2B | 최초 오픈소스 공개, 실시간 생성 |
| LTX-Video 0.9.8 (13B) | 2025년 중반 | 13B | Distilled 버전, 품질 향상 |
| LTX-2 | 2025년 10월 | 19B | 오디오+비디오 동시 생성, 4K 지원 |
| LTX-2 (오픈소스) | 2026년 1월 | 19B | 완전한 가중치/코드 공개 |
[LTX-Video 진화 타임라인]
LTX-Video 0.9 LTX-Video 0.9.8 LTX-2 LTX-2 Open Source
(2024.11) (2025 중반) (2025.10) (2026.01)
| | | |
v v v v
+----------+ +----------+ +-----------+ +-----------+
| 2B 모델 | | 13B 모델 | | 19B 모델 | | 19B 모델 |
| T2V Only | | T2V/I2V | | T2V/I2V | | 완전 공개 |
| 실시간 속도 | | 품질 향상 | | +Audio | | 코드+가중치 |
| 768x512 | | 고해상도 | | 4K, 50fps | | 학습 코드 |
+----------+ +----------+ +-----------+ +-----------+
핵심 진화: 속도 유지 + 품질 대폭 향상 + 오디오 생성 추가 + 4K 지원
7.3 실시간에 가까운 비디오 생성 속도
LTX-Video 시리즈의 가장 큰 차별점은 실시간보다 빠른 비디오 생성 속도다. LTX-Video는 최초의 DiT 기반 비디오 생성 모델 중 실시간 생성을 달성한 모델이다.
[생성 속도 비교 (5초 비디오 기준)]
모델 생성 시간 실시간 대비
LTX-Video 1.0: ~2초 2.5x 빠름 ████████████████████████████████
LTX-2: ~3-5초 약 실시간 ██████████████████████████
HunyuanVideo: ~2-5분 60x 느림 ████
CogVideoX: ~3-8분 100x 느림 ███
Mochi: ~5-10분 120x 느림 ██
(H100 GPU 기준, 768x512 해상도)
7.4 Text-to-Video 및 Image-to-Video 지원
LTX-2는 Text-to-Video, Image-to-Video 외에도 Audio-Video 동시 생성이라는 차별화된 기능을 제공한다.
| 기능 | LTX-Video 1.0 | LTX-2 |
|---|---|---|
| Text-to-Video | 지원 | 지원 |
| Image-to-Video | 지원 | 지원 |
| Audio 생성 | 미지원 | 동기화된 오디오 동시 생성 |
| 4K 해상도 | 미지원 | 네이티브 4K (3840x2160) |
| 50fps | 미지원 | 지원 |
| Keyframe Conditioning | 제한적 | 완전 지원 |
8. LTX-2 아키텍처 분석
8.1 전체 아키텍처 개요
LTX-2는 세 가지 핵심 컴포넌트로 구성된다: (1) 모달리티별 VAE, (2) 텍스트 임베딩 파이프라인, (3) 비대칭 듀얼 스트림 DiT.
[LTX-2 전체 아키텍처]
텍스트 프롬프트
|
v
+-------------+
| 텍스트 인코더 | (Gemma 기반)
| + 프롬프트 |
| 향상기 |
+------+------+
|
v
+------------------------------------------+
| 비대칭 듀얼 스트림 DiT |
| |
| +------------------+ +-------------+ |
| | 비디오 스트림 | | 오디오 스트림 | |
| | (넓은 채널, | | (좁은 채널, | |
| | 고용량) | | 경량) | |
| +--------+---------+ +------+------+ |
| | Cross-Attention | |
| +----------+-----------+ |
+------------------------------------------+
| |
v v
+-------------+ +-------------+
| Video VAE | | Audio VAE |
| Decoder | | Decoder |
| (3D 시공간) | | (1D 시간) |
+------+------+ +------+------+
| |
v v
비디오 출력 오디오 출력
| |
+--------+-----------+
|
v
최종 AV 출력 (MP4)
8.2 Video VAE (높은 압축비 - 1:192)
LTX-2의 Video VAE는 1:192라는 매우 높은 압축비를 달성한다. 이는 HunyuanVideo의 약 47:1 압축비와 비교했을 때 약 4배 높은 수치다.
VAE 압축 비교:
| 모델 | 공간 압축 | 시간 압축 | Latent 채널 | 전체 압축비 |
|---|---|---|---|---|
| LTX-2 | 32x32 | 8x | 128ch | 1:192 |
| HunyuanVideo | 8x8 | 4x | 16ch | 약 1:47 |
| CogVideoX | 8x8 | 4x | 16ch | 약 1:47 |
| Wan 2.1 | 8x8 | 4x | 16ch | 약 1:47 |
[LTX-2 Video VAE 압축 시각화]
입력 비디오: 1920 x 1080 x 80 frames x 3 channels
공간 압축 (32x32)
+-----> 60 x 33.75 (패딩 후 64x34)
시간 압축 (8x)
+-----> 10 latent frames
채널 확장
+-----> 128 latent channels
출력 Latent: 64 x 34 x 10 x 128
압축비: 약 1:192
[비교] HunyuanVideo VAE:
입력: 1280 x 720 x 129 x 3
출력: 160 x 90 x 33 x 16
압축비: 약 1:47
높은 압축비는 다음과 같은 장점을 제공한다:
- 더 적은 latent 토큰: DiT가 처리해야 하는 토큰 수가 크게 줄어 추론 속도 향상
- 메모리 효율성: 더 적은 VRAM으로 고해상도 비디오 처리 가능
- 빠른 학습: 학습 시 필요한 계산량 감소
8.3 비대칭 듀얼 스트림 DiT
LTX-2의 DiT는 비대칭 듀얼 스트림 구조를 채택한다. 비디오와 오디오라는 두 모달리티의 특성 차이를 반영한 설계다.
[비대칭 듀얼 스트림 DiT 구조]
공유 타임스텝 조건
|
+------------+------------+
| |
+------v-------+ +------v-------+
| 비디오 스트림 | | 오디오 스트림 |
| (Wide Stream)| | (Narrow) |
| | | |
| - 넓은 채널 | | - 좁은 채널 |
| - 3D 시공간 | | - 1D 시간 |
| Attention | | Attention |
| - 고용량 FFN | | - 경량 FFN |
| | | |
+------+-------+ +------+-------+
| |
| Bidirectional Cross |
| Attention |
+--------+---+-----------+
| |
+--------v---v-----------+
| Cross-Modality AdaLN |
| (공유 타임스텝 조건) |
+------------------------+
비대칭 설계의 근거:
| 특성 | 비디오 스트림 | 오디오 스트림 |
|---|---|---|
| 차원 | 3D (공간 + 시간) | 1D (시간) |
| 복잡도 | 높음 (시공간 역학) | 중간 (시간 패턴) |
| 채널 폭 | 넓음 (고용량) | 좁음 (경량) |
| Positional Embedding | 3D positional | 1D temporal |
| 데이터 특성 | 픽셀 기반 시각 정보 | 주파수 기반 청각 정보 |
8.4 텍스트 인코더
LTX-2는 Gemma 기반의 텍스트 인코더를 사용한다. 또한 enhance_prompt 기능을 통해 사용자의 간단한 프롬프트를 자동으로 확장하여 더 나은 결과를 얻을 수 있다.
# 프롬프트 향상 예시
# 입력: "A dog running in the park"
# 향상된 프롬프트: "A golden retriever running joyfully through a sunlit park,
# green grass, trees in the background, natural lighting, cinematic quality,
# smooth motion, 4K resolution"
8.5 속도 최적화 기법
LTX-2가 실시간에 가까운 생성 속도를 달성하는 핵심 요소들:
| 최적화 기법 | 설명 | 속도 향상 |
|---|---|---|
| 높은 VAE 압축비 (1:192) | Latent 토큰 수 대폭 감소 | 핵심 요인 |
| Distilled 추론 | 8-step distilled 모델 제공 | 5~10x |
| FP8 Transformer | 양자화된 가중치 사용 | 약 2x |
| Two-Stage Pipeline | Stage 1 (생성) + Stage 2 (업스케일) | 효율적 분업 |
| Gradient Estimation | 추론 스텝 40에서 20~30으로 감소 | 약 1.5x |
[LTX-2 Two-Stage Pipeline]
Stage 1: 기본 비디오 생성
+------------------+
| 저해상도 생성 | 8 steps (distilled)
| (기본 구조 생성) | 빠른 속도
+--------+---------+
|
v
Stage 2: 공간 업스케일링
+------------------+
| Spatial Upsampler | 4 steps
| (고해상도 향상) | 세부 디테일 추가
+--------+---------+
|
v
최종 비디오 출력
9. LTX-2 핵심 특징
9.1 실시간 생성 속도
LTX-2의 가장 큰 강점은 생성 속도다. 다양한 해상도에서의 생성 시간을 살펴보자.
| 해상도 | 프레임 수 | 길이 | 생성 시간 (H100) | 실시간 대비 |
|---|---|---|---|---|
| 768x512 | 121 | 5초 | 약 2초 | 2.5x 빠름 |
| 1216x704 | 121 | 5초 | 약 5초 | 약 실시간 |
| 1920x1080 | 121 | 5초 | 약 15초 | 3x 느림 |
| 3840x2160 | 121 | 5초 | 약 60초 | 12x 느림 |
9.2 고해상도 및 다양한 출력 옵션
LTX-2는 네이티브 4K까지 지원하는 폭넓은 해상도 옵션을 제공한다.
지원 해상도:
| 해상도 | 종횡비 | 용도 | VRAM 요구 |
|---|---|---|---|
| 768 x 512 | 3:2 | 빠른 프로토타이핑 | 약 8~12GB |
| 1216 x 704 | 약 16:9 | 표준 제작 | 약 16GB |
| 1920 x 1080 | 16:9 | Full HD | 약 24GB |
| 3840 x 2160 | 16:9 | 4K UHD | 약 48GB 이상 |
프레임레이트:
| FPS | 용도 |
|---|---|
| 24 fps | 영화 스타일 |
| 30 fps | 표준 비디오 |
| 50 fps | 고프레임레이트 |
9.3 동기화된 오디오-비디오 생성
LTX-2의 혁신적 기능 중 하나는 오디오와 비디오를 동시에 생성하는 것이다. 별도의 오디오 생성 모델 없이 비디오 콘텐츠에 맞는 사운드가 자동으로 생성된다.
[오디오-비디오 동시 생성]
프롬프트: "Ocean waves crashing on a rocky shore at sunset"
기존 파이프라인:
T2V 모델 -> 비디오 -> V2A 모델 -> 오디오 (별도 과정)
LTX-2 파이프라인:
LTX-2 -> 비디오 + 오디오 (단일 과정, 동기화됨)
장점:
- 비디오-오디오 완벽 동기화
- 단일 모델로 통합 처리
- 추가 모델 불필요
- 시간적 일관성 보장
9.4 Keyframe Conditioning
LTX-2는 Keyframe Conditioning을 지원하여 특정 프레임을 지정하고 그 사이를 자연스럽게 채울 수 있다.
[Keyframe Conditioning 워크플로우]
Frame 1 (시작) Frame 60 (중간) Frame 121 (끝)
+----------+ +----------+ +----------+
| 키프레임 1 | | 키프레임 2 | | 키프레임 3 |
| (입력) | | (입력) | | (입력) |
+----+-----+ +----+-----+ +----+-----+
| | |
+----------+----------+----------+----------+
| |
자동 보간 자동 보간
(LTX-2) (LTX-2)
9.5 LoRA 지원
LTX-2는 공식적으로 LoRA 학습 및 추론을 지원하며, GitHub 리포지토리에 학습 코드가 포함되어 있다.
# LTX-2 LoRA 학습 기본 명령어
python -m ltx_train \
--config configs/lora_config.yaml \
--data_dir ./training_data \
--output_dir ./lora_output \
--num_train_steps 1000 \
--learning_rate 1e-4
10. LTX-2 실전 사용 방법
10.1 설치 및 환경 설정
# 1. Python 환경 설정 (3.10 이상 권장)
conda create -n ltx2 python=3.10
conda activate ltx2
# 2. LTX-2 공식 패키지 설치
pip install ltx-pipelines
# 3. 또는 소스에서 설치
git clone https://github.com/Lightricks/LTX-2.git
cd LTX-2
pip install -e "packages/ltx-pipelines[all]"
pip install -e "packages/ltx-core[all]"
# 4. 모델 가중치 다운로드 (자동으로 다운로드되거나 수동)
huggingface-cli download Lightricks/LTX-2 --local-dir ./models/ltx2
10.2 Python 추론 코드 예제
Text-to-Video 기본 예제:
from ltx_pipelines import TI2VidTwoStagesPipeline
# 파이프라인 초기화
pipe = TI2VidTwoStagesPipeline.from_pretrained(
"Lightricks/LTX-2",
device_map="auto",
enable_fp8=True, # FP8로 VRAM 절약
)
# 비디오 생성
result = pipe(
prompt="A serene mountain lake at sunrise, mist rising from the water, "
"birds flying overhead, cinematic quality",
negative_prompt="blurry, low quality, distorted",
height=704,
width=1216,
num_frames=121,
frame_rate=24,
num_inference_steps=30,
cfg_guidance_scale=7.5,
seed=42,
enhance_prompt=True, # 자동 프롬프트 향상
)
# 저장
result.save("ltx2_output.mp4")
Image-to-Video 예제:
from ltx_pipelines import TI2VidTwoStagesPipeline
from PIL import Image
pipe = TI2VidTwoStagesPipeline.from_pretrained(
"Lightricks/LTX-2",
device_map="auto",
enable_fp8=True,
)
# 입력 이미지 로드
input_image = Image.open("input_photo.jpg")
# I2V 생성
result = pipe(
prompt="The scene comes alive with gentle wind blowing through the trees",
images=[input_image],
height=704,
width=1216,
num_frames=121,
frame_rate=24,
num_inference_steps=30,
cfg_guidance_scale=7.5,
seed=42,
)
result.save("ltx2_i2v_output.mp4")
Distilled Pipeline (초고속 추론):
from ltx_pipelines import DistilledPipeline
# Distilled 파이프라인 (8-step 추론)
pipe = DistilledPipeline.from_pretrained(
"Lightricks/LTX-2",
device_map="auto",
enable_fp8=True,
)
# 빠른 생성 (8 sigmas, stage1: 8 steps, stage2: 4 steps)
result = pipe(
prompt="A colorful butterfly landing on a flower",
height=512,
width=768,
num_frames=121,
frame_rate=24,
)
result.save("ltx2_fast_output.mp4")
CLI 방식 추론:
python -m ltx_pipelines.ti2vid_two_stages \
--checkpoint-path ./models/ltx2/checkpoint.safetensors \
--distilled-lora ./models/ltx2/distilled_lora.safetensors 0.8 \
--spatial-upsampler-path ./models/ltx2/upsampler.safetensors \
--gemma-root ./models/gemma \
--prompt "A beautiful sunset over the ocean, golden light reflecting on calm water" \
--negative-prompt "blurry, low quality" \
--height 704 \
--width 1216 \
--num-frames 121 \
--seed 42 \
--output-path output.mp4
10.3 ComfyUI 통합
LTX-2는 공식 ComfyUI 노드를 제공한다.
# ComfyUI-LTXVideo 설치
cd ComfyUI/custom_nodes
git clone https://github.com/Lightricks/ComfyUI-LTXVideo.git
pip install -r ComfyUI-LTXVideo/requirements.txt
# 필요한 모델은 첫 실행 시 자동 다운로드됨
[ComfyUI LTX-2 워크플로우]
+------------------+ +------------------+ +-------------+
| LTX-2 Model | --> | Text Encode | --> | LTX-2 |
| Loader | | (Gemma) | | Sampler |
+------------------+ +------------------+ +------+------+
|
+------------------+ +------------------+ |
| Empty Latent | --> | (연결) | -----------+
| Video | | | |
| (크기/프레임 설정) | +------------------+ v
+------------------+ +-------------+
| LTX-2 VAE |
+------------------+ | Decode |
| (Optional) | +------+------+
| Input Image | ---------------------------------->|
| (I2V 모드) | v
+------------------+ +-------------+
| Save Video |
| (MP4+Audio) |
+-------------+
10.4 주요 파라미터
| 파라미터 | 기본값 | 범위 | 설명 |
|---|---|---|---|
prompt | 필수 | 문자열 | 비디오 설명 프롬프트 |
negative_prompt | 없음 | 문자열 | 제외할 요소 |
height | 704 | 32의 배수 | 비디오 높이 |
width | 1216 | 32의 배수 | 비디오 너비 |
num_frames | 121 | 8k+1 형태 | 총 프레임 수 |
frame_rate | 24 | 24/30/50 | 초당 프레임 수 |
num_inference_steps | 30 | 8~50 | 디노이징 단계 수 |
cfg_guidance_scale | 7.5 | 1.0~15.0 | 프롬프트 충실도 |
seed | 랜덤 | 정수 | 재현성 시드 |
enhance_prompt | False | True/False | 자동 프롬프트 향상 |
enable_fp8 | False | True/False | FP8 양자화 사용 |
해상도 및 프레임 수 규칙:
해상도: width와 height 모두 32의 배수여야 함
- 예: 768x512, 1216x704, 1920x1080
프레임 수: 8k+1 형태여야 함
- 예: 9, 17, 25, 33, 41, 49, 57, 65, 73, 81, 89, 97, 105, 113, 121
10.5 GPU 요구사항
LTX-2는 HunyuanVideo에 비해 상대적으로 가벼운 GPU 요구사항을 가진다.
| GPU | VRAM | 권장 해상도 | 비고 |
|---|---|---|---|
| RTX 3060/4060 | 8~12GB | 540p, 4초 | FP8 필수, 기본적 사용 |
| RTX 3080/4070 Ti | 12~16GB | 768x512, 5초 | FP8 권장 |
| RTX 4090 | 24GB | 1080p, 5초 | 표준 사용 |
| A100 | 40~80GB | 4K, 10초 | 프로덕션 |
| H100 | 80GB | 4K, 10초 | 최적 성능 |
[VRAM 사용량 비교 (같은 해상도/프레임)]
해상도: 768x512, 121 frames
VRAM 사용량 (GB)
HunyuanVideo (FP16): ████████████████████████████████████████ 40GB
HunyuanVideo (FP8): ████████████████████████████████ 30GB
HunyuanVideo (INT4): ████████████████ 16GB
LTX-2 (FP16): ████████████████████████ 24GB
LTX-2 (FP8): ████████████████ 16GB
LTX-2 (FP8+Opt): ████████████ 12GB
11. HunyuanVideo vs LTX-2 상세 비교
11.1 아키텍처 비교
| 항목 | HunyuanVideo | LTX-2 |
|---|---|---|
| 파라미터 수 | 13B (v1) / 8.3B (v1.5) | 19B |
| DiT 구조 | Dual-to-Single Stream | 비대칭 Dual Stream |
| VAE 구조 | 3D Causal VAE | Video VAE + Audio VAE |
| VAE 압축비 | 약 1:47 | 1:192 |
| 공간 압축 | 8x8 | 32x32 |
| 시간 압축 | 4x | 8x |
| Latent 채널 | 16 | 128 |
| 텍스트 인코더 | MLLM (Decoder-Only) | Gemma |
| Token Refiner | Bidirectional Refiner | 프롬프트 향상기 |
| 학습 방법 | Flow Matching | Diffusion (Flow-based) |
| Attention | Full 3D Attention | Bidirectional Cross-Attn |
11.2 성능 및 품질 비교
| 비교 항목 | HunyuanVideo | LTX-2 | 승자 |
|---|---|---|---|
| 시각적 품질 | 매우 높음 | 높음 | HunyuanVideo |
| 모션 자연스러움 | 매우 높음 | 높음 | HunyuanVideo |
| 텍스트 정렬 | 높음 | 높음 | 동등 |
| 인체 생성 | 우수 | 좋음 | HunyuanVideo |
| 최대 해상도 | 720p | 4K | LTX-2 |
| 오디오 생성 | 미지원 | 동기화 생성 | LTX-2 |
| 프레임레이트 | 24fps | 최대 50fps | LTX-2 |
11.3 속도 비교
| 조건 | HunyuanVideo | LTX-2 | 배속 차이 |
|---|---|---|---|
| 768x512, 5초 (H100) | 약 120초 | 약 3초 | LTX-2가 약 40x 빠름 |
| 1280x720, 5초 (H100) | 약 300초 | 약 10초 | LTX-2가 약 30x 빠름 |
| 1280x720, 5초 (RTX 4090) | 약 600초 | 약 30초 | LTX-2가 약 20x 빠름 |
| 544x960, 5초 (RTX 4090) | 약 300초 | 약 15초 | LTX-2가 약 20x 빠름 |
11.4 VRAM 요구사항 비교
| 시나리오 | HunyuanVideo | LTX-2 |
|---|---|---|
| 최소 실행 가능 | 14GB (v1.5, FP8) | 8~12GB (FP8) |
| 권장 (표준 품질) | 24~40GB | 16~24GB |
| 최적 (최고 품질) | 80GB | 48~80GB |
| 소비자 GPU 지원 | v1.5부터 가능 | 처음부터 가능 |
11.5 사용 편의성 비교
| 항목 | HunyuanVideo | LTX-2 |
|---|---|---|
| Diffusers 통합 | 공식 지원 | 자체 패키지 |
| ComfyUI 지원 | 커뮤니티 + 공식 | 공식 지원 |
| 문서화 | 우수 (논문, GitHub) | 우수 (문서 사이트) |
| LoRA 생태계 | 풍부 (Civitai 등) | 성장 중 |
| 프롬프트 향상 | 수동 | 자동 (enhance_prompt) |
| API 서비스 | fal.ai, Replicate | fal.ai, Replicate, 자체 API |
11.6 용도별 모델 선택 가이드
[시나리오별 추천 모델]
"최고 품질의 비디오가 필요하다"
--> HunyuanVideo (v1, 13B)
이유: Full Attention + 13B로 최고 시각 품질
"소비자 GPU로 로컬 실행하고 싶다"
--> LTX-2 (FP8) 또는 HunyuanVideo 1.5
이유: LTX-2는 12GB에서도 동작, HV 1.5는 14GB
"빠른 반복 작업이 필요하다"
--> LTX-2 (Distilled)
이유: 실시간 수준의 생성 속도
"오디오가 포함된 비디오가 필요하다"
--> LTX-2
이유: 유일하게 AV 동시 생성 지원
"특정 캐릭터/스타일 학습이 필요하다"
--> HunyuanVideo + LoRA
이유: 풍부한 LoRA 생태계
"4K 고해상도가 필요하다"
--> LTX-2
이유: 네이티브 4K 지원
"인체/얼굴 생성이 중요하다"
--> HunyuanVideo
이유: Human Fidelity 벤치마크 우수
12. 오픈소스 비디오 생성 모델 생태계 전체 비교
12.1 주요 모델 종합 비교
| 항목 | HunyuanVideo | LTX-2 | Wan 2.1 | CogVideoX | Mochi 1 |
|---|---|---|---|---|---|
| 개발사 | Tencent | Lightricks | Alibaba | Zhipu/Tsinghua | Genmo |
| 파라미터 | 13B | 19B | 1.3B / 14B | 5B / 10B | 10B |
| 최대 해상도 | 720p | 4K | 720p | 720p | 480p |
| 최대 길이 | 약 5초 | 약 10초 | 약 5초 | 약 6초 | 약 5.4초 |
| 최대 FPS | 24 | 50 | 24 | 30 | 30 |
| VAE 압축비 | 1:47 | 1:192 | 1:47 | 1:47 | 1:12 |
| 오디오 생성 | 미지원 | 지원 | V2A 별도 | 미지원 | 미지원 |
| 최소 VRAM | 14GB (v1.5) | 8~12GB | 8GB (1.3B) | 4.4GB (INT8) | 20GB (ComfyUI) |
| 속도 | 느림 | 매우 빠름 | 보통 | 보통 | 느림 |
| I2V 지원 | 별도 모델 | 통합 | 통합 | 지원 | 미지원 |
| LoRA 지원 | 지원 | 지원 | 지원 | 지원 | 제한적 |
12.2 각 모델의 강점과 약점
HunyuanVideo:
| 강점 | 약점 |
|---|---|
| 최고 수준의 시각 품질 | 느린 생성 속도 |
| 풍부한 LoRA 생태계 | 높은 VRAM 요구 (v1) |
| 인체 생성 우수 | 오디오 미지원 |
| Diffusers 공식 통합 | 최대 720p |
LTX-2:
| 강점 | 약점 |
|---|---|
| 실시간 수준 생성 속도 | 상대적으로 낮은 모션 품질 |
| 오디오-비디오 동시 생성 | 최근 공개로 LoRA 생태계 미성숙 |
| 네이티브 4K 지원 | 19B로 큰 모델 크기 |
| 낮은 VRAM 요구 | 인체 생성 품질 보통 |
Wan 2.1:
| 강점 | 약점 |
|---|---|
| 매우 가벼운 1.3B 모델 제공 | 최대 720p |
| VBench 최고 수준 (84.7%) | 속도 보통 |
| 중영 이중 언어 지원 (14B) | 오디오 미지원 |
| 8GB VRAM에서 실행 가능 | 커뮤니티 상대적으로 작음 |
CogVideoX:
| 강점 | 약점 |
|---|---|
| 극도로 낮은 VRAM (INT8 4.4GB) | 480~720p |
| I2V 품질 우수 | 인체 생성 약함 |
| LoRA 지원 | 속도 보통 |
| 안정적인 생태계 | 최대 6초 |
Mochi 1:
| 강점 | 약점 |
|---|---|
| T2V 품질 우수 | 480p만 지원 |
| AsymmDiT 아키텍처 | 높은 VRAM (60GB 단독) |
| 10B 파라미터 규모 | I2V 미지원 |
| 부드러운 모션 | 짧은 비디오 (5.4초) |
12.3 VBench 벤치마크 종합 비교
[VBench 전체 점수 비교 (근사치)]
Wan 2.1 (14B): ██████████████████████████████████████████████ 84.7%
HunyuanVideo: ████████████████████████████████████████████ 83%
LTX-2: ██████████████████████████████████████████ 81%
CogVideoX-5B: ████████████████████████████████████████ 79%
Mochi 1: ██████████████████████████████████████ 77%
차원별 강점:
- Subject Consistency: Wan 2.1 우세
- Motion Smoothness: Wan 2.1, HunyuanVideo 우세
- Human Fidelity: HunyuanVideo, Sora 우세
- Generation Speed: LTX-2 압도적 우세
- Resolution Range: LTX-2 (4K) 우세
- Audio Integration: LTX-2 유일
13. 프롬프트 엔지니어링 팁
13.1 효과적인 비디오 프롬프트 작성법
비디오 생성 AI에 최적화된 프롬프트를 작성하려면 다음 구조를 따르는 것이 효과적이다.
프롬프트 구조 (SAEC 프레임워크):
[Subject] + [Action] + [Environment] + [Camera/Cinematography]
S (Subject): 주체 - 무엇/누가 메인인가
A (Action): 동작 - 무엇을 하고 있는가
E (Environment): 환경 - 어디에서, 어떤 분위기인가
C (Camera): 카메라 - 어떻게 촬영되는가
좋은 프롬프트 vs 나쁜 프롬프트:
| 유형 | 프롬프트 | 문제/장점 |
|---|---|---|
| 나쁨 | "A nice video of nature" | 너무 모호함 |
| 보통 | "A dog running in a park" | 구체적이지 않음 |
| 좋음 | "A golden retriever running through a sunlit meadow, wildflowers swaying, warm golden hour lighting" | 구체적 + 환경 묘사 |
| 매우 좋음 | "Medium tracking shot of a golden retriever running joyfully through a sunlit meadow, wildflowers swaying gently in the breeze, warm golden hour lighting, shallow depth of field, 35mm cinematic lens, natural color grading" | SAEC 완벽 적용 |
13.2 시네마토그래피 용어 활용
비디오 생성 모델은 전문 영화/영상 데이터로 학습되므로, 시네마토그래피 전문 용어를 사용하면 더 정확한 결과를 얻을 수 있다.
카메라 움직임:
| 용어 | 설명 | 예시 |
|---|---|---|
| Pan (패닝) | 수평 회전 | "Slow pan across the landscape" |
| Tilt | 수직 회전 | "Tilt up to reveal the building" |
| Dolly | 전후 이동 | "Dolly in on the subject's face" |
| Tracking Shot | 추적 촬영 | "Tracking shot following the car" |
| Crane Shot | 크레인 | "Crane shot rising above the city" |
| Static | 고정 | "Static shot of the waterfall" |
| Handheld | 핸드헬드 | "Handheld camera, documentary style" |
조명 키워드:
| 조명 유형 | 효과 | 프롬프트 예시 |
|---|---|---|
| Golden Hour | 따뜻한 황금빛 | "golden hour lighting" |
| Blue Hour | 차가운 파란빛 | "blue hour, twilight" |
| Backlit | 역광 | "backlit silhouette" |
| Rim Lighting | 테두리 조명 | "rim lighting highlighting the edges" |
| Soft Diffused | 부드러운 확산광 | "soft diffused natural light" |
| Dramatic Side | 극적 측면광 | "dramatic side lighting" |
| Neon Glow | 네온 | "neon glow, cyberpunk lighting" |
13.3 Negative Prompt 활용
Negative Prompt는 생성 결과에서 원하지 않는 요소를 제거하는 데 효과적이다.
범용 Negative Prompt 템플릿:
# 기본 품질 제어
"blurry, low quality, distorted, deformed, ugly, bad anatomy,
watermark, text overlay, logo, grainy, noisy"
# 인체 생성 시 추가
"extra fingers, mutated hands, poorly drawn hands, poorly drawn face,
mutation, deformed, extra limbs, missing limbs"
# 자연 풍경 시 추가
"artificial looking, oversaturated, unrealistic colors,
cartoon style, anime style"
모델별 Negative Prompt 차이:
| 모델 | Negative Prompt 지원 | 권장 사용 |
|---|---|---|
| HunyuanVideo | 공식 미지원 | guidance_scale로 대체 |
| LTX-2 | 지원 | 적극 활용 권장 |
| Wan 2.1 | 지원 | 적극 활용 권장 |
| CogVideoX | 지원 | 적극 활용 권장 |
13.4 모델별 프롬프트 최적화
HunyuanVideo 프롬프트 팁:
1. 상세한 장면 묘사를 선호 (MLLM 인코더가 복잡한 설명 잘 이해)
2. 영어 프롬프트 권장 (최적 성능)
3. 카메라 움직임 명시 (전문 용어 사용)
4. 감정/분위기 키워드 포함
예시:
"Cinematic shot of a young woman walking through a rain-soaked
Tokyo street at night, neon reflections on wet pavement, umbrella
in hand, slow motion, anamorphic lens flare, moody atmosphere,
shallow depth of field, 35mm film grain"
LTX-2 프롬프트 팁:
1. enhance_prompt=True 활용하여 자동 프롬프트 향상
2. 간결하지만 핵심 요소를 포함
3. 오디오 관련 힌트 추가 가능
4. 단일 장면에 집중 (장면 전환 회피)
예시:
"Ocean waves crashing against rocky cliffs at sunset, seagulls
flying overhead, wind sound, warm golden light, wide angle shot"
14. 향후 전망
14.1 비디오 생성 모델 발전 방향
[비디오 생성 AI 발전 로드맵 (예상)]
2026 2027 2028
| | |
v v v
현재 상태: 단기 예측: 중장기 예측:
- 5~10초 클립 - 30~60초 비디오 - 수 분 길이 비디오
- 720p~4K - 8K 지원 - 완전한 영화 생성
- 기본 물리 시뮬레이션 - 정확한 물리 엔진 - 인터랙티브 비디오
- AV 동시 생성 시작 - 다국어 음성 + 자막 - 실시간 스트리밍 생성
- LoRA 커스터마이징 - 캐릭터 일관성 완벽 - 자동 편집/연출
핵심 발전 방향:
| 방향 | 현재 상태 | 예상 발전 |
|---|---|---|
| 비디오 길이 | 5~10초 | 분 단위로 확장 |
| 해상도 | 720p~4K | 8K, HDR 지원 |
| 물리 정확도 | 기본적 | 정밀한 물리 시뮬레이션 |
| 캐릭터 일관성 | 제한적 | 멀티샷 내러티브 |
| 생성 속도 | 실시간~수 분 | 실시간 스트리밍 |
| 멀티모달 | AV 시작 | AV + 자막 + 음성 통합 |
| 편집 기능 | 기본적 | AI 기반 자동 편집 |
| 인터랙션 | 없음 | 실시간 인터랙티브 |
14.2 오픈소스 vs 상용 모델 경쟁 전망
오픈소스와 상용 모델 간의 경쟁 구도는 LLM 분야와 유사한 패턴을 보이고 있다.
[오픈소스 vs 상용 모델 경쟁 구도]
품질
^
|
최고 | * Sora 2
| * Veo 3.1
| * Kling 3.5
| * HunyuanVideo
| * LTX-2 * Wan 2.1
| * CogVideoX
| * Mochi
낮음 +---+---+---+---+---+---+---+----> 접근성/비용
높은비용 무료/오픈소스
트렌드: 오픈소스 모델이 빠르게 상용 모델에 근접
- 2024: 상용 모델이 압도적 우위
- 2025: 오픈소스가 빠르게 추격
- 2026: 일부 차원에서 오픈소스가 역전 (속도, 접근성)
경쟁 역학 분석:
| 요소 | 상용 모델 강점 | 오픈소스 강점 |
|---|---|---|
| 품질 | 여전히 약간 우위 | 빠르게 격차 축소 |
| 속도 | API 즉시 사용 | LTX-2 실시간 생성 |
| 비용 | 과금 모델 | 무료 (GPU만 필요) |
| 커스터마이징 | 제한적 | LoRA, 파인튜닝 자유 |
| 프라이버시 | 데이터 외부 전송 | 로컬 실행 가능 |
| 생태계 | 통합 플랫폼 | ComfyUI 등 유연한 도구 |
| 업데이트 | 기업 주도 | 커뮤니티 + 기업 협력 |
14.3 주목할 기술 트렌드
- MoE(Mixture of Experts) 아키텍처: Wan 2.2에서 도입된 MoE는 모델 효율성을 크게 향상시키며, 다른 모델에도 확산될 전망
- Distillation 기법: LTX-2의 distilled 모델처럼 대형 모델의 지식을 소형 모델로 전달하여 속도 향상
- 멀티모달 통합: 비디오 + 오디오 + 텍스트의 완전한 통합 생성
- LoRA 생태계 성장: 커뮤니티 주도의 특화 모델(캐릭터, 스타일 등) 폭발적 성장
- 에지 디바이스 배포: 모바일/엣지에서의 비디오 생성 가능성
15. Reference
논문
| 논문 | 저자 | 링크 |
|---|---|---|
| HunyuanVideo: A Systematic Framework For Large Video Generative Models | Tencent Hunyuan Team | arXiv:2412.03603 |
| HunyuanVideo 1.5 Technical Report | Tencent Hunyuan Team | arXiv:2511.18870 |
| LTX-Video: Realtime Video Latent Diffusion | Lightricks Research | arXiv:2501.00103 |
| LTX-2: Efficient Joint Audio-Visual Foundation Model | Lightricks Research | arXiv:2601.03233 |
GitHub 리포지토리
| 리포지토리 | 설명 | 링크 |
|---|---|---|
| Tencent-Hunyuan/HunyuanVideo | HunyuanVideo 공식 리포지토리 | GitHub |
| Tencent-Hunyuan/HunyuanVideo-1.5 | HunyuanVideo 1.5 공식 리포지토리 | GitHub |
| Lightricks/LTX-2 | LTX-2 공식 리포지토리 | GitHub |
| Lightricks/ComfyUI-LTXVideo | LTX ComfyUI 통합 | GitHub |
| kohya-ss/musubi-tuner | HunyuanVideo LoRA 학습 도구 | GitHub |
| Wan-Video/Wan2.1 | Wan 2.1 공식 리포지토리 | GitHub |
| zai-org/CogVideo | CogVideoX 리포지토리 | GitHub |
| genmoai/mochi | Mochi 1 리포지토리 | GitHub |
HuggingFace 모델 페이지
| 모델 | 링크 |
|---|---|
| tencent/HunyuanVideo | HuggingFace |
| tencent/HunyuanVideo-1.5 | HuggingFace |
| tencent/HunyuanVideo-I2V | HuggingFace |
| Lightricks/LTX-2 | HuggingFace |
| Lightricks/LTX-Video | HuggingFace |
| Wan-AI/Wan2.1-T2V-14B | HuggingFace |
Diffusers 문서
| 문서 | 링크 |
|---|---|
| HunyuanVideo Pipeline | Diffusers Docs |
| HunyuanVideo 1.5 Pipeline | Diffusers Docs |
| LTX-Video Pipeline | Diffusers Docs |