본문으로 건너뛰기

© 2026 Molayo

r/StableDiffusion분석2026. 05. 17. 23:30

Flux.2-Klein 프롬프트 팁

요약

Flux.2-Klein 모델은 Qwen의 채팅 템플릿 및 토크나이저를 활용하여 프롬프트를 처리하며, 사용자의 입력을 지시 사항(instruction/message) 형태로 해석합니다. 따라서 단순한 키워드 나열보다는 'A woman sitting on a beach...'와 같이 문장 구조를 갖춘 자연어 서술 방식에 가장 잘 반응합니다. 특히 ComfyUI의 클래식 CLIP 스타일 강조 구문((face:1.4))은 가중치로 적용되지 않으므로 사용하지 않는 것이 좋으며, 대신 주체성을 가진 완전한 문장 형태로 프롬프트를 구성하여 모델이 장면과 동작을 명확하게 이해하도록 유도해야 합니다.

핵심 포인트

  • 모델은 키워드 나열보다 자연어 문장 구조에 최적화되어 있다.
  • 클래식 CLIP 스타일의 가중치 강조 구문((face:1.4))은 무시되므로 사용하지 않아야 한다.
  • 프롬프트는 '주체성 있는 문장' 형태로 작성하여 장면, 동작, 의상 등을 서술하는 것이 가장 효과적이다.
  • 가장 좋은 프롬프트 구조는 [정체성 제약] -> [장면/위치 변경] -> [자세/동작] -> [의상/신체 제약] 순서로 구성하는 것이다.

qwen_3_8b를 사용하는 Klein 9B의 경우, 프롬프트 경로는 기본적으로 다음과 같습니다:

사용자의 프롬프트;

1- Qwen 채팅 템플릿(chat template)으로 래핑됨

2- Qwen2 토크나이저 (tokenizer)

3- Qwen3 8B 텍스트 인코더 (text encoder)

4- 컨디셔닝 (conditioning)으로 쌓인 히든 레이어 (hidden layers) [9, 18, 27]

5- Flux2/Klein 트랜스포머 (transformer)가 이에 대해 크로스 어텐션 (cross-attends) 수행

로컬 래퍼 (local wrapper)는 다음 템플릿을 사용합니다:

  <|im_start|>user
  YOUR PROMPT<|im_end|>
  <|im_start|>assistant
  <think>

  </think>

따라서 이 모델은 사용자의 프롬프트를 CLIP 태그처럼 읽는 것이 아니라, 지시 사항/메시지(instruction/message)처럼 읽습니다.

잘 받아들이는 것:

명확한 관계를 가진 자연어 (natural language)에 가장 잘 반응할 것입니다:

해변에 앉아 카메라를 바라보고 있는 검은색 드레스를 입은 여성. 카메라는 눈높이(eye level)에 있다. 그녀의 몸은 약간 왼쪽을 향해 앉아 있다. 그녀의 뒤에는 해변과 바다가 있다.

강력한 프롬프트 개념들:

- 피사체 유형 (subject type): woman, man, dog, car

- 동작/자세 (action/pose): sitting, standing, walking, looking at camera

- 위치 (location): on a beach, inside a kitchen

- 공간 관계 (spatial relations): behind her, to her left, in the foreground

- 의상/사물 귀속 (clothing/object attribution): she is wearing, holding, beside

- 카메라/프레이밍 (camera/framing): close-up, full body, eye-level, three-quarter view

- 평이하게 표현된 스타일 (style): photo, natural lighting, soft shadows

잘 버리거나 약화시키는 것:

가장 중요한 점: 이 텍스트 인코더 (TE)에 대해서는 Comfy 프롬프트 가중치 (prompt weighting) 기능이 비활성화되어 있습니다.

따라서 다음은 큰 의미가 없습니다:

((face:1.4)), [body:0.6], (((identity)))

토크나이저 (tokenizer)는 여전히 문장 부호/텍스트를 인식하지만, 인코더 래퍼 (encoder wrapper)가 disable_weights=True를 전달하므로, 클래식한 CLIP 스타일의 강조는 가중치로 적용되지 않습니다.

또한 약한 부분:

- 거대한 쉼표 태그 나열 (comma tag soups)

- 가짜 강조를 위한 단어 반복

- masterpiece, best quality, ultra detailed와 같은 추상적인 쓰레기 단어들

- 모순되는 내용: sitting, standing, walking

- 명사에 연결되지 않은 모호한 수식어: beautiful, perfect, cinematic

- 샘플러 (sampler)/모델 경로에서 명시적으로 잘 사용하지 않는 한, 부정 프롬프트 (negative prompt) 로직

  • 중요한 지침이 묻혀버리는 지나치게 긴 프롬프트 (overly long prompts)

가장 중요한 것

이것은 Qwen 스타일의 채팅 인코딩 (chat encoding) 방식이므로, 프롬프트 조각 (prompt chunks)을 주체성을 가진 문장 형태로 작성하세요:

나쁜 예:

beach, woman, camera, sitting, black dress, looking, ocean, realistic

더 나은 예:

A realistic photo of a woman sitting on a beach. She is looking at the camera. She is wearing a black dress. The ocean is behind her.

정체성/참조 워크플로우 (identity/reference workflows) "Identity feature transfer"의 경우, 텍스트 인코더 (TE)에게 피사체를 너무 많이 재정의하도록 요청하는 것을 피하세요. 노드 (node)가 정체성을 유지하게 하고, 프롬프트는 장면/동작을 담당하게 하세요:

Keep the same woman. Change only the location: she is sitting on a beachfront, looking at the camera. Natural daylight photo.

사용 목적에 따른 최적의 프롬프트 형태:

다음 구조를 사용하세요:

[정체성 제약 (identity constraint)].

[장면/위치 변경 (scene/location change)].

[자세/동작 (pose/action)].

[의상/신체 제약 (clothing/body constraint)].

[카메라/프레이밍 (camera/framing)].

[조명/스타일 (lighting/style)].

예시:

Keep the same woman from the reference image.
Move her to a sunny beachfront.
She is sitting and looking directly at the camera.
Preserve her face, body proportions, hairstyle, and clothing shape.
Eye-level photo, natural daylight, realistic beach background.

텍스트 인코더 (TE)가 모든 절을 문자 그대로 "복종"하는 것은 아니지만, 이 형식을 사용하면 Qwen이 프롬프트를 단순히 태그의 주머니 (bag of tags)로 취급하는 대신 관계를 인코딩 (encode)할 수 있는 최선의 기회를 얻게 됩니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 r/StableDiffusion의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0