はじめに
FLUX.2 Klein Base 9B LoRA テキストから画像 は、Black Forest Labs の FLUX.2 [klein] Base 9B で、文章のプロンプトから画像を 1 枚作ります。これは開発元がファインチューニングと LoRA 学習に推奨する、蒸留していない 9B モデルで、自前の LoRA ファイルを最大 3 つ読み込めます。9 種類のアスペクト比から 1 つを選び、1k または 2k で出力します。Base は蒸留版の klein 9B より遅く、やわらかく変化に富んだ画像になります。プラットフォームはコンテンツフィルターを加えません。
手元の素材からモードを選ぶ
| 手元にあるもの | モード |
|---|---|
| 文章で書いた説明と LoRA | FLUX.2 Klein Base 9B LoRA テキストから画像 |
| 変えたい 1〜3 枚の画像 | FLUX.2 Klein Base 9B LoRA 画像編集 |
主な機能とハイライト
LoRA の学習先となるビルド
klein Base 9B で学習した LoRA は、学習した相手のモデルであるここで動くので、評価するのにいちばん確かな場所です。蒸留版 klein 9B で学習した LoRA も、当社のテストで同様に読み込めました。FLUX.1 や klein 4B の LoRA は、エラーなく動いても何も変わりませんでした。
やわらかく、変化に富んだ画像
LoRA なしでも、Base は自然でフィルムらしい光と肌を描き、seed ごとの変化は蒸留版より豊かでした。開発元は Base を、蒸留版の 4 ステップに対して 50 サンプリングステップで動かしており、それが時間のかかる理由です。
きれいな A/B 比較
当社のテキストから画像のテストでは、同じ seed で同一のピクセルが返ったので、LoRA ありとなしの 2 枚を並べれば、LoRA が何を足したのかがそのまま分かります。
リクエストパラメーター
| パラメーター | 必須 | 説明 |
|---|---|---|
prompt | はい | 必須で、5,000 文字までです。LoRA のトリガーフレーズを先頭に置き、続けて被写体、服装、場所、光、レンズを文章で書きます。 1 文字以上 · 5000 文字以内 |
aspect_ratio | いいえ | 21:9 から 9:21 まで 9 種類。既定は 1:1 です。 |
resolution | いいえ | 1k(既定)は約 100 万画素で、たとえば 1344 x 768 や 1024 x 1024。2k は長辺 2048 ピクセルです。 |
loras | いいえ | FLUX.2 [klein] 9B(Base または蒸留版)向けに学習した {path, scale} を最大 3 つ。scale は 0〜4 で、既定は 1。 デフォルト値: |
seed | いいえ | 任意で、0〜2,147,483,647。当社のテキストから画像のテストでは、同じ seed と入力で同じピクセルが繰り返されたので、LoRA や 1 語の効果を切り分けられます。 |
料金
$0.024 / 枚
1 枚ごとの一律料金で課金されます。アスペクト比、1k か 2k か、LoRA の読み込みで料金は変わりません。
ユースケース
学習した LoRA の確認
自分のファイルを 1k や 2k で Base 上で動かし、LoRA なしの同じ seed と比べてから、その上に積み上げたり、より速い蒸留版に移したりします。
自然な静止画
やわらかな光と説得力のある肌のポートレートやインテリアを、最大 2048 ピクセルの 9 種類の形で。1 枚に 30 秒ほど待てる場合に向いています。
プロンプトガイドと実践のヒント
トリガーを先頭に
LoRA のトリガーフレーズを最初に置き、続けて画を完全な文で書いてください。被写体、服装、場所、光、レンズです。ネガティブプロンプトはないので、見たいものを書きます。
1 組につき変更は 1 つ
seed を固定し、LoRA、その scale、1 文のどれか 1 つだけを変えます。Base ではテキストから画像の繰り返しが厳密に一致するので、見える違いはすべてその 1 つの変更によるものです。
時間を見積もる
当社のテストでは 1k で約 20 秒、2k で約 35 秒かかり、蒸留版の 2〜5 倍でした。1 件ずつ待たずに並列でリクエストを送り、scale を決めている間は 1k を使ってください。
API クイックスタート
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "black-forest-labs/flux-2-klein-base-9b-lora/text-to-image",
"input": {
"aspect_ratio": "1:1",
"prompt": "A ceramic teapot on a linen cloth, soft window light, muted palette",
"resolution": "1k"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
認証、完全なスキーマ、ポーリング、エラー処理は API リファレンスを参照してください。



























