AI IMAGE · FLUX KONTEXT

Flux Kontext 사용법 — 마스크 없이 글로 그림 고치기 (ComfyUI)

junetapa 2026. 10. 18 업데이트 약 19분

사진 속 컵 색 하나만 바꾸고 싶을 때, 로컬 ComfyUI에서 쓰던 길은 둘이었다. 바꿀 자리를 마스크로 칠하는 인페인팅, 그리고 그림 전체를 조금 흔들어 다시 그리는 img2img다. FLUX.1 Kontext [dev]는 셋째 길을 낸다. 마스크를 그리지 않고 «컵을 빨간색으로 바꿔라»는 글 한 줄로 고친다. 이 글은 Kontext가 무엇을 하는 모델인지, 공식 워크플로가 denoise를 1.0으로 두는데도 원래 그림이 남는 이유, Flux 파일을 이미 받아 둔 PC에서 더 받을 파일, 그리고 지시문과 입력 그림 크기를 다루는 법을 차례로 짚는다. 2026년 10월 23일 새벽에 Hugging Face 모델 카드와 API 파일 목록, Black Forest Labs(BFL) 공지 두 편과 기술 보고서, ComfyUI 공식 문서 · 예제 · 워크플로 템플릿, ComfyUI와 diffusers의 소스 코드를 직접 받아 문장과 숫자를 대조했고, 입력 그림 크기를 고르는 ComfyUI 식은 서버의 Python으로 그대로 돌려 보았다. 그림을 뽑아 화질이나 속도를 잰 글은 아니다.

이어 읽기

Flux 본체 · 텍스트 인코더 · VAE를 어느 폴더에 두는지는 Flux 로컬 파일 구성 편에 먼저 정리해 두었다. 이 글은 그 위에 Kontext 본체 하나를 얹는다. 마스크로 자리를 정해 고치는 길은 ComfyUI 인페인팅 편에, denoise로 바뀌는 정도를 고르는 길은 img2img denoise 편에 있다.

Flux Kontext는 무엇을 고치나 — 마스크 없이 글로 고치는 모델

BFL의 모델 카드는 FLUX.1 Kontext [dev]를 «글 지시를 바탕으로 그림을 고칠 수 있는 120억 파라미터 rectified flow transformer»라고 소개한다. 카드가 든 특징은 다섯 가지다. 편집 지시로 기존 그림을 바꾸고, 미세조정 없이 인물 · 화풍 · 사물을 참고하며, 여러 번 이어 고쳐도 시각적 흔들림이 적고, 가이던스 증류(guidance distillation)로 학습해 더 효율적이며, 가중치가 공개돼 있다는 점이다.

이름에 붙은 [dev]에도 사연이 있다. BFL은 2025년 5월 29일 Kontext 묶음을 발표하면서 API로 쓰는 [pro]와 실험판 [max]를 먼저 내놓고, [dev]는 연구 · 안전 시험용 비공개 베타로 두었다. 같은 해 6월 26일에 [dev]를 공개 가중치로 풀면서 «소비자용 하드웨어에서 돌아가는 12B 모델»이고 «편집 작업에만 집중한다»고 적었다. ComfyUI 문서도 세 판을 갈라, [pro] · [max]는 Partner Nodes(유료 API 노드)로 부르고 내 PC에서 돌리는 것은 [dev]라고 안내한다. 이 글이 다루는 것은 [dev]다.

이젤 위 그림 앞에서 작은 로봇이 짧은 메모 쪽지를 내밀자, 그림 속 컵 하나만 빨간색으로 바뀌고 나머지 장면은 그대로 남아 있는 그림 — 마스크 없이 글 지시 한 줄로 그림의 한 부분을 고치는 Flux Kontext 개념
Kontext는 붓 대신 쪽지를 받는다 — 무엇을 어떻게 바꿀지 글로 적는다.

세 갈래 견주기 — 마스크 · denoise · 글 지시

인페인팅은 바꿀 자리를 마스크로 정하고 그 안을 다시 그린다. 어디를 고칠지는 사람이 픽셀 단위로 정하고, 모델은 그 칸 안만 책임진다. 마스크를 칠하는 법과 노드 두 갈래는 인페인팅 편에 있다. img2img는 그림 전체를 잠재 공간으로 옮긴 뒤 denoise만큼 노이즈를 덮어 다시 그리는 방식이라, 많이 바꾸려고 denoise를 올리면 원래 모습도 그만큼 잃는다. 이 맞바꿈은 img2img denoise 편에서 단계별로 다뤘다.

Kontext는 «어디를»까지 글로 넘긴다. ComfyUI 문서가 든 가장 단순한 예는 «Change the car color to red»처럼 무엇을 어떻게 바꿀지 적는 문장이다. 그렇다고 Kontext가 두 방법을 밀어내는 것은 아니다. ComfyUI 예제 페이지는 Kontext 바로 아래에 Fill(인페인팅) 전용 모델을 따로 안내한다. BFL 공지도 실패 사례로 «드물게 지시를 정확히 따르지 않고 특정 요구를 무시한다»는 점을 적었다. 자리를 모델이 글에서 읽어 내는 방식이라, 꼭 그 칸만 바꿔야 하는 일이라면 마스크가 여전히 확실하다는 것이 글쓴이의 정리다.

세 갈래 편집 방법 견주기 도해 — 인페인팅(그림 + 마스크 + 프롬프트, 마스크 안만 다시 그림, 핵심 칸은 마스크와 denoise), img2img(그림 + 프롬프트, 그림 전체를 denoise 비율만큼 다시 그림, 핵심 칸은 denoise), Flux Kontext(그림 + 글 지시, 지시한 부분을 모델이 읽어 고침, 공식 템플릿은 denoise 1.0 · CFG 1 · FluxGuidance 2.5, 핵심 노드는 ReferenceLatent)
자리를 사람이 정하면 인페인팅, 정도를 숫자로 정하면 img2img, 둘 다 글로 넘기면 Kontext다.

원래 그림이 남는 이유 — Flux Kontext는 그림을 «참고 자리»에 넣는다

공식 워크플로를 열면 먼저 걸리는 숫자가 있다. ComfyUI 워크플로 템플릿 flux_kontext_dev_basic의 KSampler는 steps 20 · cfg 1 · euler · simple에 denoise가 1.0이다. img2img에서 denoise 1.0은 원래 그림을 노이즈로 완전히 덮고 새로 그린다는 뜻이었다. 그런데 Kontext 워크플로는 1.0으로 두고도 원래 그림의 구도와 인물을 지킨다.

답은 그림이 들어가는 자리에 있다. 템플릿에서 입력 그림은 FluxKontextImageScale과 VAE Encode를 지난 뒤 두 갈래로 나뉜다. 한 갈래는 KSampler의 latent_image로, 다른 갈래는 ReferenceLatent 노드로 간다. ReferenceLatent는 소스 코드 설명에 «편집 모델의 길잡이 잠재(guiding latent)를 정하는 노드»라고 적혀 있고, 받은 잠재를 conditioning의 reference_latents 칸에 덧붙인다. 원래 그림은 노이즈를 덮을 출발점이 아니라, 프롬프트와 함께 «조건» 쪽에 실린다는 뜻이다. 템플릿 안 메모도 KSampler의 latent_image 자리에 EmptySD3LatentImage 노드를 이어 결과 크기를 바꿔도 된다고 적었다. 출발 잠재가 빈 판이어도 된다는 이야기다.

두 개의 캔버스가 나란히 놓여 있고, 왼쪽 캔버스의 완성된 풍경 그림이 은은한 빛으로 감싸여 참고본처럼 서 있으며, 작은 로봇이 오른쪽 빈 캔버스에 왼쪽 그림을 보며 같은 풍경을 다시 그리고 있는 그림 — 입력 그림을 참고 자리에 두고 새 그림을 그리는 Flux Kontext 원리 개념
원래 그림은 덮이는 바탕이 아니라 옆에 세워 둔 참고본이다.

기술 보고서와 diffusers 코드로 본 «이어 붙이기»

BFL 기술 보고서 초록은 이 방식을 «단순한 시퀀스 이어 붙이기(sequence concatenation)»라고 부르고, 이 한 구조로 국소 편집과 맥락 속 생성을 함께 처리한다고 적었다. diffusers의 Kontext 파이프라인 코드에서 그 모양이 그대로 보인다. 단계마다 생성 중인 잠재(latents) 뒤에 입력 그림의 잠재(image_latents)를 이어 붙여 모델에 넣고, 입력 그림 쪽 위치 번호(image_ids)의 첫 칸은 1로 바꿔 생성 쪽과 구분한다. 모델이 내놓은 예측에서는 앞쪽, 생성 중인 잠재 길이만큼만 잘라 다음 단계로 넘긴다. 입력 그림은 매 단계 옆에 놓인 참고본으로 읽히고, 결과 잠재에 직접 섞이지는 않는 구조다.

가이던스 칸도 FLUX.1 [dev]와 같은 틀이다. 템플릿의 negative 칸에는 프롬프트를 0으로 만드는 ConditioningZeroOut이 들어가고 CFG는 1이며, 가이던스 값은 FluxGuidance 노드가 2.5로 맡는다. 모델 카드의 diffusers 예제도 guidance_scale=2.5를 쓰고, BFL GitHub 저장소의 Kontext 문서도 명령 줄 예시에 --guidance 2.5와 --num_steps 30을 넣었다. diffusers 파이프라인 자체의 기본값은 3.5라 예제와 다르다는 점은 알아 둘 만하다. CFG 1에서 네거티브 칸이 계산에 들어가지 않는 이유는 네거티브 프롬프트 편에 정리해 두었다.

Flux Kontext 공식 워크플로 연결 도해 — Load Image(두 장이면 ImageStitch로 오른쪽에 붙임) → FluxKontextImageScale → VAE Encode가 두 갈래로 나뉘어 ① ReferenceLatent(CLIP Text Encode와 합쳐 조건이 됨) → FluxGuidance 2.5 → KSampler positive, ② KSampler latent_image(크기만 정함 · EmptySD3LatentImage로 바꿔도 됨). negative는 ConditioningZeroOut, KSampler는 steps 20 · cfg 1 · euler · simple · denoise 1.0, 로더는 UNETLoader · DualCLIPLoader(flux) · VAELoader
입력 그림은 KSampler 출발점이 아니라 ReferenceLatent를 거쳐 조건 쪽으로 들어간다 — 2026년 10월 23일 공식 템플릿 기준.
인용 — Black Forest Labs 외. FLUX.1 Kontext 기술 보고서 (arXiv:2506.15742)

«Using a simple sequence concatenation approach, FLUX.1 Kontext handles both local editing and generative in-context tasks within a single unified architecture.» — 단순한 시퀀스 이어 붙이기 방식으로, FLUX.1 Kontext는 국소 편집과 맥락 속 생성 작업을 하나로 통합된 구조 안에서 처리한다.

모델을 만든 곳이 직접 밝힌 작동 방식이다. 입력 그림을 덮어 그리는 것이 아니라 생성 중인 그림 옆에 이어 붙여 읽힌다는 앞 절의 코드 흐름과 맞물린다.

파일 구성 — Flux를 받아 뒀다면 Kontext 본체 하나만 더

ComfyUI 문서가 안내하는 Kontext [dev] 구성은 본체 · VAE · 텍스트 인코더 둘로, FLUX.1 [dev]와 같은 네 칸이다. 본체 flux1-dev-kontext_fp8_scaled.safetensors는 diffusion_models 폴더에, VAE ae.safetensors는 vae 폴더에, 인코더 clip_l과 t5xxl(fp16 또는 fp8_e4m3fn_scaled)은 text_encoders 폴더에 둔다. BFL 공지도 Kontext [dev]가 기존 FLUX.1 [dev] 추론 코드와 호환된다고 적었다.

그래서 겹치는 파일은 다시 받을 필요가 없다. 2026년 10월 23일 Hugging Face API로 받은 바이트 수를 보면, Kontext 저장소의 ae.safetensors는 335,304,388바이트로 FLUX.1 [dev] 저장소의 ae와 한 바이트도 다르지 않다. 인코더 둘은 Kontext 문서도 FLUX.1 문서와 같은 comfyanonymous/flux_text_encoders 저장소의 파일을 쓴다. Flux 로컬 파일 구성 편대로 받아 둔 PC라면 새로 받을 것은 본체 하나다.

선반 위에 같은 모양의 상자 세 개가 이미 나란히 놓여 있고, 작은 로봇이 청록색 띠를 두른 새 상자 하나를 빈 자리에 올려놓는 그림 — 이미 받아 둔 Flux 파일 셋은 그대로 두고 Kontext 본체 하나만 더하는 개념
인코더와 VAE는 이미 선반에 있다. 더하는 것은 본체 상자 하나다.

본체 두 판 — 원본 23.80GB와 fp8 11.90GB

본체는 두 판이 있다. BFL 저장소의 원본 flux1-kontext-dev.safetensors는 23,802,947,360바이트, 약 23.80GB다. Comfy-Org 저장소의 flux1-dev-kontext_fp8_scaled.safetensors는 11,904,640,136바이트, 약 11.90GB로 절반쯤이다. ComfyUI 예제 페이지는 원본을 diffusion_models에 넣으라고 안내하면서 너무 크면 fp8판을 대안으로 들었고, ComfyUI 문서와 공식 템플릿은 처음부터 fp8판을 쓴다. 원본 본체는 FLUX.1 [dev] 본체(23,802,932,552바이트)와 크기가 거의 같다. Kontext 전용 VRAM 수치는 이번에 본 공식 문서에서 찾지 못했으므로, 카드별 판단은 모델별 VRAM 표의 Flux 줄을 출발점으로 삼는 것이 글쓴이의 판단이다.

받는 크기를 더하면 이렇다. 처음부터 다 받는 경우, 공식 템플릿 구성(fp8 본체 · t5xxl_fp8_e4m3fn_scaled · clip_l · ae)은 17.64GB이고, 원본 본체에 t5xxl_fp16을 붙인 구성은 34.17GB다. FLUX.1 파일이 이미 있다면 fp8 본체 11.90GB 하나로 끝난다.

라이선스와 동의 절차는 받는 곳마다 다르게 보인다. BFL 저장소는 API gated 값이 auto이고, 페이지에서 FluxDev Non-Commercial License와 이용 정책에 동의해야 파일이 열린다. Comfy-Org 저장소는 gated 값이 false라 동의 절차가 없지만, 라이선스 표기는 같은 flux-1-dev-non-commercial-license다. 2025년 11월 25일 갱신된 라이선스 원문은 적용 모델 목록에 FLUX.1 Kontext [dev]를 이름으로 넣었고, 모델은 비상업 목적으로만 쓸 수 있다고 정했다. 결과물(Outputs)에 대해서는 소유권을 주장하지 않고 «상업 목적을 포함해 어떤 목적에도» 쓸 수 있되, 금지 조항과 FLUX 모델과 경쟁하는 모델의 학습은 뺐다. 결과물을 만들거나 퍼뜨릴 때는 콘텐츠 필터를 두거나 사람이 검토하고, 법이 요구하는 범위에서 AI로 만들었다는 표시를 하라는 조건도 붙어 있다. 비상업 목적의 정의가 수익 활동을 따로 빼고 있으므로, 수익과 이어지는 쓰임이라면 원문 전체와 BFL의 상업 라이선스 안내를 직접 읽고 판단해야 한다. 스테이블 디퓨전 쪽 라이선스 읽는 법은 상업적 이용 · 라이선스 편에 있다.

Flux Kontext 파일 구성과 크기 도해 — diffusion_models: flux1-dev-kontext_fp8_scaled 11.90GB(Comfy-Org · 동의 절차 없음) 또는 flux1-kontext-dev 23.80GB(BFL · 로그인과 동의), vae: ae.safetensors 335,304,388바이트(FLUX.1 dev와 같은 파일), text_encoders: clip_l 0.25GB · t5xxl fp8_scaled 5.16GB 또는 fp16 9.79GB(FLUX.1과 같은 파일). 합계: 템플릿 구성 17.64GB · 원본 + fp16 34.17GB · FLUX.1을 받아 둔 경우 본체만 11.90GB. 라이선스: 모델은 비상업, 결과물은 금지 조항 밖에서 상업 포함 사용 · 필터 또는 검토
Flux를 받아 둔 PC라면 새로 받을 것은 본체 하나 — 2026년 10월 23일 Hugging Face API 바이트 수 기준.

Flux Kontext 지시문 쓰는 법과 입력 그림 크기

지시문은 영어로 쓴다. ComfyUI 문서는 워크플로 단계를 설명하면서 CLIP Text Encode 칸에 «only English is supported», 영어만 지원한다고 적었다. 문서가 정리한 요령은 네 줄이다. 흐릿한 낱말 대신 구체적으로 적고, 복잡한 수정은 여러 번의 단순한 단계로 나누며, 바꾸지 않을 것을 분명히 적고, transform 대신 change나 replace 같은 동사를 고른다.

문서가 든 고친 예문이 요령을 잘 보여 준다. «Transform the person into a Viking»은 인물이 너무 많이 바뀌므로 «Change the clothes to be a viking warrior while preserving facial features»로 쓴다. «Put him on a beach»는 구도가 흔들리므로 «Change the background to a beach while keeping the person in the exact same position, scale, and pose»로 쓴다. 그림 속 글자를 바꿀 때는 «Replace 'joy' with 'BFL'»처럼 바꿀 글자를 따옴표로 묶는다. 인물을 «she»가 아니라 «The woman with short black hair»처럼 생김새로 부르라는 요령도 있다.

작은 로봇이 낮은 계단을 한 칸씩 오르고 있고, 계단마다 같은 풍경 그림 액자가 놓여 조금씩 바뀌어 가다가 맨 위 몇 칸의 액자는 점점 흐려지고 얼룩이 생기는 그림 — 지시를 단계로 나누되 너무 여러 번 이어 고치면 화질이 떨어지는 개념
한 번에 하나씩 고치되, 계단이 너무 길어지면 그림이 지친다.

단계는 나누되 너무 길게 잇지 않는다

단계를 나누라는 요령에는 반대쪽 경고가 붙는다. BFL은 Kontext를 발표하면서 실패 사례로 «지나치게 여러 번 이어 고치면 시각적 잡티가 생겨 화질이 떨어진다»고 적고, 여섯 번 이어 고친 뒤 눈에 띄게 망가진 그림을 예로 보였다. 증류 과정 자체가 잡티를 낼 수 있다는 한계도 함께 적었다. ComfyUI 문서는 여러 차례 고치기 편하도록 템플릿이 Load Image(from output) 노드로 앞 결과를 바로 불러온다고 설명한다. 결과가 흐려지기 시작하면 앞 단계 그림으로 돌아가 두 지시를 한 문장에 합쳐 다시 거는 편이 낫다는 것이 글쓴이의 정리다.

입력 그림은 17가지 크기 가운데 하나로 맞춰진다

공식 템플릿에서 입력 그림은 VAE Encode 앞에 FluxKontextImageScale 노드를 지난다. ComfyUI 소스에서 이 노드의 설명은 «그림을 flux kontext에 더 맞는 크기로 바꾼다»이고, 안에 PREFERRED_KONTEXT_RESOLUTIONS라는 17쌍의 해상도 목록이 있다. 672×1568부터 1024×1024를 지나 1568×672까지다. 노드는 입력 그림의 가로세로 비율과 가장 가까운 쌍을 고르고, lanczos로 크기를 바꾸며 가운데를 기준으로 자른다. diffusers 파이프라인도 같은 17쌍을 쓰며, 주석에 «Kontext는 특정 해상도로 학습했으므로 그중 하나를 쓰기를 권한다»고 적었다.

이 «가운데 자르기»가 실제로 얼마를 자르는지 궁금해, 2026년 10월 23일 서버의 Python 3.14.8로 nodes_flux.py의 고르는 식과 comfy/utils.py의 자르기 식을 그대로 옮겨 돌려 보았다. 17쌍은 모두 16의 배수였고, 화소 수는 1,034,752에서 1,062,400 사이로 약 100만 화소에 모여 있었다. 1920×1080 화면 캡처는 1392×752로 맞춰지면서 위아래가 21px씩 잘려 넓이의 3.9%가 빠졌다. 4:3 비율 사진인 4032×3024는 1184×880으로 위아래 14px씩, 넓이 0.9%가 잘렸다. 6000×4000(3:2)은 목록의 1248×832와 비율이 같아 잘린 곳이 없었고, 2560×1080 같은 와이드 화면은 1568×672로 좌우가 20px씩 잘렸다.

FluxKontextImageScale 해상도 도해 — PREFERRED_KONTEXT_RESOLUTIONS 17쌍(672×1568 · 688×1504 · 720×1456 · 752×1392 · 800×1328 · 832×1248 · 880×1184 · 944×1104 · 1024×1024 · 1104×944 · 1184×880 · 1248×832 · 1328×800 · 1392×752 · 1456×720 · 1504×688 · 1568×672)과 서버 Python 시험 결과: 1920×1080 → 1392×752 위아래 21px씩 3.9%, 4032×3024 → 1184×880 위아래 14px씩 0.9%, 6000×4000 → 1248×832 잘림 없음, 2560×1080 → 1568×672 좌우 20px씩 1.6%
16:9 캡처는 위아래가 조금 잘린다 — 2026년 10월 23일 ComfyUI 소스 식을 서버 Python으로 실행한 결과.

16:9 화면 캡처의 맨 위 · 맨 아래에 글자나 중요한 물건이 붙어 있다면, 넣기 전에 목록에 있는 비율(예: 3:2에 해당하는 1248×832)로 직접 잘라 두는 편이 잘리는 자리를 직접 고를 수 있어 낫다는 것이 이 시험에서 얻은 결론이다. 두 장을 함께 넣고 싶을 때는 템플릿의 ImageStitch 노드가 둘째 그림을 첫째 그림 오른쪽에 붙여 한 장으로 만든 뒤 같은 길로 보낸다. 템플릿 메모는 그림을 따로 인코딩해 ReferenceLatent를 여러 개 이어 붙이는 방법도 있다고 적었고, 소스 코드의 ReferenceLatent 설명도 모델이 지원하면 여러 개를 이어 여러 참고 그림을 줄 수 있다고 한다. 참고 방식을 고르는 FluxKontextMultiReferenceLatentMethod 노드는 소스에 실험 노드로 표시돼 있다. 워크플로를 열었는데 이런 노드가 빨갛게 비어 있다면, ComfyUI 문서가 먼저 꼽는 원인은 오래된 ComfyUI다. 업데이트 뒤 문제가 생겼을 때 되돌리는 법은 업데이트 뒤 안 켜질 때 편에 있다.

자주 묻는 것

Flux Kontext는 무료로 받아서 써도 되나요?

FLUX.1 Kontext [dev] 가중치는 Hugging Face에서 받을 수 있고, BFL 저장소는 로그인과 라이선스 동의 뒤에 파일이 열립니다. 라이선스는 FLUX [dev] Non-Commercial License로, 모델 자체는 비상업 목적으로만 쓸 수 있습니다. 결과물은 금지 조항 밖에서 상업 목적을 포함해 쓸 수 있다고 적혀 있지만, 필터나 사람 검토, 법이 요구하는 AI 표시 같은 조건이 붙고 비상업 목적의 정의가 수익 활동을 빼고 있으므로 수익과 이어지는 쓰임이라면 원문을 직접 확인해야 합니다.

지시문을 한글로 써도 되나요?

ComfyUI 공식 문서는 Kontext 워크플로의 CLIP Text Encode 칸에 영어만 지원한다고 적었습니다. 지시문은 «Change the background to a beach while keeping the person in the exact same position»처럼 영어로, 바꿀 것과 남길 것을 함께 적는 형태가 문서의 권장입니다.

FLUX.1 dev 파일이 이미 있으면 무엇을 더 받아야 하나요?

본체 하나입니다. Kontext의 ae.safetensors는 FLUX.1 dev의 ae와 바이트 수까지 같고, clip_l과 t5xxl 인코더도 같은 저장소의 같은 파일을 씁니다. 본체는 Comfy-Org의 fp8_scaled판이 약 11.90GB, BFL 원본이 약 23.80GB이며 둘 다 diffusion_models 폴더에 넣습니다.

원래 그림을 더 지키려면 denoise를 낮추면 되나요?

공식 템플릿은 denoise를 1.0으로 둡니다. Kontext에서 원래 그림을 지키는 일은 KSampler의 출발 잠재가 아니라 ReferenceLatent로 조건에 실린 입력 그림이 맡기 때문입니다. denoise를 낮추는 쓰임은 이번에 본 공식 문서에 안내가 없으므로, 먼저 지시문에 «while keeping … unchanged»처럼 남길 것을 적는 문서의 요령부터 써 보는 편이 순서입니다.

마스크 인페인팅과 Kontext 가운데 무엇을 골라야 하나요?

바꿀 자리를 정확히 정해야 하면 인페인팅, 자리를 글로 말할 수 있고 인물이나 구도를 지키며 여러 번 다듬고 싶다면 Kontext가 맞습니다. BFL은 Kontext가 드물게 지시를 따르지 않는 경우와 여러 번 이어 고칠 때 화질이 떨어지는 경우를 실패 사례로 적었으므로, 결과가 빗나가는 칸이 있으면 그 부분만 마스크로 다시 고치는 식으로 둘을 섞어 쓸 수 있습니다.

정리 — Flux Kontext를 쓰기 전에 볼 네 가지

Flux Kontext는 마스크 없이 글 지시로 그림을 고치는 Flux 계열 편집 모델이다. 원래 그림은 KSampler가 덮어 그릴 출발점이 아니라 ReferenceLatent를 거쳐 조건 쪽에 실리고, 그래서 공식 템플릿은 denoise 1.0 · CFG 1 · FluxGuidance 2.5로 돈다. 자리를 픽셀 단위로 정해야 하는 일은 여전히 인페인팅이 확실하다.

시작 전에 볼 것은 네 가지다. 첫째, Flux를 받아 둔 PC라면 새로 받을 것은 본체 하나이고 fp8판은 약 11.90GB다. 둘째, 모델은 비상업 라이선스이고 결과물 쓰임에는 조건이 붙으니 수익과 이어지면 원문을 읽는다. 셋째, 지시문은 영어로, 바꿀 것과 남길 것을 함께 적고 단계를 나누되 너무 길게 잇지 않는다. 넷째, 입력 그림은 17가지 크기 가운데 하나로 맞춰지며 비율이 맞지 않으면 가운데를 기준으로 잘리므로, 가장자리가 중요한 그림은 미리 목록 비율로 잘라 넣는다.

Flux Kontext 사용법 대표 그림 — 왼쪽에 «Flux Kontext · 글로 그림 고치기» 제목이 있고, 오른쪽에서 작은 로봇이 쪽지를 이젤에 붙이자 그림의 한 부분만 색이 바뀌는 장면
Flux Kontext 사용법 — 마스크 없이 글로 그림 고치기 (ComfyUI).

참고 자료

  1. Black Forest Labs. FLUX.1 Kontext [dev] 모델 카드 — 글 지시로 그림을 고치는 120억 파라미터 rectified flow transformer, 주요 특징(편집 지시 · 미세조정 없는 참조 · 여러 번 고쳐도 흔들림 적음 · 가이던스 증류 학습), diffusers 예제 guidance_scale=2.5, FluxDev Non-Commercial License 동의 안내, ComfyUI · Diffusers 지원(2026-10-23 확인). huggingface.co
  2. Black Forest Labs. Introducing FLUX.1 Kontext and the BFL Playground — 2025-05-29 발표, [pro] · [max] API 공개와 [dev] 비공개 베타, 실패 사례(여러 번 과하게 고치면 잡티 · 여섯 번 이어 고친 뒤 망가진 예 · 지시를 가끔 따르지 않음 · 증류가 잡티를 낼 수 있음)(2026-10-23 확인). bfl.ai
  3. Black Forest Labs. FLUX.1 Kontext [dev] - Open Weights for Image Editing — 2025-06-26 공개, 소비자용 하드웨어에서 도는 12B 모델, 편집 작업에만 집중, FLUX.1 [dev] 추론 코드와 호환, ComfyUI 첫날 지원, 비상업 라이선스와 상업 라이선스 포털(2026-10-23 확인). bfl.ai
  4. Black Forest Labs 외. FLUX.1 Kontext: Flow Matching for In-Context Image Generation and Editing in Latent Space (arXiv:2506.15742) — 단순한 시퀀스 이어 붙이기로 국소 편집과 맥락 생성을 한 구조에서 처리, KontextBench 1026쌍 · 5개 과제 분류(2025-06-17 제출 · 2026-10-23 확인). arxiv.org
  5. ComfyUI Docs. ComfyUI FLUX Kontext Dev Native Workflow Example — 파일 4종과 폴더(diffusion_models · vae · text_encoders), pro · max는 Partner Nodes, CLIP Text Encode «only English is supported», 지시문 요령(구체적으로 · 남길 것 밝히기 · 단계 나누기 · change · replace 동사)과 고친 예문, Load Image(from output), 노드가 없으면 업데이트(2026-10-23 확인). docs.comfy.org
  6. ComfyUI Examples. Flux — Kontext 원본 flux1-kontext-dev.safetensors는 diffusion_models, 너무 크면 fp8판 대안, Fill(인페인팅) 모델 따로 안내(2026-10-23 확인). comfyanonymous.github.io
  7. Comfy-Org. workflow_templates flux_kontext_dev_basic.json — 노드 연결(ImageStitch → FluxKontextImageScale → VAE Encode → ReferenceLatent · KSampler latent_image), KSampler steps 20 · cfg 1 · euler · simple · denoise 1, FluxGuidance 2.5, negative ConditioningZeroOut, ImageStitch right, EmptySD3LatentImage로 크기 바꾸기 메모(2026-10-23 main 확인). github.com
  8. Comfy-Org. ComfyUI comfy_extras/nodes_flux.py — PREFERRED_KONTEXT_RESOLUTIONS 17쌍(672×1568 ~ 1568×672), FluxKontextImageScale이 비율 가장 가까운 쌍을 골라 lanczos · center, FluxKontextMultiReferenceLatentMethod 실험 노드(2026-10-23 master 확인). github.com
  9. Comfy-Org. ComfyUI comfy_extras/nodes_edit_model.py — ReferenceLatent «편집 모델의 길잡이 잠재를 정함 · 여러 개를 이어 여러 참고 그림», conditioning의 reference_latents에 덧붙임(2026-10-23 master 확인). github.com
  10. Comfy-Org. ComfyUI comfy/utils.py — common_upscale의 center 자르기 식(비율이 다르면 긴 쪽 양 끝을 같은 폭으로 자름)(2026-10-23 master 확인). github.com
  11. Hugging Face. diffusers pipeline_flux_kontext.py — latents 뒤에 image_latents를 이어 붙여 모델에 넣음, image_ids 첫 칸 1, 예측은 latents 길이만큼만 씀, «Kontext is trained on specific resolutions» 주석과 같은 17쌍, 기본값 guidance_scale 3.5 · num_inference_steps 28 · true_cfg_scale 1.0(2026-10-23 main 확인). github.com
  12. Black Forest Labs. FLUX.1-Kontext-dev 파일 목록(Hugging Face API) — flux1-kontext-dev.safetensors 23,802,947,360바이트 · ae.safetensors 335,304,388바이트 · safetensors 합계 57,883,347,786바이트, gated auto, 라이선스 flux-1-dev-non-commercial-license(2026-10-23 05:3x 조회). huggingface.co
  13. Comfy-Org. flux1-kontext-dev_ComfyUI — flux1-dev-kontext_fp8_scaled.safetensors 11,904,640,136바이트, gated false, 라이선스 표기 flux-1-dev-non-commercial-license(2026-10-23 05:3x 조회). huggingface.co
  14. comfyanonymous. flux_text_encoders — clip_l 246,144,152바이트 · t5xxl_fp16 9,787,841,024바이트 · t5xxl_fp8_e4m3fn_scaled 5,157,348,688바이트(2026-10-23 05:3x 조회). huggingface.co
  15. Black Forest Labs. FLUX.1-dev 파일 목록(Hugging Face API) — flux1-dev.safetensors 23,802,932,552바이트 · ae.safetensors 335,304,388바이트(2026-10-23 05:3x 조회). huggingface.co
  16. Black Forest Labs. FLUX [dev] Non-Commercial License v2.0 — 2025-11-25 갱신, 모델 목록에 FLUX.1 Kontext [dev], 비상업 목적 정의, 모델은 비상업 목적만, Outputs 소유권 주장 안 함 · 상업 목적 포함 사용 가능(금지 조항 제외) · 경쟁 모델 학습 금지, 콘텐츠 필터 또는 사람 검토 · 법이 요구하면 AI 생성 표시(2026-10-23 확인). bfl.ai
  17. Black Forest Labs. flux GitHub docs/image-editing.md — python -m flux kontext 예시(--num_steps 30 · --guidance 2.5), 라이선스 표(2026-10-23 main 확인). github.com
FLUXFluxKontextComfyUIAI이미지편집이미지편집인페인팅로컬AI텍스트지시편집스테이블디퓨전AI그림
junetapa(박준철)
AI 도구를 직접 굴려 보고 남은 기록을 정리한다.
Twitter Facebook URL 복사