はじめに
FLUX.2 Klein 9B LoRA 画像編集 は、Black Forest Labs のステップ蒸留版 FLUX.2 [klein] 9B で、文章の指示に従って 1〜3 枚の元画像を作り変えます。自前の LoRA ファイルは最大 3 つ読み込めます。auto で元画像の形を保つか、9 種類の形から 1k または 2k で選べます。編集の大半はモデル時間で約 10 秒で、調整が必要なマスクや strength の指定はなく、何もフィルターされません。
手元の素材からモードを選ぶ
| 手元にあるもの | モード |
|---|---|
| 文章で書いた説明と LoRA | FLUX.2 Klein 9B LoRA テキストから画像 |
| 変えたい 1〜3 枚の画像 | FLUX.2 Klein 9B LoRA 画像編集 |
主な機能とハイライト
同じ人物、新しい場面
当社のテストでは、服装や場所を変えても顔と髪が保たれました。公園のベンチでパーカーを着ていた男性が、夕暮れの駐車場の屋上で襟元を開けたシャツ姿になっても、はっきり同じ人物と分かりました。
最大 3 枚の元画像
別々に撮ったバストアップのポートレート 2 枚が、ライトアップされた噴水の前の 1 組のカップルになり、それぞれ顔が保たれました。元画像が 2 枚、3 枚のときは顔や髪が少しずれることがあるので、結果を使う前に人物ごとに確認してください。
編集にも LoRA
フィルムやアナログ調の LoRA は、編集後の画像の色調を決めます。コンセプトの LoRA は描かれる内容を変え、重いものは顔や肌の色を元の画像からずらすこともあります。そのときはスケールを下げてください。
リクエストパラメーター
| パラメーター | 必須 | 説明 |
|---|---|---|
prompt | はい | 必須で、5,000 文字までです。残すもの(顔、髪、ポーズ)を先に書き、そのあとに変更点を書きます。 1 文字以上 · 5000 文字以内 |
image_urls | はい | 必須で、公開画像リンクを 1〜3 件、各 10 MB まで。プロンプトで言及する順番に並べます。 1 件以上 · 3 件以内 |
aspect_ratio | いいえ | auto(既定)は 1 枚目の元画像の形を約 100 万画素で保ちます。1328 x 1776 の縦長の写真は 880 x 1184 で返りました。 |
resolution | いいえ | 1k(既定)か 2k で、アスペクト比を選んだときに使われ、auto では無視されます。料金は変わりません。 |
loras | いいえ | FLUX.2 [klein] 9B 向けに学習された {path, scale} の項目を最大 3 つまで。蒸留版でも Base でもかまいません。 デフォルト値: |
seed | いいえ | 任意で、0〜2,147,483,647。プロンプトや LoRA の変更を比べるときに使い回します。 |
料金
$0.025 / 枚
1 枚ごとの一律料金で課金されます。元画像の枚数、サイズティア、LoRA の読み込みで料金は変わりません。
ユースケース
衣装と場所の変更
人物の面影を保ったまま、新しい場所と服装へ一度に移せます。ルックブック、ムードボード、キャラクターシートに向いています。
人物を同じ画面にまとめる
2〜3 枚のポートレートを 1 つの場面に組み合わせ、LoRA でスタイルをそろえればシリーズとしてまとまります。
手早いレタッチの繰り返し
1 回の編集は約 10 秒なので、同じ写真にいくつもの指示や LoRA の強度を試して、最初の結果で妥協せず最良の版を残せます。
プロンプトガイドと実践のヒント
守るものを先に、そのあとに変更
指示は、顔、髪、表情など同じままにしたいものから始め、続けて変更点を衣服、場所、光で具体的に書いてください。当社のテストでは、長い箇条書きより短く具体的な指示のほうが顔がよく保たれました。
元画像ごとに役割を与える
画像が複数あるときは、それぞれが何をもたらすのかを書きます。1 枚目の女性、2 枚目の男性、3 枚目の部屋、といった具合です。プロンプトで言及する順番とアップロードの順番は一致させてください。
顔を変えてしまう LoRA は下げる
人物が元の画像に似なくなったら、LoRA のスケールを 0.2 下げて、同じシードでもう一度実行してください。重いコンセプトの LoRA が原因であることが多く、スタイル LoRA が顔を動かすことはほとんどありません。
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-9b-lora/edit",
"input": {
"aspect_ratio": "auto",
"image_urls": [
"https://example.com/reference.png"
],
"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 リファレンスを参照してください。



























