AI 이미지/AI Video

Hunyuan 이미지-비디오 (ComfyUI)

하늘이푸른오늘 2025. 3. 19. 23:38

Hunyuan 비디오 모델은 오픈소스 AI 커뮤니티에서 엄청하게 호평을 받고 있습니다. Hunyuan 비디오는 텍스트-비디오(Text-to-Video) 뿐만 아니라, 참조 이미지를 사용해 비디오를 제작하는 방법도 있고, LoRA 모델과 함께 사용할 수도 있습니다.

하지만, 지금까지는 비디오 모델에서는 가장 중요하다고 생각되는 이미지-비디오(Image-to-Video) 기능이 없었습니다. 그런데 이제 Hunyuan 이미지-비디오 모델을 사용할 수 있겠다는 소식입니다.

소프트웨어

이 글에서는 스테이블 디퓨전용 GUI중에서도 제일 강력하며, 현재 거의 대세로 자리잡고 있는 ComfyUI를 사용합니다. ComfyUI가 처음이시라면, 설치 및 기본 사용방법초보가이드를 확인하시기 바랍니다.

Hunyuan 이미지-비디오 모델 개요

Hunyuan 이미지-비디오 모델은 다음과 같은 기능이 있습니다.

  1. 잠상 연결(Latent Concatenation): 멀티모달 대규모 언어모델(MLLM, Multimodal Large Language Model)은 입력 이미지에서 의미를 뽑은 토큰을 추출한 다음, 이를 잠재 비디오 잠상에 연결합니다. 이렇게 하면 비디오 모델이 비디오를 생성하는 동안 입력 이미지의 정보를 충실하게 사용할 수 있습니다. 
  2. 멀티모달 풀 어텐션(Multimodal full attention): 텍스트, 이미지, 비디오 토큰이 전체 어텐션 메커니즘을 통해 상호작용합니다.
  3. 모달의 시너지(Synergy of Modalities): 이러한 여러가지 모달의 상호작용은 시각적 충실도를 높이고, 입력을 효과적으로 해석합니다.

Hunyuan 이미지-비디오(Image-to-Video) 따라하기

이 워크플로는 입력 이미지를 시작 프레임으로 하는 Webp 비디오를 생성합니다(원하시면 mp4로 출력하셔도 됩니다) 4090 에서 실행시켰을 경우, 720p(1280x720 픽셀) 비디오를  생성하는데 약 8분 정도 소요된다고 합니다. 제 3070에서는 대략 1시간 30분 정도 걸리는 것 같네요.

720p 비디오를 생성하는 것 자체가 목적이 아니라서, 저는 480p(720x480 픽셀) 비디오를 생성하도록 설정했습니다. 생성시간은 약 6분 정도 소요되었습니다.

1 단계: 모델 다운로드

이미 Hunyuan 텍스트-비디오 모델을 설치하셨을 경우, 아래의 모델 중 일부는 이미 설치되어 있을 수 있습니다.

아래의 모델을 다운로드 받아 ComfyUI > models > diffusion_models 폴더에 넣어줍니다.

아래의 텍스트 인코더 모델을 다운로드 받아 ComfyUI > models > text_encoders 폴더에 넣어줍니다.

아래의 CLIP vision 모델을 다운로드 받아 ComfyUI > models > clip_vision 폴더에 넣어줍니다.

아래의 Wan VAE 모델을 다운로드 받아 ComfyUI > models > vae 폴더에 넣어줍니다.

2 단계: 워크플로 불러오기

아래의 Json 파일을 다운로드 받아 ComfyUI로 불러옵니다.

Hunyuan-img2vid_480p.json
0.02MB

이 워크플로를 불러오면 오류가 발생할 수 있습니다. 그러한 경우, 다음과 같은 작업이 필요합니다.

3 단계: 입력 이미지 업로드

첫 프레임으로 사용할 이미지를 업로드 합니다. 아래의 이미지를 사용하셔도 됩니다.

android ballet2.png
0.97MB

4 단계: 프롬프트 검토

생성하고자 하는 비디오 내용을 긍정적 프롬프트에 입력합니다. 

5 단계: 비디오 생성

이제 [Queue] 버튼을 누르면 아래와 같은 비디오가 생성됩니다.

noise_seed 값을 바꾸면 다른 비디오도 생성하실 수 있습니다.

참고

이 동영상의 베이스가 되는 이미지는 Flux-dev 모델을 사용해서 생성했습니다. 프롬프트는 아래와 같습니다.

프롬프트: a highly detailed CGI rendering depicting a futuristic ballet dancer in a sterile, industrial setting. The ballerina is a beautiful woman humanoid robot with a sleek, metallic body, featuring intricate, organic-looking patterns and curves. Her head is rounded, resembling a human's, with expressive eyes that appear to be made of glass. She is dressed in a classic white tutu, adorned with delicate, sparkling sequins, which contrasts sharply with her metallic limbs and torso. Her pointe shoes are white and polished, adding to the elegant, graceful appearance.

The background is an expansive, dimly lit industrial corridor with a high ceiling and rows of fluorescent lights casting a cool, blue hue. The floor is a large, polished concrete surface. The walls are metallic and feature large, orange support beams that add to the industrial aesthetic. The overall ambiance is one of futuristic, high-tech elegance, blending elements of classical ballet with advanced robotics. The image's lighting and color palette emphasize the stark contrast between the robot's metallic form and the soft, ethereal tutu, creating a visually striking and thought-provoking scene.

그런데 마음에 드는 비디오를 얻는게 쉽지가 않네요. 시드번호를 바꿔가면서 여러번 돌렸는데도 별로 마음에 들지는 않았습니다. 물론 내용에 관계없이 비디오 품질은 깔끔해서 좋습니다. 지금까지 SVD/CogVideo/LTX/Mochi 등 여러가지 모델을 다뤄봤는데, 그중에서도 꽤 괜찮은 것 같습니다. 다시한번 비교해봐야 하나... 싶네요. 

또한 이번에 알게되었는데, 별도로 GGUF 버전을 사용하지 않아도 ComfyUI에서 모델중 일부만 불러들여서 돌리는 기능이 제공되는 것 같습니다. 예를 들어 아래는 Flux-dev-GGUF 모델을 사용하는 워크플로를 수정한 것입니다.

flux1-dev-guff-simple.json
0.01MB

이 워크플로에서 모델을 불러들이는 부분을 보면, 아래와 같이 [Unet Loader(GGUF)]를 대신해서 [Load Diffusion Model]에서 flux1-dev.sft 모델을 직접 사용하고 있고, [DualClipLoader] 쪽도 비슷한데, 이 워크플로를 사용해도 비슷하게 잘 돌아갑니다. 그리고 메시지 창을 잘 살펴보면 아래와 같이 모델의 일부만 불러왔다는 메시지가 나옵니다.

loaded partially 5508.831919891358 5500.0977783203125 0

아무래도 ComfyUI가 GGUF 모델을 사용하지 않아도 자동적으로 처리하도록 업데이트가 된게 아닐까... 싶네요.

이상입니다.

이 글은 stable-diffusion-art.com의 글을 번역하면서 제 테스트 결과로 대체하여 작성한 글입니다.