AMAP, FLUX-Text 장면 텍스트 편집 신기술 발표
2025. 07. 09.
ComfyUI FLUX.1 Kontext (Dev, Pro, Max) 완전 가이드: 네이티브 워크플로우, API 호출 및 프롬프트 최적화
FLUX.1 Kontext는 텍스트와 이미지 기반 편집을 위해 설계된 생성형 모델 제품군입니다. 기존의 텍스트-이미지(T2I) 모델과 달리 Kontext는 컨텍스트 기반 이미지 처리를 지원하여 이미지와 텍스트 내용을 동시에 이해하고 더 정확한 이미지 편집 기능을 구현할 수 있습니다.
FLUX.1 Kontext 모델 특징
- 연속적인 이미지 편집: 여러 편집 단계에서 일관성 유지
- 정밀한 객체 수정: 이미지내 특정 객체를 정확하게 수정
- 캐릭터 일관성 편집: 여러 편집 단계에서 캐릭터 특징 유지
- 스타일 보존 및 전송: 원본 스타일 유지와 스타일 전송 모두 가능
- 이미지 텍스트 편집: 이미지내 텍스트 콘텐츠를 직접 편집
- 카메라 구도 제어: 이미지 구도, 카메라 각도, 포즈를 정밀하게 제어
- 고속 추론: 효율적인 이미지 생성 및 편집 속도
Pro, Max, Dev 버전 비교
- Pro와 Max 버전은 계속해서 Black Forest Labs 모델의 최고 성능을 제공하며, API 호출을 통해서만 사용할 수 있습니다
- Dev 버전은 커뮤니티 학습과 연구를 위한 오픈소스 버전으로, 현재 오픈소스화되었습니다. 관련 코드와 모델 가중치는 공식 웹사이트에서 찾을 수 있습니다.
Dev 버전은 상업적 사용이 불가능하지만, 상업적 사용을 위해 Dev 버전 라이센스를 구매할 수도 있습니다. 상업 라이센스 구매에 대해서는 Black Forest Labs 공식 웹사이트를 참조해 주세요.
Pro와 Max 버전과 비교하여, Dev 버전은 프롬프트 작성에 더 많은 시간이 필요하며, Pro와 Max 버전처럼 간단한 프롬프트로는 좋은 결과를 얻을 수 없습니다.
일부 프롬프트에서는 Dev 버전이 이미지를 전혀 편집하지 않을 수 있어, 프롬프트의 조정과 수정이 필요합니다.
튜토리얼 내용 개요
이 튜토리얼에서는 다음 내용을 다룹니다:
- 기본 Flux.1 Kontext Dev 네이티브 워크플로우 (fb16, fp8_scaled, gguf)
- 멀티라운드 이미지 편집 구현
- 다중 이미지 참조 방법
- Flux.1 Kontext Dev 이미지 입력 마킹 제안
- Flux.1 Kontext API 노드 워크플로우 (Pro, Max)
- Flux.1 Kontext 프롬프트 사용 가이드
시작하기 전에 ComfyUI를 업데이트하여 ComfyUI가 Flux Kontext Dev 관련 지원을 갖고 있는지 확인해 주세요.
Flux.1 Kontext Dev 관련 모델
이 튜토리얼에서는 여러 가지 다른 모델 버전을 다루므로, 여기서 모델과 가중치에 대해 간단히 소개하겠습니다. Flux.1 Kontext Dev 모델은 확산 모델을 제외하고는 원래 Flux 시리즈와 동일한 모델(텍스트 인코더, VAE)을 사용합니다. 이전에 관련 워크플로우를 사용한 적이 있다면, Flux.1 Kontext Dev 관련 모델만 다운로드하면 됩니다.
Kontext 모델의 다른 버전들
여기서 3가지 다른 버전의 모델을 수집했습니다. 필요에 따라 하나를 선택하여 다운로드할 수 있습니다. 원본 버전과 Fp8 버전은 ComfyUI에서 동일한 사용법과 저장 위치를 가지지만, GGUF 버전은 ComfyUI/models/Unet/
디렉토리에 저장하고 ComfyUI-GGUF의 Unet Loader (GGUF) 노드를 사용하여 로드해야 합니다.
Flux.1 Kontext Dev 원본 모델 가중치 및 커뮤니티 버전
- Black Forest Labs 원본 버전: flux1-kontext-dev.safetensors
- ComfyOrg FP8 버전: flux1-dev-kontext_fp8_scaled.safetensors
- 커뮤니티 GGUF 버전: FLUX.1-Kontext-dev-GGUF
- Nunchaku 가속 추론 버전: nunchaku-flux.1-kontext-dev
Flux.1 Kontext Dev 다른 모델 버전의 효과 및 VRAM 요구사항 비교
위 결과에서 다른 VRAM 사용량에 대한 참고 데이터를 제공합니다. 이러한 출력 결과는 모델 버전을 제외하고는 일관됩니다. 대응 VRAM 데이터는 A100 40GB 에서 실행된 결과이므로 비율이 높습니다. 현재 전체 버전은 4090에서도 실행할 수 있지만 생성 시간이 느립니다.
- fp8_scaled가 최소한의 손실을 가지는 것을 볼 수 있습니다
- 제가 테스트한 GGUF 버전은 어느 정도 품질 손실이 있지만 상대적으로 VRAM 요구사항이 낮습니다.
텍스트 인코더
VAE
모델 저장 위치
📂 ComfyUI/
├── 📂 models/
│ ├── 📂 diffusion_models/
│ │ └── flux1-dev-kontext_fp8_scaled.safetensors 또는 flux1-kontext-dev.safetensors
│ ├── 📂 unet/
│ │ └── flux1-kontext-dev-Q4_K_M.gguf 등, # GGUF 버전이 필요한 경우만 다운로드
│ ├── 📂 vae/
│ │ └── ae.safetensors
│ └── 📂 text_encoders/
│ ├── clip_l.safetensors
│ └── t5xxl_fp16.safetensors 또는 t5xxl_fp8_e4m3fn_scaled.safetensors
ComfyUI Flux.1 Kontext Dev 기본 네이티브 워크플로우
기본 워크플로우의 경우, ComfyUI 템플릿에서 해당 템플릿을 이미 생성했으므로 ComfyUI에서 Flux.1 Kontext Dev 관련 템플릿을 찾아보세요.
관련 템플릿을 찾을 수 없다면, 관련 종속성을 올바르게 업데이트하지 않았을 수 있습니다. ComfyUI 공식 문서에서 제가 작성한 ComfyUI 업데이트 방법 문서를 참조하여 관련 종속성이 업데이트되었는지 확인하세요.
1. 워크플로우 및 샘플 소재 다운로드
아래 파일을 다운로드하여 ComfyUI에 드래그하여 해당 워크플로우를 로드하세요
입력 이미지
2. 완전한 워크플로우 단계
이미지의 번호를 참조하여 워크플로우를 완성할 수 있습니다:
Load Diffusion Model
노드에서flux1-dev-kontext_fp8_scaled.safetensors
모델을 로드합니다DualCLIP Load
노드에서:clip_l.safetensors
와t5xxl_fp16.safetensors
또는t5xxl_fp8_e4m3fn_scaled.safetensors
가 로드되었는지 확인합니다Load VAE
노드에서ae.safetensors
모델이 로드되었는지 확인합니다Load Image(from output)
노드에서 제공된 입력 이미지를 로드합니다CLIP Text Encode
노드에서 프롬프트를 수정합니다, 영어만 지원됩니다Queue
버튼을 클릭하거나 단축키Ctrl(cmd) + Enter
를 사용하여 워크플로우를 실행합니다
FLUX.1 Kontext Dev GGUF 버전 워크플로우
GGUF 모델을 사용하려면 ComfyUI-GGUF의 Unet Loader (GGUF) 노드가 필요합니다. 먼저 ComfyUI-Manager를 사용하여 해당 플러그인을 설치하거나, 커스텀 노드 설치 방법을 참조하여 커스텀 노드 설치 방법을 학습하세요.
관련 워크플로우는 매우 간단합니다 - Flux.1 Kontext Dev 기본 워크플로우의 워크플로우를 사용하고 Load Diffusion Model
노드를 Unet Loader (GGUF)
노드로 교체하기만 하면 됩니다.
워크플로우 파일 다운로드
단계 지침
Unet Loader (GGUF)
노드에서flux1-kontext-dev-Q4_K_M.gguf
(또는 다른 버전)을 로드합니다DualCLIP Load
노드에서:clip_l.safetensors
와t5xxl_fp16.safetensors
또는t5xxl_fp8_e4m3fn_scaled.safetensors
가 로드되었는지 확인합니다Load VAE
노드에서ae.safetensors
모델이 로드되었는지 확인합니다Load Image(from output)
노드에서 제공된 입력 이미지를 로드합니다CLIP Text Encode
노드에서 프롬프트를 수정합니다, 영어만 지원됩니다Queue
버튼을 클릭하거나 단축키Ctrl(cmd) + Enter
를 사용하여 워크플로우를 실행합니다
Flux.1 Kontext Dev Nunchaku 가속 추론 버전
Nunchaku 가속 추론 버전은 MIT-HAN-LAB에서 제공하며, 이 버전을 사용하려면 해당 모델이 필요합니다. 현재 두 가지 버전의 모델이 있습니다:
- Blackwell 아키텍처 50 시리즈 GPU 전용 버전: svdq-fp4_r32-flux.1-kontext-dev.safetensors
- 기타 GPU: svdq-int4_r32-flux.1-kontext-dev.safetensors
해당 모델도 ComfyUI/models/diffusion_models/
디렉토리에 설치 및 다운로드해야 합니다.
다음 비디오를 참조하여 해당 워크플로우 튜토리얼을 완료할 수 있습니다:
워크플로우는 제 커스텀 노드 ComfyUI-Wiki-Workflows에서 로드됩니다. 이는 워크플로우만 있고 종속성이 없는 커스텀 노드입니다.
1. 커스텀 노드 설치
플러그인 주소: ComfyUI-nunchaku
Nunchaku 모델을 사용하려면 Nunchaku 노드를 사용하고 해당 wheel을 설치해야 합니다. 자세한 내용은 커스텀 노드 설치 방법 섹션을 참조하세요.
- 초기 설치 후, 해당 wheel이 설치되지 않아 몇 개의 노드가 누락될 수 있으므로 wheel을 설치해야 합니다
- “Nunchaku Wheel Installer” 노드를 사용하여 wheel을 설치하고, 설치 후 ComfyUI를 재시작하세요
2. 워크플로우 파일 다운로드
아래 이미지를 입력 이미지로 다운로드하세요
3. 완전한 워크플로우 단계
- 노트를 참조하여, 처음 실행할 때 Step-0 이외의 노드를 삭제한 다음 워크플로우를 실행하여 Nunchaku wheel을 설치하고, ComfyUI를 재시작하여 워크플로우를 다시 로드하세요
- 해당 모델 링크와 커스텀 노드 링크는 해당 Markdown 노드에서 제공됩니다
- 모든 모델이 올바르게 로드되었는지 확인하세요 (Blackwell 아키텍처 GPU와 기타 GPU 구분)
Load Image(from output)
노드에서 제공된 입력 이미지를 로드하세요CLIP Text Encode
노드에서 프롬프트를 수정하세요, 영어만 지원됩니다Queue
버튼을 클릭하거나 단축키Ctrl(cmd) + Enter
를 사용하여 워크플로우를 실행하세요
Nunchaku에 문제가 있는 경우 ComfyUI-nunchaku를 참조하여 추가 도움을 받으세요.
Flux.1 Kontext Dev 멀티라운드 이미지 편집 구현
1. Load Image(from output) 노드 사용
멀티라운드 편집에서 Load Image(from output) 노드의 잠재적 문제가 이 Flux.1 Kontext Dev 릴리스 지원에서 수정되었습니다. 기본 워크플로우에서 Load Image(from output)
노드를 직접 사용하여 이전 라운드의 출력 이미지를 로드할 수 있습니다.
현재 워크플로우 결과를 편집하려는 경우, refresh
버튼을 클릭하여 최신 출력 이미지를 가져오고 워크플로우를 다시 실행하세요.
2. 그룹 노드 사용
그룹 노드는 Flux.1 Kontext Dev 버전에 추가된 새로운 기능입니다. 그룹 노드를 추가하기 위한 빠른 Edit
버튼이 선택 도구 상자에 추가되었습니다. 구체적인 사용법은 이 비디오를 참조하세요:
Load Image
노드에서 시작하여 해당 선택 도구 상자 기능을 사용하여 새 그룹 노드를 추가할 수 있습니다:
- 각 그룹 노드의 시드가 고정되어 있으므로 마지막 그룹 노드만 실행됩니다
- 결과에 만족하지 않으면 시드를 변경하고 워크플로우를 다시 실행할 수 있습니다
- 브랜치를 생성하여 다른 브랜치와 편집 효과를 탐색할 수 있습니다
다중 이미지 입력 참조
다중 이미지 입력의 경우, 현재 ComfyUI에서 2가지 구현 방법이 있습니다:
- Image Stitch 노드를 사용하여 여러 이미지를 하나의 이미지로 결합
- 다른 이미지를 개별적으로 잠재 공간으로 인코딩한 다음 여러 ReferenceLatent 노드 조건을 체인
다음은 두 방법의 비교입니다:
-
Image Stitch 노드가 다중 이미지 입력에서 더 나은 성능을 발휘합니다
-
ReferenceLatent 노드 체인을 사용할 때:
- 입력 캐릭터가 많은 경우, 다른 주체의 특징을 혼합하는 경우가 많아 일관성을 유지하기 어렵습니다
- 여러 캐릭터를 입력할 때 한두 캐릭터를 잃는 경우가 있습니다
1. Image Stitch 노드 사용
이 접근법은 간단합니다 - 여러 이미지를 하나로 결합하여 단일 이미지로 입력합니다. 템플릿에서 다른 Load Image
노드를 선택하고 Ctrl+B를 사용하여 다중 이미지 입력 기능을 활성화하기만 하면 됩니다.
이 경우, 결합된 이미지 크기가 예상 크기가 아닐 수 있으므로 (예: 1:1 비율을 원하지만 결합된 이미지가 1:1이 아닐 수 있음), EmptySD3LatentImage
노드를 사용하여 잠재 공간 크기를 사용자 정의하고 KSampler 노드에 연결하여 출력 차원을 사용자 정의하는 것을 권장합니다.
결합된 이미지 입력 모드에 대해, 여전히 몇 가지 사용 제안이 있습니다:
- 결합 후 객체의 상대적 크기에 주의하세요 - 적절한 상대적 크기가 더 나은 출력 결과를 가져올 수 있습니다
- 주요 참조 이미지는 더 큰 비율을 차지하여 그 이미지 특징을 더 많이 사용해야 합니다
2. ReferenceLatent 체인 노드 사용
번호 1과 2는 다른 이미지를 인코딩하고, 번호 3은 여러 이미지 인코딩 결과를 체인하고 ReferenceLatent
노드를 사용합니다. 마찬가지로 번호 4에서 EmptySD3LatentImage
를 사용하여 차원을 사용자 정의할 수 있습니다.
Flux.1 Kontext Dev 이미지 마킹 입력
참조 이미지를 입력할 때, 입력 이미지에서 일부 마킹을 사용하여 편집하려는 영역을 모델이 더 잘 식별할 수 있도록 도울 수 있습니다:
- 편집하고 다시 그리려는 영역의 경우, 반투명 빨간색 마스크 마킹을 사용하여 수정하려는 영역을 표시하는 것을 권장합니다
- 빨간색 박스 마킹은 Flux.1 Kontext Pro와 Max API 버전에서 더 나은 인식 능력을 가지지만, Flux.1 Kontext Dev에서는 인식 능력이 그렇게 정확하지 않습니다. 반투명 마스크를 사용하여 수정하려는 영역을 표시하거나 빨간색 박스 요소를 더 눈에 띄게 만드는 것을 권장합니다
- 반투명 마스크는 모델이 원본 이미지 특징을 이해할 수 있게 하여 다시 그리는 데 도움이 됩니다.
ComfyUI에서 FLUX.1 Kontext Pro 및 Max API 사용
FLUX.1 Kontext는 현재 ComfyUI에서 API 노드 형태로 서비스를 제공하고 있으며, ComfyUI 문서에 자세한 사용 튜토리얼을 작성해 두었습니다.
FLUX.1 Kontext API 노드 공식 사용 튜토리얼
- ComfyUI Portable 또는 Desktop을 최신 버전으로 업데이트하세요.
- 메뉴 바에서 워크플로우 -> 템플릿 보기 -> Image API 카테고리를 선택하여 FLUX.1 Kontext 관련 템플릿을 찾으세요.
API 노드를 사용하려면 로그인이 필요하며, 계정에 충분한 잔액이 있어야 합니다. 포인트 시스템에 대해 자세히 알아보려면 ComfyUI API 노드 개요를 참조하세요.
해당 노드의 사용은 매우 간단합니다. API Node에서 Flux.1 Kontext [pro] Image
또는 Flux.1 Kontext [pro] Image
노드를 찾아 Load Image
와 Save Image
노드와 함께 사용하면 됩니다.
Load Image
노드에서 편집할 이미지를 로드합니다Flux.1 Kontext Pro Image
또는Flux.1 Kontext Max Image
노드에서 필요한 매개변수를 수정합니다:prompt
에 이미지 편집을 위한 프롬프트를 입력합니다aspect_ratio
로 원본 이미지의 종횡비를 설정합니다 (1:4에서 4:1 사이여야 함)prompt_upsampling
으로 프롬프트 업샘플링 사용 여부를 설정합니다. 활성화하면 더 풍부한 결과를 얻기 위해 프롬프트가 자동으로 수정되지만, 결과를 재현할 수 없습니다
Run
버튼을 클릭하거나Ctrl(cmd) + Enter
단축키를 사용하여 이미지 편집을 실행합니다.- API 응답을 기다린 후
Save Image
노드에서 편집된 이미지를 확인할 수 있으며, 해당 이미지는ComfyUI/output/
디렉토리에 저장됩니다.
FLUX.1 Kontext 프롬프트 완전 사용 가이드
AI 프롬프트 생성기
이 섹션에서는 프롬프트 생성기를 만들었습니다. 다음 프롬프트를 사용하여 AI가 프롬프트 생성을 도와주도록 할 수 있습니다:
# FLUX.1 Kontext 프롬프트 생성기 어시스턴트
당신은 전문 FLUX.1 Kontext 이미지 편집 프롬프트 전문가입니다. 당신의 임무는 사용자가 원하는 이미지 편집 효과를 달성하기 위한 고품질의 정확한 Kontext 프롬프트 생성을 돕는 것입니다.
## 환영 메시지
사용자가 처음으로 당신과 상호작용할 때, 다음 메시지로 인사하세요:
---
👋 **FLUX.1 Kontext 프롬프트 생성기에 오신 것을 환영합니다!**
FLUX.1 Kontext 이미지 편집을 위한 완벽한 프롬프트 작성을 도와드립니다. 다음과 같은 도움을 제공할 수 있습니다:
✨ **객체 수정** (색상, 텍스처, 형태)
🎨 **스타일 전송** (예술 스타일, 필터, 효과)
🌟 **장면 변환** (배경, 조명, 분위기)
👤 **캐릭터 일관성** (편집을 통해 정체성 유지)
📝 **텍스트 편집** (간판, 라벨, 타이포그래피)
**시작하려면:**
- 이미지에서 변경하고 싶은 것을 설명해 주세요
- 이미지를 업로드해 주세요 (선택사항)
- 편집 목표를 알려주세요
복잡한 변환의 경우, 다음 두 가지를 모두 제공합니다:
- 🚀 **원스텝 접근법** (단일 포괄적 프롬프트)
- 📋 **단계별 접근법** (여러 순차적 프롬프트)
모든 프롬프트는 최적의 Kontext 성능을 위해 **영어**로 생성됩니다.
**오늘 무엇을 편집하고 싶으신가요?** 🎯
---
## 핵심 원칙
### 1. 정확성 우선
- 모호한 용어 대신 구체적인 설명 사용
- 색상, 스타일, 동작 및 기타 세부사항을 명확하게 지정
- "더 보기 좋게 만들어"와 같은 주관적 표현 피하기
- 기억: 최대 프롬프트 토큰은 512 토큰
- **중요: 모든 프롬프트는 영어로만 생성되어야 합니다**
### 2. 일관성 유지
- 변경되지 않아야 할 요소를 명시적으로 지정
- 중요한 특징을 보호하기 위해 "while maintaining..." 같은 구문 사용
- 사용자가 변경을 원하지 않는 요소를 실수로 변경하는 것 방지
### 3. 단계별 처리
- 복잡한 수정을 여러 단계로 나누는 것을 제안
- 각 편집을 하나의 주요 변경사항에 집중
- Kontext의 반복 편집 기능 활용
## 프롬프트 구조 템플릿
### 기본 객체 수정
`Change the [specific object]'s [specific attribute] to [specific value]`
예시: "Change the car color to red"
### 스타일 전송
`Convert to [specific style] while maintaining [elements to preserve]`
예시: "Convert to pencil sketch with natural graphite lines, cross-hatching, and visible paper texture"
### 배경/환경 변경
`Change the background to [new environment] while keeping the [subject] in the exact same position, scale, and pose. Maintain identical subject placement, camera angle, framing, and perspective.`
### 캐릭터 일관성
`[Action/change description] while preserving [character's] exact facial features, [specific characteristics], and [other identity markers]`
### 텍스트 편집
`Replace '[original text]' with '[new text]'`
예시: "Replace 'joy' with 'BFL'"
## 고급 기법
### 스타일 전송을 위해:
1. **구체적인 스타일 명명**: "예술적으로 만들어"가 아닌 "Transform to Bauhaus art style" 사용
2. **알려진 아티스트/운동 참조**: "Renaissance painting style", "1960s pop art poster"
3. **핵심 특징 세부 설명**: "Oil painting with visible brushstrokes, thick paint texture, and rich color depth"
4. **중요한 것 보존**: "while maintaining the original composition and object placement"
### 캐릭터 일관성을 위해:
1. **참조 설정**: "her" 대신 "The woman with short black hair"
2. **변환 지정**: 환경, 활동, 또는 스타일 변경
3. **정체성 마커 보존**: "maintaining the same facial features, hairstyle, and expression"
### 구성 제어를 위해:
- "exact same position, scale, and pose" 사용
- "identical subject placement, camera angle, framing, and perspective" 지정
- "Only replace the environment around them" 추가
## 일반적인 문제 해결 패턴
### 정체성이 너무 많이 변할 때:
- 추가: "while preserving exact facial features, eye color, and facial expression"
- 사용: "Change the clothes to [description]" 대신 "Transform the person into [description]"
### 구성이 이동할 때:
- 추가: "while keeping the person in the exact same position, scale, and pose"
- 지정: "Maintain identical subject placement, camera angle, framing, and perspective"
### 스타일이 올바르게 적용되지 않을 때:
- 스타일 특성에 대해 더 구체적으로 설명
- 중요한 요소에 대한 보존 지시 추가
- 일반적인 용어 대신 상세한 스타일 설명 사용
## 동사 선택 가이드라인
- **"Transform"** → 완전한 변경을 의미, 신중하게 사용
- **"Change the [specific element]"** → 더 제어된 수정
- **"Replace the [specific element]"** → 타겟 교체
- **"Convert to [style]"** → 스타일 중심 변환
## 모범 사례 체크리스트
프롬프트를 생성할 때 다음을 확인하세요:
- [ ] 모호하지 않고 구체적인 언어
- [ ] 변경되지 않을 요소에 대한 명확한 보존 지시
- [ ] 원하는 변경 수준에 적합한 동사 선택
- [ ] 대명사 대신 주어를 직접 명명
- [ ] 편집할 텍스트 주위에 따옴표
- [ ] 복잡한 변경을 위한 단계별 접근법
- [ ] 필요시 명시적 구성 제어
## 대화 흐름 관리
### 사용자 컨텍스트 이해
- 각 대화는 다른 편집 요청을 포함할 수 있습니다
- 사용자는 참조 이미지를 제공하거나 이미지를 구두로 설명할 수 있습니다
- 요청은 간단한 객체 변경부터 복잡한 장면 변환까지 다양합니다
- 사용자의 의도가 명확하지 않을 때는 항상 명확화를 요청
### 참조 이미지 처리
사용자가 이미지를 제공할 때:
- 이미지 내용을 분석하고 핵심 요소를 식별
- 변경하고 싶은 것에 대해 구체적인 질문
- 보존해야 할 요소 식별
- 이미지의 스타일, 구성, 주제 고려
사용자가 이미지를 제공하지 않고 설명할 때:
- 이미지 내용에 대한 핵심 세부사항 요청
- 현재 상태 vs 원하는 상태 명확화
- 보존해야 할 중요한 요소에 대한 정보 요청
## 응답 형식
사용자가 Kontext 프롬프트를 요청할 때, 제공:
### 간단한 요청의 경우:
1. **최적화된 프롬프트**: 단일하고 잘 만들어진 지시
2. **문제 해결 팁**: 잠재적 문제와 해결책
### 복잡한 요청의 경우:
항상 두 버전 모두 제공:
1. **올인원 접근법**:
- 완전한 변환을 시도하는 단일 포괄적 프롬프트
- 복잡한 단일 단계 편집의 잠재적 문제에 대한 경고
2. **단계별 접근법**:
- 논리적 단계로 나눈 순차적 프롬프트
- 이 접근법이 권장되는 이유 설명
- 명확한 번호 매기기와 작업 순서
3. **권장사항**: 어떤 접근법이 더 잘 작동할 가능성이 있고 그 이유 설명
## 언어 요구사항
**중요**: 모든 FLUX.1 Kontext 프롬프트는 영어로만 작성되어야 합니다. 사용자가 다른 언어로 소통하더라도 항상 다음으로 응답:
- 사용자의 언어로 설명 (영어와 다른 경우)
- **프롬프트는 독점적으로 영어**
- 프롬프트와 설명의 어느 부분인지 명확한 라벨링
사용자가 한국어로 말할 때의 형식 예시:
설명: 이 프롬프트는...
Prompt: "Change the car color to red while maintaining the same lighting and background"
기억하세요: 편집당 지시 수가 너무 복잡하지 않다면 내용을 더 명시적으로 만드는 것이 결코 해롭지 않습니다. 간결함보다 항상 사용자의 성공을 우선시하세요.
FLUX.1 Kontext 프롬프트 기본 지식
중요 참고: FLUX.1 Kontext의 최대 프롬프트 제한은 512 토큰입니다. 프롬프트 길이를 적절히 조절하세요.
프롬프트는 영어로 작성해야 합니다. Kontext의 핵심 장점은 이미지 컨텍스트를 이해하는 것으로, 전체 장면을 자세히 설명할 필요 없이 변경하고 싶은 내용만 지정하면 됩니다. 이로 인해 이미지 편집이 더욱 간단하고 직관적이 됩니다.
FLUX.1 Kontext 기본 객체 수정
Kontext는 색상 변경, 객체 교체 등 직접적인 객체 수정에서 뛰어난 성능을 보입니다.
기본 수정 예시:
수정 유형 | 프롬프트 예시 | 효과 설명 |
---|---|---|
색상 수정 | ”Change the car color to red” | 자동차 색상만 변경하고 나머지는 유지 |
객체 교체 | ”Change the flowers to yellow” | 꽃 색상 변경 |
간단 추가 | ”Add an apple on the table” | 기존 장면에 새 객체 추가 |
프롬프트 정확도 등급 비교
다양한 상세 수준의 프롬프트는 서로 다른 편집 효과를 생성합니다. 다음은 세 가지 정확도 등급의 비교입니다:
등급 비교표
정확도 등급 | 특징 | 장점 | 단점 | 적용 시나리오 |
---|---|---|---|---|
간단 편집 | 간결하고 직접적 | 빠르고 편리 | 원본 이미지 스타일이 변경될 수 있음 | 빠른 아이디어 테스트 |
제어된 편집 | 유지 지시 추가 | 스타일이 더 안정적 | 프롬프트가 약간 길어짐 | 원본 이미지 특성 유지 필요 |
복잡한 변환 | 모든 요구사항 상세 설명 | 결과 정확한 제어 | 프롬프트가 길어짐 | 다중 수정 요구사항 |
구체적인 예시 비교
시나리오: 야경을 낮으로 변경
정확도 등급 | 프롬프트 | 예상 효과 |
---|---|---|
간단 편집 | ”Change to daytime” | 시간은 변경되지만 스타일도 변경될 수 있음 |
제어된 편집 | ”Change to daytime while maintaining the same style of the painting” | 시간 변경, 스타일 기본 유지 |
복잡한 변환 | ”Change the setting to a day time, add a lot of people walking the sidewalk while maintaining the same style of the painting” | 다중 수정, 정확한 제어 |
스타일 변환 완전 가이드
스타일 변환 원칙표
원칙 | 설명 | 좋은 예시 | 피해야 할 예시 |
---|---|---|---|
명확한 스타일 지정 | 구체적인 스타일 이름 사용 | ”Transform to Bauhaus art style" | "Make it artistic” |
유명한 예술 운동 인용 | 구체적인 예술 운동 언급 | ”1960s pop art poster style" | "Modern art style” |
핵심 특징 설명 | 시각적 요소 상세 설명 | ”Visible brushstrokes, thick paint texture" | "Make it look better” |
중요 요소 유지 | 유지할 내용 명시 | ”While maintaining the original composition and object placement” | 유지 내용 미지정 |
스타일 변환 프롬프트 비교
사진을 그림 스타일로 변환
효과 유형 | 프롬프트 | 결과 품질 |
---|---|---|
❌ 기본 (세부사항 손실 가능) | “Make it a sketch” | 스타일 변경 및 세부사항 손실 |
✅ 개선 (구조 유지) | “Convert to pencil sketch with natural graphite lines, cross-hatching, and visible paper texture” | 스타일 변환 및 장면 세부사항 유지 |
✅ 최적 (완전한 제어) | “Convert to pencil sketch with natural graphite lines, cross-hatching, and visible paper texture while maintaining all background details and character features” | 스타일과 세부사항의 완벽한 균형 |
일반적인 스타일 변환 프롬프트 템플릿
스타일 유형 | 추천 프롬프트 템플릿 |
---|---|
유화 스타일 | ”Transform to oil painting with visible brushstrokes, thick paint texture, and rich color depth” |
수채화 스타일 | ”Convert to watercolor painting with transparent colors, paper texture, and natural paint flow effects” |
연필 스케치 | ”Convert to pencil sketch with natural graphite lines, cross-hatching, and visible paper texture” |
애니메이션 스타일 | ”Transform to anime style with clear lines, vibrant colors, and typical anime character features” |
클레이메이션 | ”Restyle to Claymation style with 3D sculpted texture and soft lighting effects” |
FLUX.1 Kontext 캐릭터 일관성 편집 프레임워크
캐릭터 일관성 3단계 방법
단계 | 역할 | 예시 | 중요도 |
---|---|---|---|
1. 참조 설정 | 캐릭터 정체성 명확화 | ”The woman with short black hair” | ⭐⭐⭐⭐⭐ |
2. 변환 지정 | 변경 내용 설명 | ”Now in a tropical beach setting” | ⭐⭐⭐⭐ |
3. 유지 표시 | 유지할 특징 명시 | ”While maintaining the same facial features and expression” | ⭐⭐⭐⭐⭐ |
캐릭터 설명 용어 비교
설명 방식 | 효과 | 예시 | 추천도 |
---|---|---|---|
❌ 대명사 사용 | 정체성 혼동 가능 | ”She”, “He”, “This person” | 비추천 |
✅ 구체적 설명 | 정체성 명확 | ”The woman with short black hair” | 강력 추천 |
✅ 특징 표시 | 정확한 식별 | ”The man with glasses”, “The girl in red coat” | 추천 |
연속 편집 예시 시퀀스
캐릭터: 젊은 여성
편집 단계 | 프롬프트 | 목표 |
---|---|---|
단계 1 | ”She’s now taking a selfie in a street in Freiburg, it’s a lovely day out” | 환경과 활동 변경 |
단계 2 | ”Remove the thing from her face” | 특정 물체 제거 |
단계 3 | ”It’s now snowing, everything is covered in snow” | 날씨 환경 변경 |
텍스트 편집 전문 기술
텍스트 편집 문법 규칙
편집 유형 | 문법 형식 | 예시 |
---|---|---|
텍스트 교체 | ”Replace ‘[original text]’ with ‘[new text]‘" | "Replace ‘joy’ with ‘BFL‘“ |
스타일 수정 | ”Replace ‘[original text]’ with ‘[new text]’ while maintaining [style requirements]" | "Replace ‘SALE’ with ‘OPEN’ while maintaining the same font style and color” |
텍스트 추가 | ”Add text ‘[content]’ at [position]" | "Add text ‘WELCOME’ on the sign” |
텍스트 편집 모범 사례 비교
방법 | 효과 | 예시 |
---|---|---|
✅ 따옴표 사용 | 정확한 텍스트 식별 | ”Replace ‘OPEN’ with ‘CLOSED’” |
❌ 따옴표 미사용 | 식별 오류 가능 | ”Change OPEN to CLOSED” |
✅ 스타일 유지 지정 | 원래 시각 효과 유지 | ”While maintaining the same font style and color” |
❌ 유지 미지정 | 전체 디자인 변경 가능 | 텍스트 내용만 지정 |
FLUX.1 Kontext 문제 해결 대조표
일반적인 문제 및 해결책
문제 유형 | 문제 증상 | 잘못된 예시 | 올바른 해결책 |
---|---|---|---|
캐릭터 정체성 변경 | 얼굴 특징 변화가 큼 | ”Transform the person into a Viking" | "Transform the man into a viking warrior while preserving his exact facial features, eye color, and facial expression” |
구도 위치 이동 | 주체 위치나 비율 변경 | ”Put him on a beach" | "Change the background to a beach while keeping the person in the exact same position, scale, and pose” |
스타일 세부사항 손실 | 스타일 변환 시 중요 세부사항 손실 | ”Make it a sketch" | "Convert to pencil sketch with natural graphite lines, cross-hatching, and visible paper texture while preserving all scene details” |
의도치 않은 요소 변경 | 변경하지 않을 부분이 수정됨 | ”Change to daytime" | "Change to daytime while everything else should stay black and white and maintain the original style” |
동사 선택이 효과에 미치는 영향
동사 유형 | 의미 강도 | 적용 시나리오 | 예시 |
---|---|---|---|
”Transform” | 완전 변경 | 스타일 완전 변경 시 | ”Transform to oil painting style" |
"Change” | 부분 수정 | 특정 요소 수정 시 | ”Change the clothing color" |
"Replace” | 직접 교체 | 물체나 텍스트 교체 시 | ”Replace the background with forest" |
"Add” | 요소 추가 | 기존에 추가 시 | ”Add a small bird" |
"Remove” | 요소 제거 | 불필요한 내용 제거 시 | ”Remove the cars from background” |
FLUX.1 Kontext 고급 프롬프트 조합 기술
다중 편집 프롬프트 구조
템플릿 형식:
[주요 수정] + [유지 요구] + [세부 설명]
실제 예시:
편집 요구사항 | 템플릿 기반 프롬프트 |
---|---|
배경 변경+인물 유지 | ”Change the background to a forest scene while keeping the person in exactly the same position and pose, maintaining the original lighting” |
스타일 변환+구도 유지 | ”Transform to watercolor painting style while maintaining the original composition and all object positions, using soft color transitions” |
다중 객체 수정 | ”Change the car to red and the sky to sunset colors while keeping the road and buildings in their original appearance” |
프롬프트 우선순위 가이드
우선순위 | 내용 유형 | 예시 |
---|---|---|
최상 | 인물 정체성 유지 | ”While maintaining the exact same facial features” |
높음 | 주요 수정 목표 | ”Change the background to beach” |
중간 | 스타일과 질감 | ”Using watercolor painting style” |
낮음 | 세부사항 보완 | ”Add soft lighting effects” |
FLUX.1 Kontext 실용적인 프롬프트 체크리스트
프롬프트 사용 전 다음 사항을 확인하세요:
기본 체크 항목
- 수정할 내용을 명확히 지정했는가?
- 유지해야 할 요소를 명시했는가?
- 프롬프트 길이가 512 토큰 제한 내인가?
- 구체적이고 모호하지 않은 설명을 사용했는가?
고급 체크 항목
- 캐릭터 편집 시 대명사 대신 구체적인 설명을 사용했는가?
- 스타일 변환 시 구체적인 특징을 설명했는가?
- 텍스트 편집 시 따옴표를 사용했는가?
- 적절한 동사(transform/change/replace)를 선택했는가?
이 포괄적인 프롬프트 가이드를 통해 FLUX.1 Kontext의 사용 기술을 더 잘 이해하고 더 정확한 이미지 편집 효과를 얻을 수 있습니다.
FLUX.1 Kontext 프롬프트 모범 사례 요약
- 구체적이고 명확하게: 정확한 언어가 더 나은 결과를 가져옵니다. 정확한 색상 이름, 상세한 설명, 명확한 동사를 사용하고 모호한 용어를 피하세요.
- 단순하게 시작: 복잡성을 더하기 전에 핵심 변경사항부터 시작하세요. 기본 편집을 먼저 테스트한 후 성공적인 결과를 바탕으로 구축하세요.
- 의도적으로 유지: 변경하지 않을 내용을 명확히 설명하세요. “동일한 [얼굴 특징/구도/조명]을 유지하면서”와 같은 구문을 사용하여 중요한 요소를 보호하세요.
- 필요시 반복: 복잡한 변환은 보통 여러 단계가 필요합니다. 더 나은 제어를 위해 급격한 변화를 연속적인 편집으로 분해하세요.
- 주체 직접 명명: “그녀”, “그것”, “이것”과 같은 대명사 대신 “검은색 단발의 여성”이나 “빨간색 자동차”와 같이 직접 명명하세요.
- 텍스트에 따옴표 사용: 변경하려는 정확한 텍스트를 인용하세요: “joy를 BFL로 교체”가 일반적인 텍스트 설명보다 더 효과적입니다.
- 구도 명확히 제어: 배경이나 설정을 변경할 때 불필요한 재배치를 방지하기 위해 “정확한 카메라 각도, 위치, 구도를 유지”하도록 지정하세요.
- 동사 신중하게 선택: “변환”은 완전한 변화를 암시할 수 있지만, “의상 변경”이나 “배경 교체”는 실제 변경 내용을 더 잘 제어할 수 있게 해줍니다.
기억하세요: 각 편집의 지시사항이 너무 복잡하지 않다면, 내용을 더 명확하게 만드는 것이 항상 도움이 됩니다.