Black Forest Labsチュートリアル
FLUX.2 [max] APIの使い方
FLUX.2 [max] APIの手順付きチュートリアル(Node.js、Python、cURL)。テキストから画像を生成ジョブを送信して、ポーリングまたはWebhookで状況を確認し、imageをダウンロードします。下記の例の料金は$0.065です。
- エンドポイント
- 1
- テキストから画像を生成
- リクエスト例
- $0.065
- テキストから画像を生成
- 言語
- 3
- Node.js · Python · cURL
- 失敗した実行
- $0
- 自動返金
APIキーを取得
アカウントを作成し、クレジットを追加して、ダッシュボード → APIキーからキーを作成します。CHEAPERGEN_API_KEY サーバーに保存します。すべてのリクエストでBearerトークンとして送信してください。として保存してください。
FLUX.2 [max]のエンドポイントを選択
タスクごとに専用のエンドポイントがあります。どのエンドポイントもJSON本文を受け取り、ポーリング可能な生成情報を返します。
| タスク | エンドポイント | 必須 | 開始価格 |
|---|---|---|---|
| テキストから画像を生成 | bfl/flux-2-max/text-to-image | prompt | $0.0644 画像1枚あたり |
テキストから画像を生成ジョブを送信
このプログラムはジョブを送信し、完了するまで3秒ごとにポーリングして、image URLを表示します。プロンプトと設定を独自の内容に置き換えてください。
const API = "https://cheapergen.com/api/v1";
const headers = {
Authorization: `Bearer ${process.env.CHEAPERGEN_API_KEY}`,
"Content-Type": "application/json",
};
// 1. Submit the job
let job = await fetch(`${API}/run/bfl/flux-2-max/text-to-image`, {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "リネンのテーブルに置かれたドライフラワー入りの陶器の花瓶を撮影したエディトリアル写真。北側からの柔らかな光、フィルム粒子。",
"aspect_ratio": "1:1",
"resolution": "1MP"
}),
}).then((r) => r.json());
// 2. Poll until it finishes (or pass webhook_url and skip polling)
while (job.status === "queued" || job.status === "running") {
await new Promise((r) => setTimeout(r, 3000));
job = await fetch(`${API}/generations/${job.id}`, { headers }).then((r) => r.json());
}
console.log(job.status === "succeeded" ? job.output.images[0].url : job.error);重要なパラメーターを設定する
各設定の内容と料金への影響(bfl/flux-2-max/text-to-image)。
| パラメーター | 型 · デフォルト値 | 説明 | 料金への影響 |
|---|---|---|---|
| aspect_ratio | string (enum) · 1:1 | 出力画像の形状。 1:1 · 4:3 · 3:4 · 16:9 · 9:16 · 3:2 · 2:3 · 21:9 · 9:21 | はい |
| resolution | string (enum) · 1MP | 出力サイズ(メガピクセル)。1 MPは約1024×1024ピクセルです。FLUX.2はメガピクセル単位で課金されます。 1MP · 2MP · 3MP · 4MP | 1 MP: $0.0644 画像1枚あたり 2 MP: $0.0889 画像1枚あたり 3 MP: $0.1091 画像1枚あたり 4 MP: $0.1263 画像1枚あたり |
| prompt_upsampling | boolean · false | 生成前にモデルがプロンプトを補足・書き換えます。 | なし |
| seed | integer | 同じ結果を再現するには、seedと設定を同じにしてください。ランダムにする場合は空欄のままにします。 | なし |
結果を取得する
ジョブはqueuedからrunningを経て、succeeded、failed、またはcanceledに移行します。GET /api/v1/generations/{id}をポーリングするか、webhook_urlを指定すると結果をPOSTでお届けします。出力はダウンロードして、ご自身で保存してください。
200 — 成功
{
"id": "gen_8c2QmX1nq0k4",
"object": "generation",
"model": "bfl/flux-2-max",
"endpoint": "bfl/flux-2-max/text-to-image",
"mode": "text-to-image",
"status": "succeeded",
"input": {
"prompt": "リネンのテーブルに置かれたドライフラワー入りの陶器の花瓶を撮影したエディトリアル写真。北側からの柔らかな光、フィルム粒子。",
"aspect_ratio": "1:1",
"resolution": "1MP"
},
"output": {
"images": [
{
"url": "https://cdn.cheapergen.com/outputs/gen_8c2Q-0.png",
"content_type": "image/png",
"width": 2048,
"height": 2048
}
]
},
"error": null,
"cost": {
"amount_usd": 0.2255,
"currency": "usd",
"estimated": false,
"official_usd": 0.264,
"list_price_source": "official",
"list_price_label": "Official",
"saved_usd": 0.0385
},
"source": "api",
"created_at": "2026-10-15T09:21:04Z",
"started_at": "2026-10-15T09:21:06Z",
"completed_at": "2026-10-15T09:22:31Z"
}実行前にリクエストの料金を確認する
見積もりエンドポイントは無料で、APIキーも不要です。送信した入力内容に対する料金、公式価格、割引額を返します。
curl -X POST https://cheapergen.com/api/v1/quote/bfl/flux-2-max/text-to-image \
-H "Content-Type: application/json" \
-d '{"prompt":"リネンのテーブルに置かれたドライフラワー入りの陶器の花瓶を撮影したエディトリアル写真。北側からの柔らかな光、フィルム粒子。","aspect_ratio":"1:1","resolution":"1MP"}'| ステータス | コード | 内容 |
|---|---|---|
| 400 | invalid_request | 必須パラメーターが不足しているか、範囲外です。エラーメッセージに該当項目が示されます。 |
| 401 | unauthorized | APIキーがない、形式が不正、または失効しています。 |
| 402 | insufficient_balance | 見積もり料金に対してクレジットが不足しています。チャージするか、自動チャージを有効にしてください。 |
| 429 | rate_limited | リクエスト数または実行中の生成数が多すぎます。間隔を空けて再試行してください。 |
| 502 | upstream_error | モデルの提供元でエラーが発生しました。確保額は返金されるため、再試行できます。 |
| 503 | model_unavailable | 現在、正常に利用できるルートがありません。後でもう一度試すか、別のモデルを選んでください。 |
よくある質問
FLUX.2 [max] APIに関するよくある質問
いいえ。APIはJSONを使った通常のHTTPS通信なので、このページにあるNode.js(fetch)とPython(requests)の例は、そのまま動作するプログラムです。HTTPリクエストを送信できる言語なら利用できます。
はい。リクエスト本文に「webhook_url」を追加すると、完了した生成をそのURLへPOSTします。CheaperGen-Signatureヘッダー(タイムスタンプと生の本文に対するHMAC-SHA256)で署名します。GET /api/v1/generations/{id}でポーリングする方法もあります。
テキストから画像を生成の開始価格は$0.0644 画像1枚あたりです。このページのリクエスト例は$0.065、公式価格より8%安いです。生成に失敗した場合は自動返金されます。
