이미지·영상 생성

Mac에서 FLUX.2 Klein으로 참조 이미지 편집하기

새 그림을 만드는 것과 가진 이미지를 고치는 것은 입력부터 다릅니다.

기존 사진의 일부만 바꾸고 나머지 모습을 유지하려면 텍스트 프롬프트에 참조 이미지를 함께 넣는 image-conditioned editing을 사용합니다. Mac의 MFLUX는 FLUX.2 Klein 4B와 9B 편집 실행을 제공하지만, BFL 원본 모델과 별개인 커뮤니티 MLX1 런타임2입니다. 먼저 4B 또는 9B 모델과 입력 파일을 고정해 한 번 생성하고 저장된 이미지를 확인합니다.

실행 조건과 핵심 내용
  • image editing 명령에는 수정할 이미지 경로가 `--image-paths`로 반드시 포함됩니다.
  • MFLUX 문서는 Klein 4B와 9B 변형을 지원하며 9B-KV는 참조 이미지가 있을 때 image-conditioned editing에서 KV cache를 사용합니다.
  • 모델 변형에 따라 가중치 용량과 라이선스 조건이 다릅니다. 4B Apache-2.0과 9B 비상업 조건을 구분하세요.

수정할 컵과 참고 이미지를 정합니다

머그컵 사진에서 컵 색만 바꾸고 싶지만 그림자와 배경 잎은 그대로 두고 싶은 상황을 생각해 보겠습니다. 새 장면을 설명하는 text-to-image와 달리 편집 요청에는 원본 이미지가 입력으로 들어가야 합니다. 프롬프트만 바꾸면 기존 그림의 어느 부분을 보존해야 하는지 모델이 알 수 없습니다.

예제 폴더에는 정면 컵 사진 `mug-front.png`, 같은 컵의 옆면 사진 `mug-side.png`, 원하는 짙은 파란색 견본 `blue-swatch.png`를 둡니다. 이 세 이미지가 각각 편집 대상, 형태 참고, 색 참고라는 뜻을 prompt에도 명확히 적습니다. 바뀌어야 할 색과 고정할 손잡이·테이블·그림자를 구분하면 결과를 보고 어떤 조건이 놓쳤는지 판단하기 쉽습니다.

MFLUX는 Apple Silicon Mac에서 MLX를 이용하는 커뮤니티 프로젝트입니다. MLX Metal3 경로의 현재 지원 기준은 macOS 14 이상이므로, Intel Mac이나 이전 macOS에서 같은 실행을 가정하지 않습니다. BFL의 공식 FLUX.2 저장소는 모델 계열과 라이선스 기준을 확인하는 곳이고, 아래 `mflux-generate-flux2-edit`는 MFLUX가 제공하는 CLI4입니다. 두 프로젝트를 같은 배포물이라고 부르지 않습니다.

Mac 화면에 원래의 흰 컵과 같은 모양의 파란 컵 이미지가 나란히 표시된 책상
편집 요청에는 바꿀 부분과 그대로 둘 부분을 함께 적습니다.

모델 크기와 사용 조건을 먼저 고릅니다

MFLUX FLUX.2 문서는 편집용 Klein 4B와 9B, 그리고 참조 이미지 편집에 맞춘 9B-KV 변형을 안내합니다. 다운로드 용량만 보면 4B가 시작하기 쉽지만, 모델 파일 크기는 생성 중 필요한 총 메모리와 같지 않습니다. Mac에서 열어 둔 앱, 입력 이미지 수와 해상도, 런타임의 작업 공간이 함께 필요합니다. 컴퓨터의 unified memory5가 적거나 디스크 여유가 부족하다면 파일을 받기 전에 이를 먼저 확인하세요.

라이선스도 이름에 Klein이 들어간다는 이유로 하나로 묶지 않습니다. BFL 공식 저장소에서 Klein 4B는 Apache-2.0, 9B 계열은 비상업 조건으로 구분됩니다. 상업 프로젝트라면 실제 선택한 모델 저장소의 license와 BFL의 최신 사용 조건을 검토합니다. 기술적으로 로드되는 것과 이용 목적에 맞는 것은 다른 확인입니다.

예제는 우선 `flux2-klein-4b`를 사용합니다. 9B 또는 9B-KV로 바꿔 시험할 때는 model 옵션 하나만 변경하고 같은 원본과 같은 편집 지시를 사용합니다. 9B-KV의 캐시 기능은 참조 이미지가 입력될 때 작동하는 편집 경로에 관한 것이므로 일반적인 텍스트만 넣는 생성에 적용된다고 설명하지 않습니다.

MFLUX를 설치하고 편집 명령을 실행합니다

MFLUX 공식 README는 `uv`가 준비된 환경에서 tool install을 안내합니다. Homebrew가 설치된 Apple Silicon Mac에서는 먼저 `brew install uv`를 실행한 뒤 `uv --version`으로 확인합니다. Homebrew를 쓰지 않는다면 uv의 공식 설치 안내에서 macOS 설치법을 고르세요. 이어 `uv tool install --upgrade mflux`로 MFLUX를 설치하고 `uv tool list`와 `mflux-generate-flux2-edit --help`에서 도구 및 편집 옵션을 확인합니다. 모델은 첫 실행 때 자동으로 내려받으므로 네트워크와 디스크 공간을 준비합니다. 아래 세 이미지 파일은 명령을 실행할 폴더에 둡니다.

명령이 끝난 뒤 터미널에서 완료 파일 경로 또는 저장된 이미지가 생성됐는지 확인하고 Preview에서 컵과 주변 그림자를 원본과 비교합니다. 결과가 나왔다고 해서 모든 세부 묘사가 유지됐다는 뜻은 아니므로, 컵 테두리와 손잡이 위치가 보존됐는지 따로 대조합니다. 생성 이미지를 실제 사진의 픽셀 보존 편집이라고 보증하지 않습니다.

Apple Silicon Mac에 MFLUX 설치
brew install uv
uv --version
uv tool install --upgrade mflux
uv tool list
mflux-generate-flux2-edit --help
MFLUX와 uv의 공식 설치 순서입니다. CLI 이름이 표시되고 help가 열리는지 확인합니다.
FLUX.2 Klein 4B 참조 이미지 편집
mflux-generate-flux2-edit --model flux2-klein-4b --image-paths mug-front.png mug-side.png blue-swatch.png --prompt 'Change only the mug color to match blue-swatch.png. Preserve the mug shape, handle, table, cast shadow, and nearby leaves.' --steps 4 --seed 42
정면·옆면 사진과 색 견본을 참조 이미지로 함께 넣습니다. 같은 seed는 비교를 돕지만 원본 픽셀을 그대로 보존한다고 보장하지 않습니다.
여러 각도의 컵 참고 사진과 Mac 화면의 편집 이미지
참고 이미지마다 어떤 역할을 맡길지 프롬프트에서 구분합니다.

결과를 보고 조건을 한 번씩 조정합니다

컵만 바뀌지 않았다면 입력 파일 경로와 prompt가 인식됐는지 먼저 확인합니다. 그림자나 잎까지 달라졌다면 prompt에서 보존할 요소를 더 구체적으로 적고, 같은 seed와 원본으로 다시 실행합니다. 첫 시도에서 steps와 모델 크기, seed, 참조 수를 모두 바꾸면 어떤 요소가 결과에 영향을 줬는지 분리할 수 없습니다.

같은 원본과 seed에서 prompt의 변경 범위를 좁힌 결과를 저장한 다음 필요한 경우 9B 모델을 검토합니다. 더 큰 모델 파일은 저장공간과 메모리를 더 요구하며, 결과 품질이 모든 입력에서 자동으로 좋아진다는 보장은 아닙니다. 컵의 작은 문양이나 정확한 글자가 중요하다면 출력 그대로 사용하지 말고 원본과 따로 대조하거나 편집을 거칩니다.

Apple Silicon 지원은 Mac의 모든 메모리 구성에서 무조건 실행된다는 뜻이 아닙니다. 프로세스가 종료되거나 메모리 부족이 발생하면 먼저 다른 이미지 생성 앱과 브라우저를 닫고 같은 4B 설정으로 재시도합니다. 그래도 실패하면 MFLUX 설치 문서의 현재 macOS·Python·모델 지원 조건과 오류 로그를 확인합니다. 9B로 바꾸는 것은 메모리 부족을 해결하는 첫 조치가 아닙니다.

컵의 색만 바뀐 두 사진에서 잎과 그림자가 유지됐는지 살펴보는 책상
컵 색이 바뀌었어도 주변 형태와 그림자는 원본과 대조해야 합니다.

보존할 요소가 중요한 작업은 파일을 비교합니다

처음의 컵 사진으로 돌아오면 파란색이 예쁘게 바뀌었는지가 유일한 기준은 아닙니다. 원본과 결과를 나란히 놓고 컵의 윤곽·손잡이와 그림자·잎이 유지되는지 봅니다. 입력 사진을 이용해 편집해도 픽셀 단위 보존을 보장하는 도구는 아니므로, 제품 색상이 정확해야 하는 일이라면 출력 검수와 별도 디자인 편집이 필요할 수 있습니다.

반복 편집을 측정하고 싶다면 같은 Mac, MFLUX 버전, 모델 revision, 원본 파일, 해상도와 prompt를 기록하고 준비 실행 뒤 여러 번 생성 시간을 재세요. 생성 시간은 텍스트 LLM6의 토큰7 속도와 다른 지표입니다. 이 가이드에서 생성 시간을 직접 측정하지 않았으며 공식 블로그나 다른 Mac의 시간을 이 설정의 benchmark로 가져오지 않습니다.

4B 파일이 메모리와 라이선스 목적에 맞으면 먼저 그 구성으로 편집을 시험합니다. 더 높은 모델 크기나 KV 변형은 같은 컵 사진으로 반복해서 보존 조건을 충족하지 못하고, Mac에 이를 적재할 여유가 있을 때만 비교합니다. 새 이미지를 만드는 일과 주어진 사진에서 한 요소만 바꾸는 일이 다르다는 출발점에 맞춰 모델과 입력 경로를 선택하면 됩니다.

공식 실행 자료

설치와 지원 조건은 아래 공식 자료를 기준으로 확인했습니다. 재현할 때는 사용한 모델과 실행기 버전을 함께 기록하세요.

용어 각주

  1. MLX — Apple이 개발하는 머신러닝 프레임워크입니다. Apple silicon에서는 통합 메모리와 Metal을 활용하며, 별도로 Linux 실행 경로도 제공합니다. 지원 모델과 기능은 MLX 기반 도구마다 다릅니다.

    본문으로 돌아가기
  2. 런타임 — 프로그램이 실행될 때 필요한 기능을 제공하는 소프트웨어 환경입니다. 로컬 AI에서는 모델을 실행하는 엔진을 가리키기도 하며, GPU 런타임 라이브러리와 완성된 서빙 앱은 서로 다른 구성요소입니다.

    본문으로 돌아가기
  3. Metal — Apple 기기에서 그래픽과 GPU 병렬 계산을 실행하는 저수준 기술입니다. 모델을 골라 대화하는 앱 자체와는 다릅니다.

    본문으로 돌아가기
  4. CLI — Command-Line Interface의 약자입니다. 터미널에 명령어를 입력해 프로그램을 조작하는 방식입니다.

    본문으로 돌아가기
  5. 통합 메모리 — CPU와 GPU가 같은 물리 메모리 풀을 공유하는 구조입니다. 메모리 용량이 자동으로 늘어나는 것은 아니며, 실제 사용 가능량은 시스템에 따라 다릅니다.

    본문으로 돌아가기
  6. 대규모 언어 모델 — 대량의 텍스트 데이터로 학습해 텍스트를 처리하고 생성하는 언어 모델입니다. 기능과 지원 입력은 모델마다 다릅니다.

    본문으로 돌아가기
  7. 토큰 — 모델이 입력이나 출력을 나누어 처리하는 단위입니다. 토큰 하나가 글자 하나나 일정한 시간 길이에 해당하지는 않습니다.

    본문으로 돌아가기