画像・動画生成

MacでFLUX.2 Kleinの参照画像編集を行う

新しい画像の生成と既存画像の編集では、入力から異なります。

写真の一部を変えながら他の部分を保ちたい場合は、テキストpromptとともに参照画像を入力するimage-conditioned editingを使います。Mac版MFLUXはFLUX.2 Klein 4Bと9Bでの編集を提供しますが、BFLの元モデルとは別のコミュニティ製MLX1 runtime2です。まずモデルvariantと入力ファイルを固定して一度生成し、保存画像を確認します。

実行条件と要点
  • image editingコマンドでは、編集元画像のパスを`--image-paths`で必ず指定します。
  • MFLUX文書はKlein 4Bおよび9B variantに対応しています。9B-KVは参照画像を使うimage-conditioned editingでKV cacheを使用します。
  • モデルvariantによって重み容量とライセンス条件が異なります。4BのApache-2.0と9Bの非商用条件を区別してください。

編集するマグカップと参照画像を決める

写真のマグカップの色だけを変え、影と背景の葉は残したい場面を考えます。新しい場面を描くtext-to-imageとは異なり、編集では元画像を入力する必要があります。promptだけでは既存画像のどの部分を保持すべきかモデルに伝わりません。

例のフォルダーに、正面写真`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 repositoryはモデル系列とライセンスの確認先であり、以下の`mflux-generate-flux2-edit`はMFLUXのCLI4です。両者は別のプロジェクトです。

元の白いマグカップと同じ形の青いマグカップがMac画面に並ぶデスク
編集依頼には変更する部分と、そのまま残す部分の両方を記載します。

まずモデルサイズと利用条件を選ぶ

MFLUXのFLUX.2文書では、編集用Klein 4Bと9B、および参照画像編集向けの9B-KV variantが案内されています。ダウンロード容量だけなら4Bが始めやすいものの、モデルファイルのサイズは生成中に必要な総メモリではありません。Macで開いているアプリ、入力画像の枚数と解像度、runtimeの作業領域も容量を使います。unified memory5やディスクの空きが少ない場合は、ダウンロード前に確認してください。

名前にKleinとあるからといって、ライセンスを一括りにしないでください。BFLの公式repositoryではKlein 4BはApache-2.0、9B系列は非商用条件と区別されています。商用利用では、選択したモデルrepositoryのlicenseとBFLの最新利用条件を確認してください。技術的に読み込めることと、目的に沿って利用できることは別の確認です。

例ではまず`flux2-klein-4b`を使います。9Bまたは9B-KVを試す場合はmodel optionだけを変更し、同じ元画像と編集指示を使います。9B-KVのcache機能は参照画像を入力する編集経路に関するものであり、テキストのみの通常生成にも適用されるとは説明しないでください。

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`でCLIと編集オプションを確認します。モデルは初回実行時に自動ダウンロードされるため、ネットワークとディスク容量を確保します。以下の3画像ファイルはコマンドを実行するフォルダーに置いてください。

コマンド終了後、ターミナルで出力先を確認するか、画像が保存されたことを確かめ、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が認識されたか確認します。影や葉も変わった場合は、保持する要素をpromptでもっと具体的に指定し、同じseedと元画像で再実行します。最初からsteps、モデルサイズ、seed、参照画像数をすべて変えると、何が結果に影響したか切り分けられません。

同じ元画像とseedで、変更範囲を絞ったpromptの結果を保存し、必要な場合だけ9Bモデルを検討します。大きいモデルファイルはより多くのストレージとメモリを必要とし、どの入力でも品質が自動的に向上する保証はありません。細かな柄や正確な文字が重要なら、出力をそのまま使わず、元画像と照合するか別途編集してください。

Apple Silicon対応でも、すべてのMacのメモリ構成で動くわけではありません。プロセスが終了する、またはメモリ不足になる場合は、まず他の画像生成アプリやブラウザを閉じ、同じ4B設定で再試行します。それでも失敗するならMFLUXのインストール文書でmacOS・Python・モデルの現行要件を確認し、エラーログを調べます。メモリ不足への最初の対処として9Bに切り替えるべきではありません。

カップの色だけが変わった2枚の写真で葉や影が保たれたか確認するデスク
カップの色が変わっても、周囲の形や影を元画像と照合してください。

保持要素が重要な作業では画像ファイルを比較する

マグカップの写真に戻ると、青色がきれいに変わったかだけが判断基準ではありません。元画像と結果を並べ、輪郭・取っ手・影・葉が保たれているか確認します。元写真を使った編集でも画素単位の保持は保証されないため、製品色の正確さが必要な場合は出力の検査と別途デザイン編集が必要になることがあります。

編集を繰り返し測定する場合は、同じMac、MFLUX version、model revision、元ファイル、解像度、promptを記録し、ウォームアップ後に複数回の生成時間を測ります。画像生成時間はテキストLLM6のtoken7速度とは別の指標です。このガイドでは生成時間を実測しておらず、公式ブログや別のMacの時間をこの構成のbenchmarkとして流用していません。

4Bファイルがメモリとライセンスの条件に合うなら、まずその構成で編集を試します。同じマグカップ写真で繰り返し試しても保持条件を満たさず、Macに読み込む余裕がある場合に限り、大きいモデルやKV variantを比較してください。新しい画像の生成と、渡された写真の一要素だけを変える編集の違いに合わせてモデルと入力経路を選びます。

公式の実行資料

インストールと対応条件は以下の公式資料で確認しました。再現する際は使用したモデルとランタイムのバージョンも記録してください。

用語の注釈

  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. トークン — モデルが入力や出力を分けて処理する単位です。1トークンが1文字や一定の時間に相当するわけではありません。

    本文に戻る