BFL FLUX 公式モデル
Magick API から BFL 公式 FLUX の画像生成、画像編集、Fill、Erase モデルを呼び出すためのルート、パラメータ、例。
このページでは、Magick API における BFL 公式 FLUX モデルの統一呼び出し方法を説明します。クライアントは OpenAI 互換の画像エンドポイントを呼び出し、ゲートウェイが BFL の非同期 API に変換して結果をポーリングし、同期的な ImageResponse として返します。
対応モデル
| リクエストモデル | BFL 上流モデルまたはパス | 推奨エンドポイント | 用途 |
|---|---|---|---|
flux2_text_to_image | flux-2-pro-preview | POST /v1/images/generations | FLUX.2 テキスト画像生成 |
flux2_image_editing | flux-2-pro-preview | POST /v1/images/edits | FLUX.2 単一画像または複数参照画像編集 |
flux-2-pro-preview | flux-2-pro-preview | POST /v1/images/generations または /v1/images/edits | FLUX.2 preview のネイティブモデル名 |
flux-pro-1.1 | flux-pro-1.1 | POST /v1/images/generations | FLUX.1.1 テキスト画像生成 |
flux_1_fill | flux-pro-1.0-fill | POST /v1/images/edits | マスク付きインペイント、アウトペイント、局所編集 |
flux-erase | flux-tools/erase-v1 | POST /v1/images/edits | マスクによるオブジェクト削除 |
認証とレスポンス
Magick API への呼び出しではプラットフォームの API トークンを使用します。
Authorization: Bearer YOUR_API_KEYBFL 公式キーは管理画面の BFL チャネルに設定します。クライアントから BFL 上流キーを直接送信しないでください。
成功レスポンスは OpenAI 互換の画像形式です。
{
"created": 1712345678,
"data": [
{
"url": "https://signed-result-url.example/image.png"
}
],
"metadata": {
"id": "bfl-task-id",
"status": "Ready",
"cost": 3,
"input_mp": 0,
"output_mp": 1
}
}"response_format": "b64_json" を指定すると、ゲートウェイが BFL の結果画像を取得し、data[0].b64_json を返します。
共通互換フィールド
| フィールド | 型 | 説明 |
|---|---|---|
model | string | 必須。上記のリクエストモデル名を使用 |
prompt | string | テキスト画像生成と FLUX.2 編集では必須。flux_1_fill では任意の編集指示。flux-erase では不要 |
size | string | 1024x1024 などの OpenAI 互換サイズ。BFL の width と height に変換されます |
output_format | string | BFL の出力形式。jpeg、png、webp |
response_format | string | Magick API の返却形式。url または b64_json |
quality | string | 互換フィールド。hd または high は BFL の prompt_upsampling: true に変換されます |
extra_fields | object | BFL 公式フィールドを透過します。BFL フィールドはトップレベルにも指定できます |
FLUX.2 パラメータ
flux2_text_to_image、flux2_image_editing、flux-2-pro-preview に適用されます。
| フィールド | 型 | デフォルト/範囲 | 説明 |
|---|---|---|---|
prompt | string | 必須 | テキスト画像生成または編集指示 |
input_image | string | 任意 | BFL 公式の参照画像フィールド。画像 URL または Base64 |
input_image_2 ... input_image_8 | string | 任意 | 複数参照画像編集。最大 8 枚 |
image / images | string / array | 任意 | OpenAI 互換の参照画像フィールド。input_image* にマッピングされます |
width | integer | >= 64 | 出力幅 |
height | integer | >= 64 | 出力高さ |
seed | integer | 任意 | 再現用 seed |
safety_tolerance | integer | 0 ~ 5、デフォルト 2 | モデレーション許容度。0 が最も厳格 |
output_format | string | デフォルト jpeg | jpeg、png、webp |
webhook_url | string | 任意 | BFL に透過 |
webhook_secret | string | 任意 | webhook 検証用に BFL に透過 |
curl --request POST \
--url https://api.magickapi.com/v1/images/generations \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"model": "flux2_text_to_image",
"prompt": "A precise product photo of a matte black espresso machine on a white counter",
"size": "1024x1024",
"output_format": "png",
"safety_tolerance": 2,
"seed": 42,
"response_format": "url"
}'curl --request POST \
--url https://api.magickapi.com/v1/images/edits \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"model": "flux2_image_editing",
"prompt": "Use the chair from image 2 in the room from image 1, keep natural shadows",
"images": [
"https://example.com/room.png",
"https://example.com/chair.png"
],
"size": "1024x1024",
"output_format": "jpeg",
"safety_tolerance": 2
}'FLUX.1.1 Pro パラメータ
flux-pro-1.1 に適用されます。
| フィールド | 型 | デフォルト/範囲 | 説明 |
|---|---|---|---|
prompt | string | 任意 | テキスト画像生成プロンプト |
image_prompt | string | 任意 | Flux Redux ガイダンス用の Base64 画像プロンプト |
width | integer | 256 ~ 1440、32 の倍数、デフォルト 1024 | 出力幅 |
height | integer | 256 ~ 1440、32 の倍数、デフォルト 768 | 出力高さ |
prompt_upsampling | boolean | デフォルト false | BFL にプロンプト拡張を依頼 |
seed | integer | 任意 | 再現用 seed |
safety_tolerance | integer | 0 ~ 6、デフォルト 2 | モデレーション許容度 |
output_format | string | デフォルト jpeg | jpeg、png、webp |
FLUX.1 Fill パラメータ
flux_1_fill に適用されます。Magick API の FLUX.1 Fill では、下流クライアントは OpenAI 互換の POST /v1/images/edits を呼び出します。BFL 公式パス /v1/flux-pro-1.0-fill を直接呼び出さないでください。ゲートウェイが model: "flux_1_fill" を上流 BFL モデルへ内部変換します。image、mask、prompt を一緒に指定してください。image と mask は Base64 画像である必要があります。黒は保持、白はインペイントされます。
:::warning[デバッグ]
imageとmaskはdata:image/...;base64,プレフィックス付き、または純粋な Base64 を指定できます。画像 URL は送信しないでください。URL を送ると “requires base64 image data” が返ります。maskは元のimageと完全に同じ寸法である必要があります。よくあるフロントエンドの不具合は、原画像1152x896に対してプレビューサイズ720x560の mask を送ることです。この場合 BFL は 422 を返し、ゲートウェイではopenai_error / bad_response_status_codeだけが見えることがあります。- 安定した OpenAI 互換レスポンスのため、
response_format: "url"とoutput_format: "png"を明示してください。 :::
| フィールド | 型 | デフォルト/範囲 | 説明 |
|---|---|---|---|
image | base64 string | 必須 | 元画像 |
mask | base64 string | 必須 | 元画像と同じサイズのマスク |
prompt | string | 必須 | マスク領域への編集指示 |
response_format | string | 推奨 url | Magick API の返却形式。明示指定を推奨 |
steps | integer | 15 ~ 50、デフォルト 50 | 生成ステップ数 |
guidance | number | 1.5 ~ 100、デフォルト 60 | ガイダンス強度 |
prompt_upsampling | boolean | デフォルト false | BFL にプロンプト拡張を依頼 |
seed | integer | 任意 | 再現用 seed |
safety_tolerance | integer | 0 ~ 6、デフォルト 2 | モデレーション許容度 |
output_format | string | デフォルト jpeg | jpeg、png、webp |
FLUX Erase パラメータ
flux-erase に適用されます。公式の上流パスは flux-tools/erase-v1 です。
| フィールド | 型 | デフォルト/範囲 | 説明 |
|---|---|---|---|
image | base64 string | 必須 | 元画像 |
mask | base64 string | 必須 | 白黒マスク。白は削除、黒は保持 |
dilate_pixels | integer | 0 ~ 100、デフォルト 10 | 削除前にマスク境界を拡張 |
seed | integer | 任意 | 再現用 seed |
safety_tolerance | integer | 0 ~ 5、デフォルト 2 | モデレーション許容度 |
output_format | string | デフォルト png | jpeg、png、webp |
課金
BFL は送信レスポンスに cost、input_mp、output_mp を返す場合があります。Magick API は cost がある場合、それを実際の精算に使用します。動的コストが返らない場合は、バックエンドで設定されたモデル固定価格を使用します。BFL の 1 credit は $0.01 として扱われます。
最終更新