Skip to main content
MiniMax H3는 MiniMax의 범용 옴니모달 생성 모델로, 현재 오픈 가중치로 제공됩니다. 이 모델은 단일 컨텍스트에서 텍스트, 이미지, 비디오, 오디오를 함께 이해하며, 네이티브 스테레오 오디오로 비디오를 생성합니다. 음성, 사운드 효과, 음악이 이후에 덧붙여지는 대신 단일 포워드 패스에서 함께 모델링됩니다. 오픈 가중치는 단변 768픽셀(약 100만 픽셀)에서 24fps로 약 15초 길이의 비디오를 생성합니다. 2K 출력은 MiniMax의 호스팅 서비스에서 제공되며 ComfyUI에서는 별도의 업스케일 패스가 필요합니다. ComfyUI는 MiniMax H3를 네이티브로 지원합니다. H3 문서는 여섯 개의 페이지로 나뉩니다.
  • 개요(이 페이지): 모델 기능, 워크플로 인덱스, 출력 해상도, 스텝 수, 샘플러와 스케줄러, 속도 향상 기법
  • 네이티브 워크플로: 텍스트 기반 비디오 생성, 이미지 기반 비디오 생성, 레퍼런스 기반 비디오 생성 및 고급 네이티브 노드 기법
  • 멀티프레임 레퍼런스: 출력 타임라인의 특정 지점에 레퍼런스 프레임을 고정합니다
  • Fun ControlNet Union: 컨트롤 비디오로 H3를 구동하거나, 마스크를 사용해 비디오 인페인팅을 수행합니다
  • 프롬프트 가이드: MiniMax 공식 프롬프트 작성 가이드, 일반 팁, 프롬프트 임베딩
  • FastH3: FastVideo FastH3 체크포인트와 해당 스파스 어텐션 워크플로
ComfyUI가 최신 버전으로 업데이트되었는지 확인하세요.이 가이드의 워크플로는 워크플로 템플릿에서 확인할 수 있습니다. 템플릿에서 찾을 수 없다면, 귀하의 ComfyUI가 오래된 버전일 수 있습니다.워크플로를 로드할 때 노드가 누락되는 경우, 가능한 원인:
  1. 최신 ComfyUI 버전(최신 테스트 버전(nightly))을 사용하고 있지 않음
  2. 일부 노드가 시작 시 가져오기에 실패함
H3의 오픈 가중치를 사용하면 모델을 로컬에서 실행할 수 있습니다. 로컬에서 생성된 출력의 상업적 사용에는 유일한 공식 리셀러인 Comfy를 통해 제공되는 MiniMax 상업용 라이선스가 필요합니다. Comfy Cloud에서 생성한 결과물에는 상업적 사용 권리가 이미 포함되어 있습니다.

주요 기능

  • 네이티브 스테레오 오디오: 대화, 사운드 효과, 음악이 비디오와 함께 생성되어 하나의 MP4로 동기화됩니다
  • 멀티모달 컨텍스트: 텍스트, 이미지, 비디오 및 오디오 참조를 하나의 생성에서 결합할 수 있습니다
  • 참조 기반 생성: 참조 자료에서 캐릭터의 정체성, 스타일, 모션, 카메라 이동 또는 음성을 고정합니다
  • 지시 따르기: 참조와 대상 샷 간의 관계를 자연 언어로 설명합니다
  • 정확한 텍스트 렌더링: 철자로 표기된 텍스트와 브랜드 요소가 깔끔하게 렌더링됩니다
  • 오픈 가중치: 모든 매개변수를 완전히 제어하면서 ComfyUI에서 로컬로 실행합니다

시작하기

MiniMax H3는 오픈 가중치로 ComfyUI에서 지원됩니다. 시작하려면:
  1. ComfyUI를 업데이트합니다. 기본 텍스트 기반, 이미지 기반, 레퍼런스 기반 비디오 생성 템플릿에는 0.30.0 이상이 필요합니다. 멀티프레임 레퍼런스에는 0.34.0이 필요합니다. Fun ControlNet Union, 스파스 어텐션 노드, Model Attention Backend 노드에는 0.35.0이, FastH3에는 0.36.0이 필요합니다
  2. 템플릿 라이브러리 > 비디오로 이동하여 원하는 MiniMax H3 워크플로를 선택합니다
  3. 팝업 안내에 따라 모델을 다운로드하고 워크플로를 실행합니다. 템플릿에 따라 다운로드 용량이 수십 GB에 달하므로 디스크 공간과 시간을 확보하세요.
모델 파일은 Hugging Face의 Comfy-Org/MiniMax-H3 저장소에서 호스팅됩니다.
LoRA는 증류에 사용된 체크포인트 빌드에 맞춰 고르고, 저장소가 두 빌드를 모두 제공하면 pruned 버전을 사용하세요. pruned 체크포인트는 시간 임베더와 전체 폭의 adaln 가중치를 짧은 공유 커브 기저(adaln_t_table, 1025개 커브 샘플 × 8개 기저 열)로 대체하며, ComfyUI는 이 기저를 체크포인트 자체에서 읽습니다. 템플릿이 불러오는 것은 pruned 빌드(minimax_h3_fl2va_pruned_int8_convrot.safetensors와 minimax_h3_ref2va_pruned_int8_convrot.safetensors, bf16 및 fp8 버전 포함)입니다. 풀 빌드(minimax_h3_fl2va_int8_convrot.safetensors 또는 minimax_h3_ref2va_int8_convrot.safetensors)에서 증류한 LoRA의 adaln 가중치에는 pruned 빌드에 대응하는 텐서가 없습니다. ComfyUI는 그 형상 불일치를 보고하고 병합하지 않으므로 해당 부분의 LoRA는 건너뜁니다. 워크플로가 내려받는 turbo LoRA는 adaln 텐서를 포함하지 않으므로 두 빌드 모두에서 불러올 수 있습니다.

워크플로 인덱스

템플릿 라이브러리에는 현재 6개의 예제 워크플로가 포함되어 있습니다. 이는 전체 목록이 아니라 예제 템플릿입니다. 모델은 네이티브 MiniMax H3 노드를 통해 더 많은 생성 모드를 지원하므로, 이 노드들을 조합해 추가 워크플로를 만들 수 있습니다. 라이브러리에는 이미지 기반 비디오 생성 템플릿의 이어가기 변형(video_minimax_h3_i2v_continuation)도 포함되어 있습니다.

텍스트 기반 비디오 생성 (T2V)

텍스트 프롬프트에서 네이티브 스테레오 오디오가 포함된 비디오를 생성합니다.

이미지 기반 비디오 생성 (I2V)

입력 이미지에서 비디오를 생성하며, 선택적으로 첫 번째/마지막 프레임을 제어할 수 있습니다.

레퍼런스 기반 비디오 생성 (R2V)

레퍼런스 이미지, 비디오, 오디오에서 캐릭터, 스타일, 모션, 카메라 움직임 또는 음성을 고정합니다.

멀티프레임 레퍼런스

Add Guide 노드를 체인으로 연결해 출력 타임라인의 특정 지점에 레퍼런스 프레임을 고정합니다.

Fun ControlNet Union

Canny, Depth, HED, MLSD 또는 Pose 제어 비디오로 H3를 구동하거나, 마스크로 비디오 인페인팅을 실행합니다.
기반이 되는 노드 모드: MiniMax H3 Image to Video 노드가 텍스트 기반 비디오 생성과 첫 번째/마지막 프레임 이미지 기반 비디오 생성(t2va와 fl2va)을 담당하고, MiniMax H3 Reference to Video 노드가 이미지, 비디오, 오디오를 사용한 레퍼런스 기반 생성(ref2va)을 담당합니다. 프롬프트 작성 리소스(공식 가이드, 일반 팁, 프롬프트 임베딩)는 프롬프트 가이드를 참조하세요.

출력 해상도 설정

각 워크플로는 Resolution Selector(해상도 선택기) 노드를 사용하여 전체 출력 크기를 제어합니다. 이 노드는 세 가지 설정에서 width와 height를 계산하며, 출력은 MiniMax H3 노드의 width 및 height 입력에 직접 연결됩니다:
  • 화면 비율: 16:9 (Widescreen), 9:16 (Portrait Widescreen), 1:1 (Square) 같은 프리셋을 선택합니다
  • 메가픽셀: 출력의 목표 총 픽셀 수. 값이 클수록 더 큰 프레임이 생성되고, 작을수록 더 빠르게 생성됩니다
  • 배수: 계산된 해상도는 이 값의 가장 가까운 배수로 반올림됩니다. H3의 해상도 그리드에 맞게 32로 유지합니다
템플릿은 빠른 미리보기 크기로 제공됩니다. 전체 품질로 출력하려면 16:9에서 Resolution Selector의 메가픽셀을 0.98로 설정하세요. 이는 H3의 네이티브 캔버스(단변 768px, 16:9에서 1344x768)입니다. 또는 MiniMax H3 노드의 width와 height에 직접 1344 x 768을 입력하세요(기본값). 1.0 메가픽셀 단계는 1376x768로, 모델의 768x1344 픽셀 면적 상한을 초과하므로 건너뛰세요. 네이티브 캔버스를 크게 벗어나는 프레임은 디테일을 유지하지 못합니다. H3의 학습 해상도는 약 100만 픽셀이며, 생성 단계에서 빠진 정보는 이후 업스케일로도 되돌릴 수 없습니다. 2K 출력이 필요하다면 네이티브 캔버스에서 생성한 뒤 별도 패스로 업스케일하세요.

스텝 수

이 수치는 기본 가중치에 해당하며 템플릿의 Enable Lightning LoRA 스위치가 꺼져 있는 경우를 기준으로 합니다. 이것이 기본값이며 20 스텝으로 실행됩니다. 이 스위치를 켜면 turbo LoRA가 로드되고, 스텝 수가 텍스트 기반 비디오와 이미지 기반 비디오 템플릿(이어 생성 변형 포함)에서는 8로, 레퍼런스 turbo LoRA를 포함하는 템플릿(레퍼런스 기반 비디오 생성, 멀티프레임 레퍼런스, Fun ControlNet Union)에서는 4로 줄어듭니다. 텍스트 기반 비디오와 이미지 기반 비디오 템플릿에서는 이 스위치가 서브그래프 노드의 turbo_mode 위젯으로 표시됩니다. 스케줄이 짧을 때 손실이 가장 큰 쪽은 레퍼런스 기반 샷입니다. 레퍼런스 토큰은 모든 샘플링 스텝에 함께 들어가므로, 스위치를 켜면 이 조건이 작용할 스텝 수가 크게 줄어듭니다. 4 스텝에서는 레퍼런스가 거의 반영되지 않을 수 있고, 클립이 진행되면서 피사체의 포즈와 얼굴 각도가 레퍼런스에서 벗어날 수도 있습니다. 레퍼런스를 정확히 따라야 하는 샷에서는 Enable Lightning LoRA 스위치를 끈 상태로 두고 기본 20 스텝 스케줄로 실행하고, 그래도 레퍼런스가 어긋나면 스텝 수를 25로 올려 보세요. 샷에 필요한 스텝 수는 내용에 따라 달라집니다:
  • 내용이 단순한 샷은 12~16 스텝에서 충분합니다
  • 고주파 디테일이 있는 샷(체인메일, 필리그리나 꽃무늬, 작은 물체 더미)은 약 50 스텝까지 계속 개선됩니다. 그보다 낮으면 이런 영역에 불안정한 삼각형 격자 아티팩트가 나타나 움직임에 따라 흔들리며, 증류 기반 스텝 절감 LoRA와 turbo 체크포인트에서 이 문제가 가장 먼저 드러납니다
  • 스텝을 올리면 프롬프트 준수도와 모션도 함께 좋아지며, 이득의 대부분은 16 스텝까지 얻을 수 있습니다. 50을 넘으면 차이를 느끼기 어렵습니다
  • 스텝 수는 네이티브 캔버스가 표현할 수 없는 선명도를 채워 주지 않으므로, 화면이 흐릿하면 먼저 해상도를 확인하세요
오디오는 영상보다 늦게 수렴합니다. 영상과 오디오는 한 번의 패스에서 함께 디노이즈되어 같은 스케줄로 진행되므로, 영상이 더 이상 변하지 않는 스텝 이후에도 오디오 트랙은 계속 좋아집니다. 음성과 음색이 가장 늦게 수렴하며, 8 스텝에서는 출력에서 가장 약한 부분이 됩니다. 12 스텝 이상이면 오디오 트랙이 쓸 만한 상태로 유지됩니다.

샘플러와 스케줄러

로컬 MiniMax H3 워크플로는 모두 res_multistep 샘플러와 simple 스케줄러로 샘플링합니다. 텍스트 기반 비디오 생성, 이미지 기반 비디오 생성, FastH3 템플릿에서는 이 두 노드가 워크플로의 서브그래프 안에 있으므로, 바꾸려면 서브그래프를 열어야 합니다. 레퍼런스 기반 비디오 생성, 멀티프레임 레퍼런스, Fun ControlNet Union 템플릿에서는 KSamplerSelect와 BasicScheduler가 최상위 캔버스에 있습니다. res_multistep은 2차 멀티스텝 샘플러로, 각 스텝에서 직전 스텝의 디노이즈 추정값을 재사용합니다. 첫 스텝에는 재사용할 추정값이 없으므로 일반적인 1차(Euler) 스텝으로 실행되고, 2차 스텝은 두 번째 스텝부터 시작합니다. er_sde도 같은 방식으로 차수를 쌓아 올리며, 기본 max_stage가 3일 때 첫 스텝에서 한 단계, 두 번째 스텝에서 두 단계, 세 번째 스텝부터 세 단계를 모두 사용합니다. 멀티스텝 이력은 잠재 데이터가 아니라 한 번의 샘플링 실행 내부에 존재하므로, 스케줄을 두 샘플러로 나눈 워크플로에서는 이어지지 않습니다. 베이스 단계 뒤에 잠재 업스케일을 거쳐 두 번째 샘플러로 넘기는 구성이라면 두 번째 샘플러는 빈 이력에서 시작합니다. 첫 스텝은 1차로 실행되고, 2차 업데이트는 두 번째 스텝부터 재개됩니다. 이 손실이 드러나는 곳은 짧은 뒷단으로, 몇 안 되는 스텝 중 하나를 낮은 차수로 쓰게 됩니다. 스케줄 전체를 한 번의 샘플링 실행으로 처리하거나, 두 번째 샘플러에 이력을 다시 쌓을 만큼 충분한 스텝을 주세요. flow shift 쌍은 워크플로가 아니라 모델 정의에서 옵니다. ComfyUI의 H3 정의는 shift 12와 audio_shift 3을 가지며, FastH3를 제외한 모든 워크플로가 이 값을 사용하므로 그 워크플로에는 shift 노드가 나타나지 않습니다. FastH3 템플릿은 대신 내장 ModelSamplingMiniMaxH3 노드(워크플로 JSON에서는 MiniMaxH3SigmaShift, 카테고리 model/patch/minimax)를 shift_video 10, shift_audio 3으로 포함하며, 이것이 증류 스케줄이 전제하는 쌍입니다. 비디오 shift가 샘플러의 sigma 스케줄을 정하고, 모델은 비디오 스케줄을 공유 베이스 그리드로 반전해 오디오 스케줄을 도출합니다. 체크포인트가 다른 쌍을 요구할 때 이 노드를 추가하고, 그 체크포인트가 전제하는 값 근처를 유지하세요. 증류된 8스텝 빌드에서는 shift_video를 10 대신 3으로 샘플링하면 프레임에 격자 모양 아티팩트가 나타납니다.

Sage Attention으로 생성 가속화

예제 워크플로는 기본적으로 표준 어텐션 구현을 사용합니다. Sage Attention을 사용하면 품질 손실을 최소화하면서 생성 속도를 약 2배 높일 수 있습니다. Sage Attention은 선택적 의존성으로, 직접 설치해야 합니다:
  1. sageattention Python 패키지를 설치합니다. SageAttention releases 페이지에서 자신의 PyTorch 및 CUDA 버전과 일치하는 wheel 파일을 다운로드한 후 pip install <wheel-file>로 설치합니다.
  2. Patch Sage Attention KJ 노드를 제공하는 KJNodes 커스텀 노드를 설치합니다. ComfyUI Manager를 사용하거나, 리포지토리를 ComfyUI/custom_nodes/에 클론한 후 ComfyUI를 다시 시작하세요.
  3. 워크플로에 Patch Sage Attention KJ 노드를 추가하고 UNETLoader와 BasicGuider 노드 사이에 연결합니다: model 입력은 UNETLoader에서 모델을 받고, model 출력은 BasicGuider의 model 입력에 연결합니다. sage_attention을 auto로 설정하세요.
  4. 평소처럼 워크플로를 실행합니다. 패치가 필요한 것은 guider뿐입니다. scheduler는 시그마를 생성할 뿐이므로 그대로 두면 됩니다.
참고:
  • Sage Attention은 float16 또는 bfloat16 텐서가 필요합니다. MiniMax H3의 일부 레이어는 다른 dtype으로 실행되므로 콘솔에 “Input tensors must be in dtype of torch.float16 or torch.bfloat16, using pytorch attention instead” 메시지가 표시될 수 있습니다. 이는 정상입니다. 영향을 받는 레이어는 표준 어텐션으로 대체되며 생성은 계속 정상 작동합니다.
  • 또는 노드를 추가하는 대신 --use-sage-attention 플래그로 ComfyUI를 시작하여 Sage Attention을 전역적으로 활성화할 수도 있습니다.

INT8 어텐션으로 인한 품질 저하

Sage Attention을 사용할 때 클립 후반부에 모핑이 나타나거나 화면 내 텍스트가 깨진다면, INT8 어텐션 양자화가 원인일 가능성이 높습니다. H3의 마지막 블록들은 어텐션 키 신호의 대부분을 소수의 채널에 집중시키며, 단일 공유 스케일로 각 행을 반올림하는 INT8 커널은 그 신호의 일부를 잃습니다. 어떤 수정이 적용되는지는 워크플로가 로드하는 체크포인트에 따라 다릅니다.
  • 템플릿에는 int8-convrot 체크포인트가 포함되어 있습니다: T2V, I2V, Image to Video 이어가기 변형에는 minimax_h3_fl2va_pruned_int8_convrot.safetensors, R2V, 멀티프레임 레퍼런스, Fun ControlNet Union에는 minimax_h3_ref2va_pruned_int8_convrot.safetensors입니다. Comfy Kitchen attention은 이러한 체크포인트를 지원하지 않으며 샘플링이 정렬 오류로 크래시됩니다(ComfyUI issue #15529). 이러한 체크포인트에서는 기본 어텐션을 유지하거나, UNETLoader에서 bf16 대응 버전(minimax_h3_fl2va_pruned_bf16.safetensors 또는 minimax_h3_ref2va_pruned_bf16.safetensors, 더 많은 VRAM 필요)을 로드한 뒤 아래에서 백엔드를 변경하세요.
  • bf16 체크포인트에서는 덴스 어텐션 백엔드를 Comfy Kitchen attention으로 전환하면 아티팩트가 해결됩니다. 이 INT8 커널은 양자화 전에 채널 회전을 적용하여 Sage Attention과 비슷한 속도로 그 신호를 보존합니다.
백엔드를 전환하려면 내장 Model Attention Backend 노드(카테고리 model/patch)를 추가하고 백엔드를 comfy kitchen attention으로 설정하세요. 모델이 BasicGuider에 도달하는 위치, 즉 LoraLoaderModelOnly 노드와 그 Enable Lightning LoRA 스위치 뒤에 연결합니다. 또는 --use-ck-attention 플래그로 ComfyUI를 시작하세요(ComfyUI 0.32.0 이상). 이 백엔드는 ComfyUI에 포함된 comfy-kitchen 패키지에서 제공되며, INT8 커널이 하드웨어에서 사용 가능한 경우에만 노드의 백엔드 목록에 나타납니다.

스파스 어텐션으로 생성 속도 높이기

어텐션 비용은 클립이 길어질수록 빠르게 증가합니다. ComfyUI에 내장된 Model Sparse Attention 노드(카테고리 model/patch, 실험적, ComfyUI 0.35.0 이상)는 해당 레이어에서 블록 스파스 어텐션을 실행해 이 비용을 줄이며, 시퀀스가 길수록 효과가 커집니다. method를 베이스 H3 가중치가 사용하는 sol-attn으로 설정하세요(sla와 vsa는 각 패턴에 맞게 학습된 가중치를 요구합니다). 스파스 경로에는 CUDA와 comfy-kitchen의 sol_attn 커널이 필요합니다. 이것이 없으면 모든 레이어가 조용히 덴스 어텐션으로 폴백되어 속도 향상을 볼 수 없습니다.
  • 샘플링의 처음과 마지막 스텝에서는 스파스 어텐션을 쓰지 마세요. 기본값은 start_percent 0.2, end_percent 1.0이므로 스케줄의 20%부터 마지막 스텝까지 희소화가 적용됩니다. 시작을 0.4 정도로 늦추고 종료를 0.9 정도로 앞당기면 초반의 움직임과 마지막 프레임을 덴스로 유지할 수 있지만, 속도가 다소 느려집니다.
  • H3에서는 sink_conditioning을 기본값(exact_kv_and_rows)으로 두세요. 패킹된 텍스트, 오디오, 레퍼런스 행을 정확히 계산하고 생성 오디오 쿼리 행을 덴스로 유지하므로, 스파스 경로가 오디오 트랙을 떨어뜨리지 않습니다.
  • tau는 sol-attn의 희소 정도를 정합니다: 1.0은 키 블록의 약 16%를 정확히 유지하고, 1.5는 약 7%, 2.0은 약 2.7%입니다. 기본값은 1.3이며 값이 높을수록 빠르지만 위험도 커집니다.
  • 짧은 클립에서는 이득이 거의 없습니다. min_tokens(기본값 12288)보다 짧은 시퀀스와 dense_blocks에 나열한 블록은 덴스로 실행됩니다.
FastH3 체크포인트는 같은 노드의 vsa 모드를 사용하며 keep_percent 10의 스파스 패턴으로 학습되었습니다. 자세한 내용은 FastH3 워크플로 페이지를 참조하세요.