

FLUX.2 Klein 9B ワークフロー:ローカル環境構築ガイド
FLUX.2 Klein 9B を ComfyUI でローカル実行する手順を解説。必要なモデルファイル、VRAM 要件、4 ステップ設定、テキストから画像生成と画像編集のワークフロー、よくあるエラーの対処法、ホスト型 FLUX.2 を選ぶべき場面までまとめました。
結論:FLUX.2 Klein 9B をローカルで動かす最短ルートは ComfyUI です。必要なのは、Black Forest Labs が公開している FP8 拡散モデル、Qwen3 8B テキストエンコーダー、FLUX.2 VAE の 3 ファイルだけです。 速度重視なら蒸留版を 4 ステップ・CFG 1.0 で、多様性が欲しい場合や LoRA を学習する予定がある場合は Base 版を 20〜50 ステップ・CFG 4〜5 程度で使います。9B の重みは FLUX Non-Commercial License(非商用ライセンス)で公開されているため、モデル自体を有料サービスに組み込む前にライセンス条件を必ず確認してください。
GPU やドライバー、モデルファイルの管理を避けたい場合は、APIMart でホストされている FLUX.2 の Pro・Flex・Max を使えば、同じテキストから画像生成と参照画像編集を 1 つの API で実行できます。なお、APIMart は Klein 自体を提供していません。本記事は Klein を自分のマシンで動かす方法を解説し、ホスト型 FLUX.2 のほうが手軽なケースも紹介します。
要点まとめ
- FLUX.2 Klein は Black Forest Labs が 2026 年 1 月 15 日に公開したモデルで、4B と 9B の 2 サイズがあり、それぞれ 4 ステップ蒸留版と非蒸留の Base 版が用意されています(BFL 公式発表)。
- Hugging Face のモデルカードによると、Klein 9B は 9B のフローモデルと 8B の Qwen3 テキストエンコーダーで構成され、フル精度では約 29GB の VRAM が必要です。
- 蒸留版 9B は 4 ステップ・guidance 1.0、Base 9B のモデルカード例は 50 ステップ・guidance 4.0、ComfyUI の 9B テキストから画像生成テンプレートは 20 ステップ・CFG 5 です。
- 9B は 2 種類とも FLUX Non-Commercial License、4B は 2 種類とも Apache 2.0 です。
- BFL が RTX GPU 向けに公表した数値では、FP8 で VRAM 使用量が最大 40%、NVFP4 で最大 55% 削減されます。
- 1 つの Klein モデルでテキストから画像生成、単一参照編集、複数参照編集のすべてに対応し、ComfyUI では同じグラフに
ReferenceLatentノードを追加するだけで編集ワークフローになります。
FLUX.2 Klein の概要
| Klein 9B(蒸留版) | Klein Base 9B | Klein 4B(蒸留版) | Klein Base 4B | |
|---|---|---|---|---|
| 開発元 | Black Forest Labs | Black Forest Labs | Black Forest Labs | Black Forest Labs |
| 公開日 | 2026 年 1 月 15 日 | 2026 年 1 月 15 日 | 2026 年 1 月 15 日 | 2026 年 1 月 15 日 |
| サンプリングステップ | 4 | 20〜50(非蒸留) | 4 | 4 より多い(非蒸留) |
| Guidance / CFG | 1.0 | 4.0(モデルカード例) | 1.0 | 公式未確認 |
| テキストエンコーダー | Qwen3 8B | Qwen3 8B | Qwen3 4B(ComfyUI 用ファイル) | Qwen3 4B(ComfyUI 用ファイル) |
| VRAM(フル精度) | 約 29GB | 約 29GB | 約 13GB | 約 13GB |
| ライセンス | FLUX Non-Commercial | FLUX Non-Commercial | Apache 2.0 | Apache 2.0 |
| 向いている用途 | ローカルでの高速生成・編集 | ファインチューニング、LoRA、研究 | コンシューマー GPU、エッジ | 小さめの GPU でのファインチューニング |
| 対応タスク | テキストから画像生成、単一・複数参照編集 | 同左 | 同左 | 同左 |
出典:BFL 公式発表、Klein 9B モデルカード、Klein Base 9B モデルカード、Klein 4B モデルカード、ComfyUI の Klein チュートリアル。
どの Klein をダウンロードすべきか
蒸留版と Base 版
蒸留版はステップ蒸留により 4 ステップでサンプリングできます。これが Klein の速さの理由で、BFL は最新ハードウェアで 1 枚あたり 0.5 秒未満で生成・編集できるとしています。ComfyUI チームの計測では、4B 蒸留版が RTX 5090 でエンドツーエンド約 1.2 秒でした。
Base 版は蒸留されていないため、ステップ数は大幅に増えますが、BFL によれば出力の多様性が高く、ファインチューニングや LoRA 学習にはこちらを使います。Base 9B のモデルカードでは「ファインチューニング、LoRA 学習、研究、そして速度より制御性を重視するカスタムパイプラインに最適」と説明されています。
4B と 9B
9B は Klein シリーズのフラッグシップで、BFL は 5 倍のサイズのモデルに匹敵、あるいは上回ると述べています。4B は導入しやすい選択肢で、約 13GB の VRAM に収まり、BFL は RTX 3090 / 4070 以上を目安に挙げています。GPU の VRAM が 24GB 未満なら、まず 4B のワークフローを試すか、FP8 版の 9B と後述の低 VRAM 対策を組み合わせてください。
ライセンス:できること・できないこと
多くのローカル導入ガイドが触れない部分です。Klein 4B と Base 4B は Apache 2.0 で、商用利用が可能です。Klein 9B と Base 9B は FLUX Non-Commercial License です。このライセンスでは、モデルとその派生物は非商用目的でのみ使用でき、モデルの商用・本番利用は明確に除外されています。一方で同じライセンスには、BFL は出力物の所有権を主張せず、ライセンスで禁止されている場合(出力を使って競合モデルを学習させるなど)を除き、出力物は商用を含むあらゆる目的に使えるとも書かれています。
実務的には、9B を使った実験、研究、個人プロジェクトは問題ありません。有料サービスや本番パイプラインで 9B を動かす場合は、BFL から商用ライセンスを取得する(bfl.ai/licensing)か、Apache ライセンスの 4B、またはホスト型 FLUX.2 に切り替えてください。本記事は法的助言ではないため、ライセンス原文を必ずご自身で確認してください。
| 用途 | おすすめ |
|---|---|
| 学習、研究、個人制作 | Klein 9B または Base 9B をローカルで |
| 商用プロダクト(セルフホスト) | Klein 4B(Apache 2.0)、または 9B の BFL 商用ライセンス |
| 商用プロダクト(GPU を管理しない) | API 経由でホスト型 FLUX.2 Pro / Flex |
| LoRA 学習 | Klein Base 9B または Base 4B |
事前準備:ハードウェア、ソフトウェア、アクセス権
GPU とメモリ
| 構成 | 目安 |
|---|---|
| 9B(BF16) | モデルカードでは約 29GB。RTX 4090 以上でオフロードを併用 |
| 9B(FP8) | BFL によると BF16 比で最大 40% 削減。9B の正確な数値は公式未確認 |
| 9B(NVFP4) | BFL によると最大 55% 削減。新しめの NVIDIA RTX GPU が必要 |
| 4B 蒸留版(ComfyUI、FP8) | ComfyUI が RTX 5090 で計測した値は 8.4GB |
| 4B Base 版(ComfyUI、FP8) | ComfyUI が RTX 5090 で計測した値は 9.2GB |
BFL は速度面でも、RTX 5080 / 5090・1024x1024 の条件で FP8 は最大 1.6 倍、NVFP4 は最大 2.7 倍高速になると報告しています。
ComfyUI のバージョン
Klein は Flux2Scheduler や EmptyFlux2LatentImage といった新しい FLUX.2 ノードを使います。ComfyUI のドキュメントによれば、Klein のテンプレートが見つからない、またはノードの読み込みに失敗する場合はインストールが古いので、最新の Nightly 版を推奨しています。Desktop 版はメインのリリースより更新が遅れることがあるため、トラブルシューティングの前にまずアップデートしましょう。
Hugging Face のアクセス権
9B のリポジトリはゲート付きです。Hugging Face にログインし、Klein 9B FP8 リポジトリを開いてライセンスと利用規定に同意し、コマンドラインからのダウンロード用に read 権限のトークンを作成します。
ステップ 1:モデルファイルをダウンロードする
ComfyUI のチュートリアルでは、9B ワークフロー用に次のファイルが挙げられています。
| ファイル | 入手元 | ComfyUI のフォルダー |
|---|---|---|
flux-2-klein-9b-fp8.safetensors(蒸留版) | black-forest-labs/FLUX.2-klein-9b-fp8 | models/diffusion_models/ |
flux-2-klein-base-9b-fp8.safetensors(Base 版) | black-forest-labs/FLUX.2-klein-base-9b-fp8 | models/diffusion_models/ |
qwen_3_8b_fp8mixed.safetensors | Comfy-Org/flux2-klein-9B | models/text_encoders/ |
flux2-vae.safetensors | Comfy-Org/flux2-dev | models/vae/ |
最初は拡散モデルを 1 つだけ用意すれば十分です。速度重視なら蒸留版、LoRA 学習を予定しているなら Base 版を選びます。
export HF_TOKEN=hf_xxx
curl -L -H "Authorization: Bearer $HF_TOKEN" \
-o ComfyUI/models/diffusion_models/flux-2-klein-9b-fp8.safetensors \
https://huggingface.co/black-forest-labs/FLUX.2-klein-9b-fp8/resolve/main/flux-2-klein-9b-fp8.safetensors
curl -L -o ComfyUI/models/text_encoders/qwen_3_8b_fp8mixed.safetensors \
https://huggingface.co/Comfy-Org/flux2-klein-9B/resolve/main/split_files/text_encoders/qwen_3_8b_fp8mixed.safetensors
curl -L -o ComfyUI/models/vae/flux2-vae.safetensors \
https://huggingface.co/Comfy-Org/flux2-dev/resolve/main/split_files/vae/flux2-vae.safetensors
ダウンロード後のフォルダー構成は次のようになります。
ComfyUI/
└── models/
├── diffusion_models/
│ └── flux-2-klein-9b-fp8.safetensors
├── text_encoders/
│ └── qwen_3_8b_fp8mixed.safetensors
└── vae/
└── flux2-vae.safetensors
サイズの異なるエンコーダーを混在させないでください。4B のワークフローは qwen_3_4b.safetensors、9B のワークフローは Qwen3 8B エンコーダーを使います。
ステップ 2:テキストから画像生成のワークフローを組む
いちばん簡単なのは組み込みテンプレートを使う方法です。ComfyUI でテンプレートブラウザーを開き、Flux.2 Klein 9B Text to Image(image_flux2_text_to_image_9b)を読み込みます。テンプレートの JSON は Comfy-Org の workflow_templates リポジトリで公開されているので、実行前に中身を確認できます。
グラフを構成するノード
| ノード | 役割 | 主な設定 |
|---|---|---|
UNETLoader(Load Diffusion Model) | Klein 本体を読み込む | flux-2-klein-9b-fp8.safetensors |
CLIPLoader | Qwen3 エンコーダーを読み込む | type は flux2 |
VAELoader | FLUX.2 VAE を読み込む | flux2-vae.safetensors |
CLIPTextEncode | ポジティブプロンプトをエンコード | プロンプト |
EmptyFlux2LatentImage | 空の潜在画像を作成 | 幅と高さ(例:1024x1024) |
Flux2Scheduler | シグマスケジュールを生成 | ステップ数、幅、高さ |
CFGGuider | ガイダンスを適用 | CFG 値 |
KSamplerSelect | サンプラーを選択 | euler |
RandomNoise | シードを設定 | 再現性のため固定 |
SamplerCustomAdvanced | サンプリングを実行 | 入力のみ |
VAEDecode → SaveImage | デコードして保存 | ファイル名の接頭辞 |
標準の 9B テンプレートは Base 版を 20 ステップ・CFG 5 で読み込みます。UNETLoader を蒸留版に切り替えたら、Flux2Scheduler を 4 ステップ、CFGGuider を 1.0 に変更してください。これは蒸留版のモデルカードや ComfyUI の蒸留版編集テンプレートと同じ設定です。蒸留版に Base 向けの設定を残すと、時間を無駄にするうえ、画像が焼けたような仕上がりになることがあります。
推奨設定
| 設定 | 蒸留版 9B | Base 9B |
|---|---|---|
| ステップ数 | 4 | 20(ComfyUI テンプレート)〜50(モデルカード例) |
| CFG / guidance | 1.0 | 4.0〜5.0 |
| サンプラー | euler | euler |
| 解像度 | まず 1024x1024 から | まず 1024x1024 から |
| シード | プロンプト調整中は固定 | プロンプト調整中は固定 |
Flux2Scheduler の幅と高さは潜在画像のサイズと揃えてください。公式テンプレートは両者を同じ幅・高さの値から接続しているので、自作のグラフや正方形以外のサイズでも同じ方法で配線しましょう。
動作確認用のプロンプト
Klein は自然言語の説明をよく理解するので、被写体、場所、ライティング、描画したい文字などを含む完全な文でプロンプトを書くのがおすすめです。
A vintage motorcycle parked outside a 1950s roadside diner at dusk, neon sign reading "OPEN LATE", wet asphalt reflecting pink and teal light, 35mm photo, shallow depth of field
数秒で 1 枚目が出力され、看板の文字が読めればインストールは成功です。FLUX 系全般に使えるプロンプト構成のヒントは、FLUX 3 プロンプトガイドも参考にしてください。
ステップ 3:画像編集のワークフローを組む
Klein は同じモデルで編集も行えるため、Kontext のような編集専用モデルを別途用意する必要はありません。ComfyUI には 9B 用の編集テンプレートが 2 つあります。image_flux2_klein_image_edit_9b_distilled と image_flux2_klein_image_edit_9b_base です。
編集グラフで追加されるノード
| 追加ノード | 役割 |
|---|---|
LoadImage | 元画像または参照画像を読み込む |
ImageScaleToTotalPixels | 画像を約 1 メガピクセルにリサイズ |
GetImageSize | リサイズ後のサイズを潜在画像とスケジューラーに渡す |
VAEEncode | 参照画像を潜在表現に変換 |
ReferenceLatent | 参照の潜在表現をコンディショニングに付与 |
ConditioningZeroOut | ゼロ化したネガティブコンディショニングを作成 |
参照の潜在表現はポジティブプロンプトとゼロ化したネガティブ側の両方に付与され、どちらも CFGGuider に入ります。GetImageSize が EmptyFlux2LatentImage と Flux2Scheduler を制御するため、出力は 1 枚目の参照画像のアスペクト比を引き継ぎます。
単一参照の編集
画像を 1 枚読み込み、シーン全体ではなく変更したい点だけを書きます。蒸留版の編集テンプレートは 4 ステップ・CFG 1 なので、自分の編集でもこの設定から始めましょう。
Change the jacket to deep red leather, keep the face, pose, background and lighting unchanged
複数参照の編集
2 枚以上の画像を使う場合、テンプレートは画像ごとに ReferenceLatent をポジティブ側とネガティブ側の両方に連結します。プロンプトでは画像を順番で指定します。
Place the white handbag from image 2 on the woman's shoulder in image 1, match the soft window light of image 1
BFL のドキュメントでは、同社 API 経由の Klein は最大 4 枚の参照画像に対応するとされています(FLUX.2 概要)。ローカルのグラフでも、参照画像が増えるほどメモリ消費が増え、処理も遅くなります。
トラブルシューティングと低 VRAM 対策
よくあるエラーと対処法
| 症状 | 考えられる原因 | 対処法 |
|---|---|---|
| テンプレートがない、赤い "missing node" が表示される | ComfyUI が古く FLUX.2 ノードに未対応 | ComfyUI を更新し、必要なら Nightly 版を使う |
| 9B ファイルのダウンロードで 401 / 403 | ゲート付きリポジトリで、ライセンス未同意またはトークンなし | Hugging Face でライセンスに同意し、read トークンを渡す |
| テキストエンコーダー読み込み時に shape / size 不一致 | 9B に 4B 用エンコーダーを使用、または CLIP type の誤り | Qwen3 8B エンコーダーを使い、CLIPLoader の type を flux2 にする |
| CUDA out of memory | BF16 の重み、または高解像度 | FP8 の重みを使い、1024x1024 から始め、他の GPU アプリを閉じる |
| 蒸留版でぼやける・焼けたような画像になる | Base 向け設定(20 ステップ以上、CFG 4〜5) | 4 ステップ・CFG 1.0 に変更 |
| Base 版でノイズが残る・描き切れない | ステップ数が少なすぎる | 20〜50 ステップにする |
| 編集が参照画像を無視する | ReferenceLatent がコンディショニングに未接続 | ポジティブ側とネガティブ側の両方に接続 |
低 VRAM チェックリスト
- まず FP8 の重みを使いましょう。BFL によれば VRAM を最大 40% 削減でき、対応する RTX GPU なら NVFP4 でさらに削減できます。
- テキストエンコーダーはフル精度ではなく
fp8mixed版を使います。 --lowvramを付けて ComfyUI を起動すると、GPU が埋まったときにモデルの一部がシステム RAM にオフロードされます。- 巨大なサイズで直接サンプリングせず、1024x1024 以下で生成してからアップスケールします。
- バッチサイズは 1 にし、編集グラフの参照画像の枚数を減らします。
- それでも 9B が収まらない場合、ComfyUI の計測では 4B 蒸留版が 8.4GB で動作しています。
python main.py --lowvram
Diffusers で Klein 9B を動かす
ノードグラフより Python が好みなら、モデルカードに Diffusers の例があります。Diffusers の開発版が必要です。
pip install git+https://github.com/huggingface/diffusers.git
import torch
from diffusers import Flux2KleinPipeline
pipe = Flux2KleinPipeline.from_pretrained(
"black-forest-labs/FLUX.2-klein-9B", torch_dtype=torch.bfloat16
)
pipe.enable_model_cpu_offload() # offloads idle parts to CPU to save VRAM
image = pipe(
prompt="A cat holding a sign that says hello world",
height=1024,
width=1024,
guidance_scale=1.0,
num_inference_steps=4,
generator=torch.Generator("cuda").manual_seed(0),
).images[0]
image.save("flux-klein.png")
Base 9B を使う場合は、リポジトリを black-forest-labs/FLUX.2-klein-base-9B に替え、そのモデルカードの例どおり guidance_scale=4.0、num_inference_steps=50 を指定します。
ホスト型 FLUX.2 Pro / Flex を選ぶべきケース
ローカルの Klein は、高速な試行錯誤、プライベートな実験、LoRA 作業に最適です。一方で、9B の商用利用権、安定した稼働、GPU 1 枚では足りない処理量が必要な場合は不便になります。
ローカル Klein 9B とホスト型 FLUX.2 の比較
| 要件 | ローカル Klein 9B | APIMart のホスト型 FLUX.2 |
|---|---|---|
| ハードウェア | 自分の GPU(BF16 で約 29GB) | 不要 |
| モデルの商用利用 | BFL の商用ライセンスが必要 | オープンウェイトのライセンスではなく API の利用規約に従う |
| セットアップ | ComfyUI、モデルファイル、更新作業 | API キー 1 つ |
| 参照画像 | BFL の記載では Klein は最大 4 枚 | 1 リクエストあたり最大 8 枚 |
| ステップ・ガイダンスの制御 | 完全に可能 | Flex のみ(steps 1〜50、guidance 1.5〜10) |
| 出力サイズ | GPU 次第 | 最大 4MP |
| カスタム LoRA | 可能(Base 版) | 不可 |
| コスト | ハードウェアと電気代 | 画像単位の課金。最新料金はモデルページを参照 |
ホスト型モデルの選び方
APIMart では /v1/images/generations エンドポイントで 3 つの FLUX.2 モデル ID を利用できます。日常的な本番用途でバランスのよい flux-2-pro、ステップ数やガイダンスを調整したいとき(文字組みの多いポスターなど)の flux-2-flex、速度より最高品質を優先する flux-2-max です。料金は出力解像度の区分と参照画像の枚数で決まるので、予算を組む前に FLUX.2 のモデルページを確認してください。
curl --request POST \
--url https://api.apimart.ai/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "flux-2-flex",
"prompt": "Minimal poster with the headline SUMMER SALE and a small line reading 50% OFF",
"resolution": "2K",
"size": "3:4",
"steps": 50,
"guidance": 6.5
}'
この呼び出しは非同期で、data[0].task_id が返ります。status が completed になるまで GET https://api.apimart.ai/v1/tasks/{task_id} をポーリングし、result.images から画像 URL を取得します。参照画像で編集する場合は、公開 URL を最大 8 つ image_urls に渡します。リトライやストレージを含む本番向けの実装パターンは 開発者向け FLUX 画像ワークフローガイドを、別の高速なオープンモデルとの速度・VRAM 比較は Z-Image Turbo vs Flux をご覧ください。
現実的なハイブリッド運用
多くのチームは、ローカルの Klein でプロンプトや LoRA を詰め、最終成果物や顧客向けの画像はホスト型 FLUX.2 で生成しています。平易な説明文で書いたプロンプトは両者の間でそのまま使えることが多く、書き直しはほとんど必要ありません。
よくある質問
FLUX.2 Klein 9B と Klein Base 9B の違いは何ですか?
Klein 9B はステップ蒸留されており、4 ステップ・guidance 1.0 で生成できるため、ほぼリアルタイムの生成が可能です。Klein Base 9B は非蒸留の基盤モデルで、20〜50 ステップが必要ですが出力の多様性が高く、ファインチューニングや LoRA 学習の出発点として推奨されています。
FLUX.2 Klein 9B は商用利用できますか?
別途契約がない限り、モデル自体の商用利用はできません。9B は 2 種類とも FLUX Non-Commercial License で、モデルの利用は非商用目的に限られます。BFL は bfl.ai/licensing で商用ライセンスを提供しています。ライセンスには、いくつかの例外を除き出力物は商用を含むあらゆる目的に使えるとありますので、全文を確認してください。セルフホストで商用利用したい場合は、Apache 2.0 の Klein 4B が選択肢になります。
FLUX.2 Klein 9B に必要な VRAM はどのくらいですか?
モデルカードではフル精度で約 29GB とされており、RTX 4090 以上で CPU オフロードを併用する構成が目安です。BFL によれば FP8 で最大 40%、NVFP4 で最大 55% メモリ使用量を削減できますが、9B FP8 の正確な VRAM 値は公式に確認されていません。16GB 以下の GPU なら 4B のほうが無難です。
ComfyUI ではステップ数と CFG をどう設定すればよいですか?
蒸留版 9B は 4 ステップ・CFG 1.0、サンプラーは euler です。Base 9B は ComfyUI テンプレートが 20 ステップ・CFG 5、Hugging Face の例が 50 ステップ・guidance 4.0 です。どちらも 1024x1024 から始めてください。
画像編集には別のモデルが必要ですか?
不要です。1 つの Klein モデルでテキストから画像生成、単一参照編集、複数参照編集をすべて処理できます。ComfyUI ではテキストから画像生成のグラフに LoadImage、VAEEncode、ReferenceLatent ノードを追加するか、公式の編集テンプレートを読み込みます。
APIMart で FLUX.2 Klein は使えますか?
使えません。APIMart が提供しているのはホスト型の FLUX.2 Pro・Flex・Max で、Klein は含まれません。オープンウェイトのライセンス管理より API 呼び出しを選びたい場合、最大 8 枚の参照画像が必要な場合、適切なローカル GPU がない場合には、有力な代替手段になります。
今後の注目ポイント
Klein はコミュニティで急速に広がっており、Hugging Face のページにはすでに多数のアダプター、ファインチューニングモデル、量子化版が並んでいます。ComfyUI テンプレートの更新、新しい量子化ウェイト、BFL のライセンス変更は、GPU で動かせる範囲や製品に組み込める範囲を左右するので注視しておきましょう。ワークロードが 1 台のマシンを超える場合や明確な商用条件が必要な場合は、スケールさせる前に同じプロンプトをホスト型 FLUX.2 Pro や Flex で試してみてください。
APIMart チームについて
APIMart チームは、AI でプロダクトを開発する開発者向けに、モデル解説・比較・料金分析を執筆しています。APIMart なら 1 つの API で 500 以上のチャット・画像・動画モデルを利用でき、本記事で紹介したモデルをリリース前に比較検証できます。
モデルマーケットで使いたいモデルを選ぶ
APIMart のモデルマーケットでチャット、画像、動画モデルを試し、統一 API でモデルの能力をすばやく体験できます。