はじめに
FLUX.1 Schnell LoRA 画像編集 は、Black Forest Labs の高速で Apache-2.0 の FLUX モデル FLUX.1 [schnell] で、元画像を 1 枚描き直します。自前の LoRA ファイルを最大 3 つ読み込めます。strength で結果が元画像からどこまで離れるかを決め、任意のマスクで変更を 1 か所に限定でき、出力は元画像のアスペクト比を保ちます。プラットフォームはプロンプト、ウェイト、画像のいずれにもコンテンツフィルターを加えません。
手元の素材からモードを選ぶ
| 手元にあるもの | モード |
|---|---|
| 文章で書いた説明 | FLUX.1 Schnell LoRA テキストから画像 |
| スタイルを変えたい、またはインペイントしたい画像 | FLUX.1 Schnell LoRA 画像編集 |
主な機能とハイライト
マスクによる本物のインペイント
白黒のマスクを送ると、白い部分だけが描き直されます。当社のテストでは、トレンチコートが赤いサテンのローブになり、顔、髪、背後のジムはまったくそのままでした。
strength で調整する画面全体の編集
マスクなしでは画面全体が描き直されます。strength 0.8〜0.9 で、構図とポーズを保ったまま服装と舞台が変わりました。
編集にも LoRA
FLUX.1 [dev] の LoRA は編集でも読み込め、最大 3 つ同時に、それぞれ 0〜4 の scale で使えます。
コンテンツフィルターなし
元画像は任意のプロンプトで描き直せ、マスク内でも画像全体でも対象にできます。入力でも出力でも何もフィルターされません。
リクエストパラメーター
| パラメーター | 必須 | 説明 |
|---|---|---|
prompt | はい | マスクを使う場合は、白い部分に入るものだけを書きます。使わない場合は、写っている人物も含めて画像全体を書きます。 1 文字以上 · 5000 文字以内 |
image_url | はい | 編集したい画像です。結果は元のアスペクト比を保ち、解像度ティアで長辺が決まります。 |
mask_url | いいえ | 任意で、元画像と同じサイズの白黒マスクです。白い部分は描き直され、黒い部分は保たれます。 |
resolution | いいえ | 1k は長辺約 1,000 ピクセルで既定、1.5k は約 1,500 ピクセルです。料金は同じで、アスペクト比は常に元画像に従います。 |
strength | いいえ | 元画像からどこまで離れるかを 0〜1 で指定します。既定は 0.8。 |
loras | いいえ | FLUX.1 [dev] または FLUX.1 [schnell] 向けに学習した {path, scale} を最大 3 つ。scale は 0〜4 で、既定は 1。 デフォルト値: |
output_format | いいえ | 既定は JPEG で、PNG か WebP も選べます。形式で料金は変わりません。 |
seed | いいえ | strength やマスクを調整する間、結果を比べられる状態に保ちます。seed を指定しなければランダムになります。 |
料金
$0.006 / 枚
1 枚ごとに、テキストから画像と同じ料金で課金されます。マスク、解像度ティア、出力形式、LoRA の読み込みで料金は変わりません。
ユースケース
服 1 着だけを変える
服をマスクし、新しい服を描写すれば、人物と部屋には手を加えません。
撮影のスタイルを変える
写真のセットを同じプロンプトと LoRA で strength 0.8〜0.9 で回し、新しい服装や舞台を揃えます。
手早いバリエーション
元画像とプロンプトはそのまま、seed だけを変えれば、数秒で別のテイクが得られます。
プロンプトガイドと実践のヒント
マスクは物の形に合わせる
髪を横切る硬い長方形は、当社のテストで継ぎ目が見えました。服に沿ったマスクはきれいにつながりました。
マスクを使うときは、マスクした部分だけを書く
「A red satin boxing robe slipping off one shoulder」で十分です。画像のそれ以外の部分は元画像から保たれます。
マスクなしでは、人物を書く
strength 0.85 を超えると顔がずれます。誰が写っているかを繰り返し書くと、当社のテストでは見分けられる状態を保てました。
目的で strength を選ぶ
0.5 は写真をほとんど変えず、0.7 前後で細部が変わり、0.85〜0.9 は同じ構図の新しい服装、1 は新しい画像です。マスクを使うときは 0.9〜1 にします。
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-1-schnell-lora/edit",
"input": {
"image_url": "https://example.com/reference.png",
"output_format": "jpeg",
"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 リファレンスを参照してください。



























