2026년 10월 31일 (토)

PINKSKY NEWS

매일의 기록을 뉴스처럼

테크

하나의 .char 모델로 얼굴·신체·의상 일관성 유지: Minimax H3

원문 제목 — One .char model, Consistent face, body & cloths: Minimax H3

📄 전문 번역

안녕하세요 여러분. 지난번 스틸 이미지 관련 게시물을 바탕으로, 같은 .char 모델을 Minimax H3에 적용하는 실험을 진행했다. 얼굴, 신체, 의상에 관한 레퍼런스와 프롬프트를 인코딩하는 캐릭터 모델 sia.char를 만들었으며, 자세한 내용은 이전 게시물에서 확인할 수 있다.

작동 방식은 다음과 같다. .char 빌드 단계에서는 최대 9장의 레퍼런스를 넣으며, 필자는 얼굴:의상:신체를 2:2:1 비율로 쓰는 것을 선호한다. YuNet이 얼굴을 찾고, SFace가 레퍼런스별 얼굴 시그니처를, DINOv2가 피사체 시그니처를 추출하며, 레퍼런스는 정리 및 정규화된다. 이 모든 것이 하나의 휴대 가능한 파일인 .char로 패킹되고, 얼굴/레퍼런스만 필수이며 신체와 의상 링크는 선택 사항이다. 생성 단계에서는 .char 파일이 레퍼런스를 Flux의 네이티브 멀티 레퍼런스 채널에 공급하고, 잠긴 설명 문구를 프롬프트 앞에 붙인다.

프롬프트 가이드는 다음과 같다. 먼저 캐릭터에 이름을 붙인다. encode character 노드 하단의 조정 아이콘을 클릭해 캐릭터 이름을 지정하면, 필자는 sia라는 이름을 썼기 때문에 프롬프트에 sia walking on the beach처럼만 쓰면 된다. a woman 같은 표현이나 검은 머리 같은 세부 특징을 프롬프트에 넣으면 오히려 생성을 방해한다. 캐릭터 특징은 모두 encode character 프롬프트에 인코딩하고, 생성 프롬프트에서는 이름으로 캐릭터를 호출하며 같은 내용을 반복해 적지 않는다. 캐릭터 드리프트 처리를 위해서는 반팔이나 민소매 같은 특정 스타일이나 의상을 원할 경우 생성 프롬프트에 추가해야 하며, 신체 샷에도 의상이 포함되어 의상 레퍼런스와 간섭할 수 있어 약간의 드리프트가 발생할 수 있다. 각 레퍼런스는 고유해야 하며 얼굴에 신체가 들어가거나 그 반대가 되어서는 안 되고, 의상도 마찬가지다.

캐릭터를 한 번 빌드하면 간단한 프롬프트와 생성 그래프만으로 동일 캐릭터를 재사용할 수 있다. 얼굴은 Flux Klein 9b로 생성했고 의상 사진은 Zara 웹사이트에서 가져왔다. 최상의 결과를 위해서는 크롭된 레퍼런스를 넣어 모델이 필요한 샷을 가져가게 해야 하며, 의상 슬롯에 얼굴이 있거나 얼굴 슬롯에 의상이 있으면 모델이 혼동한다. 요구 사양은 24GB 이상 VRAM의 Nvidia GPU와 64GB RAM(로컬 실행)이며, 워크플로는 스틸용 Flux 2 Klein과 영상용 Minimax H3가 제공된다. Minimax H3는 이제 int8 모델 변형도 지원한다. GitHub 저장소가 GPLv3 라이선스의 오픈소스로 공개되어 있고, 입력 파일은 Flux2 워크플로 페이지에 첨부되어 있다.

한계로는 레퍼런스 충돌이 있다. 두 입력 이미지에 서로 다른 얼굴이 있으면 생성 시 충돌할 수 있으므로 잘 크롭된 신체와 의상 이미지를 제공해야 하며, 얼굴 이미지는 SFace가 자동으로 크롭해 준다. 제안이나 피드백을 환영한다.

💬 주요 댓글 번역 (5)

1 익명

H3에는 이미 refmod가 그 기능을 담당하지 않나?

2 익명

맞다. ref와 함께 이 방식은 캐릭터 프롬프트, SFace와 DINOv2가 점수를 매기는 크롭된 얼굴을 인코딩한다. 동일한 방식으로 하나의 캐릭터 포맷을 학습시켜 Minimax, Flux2 같은 여러 모델 생성을 지원하며, Krea2와 LTX 2.5도 지원한다. 핵심은 .char를 한 번 빌드해 모든 모델에서 쓰는 것이다. Krea2는 ref가 아닌 LoRA 임베딩을 사용한다. 그래서 어떤 모델은 ref 경로가 더 빠르고, Krea2처럼 ref 채널이 없는 모델은 LoRA 페이로드를 학습시킨 뒤 모든 것을 .char 모델로 압축한다.

3 익명

이건 완전한 캐릭터 모드처럼 보인다. Refmod는 모듈형이라 얼굴용 safetensor, 의상용 등을 따로 만들 수 있고 올인원이 아니다. 이 도구가 어떻게 동작하는지는 모르겠지만, RefMod는 safetensor로 저장하기 때문에 매 체인 실행마다 그림을 처음부터 토큰화하지 않고 토큰이 어디서든 항상 동일하게 유지된다. 나는 LoRA처럼 얼굴 a, 의상 c, 가방 d 등을 골라 조합해 조합마다 캐릭터 시트를 만들지 않아도 되는 방식이 더 필요하다.

4 익명

맞는 말이다. LoRA는 얼굴, 신체, 의상의 일관성을 동시에 완전히 유지할 수 없어서 조합하려면 여러 LoRA를 쓰는 수밖에 없다. 동작 방식은 OmniChar 공식 사이트의 캐릭터 페이지에서 확인할 수 있다. 좋은 의견이다.

5 익명

그렇다. 용도에 따라 다르다. 때로는 완전한 캐릭터 시트를 만드는 게 낫고, 때로는 refmod로 조합하는 것만으로 충분하다. H3에서는 LoRA를 굽지 않는데 LoRA 없이도 잘 동작한다. 주로 체인에서 15테이크 정도 촬영했지만 H3는 이탈하지 않았다. 캐릭터 관리를 쉽게 해주는 이런 도구는 언제나 환영이다.

🔍 루키 분석

레딧 사용자 ashishsanu가 얼굴·신체·의상 정보를 하나의 .char 파일로 인코딩해 Flux 2 Klein 스틸 생성과 Minimax H3 영상 생성에서 동일 캐릭터를 재사용할 수 있는 오픈소스 도구 OmniChar를 공개했다. 댓글에서는 기존 refmod 기능과의 차별성이 논의됐으며, 개발자 측은 ref 채널이 없는 Krea2 같은 모델용 LoRA 페이로드까지 .char에 통합해 하나의 캐릭터 포맷으로 다중 모델을 지원한다고 설명했다. 로컬 실행에는 24GB 이상 VRAM의 Nvidia GPU와 64GB RAM이 요구되며, Minimax H3는 int8 모델 변형도 지원한다.

— 루키 · glm-5.3-flash:cloud