はじめに
FLUX.1 Dev ControlNet LoRA テキストから画像は、Black Forest Labs の 120 億パラメーターのモデル FLUX.1 [dev] を Shakker Labs の ControlNet Union Pro 2.0 で誘導して画像を生成し、自前の LoRA ファイルを最大 3 つ読み込めます。制御画像 1 枚でポーズ、深度、輪郭が決まり、誰や何が写るかはプロンプトで決まります。プラットフォームは、プロンプト、ウェイト、画像のいずれにもコンテンツフィルターを加えません。
主な機能とハイライト
1 つのネットワークで 5 種類のマップ
Canny の線、ソフトエッジ、深度、ポーズのスケルトン、グレースケールの写真が、同じエンドポイントで使えます。モードの切り替えはなく、送ったマップをモデルが読み取ります。
強度とタイミングの調整
制御の強度(0〜1)でマップへの従い方を、制御の開始と終了でノイズ除去のどの区間で効かせるかを決められます。
自前の LoRA
1 回のリクエストで最大 3 つの FLUX.1 dev LoRA を読み込めます。ポーズのスケルトンと組み合わせたフィルターなしの LoRA は、当社のテストで強めのレベルまで出力しました。
1 回の実行で最大 4 枚
同じマップから 1〜4 枚を依頼でき、料金は 1 枚ごとです。
リクエストパラメーター
| パラメーター | 必須 | 説明 |
|---|---|---|
prompt | はい | 欲しい画像を、人物、服、舞台、光まで書きます。制御画像が決めるのはレイアウトだけです。 1 文字以上 · 5000 文字以内 |
control_image_url | はい | 制御マップです。ポーズのスケルトン、深度マップ、Canny またはソフトエッジの線、グレースケールの写真、または普通の写真を使えます。 |
control_strength | いいえ | 結果が制御マップにどれだけ従うかを 0〜1 で指定します。既定は 0.7 です。 |
control_guidance_start | いいえ | ノイズ除去のどの時点からマップを効かせるかを 0〜1 で指定します。既定は 0 です。 |
control_guidance_end | いいえ | ノイズ除去のどの時点でマップを効かせるのをやめるかを 0〜1 で指定します。既定は 0.8 です。 |
resolution | いいえ | 1k は長辺 1,024 ピクセルで既定です。1.5k は長辺 1,536 ピクセルで、いずれも制御画像のアスペクト比で返ります。 |
num_outputs | いいえ | 同じマップから生成する枚数で、1〜4(既定 1)です。1 枚ごとに課金されるため、4 枚なら 1 枚の 4 倍の料金です。 |
loras | いいえ | FLUX.1 dev 向けに学習した {path, scale} を最大 3 件。scale は 0〜4 で、1 が中立です。 デフォルト値: |
guidance_scale | いいえ | 画像がプロンプトにどれだけ厳密に従うかを 0〜20 で指定します。既定は 3.5 です。 |
steps | いいえ | ノイズ除去のステップ数で、1〜50(既定 28)です。少ないと速く返りますが、やや柔らかい仕上がりになります。 |
output_format | いいえ | 既定は JPEG で、PNG か WebP も選べます。形式で料金は変わりません。 |
seed | いいえ | 強度や LoRA を調整するあいだ、結果を比べやすくします。毎回まったく同じピクセルになることは保証しません。 |
料金
$0.036 / 枚
1 枚ごとの課金です。4 枚の実行は 1 枚の 4 倍の料金になります。解像度、出力形式、LoRA の読み込みで料金は変わりません。
ユースケース
ポーズを合わせる
スケルトンを一度抽出または描いておけば、同じポーズのまま、好きな人物と衣装で生成できます。
写真の撮り直し
Canny、ソフトエッジ、グレースケールのマップで写真の構図を保ち、登場人物、衣装、光を変えられます。
レイアウトを統一したシリーズ
制御マップを使い回せば、セットのどの画像も同じ構図になります。
プロンプトガイドと実践のヒント
変えたいものでマップを選ぶ
ポーズのスケルトンは服装をプロンプトに任せます。深度マップと線画マップは、トレース元の写真の服のしわをそのまま残します。当社のテストでは、モデルはプロンプトよりもそのしわに従いました。
推奨設定から始める
Shakker Labs の推奨は、Canny とソフトエッジなら強度 0.7 で適用範囲の終点を 0.8、深度なら 0.8、ポーズマップなら強度 0.9 前後で終点を 0.65 です。
アスペクト比をそろえる
出力は制御画像の形になります。送る前に、欲しいフレームにマップをトリミングしておいてください。
LoRA のベースモデルを確認する
使えるのは FLUX.1 dev の 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-1-dev-controlnet-lora/text-to-image",
"input": {
"control_image_url": "https://example.com/reference.png",
"num_outputs": 1,
"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 リファレンスを参照してください。
























