FLUX 3 APIドキュメント
コードからFLUX 3を呼び出すために必要な情報をすべて掲載しています。ベースURLはhttps://cheapergen.com/api/v1です。まずプレイグラウンドでお試しください。
コーディングエージェントを使いますか?
これをClaude Code、Cursor、Codex、または任意のコーディングエージェントに貼り付けてください。プロジェクトにAPIを追加し、キーをCHEAPERGEN_API_KEYに保存して、支払いが発生する前に無料見積もりでテストします。
Add FLUX 3 (CheaperGen endpoint bfl/ flux-3/ text-to-image) to this project by following https:/ / cheapergen.com/ agents/ integrate.md認証
ダッシュボード → APIキーでキーを作成し、Bearerトークンとして送信してください。キーはサーバー側で管理してください。
export CHEAPERGEN_API_KEY="cg_live_…"
# every request
Authorization: Bearer $CHEAPERGEN_API_KEYFLUX 3 テキストから画像を生成 API
POST
/api/v1/run/bfl/flux-3/text-to-image非同期ジョブを送信すると、生成IDを含む202が返されます。GET /api/v1/generations/{id}をポーリングするか、webhook_urlを指定してください。詳細はジョブのライフサイクルをご覧ください。
入力パラメーター
| 名前 | 種類 | 説明 | 料金に影響 |
|---|---|---|---|
prompt必須 | string | ショットを説明してください:被写体、動き、カメラワーク、照明、スタイル。 | いいえ |
aspect_ratio | string (enum) | 出力画像の形状。 値:1:1 · 4:5 · 3:4 · 2:3 · 9:16 · 1:2 · 9:21 · 5:4 · 4:3 · 3:2 · 16:9 · 2:1 · 21:9 · 7:5 · 5:7 デフォルト:1:1 | はい |
resolution | string (enum) | 出力サイズ:1K ≈ 1 MP、1.5K ≈ 2.25 MP、2K ≈ 4 MP、4K ≈ 16 MP。2Kまでは横長・縦長比率でも長辺を2048 px以下に保ちます。 値:1K · 1.5K · 2K · 4K デフォルト:1K | はい |
webhook_url | string (URL) | 任意。生成が完了すると、Webhookシークレットで署名してここにPOSTします。Webhook | いいえ |
リクエスト
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-3/text-to-image`, {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "夜の台北の市場を広角で撮影。屋台から蒸気が立ち上り、中国語のネオンサインが見える。35mm写真。",
"aspect_ratio": "1:1",
"resolution": "1K"
}),
}).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);レスポンス
{
"id": "gen_8c2QmX1nq0k4",
"object": "generation",
"model": "bfl/flux-3",
"endpoint": "bfl/flux-3/text-to-image",
"mode": "text-to-image",
"status": "queued",
"input": {
"prompt": "夜の台北の市場を広角で撮影。屋台から蒸気が立ち上り、中国語のネオンサインが見える。35mm写真。",
"aspect_ratio": "1:1",
"resolution": "1K"
},
"output": null,
"error": null,
"cost": {
"amount_usd": 0.2255,
"currency": "usd",
"estimated": true,
"official_usd": null,
"list_price_source": "official",
"list_price_label": "Official",
"saved_usd": null
},
"source": "api",
"started_at": null,
"completed_at": null,
"urls": {
"get": "https://cheapergen.com/api/v1/generations/gen_8c2QmX1nq0k4",
"cancel": "https://cheapergen.com/api/v1/generations/gen_8c2QmX1nq0k4/cancel"
},
"created_at": "2026-10-15T09:21:04Z"
}FLUX 3 画像を編集 API
POST
/api/v1/run/bfl/flux-3/edit非同期ジョブを送信すると、生成IDを含む202が返されます。GET /api/v1/generations/{id}をポーリングするか、webhook_urlを指定してください。詳細はジョブのライフサイクルをご覧ください。
入力パラメーター
| 名前 | 種類 | 説明 | 料金に影響 |
|---|---|---|---|
prompt必須 | string | ショットを説明してください:被写体、動き、カメラワーク、照明、スタイル。 | いいえ |
image_urls必須 | string[] (URLs) | 編集・合成に使える参照画像は最大10枚です。プロンプトでは「画像1」「画像2」…と指定してください。 最大項目数:10 | いいえ |
aspect_ratio | string (enum) | 出力画像の形状。 値:1:1 · 4:5 · 3:4 · 2:3 · 9:16 · 1:2 · 9:21 · 5:4 · 4:3 · 3:2 · 16:9 · 2:1 · 21:9 · 7:5 · 5:7 デフォルト:1:1 | はい |
resolution | string (enum) | 出力サイズ:1K ≈ 1 MP、1.5K ≈ 2.25 MP、2K ≈ 4 MP、4K ≈ 16 MP。2Kまでは横長・縦長比率でも長辺を2048 px以下に保ちます。 値:1K · 1.5K · 2K · 4K デフォルト:1K | はい |
webhook_url | string (URL) | 任意。生成が完了すると、Webhookシークレットで署名してここにPOSTします。Webhook | いいえ |
リクエスト
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-3/edit`, {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "画像1を画像2のスタイルに変更し、構図と人物はそのままにしてください。",
"image_urls": [
"https://cdn.cheapergen.com/samples/portrait.jpg"
],
"aspect_ratio": "1:1",
"resolution": "1K"
}),
}).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);レスポンス
{
"id": "gen_8c2QmX1nq0k4",
"object": "generation",
"model": "bfl/flux-3",
"endpoint": "bfl/flux-3/edit",
"mode": "edit",
"status": "queued",
"input": {
"prompt": "画像1を画像2のスタイルに変更し、構図と人物はそのままにしてください。",
"image_urls": [
"https://cdn.cheapergen.com/samples/portrait.jpg"
],
"aspect_ratio": "1:1",
"resolution": "1K"
},
"output": null,
"error": null,
"cost": {
"amount_usd": 0.2255,
"currency": "usd",
"estimated": true,
"official_usd": null,
"list_price_source": "official",
"list_price_label": "Official",
"saved_usd": null
},
"source": "api",
"started_at": null,
"completed_at": null,
"urls": {
"get": "https://cheapergen.com/api/v1/generations/gen_8c2QmX1nq0k4",
"cancel": "https://cheapergen.com/api/v1/generations/gen_8c2QmX1nq0k4/cancel"
},
"created_at": "2026-10-15T09:21:04Z"
}結果を取得する
生成処理は非同期です。statusがsucceeded、failed、またはcanceledになるまでポーリングしてください。送信時にwebhook_urlを指定する方法もあります。失敗した生成は自動返金されます。
curl https://cheapergen.com/api/v1/generations/gen_8c2QmX1nq0k4 \
-H "Authorization: Bearer $CHEAPERGEN_API_KEY"その他:ジョブのライフサイクル · Webhook · エラー
FLUX 3の料金
従量課金: 画像1枚あたりを使った分だけ支払えます。サブスクリプションは不要です (月額プランは任意)。生成に失敗した場合は自動で返金されます。
| プラン | 公式価格 | CheaperGen | 節約額 |
|---|---|---|---|
1K 約1 MP | $0.0317/img | −34% | |
1.5K 約2.25 MP | $0.0644/img | −8% | |
2K 約4 MP | $0.092/img | −8% | |
4K 約16 MP | $0.5073/img | −16% |
- 公式価格:FLUX 3 ImageのBFL API公開価格(1Kで$0.048、1.5Kで$0.07、2Kで$0.10、4Kで$0.607。参照画像は無料)。価格確認日:2026年10月18日。
- 編集も生成と同じ料金です。参照画像は無料です。