> ## Documentation Index
> Fetch the complete documentation index at: https://docs.laozhang.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# FLUX.2 API：画像生成の使い方と料金

> LaoZhang APIでflux-2-pro、flux-2-flex、flux-2-maxを1つのJSONエンドポイントから呼び出し、出力サイズを指定して、期限内に結果を保存する方法です。

ほとんどの用途では `flux-2-pro` で十分です。料金は1回あたりの固定額で、結果のURLは生成から10分で失効します。

| 項目 | 内容 |
| - | - |
| `flux-2-pro` | 1回\$0.03。推奨の標準モデル |
| `flux-2-flex` | 1回\$0.06。Black Forest Labsによると、文字の描画と細部の表現に特化 |
| `flux-2-max` | 1回\$0.07。Black Forest Labsのモデルで、プロンプトへの忠実さが最も高い |
| 料金 | 2026年9月24日時点の公開価格。[AIモデルのAPI料金一覧](https://docs.laozhang.ai/ja/models.md)を参照 |
| エンドポイント | `POST https://api.laozhang.ai/v1/images/generations`（JSONボディ） |
| リクエスト | `model`、`prompt`、出力サイズ |
| 結果 | `data[0].url` の画像URL。有効期間は10分 |
| 編集 | 同じエンドポイントに参照画像を追加する。[FLUX.2の編集](https://docs.laozhang.ai/ja/api-capabilities/flux-image-edit.md)を参照 |

3つのモデルは、どれも同じリクエスト形式を使います。

## 始める前に

**1. APIキーを作成する**

FLUX.2のモデルは回数課金です。[トークン管理](https://api.laozhang.ai/token)でキーを作成（または既存のキーを編集）し、**課金方式**（计费模式）を**従量優先**（按量优先、推奨）または**回数課金**（按次计费）にします。従量優先のキーは回数課金と従量課金の両方のモデルを呼び出せますが、回数課金のキーが呼び出せるのは回数課金のモデルだけです。

キーはサーバー側の環境変数に保存してください。

![トークン管理で、課金方式を回数課金（按次计费）にしてトークンを作成する画面](https://mintcdn.com/laozhangai-edd05f2c/_loZ0Jy0ZI__xJ9z/images/token-create-per-request.png?fit=max\&auto=format\&n=_loZ0Jy0ZI__xJ9z\&q=85\&s=1fdceb804bb3ad50f83a21ec65b4d807)

**2. 環境を準備する**

キーを環境変数に設定し、Pythonの例で使う `requests` をインストールします。

```bash theme={null}
export LAOZHANG_API_KEY="YOUR_LAOZHANG_API_KEY"
python3 -m pip install requests
```

## 画像を生成する

1792×1024の横長の画像を生成し、レスポンスを `flux-generation.json` に書き出すリクエストです。

```bash theme={null}
curl --fail-with-body "https://api.laozhang.ai/v1/images/generations" \
  -H "Authorization: Bearer $LAOZHANG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "flux-2-pro",
    "prompt": "ターコイズ色のガラス温室の前で、黄色いスケートボードに乗るルビーレッドのレトロなロボット。すっきりした製品イラスト風",
    "size": "1792x1024"
  }' \
  -o flux-generation.json
```

### 結果を保存する

レスポンスには `data[0].url` が入っています。このURLは画像の生成から10分で失効するため、すぐにダウンロードしてください。FLUXが返すのはURLだけで、`b64_json` は返しません。

次のスクリプトを `save_images.py` として保存します。レスポンス内の画像をすべてダウンロードします（ほかの画像モデルが返す `b64_json` のデコードにも対応しています）。

```python save_images.py theme={null}
import base64
import json
import sys
import urllib.request
from pathlib import Path

response_file, stem = sys.argv[1], sys.argv[2]
response = json.loads(Path(response_file).read_text())
if not response.get("data"):
    sys.exit(f"{response_file} に画像がありません: {response}")

for number, item in enumerate(response["data"], start=1):
    if item.get("b64_json"):
        # data:image/...;base64, のプレフィックスがあれば取り除き、欠けたパディングを補う
        value = item["b64_json"].split(",", 1)[-1]
        image = base64.b64decode(value + "=" * (-len(value) % 4))
    else:
        with urllib.request.urlopen(item["url"], timeout=120) as download:
            image = download.read()
    if image.startswith(b"\x89PNG"):
        extension = "png"
    elif image[:4] == b"RIFF" and image[8:12] == b"WEBP":
        extension = "webp"
    else:
        extension = "jpg"
    path = Path(f"{stem}-{number}.{extension}")
    path.write_bytes(image)
    print(f"保存しました: {path}")
```

```bash theme={null}
python3 save_images.py flux-generation.json flux-robot
```

`保存しました: flux-robot-1.jpg` と表示されます。`output_format` を `png` にしない限り、FLUX.2はJPEGを返します。

### Pythonで生成する

```python theme={null}
import os
from pathlib import Path

import requests

response = requests.post(
    "https://api.laozhang.ai/v1/images/generations",
    headers={"Authorization": f"Bearer {os.environ['LAOZHANG_API_KEY']}"},
    json={
        "model": "flux-2-pro",
        "prompt": "大理石のテーブルに置かれた透明なスマートスピーカーの、映画のような製品写真",
        "size": "1024x1024",
    },
    timeout=240,
)
response.raise_for_status()
image_url = response.json()["data"][0]["url"]

# 結果のURLは10分で失効するため、すぐにダウンロードする
download = requests.get(image_url, timeout=120)
download.raise_for_status()
image = download.content

extension = "png" if image.startswith(b"\x89PNG") else "jpg"
output = Path(f"flux-speaker.{extension}")
output.write_bytes(image)
print(f"保存しました: {output}")
```

## 出力サイズ

出力サイズは、OpenAI形式の `size` 文字列か、ピクセル単位の `width` と `height` で指定します。どちらか一方だけを使ってください。

| `size` | 出力 | 主な用途 |
| - | - | - |
| `1024x1024` | 1024×1024 | 正方形の画像、アバター、商品写真 |
| `1792x1024` | 1792×1024 | 横長のカバー、バナー、ヒーロー画像 |
| `1024x1792` | 1024×1792 | 縦長のポスター、モバイル向けカバー、ストーリー画像 |

`width` と `height` は16の倍数かつ64ピクセル以上で、総ピクセル数は約4メガピクセル（例：2048×2048）までです。編集でも同じサイズ指定を使います。

## 画像を編集する

テキストだけから生成する代わりに画像を編集するときは、同じJSONリクエストに `input_image` を追加します。公開画像の被写体を残し、背景だけを差し替える最小の編集例です。

```bash theme={null}
curl --fail-with-body "https://api.laozhang.ai/v1/images/generations" \
  -H "Authorization: Bearer $LAOZHANG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "flux-2-pro",
    "prompt": "メインの被写体はそのまま残してください。背景をすっきりした淡いブルーのスタジオ背景に変え、元のライティングを保ってください。",
    "input_image": "https://example.com/source.png",
    "size": "1792x1024",
    "output_format": "png"
  }' \
  -o flux-edit.json

python3 save_images.py flux-edit.json flux-edit
```

複数の参照画像は、このエンドポイントのJSONフィールドでのみ指定できます。ローカルファイルの送り方、最大8枚の参照画像、Pythonヘルパー、編集用のプロンプトは[FLUX.2の編集](https://docs.laozhang.ai/ja/api-capabilities/flux-image-edit.md)を参照してください。

## パラメーター

| パラメーター | 型 | 必須 | 説明 |
| - | - | - | - |
| `model` | string | 必須 | `flux-2-pro`、`flux-2-flex`、`flux-2-max` |
| `prompt` | string | 必須 | 生成する内容 |
| `size` | string | 任意 | 出力サイズ。例：`1792x1024`。既定値は `1024x1024` |
| `width`、`height` | integer | 任意 | ピクセル単位の出力サイズ。16の倍数、64以上、総ピクセル数は約4MPまで。`size` の代わりに使う |
| `n` | integer | 任意 | 画像の枚数。`1` のみ対応 |
| `output_format` | string | 任意 | `jpeg`（既定値）または `png` |
| `seed` | integer | 任意 | 結果を再現するための固定シード |
| `input_image` … `input_image_8` | string | 任意 | 参照画像（公開URLまたはデータURL）。追加するとリクエストが編集になる |

## 旧モデルとの互換性：FLUX Kontext

`flux-kontext-pro`（1回\$0.035）と `flux-kontext-max`（1回\$0.07）は、既存の連携のために引き続き利用できます。エンドポイントは同じで、違いは次のとおりです。

* `size` の代わりに `aspect_ratio` フィールドを使います。OpenAI Python SDKでは `extra_body` で渡します。
* `3:7` から `7:3` までの任意の比率を指定でき、出力は約1メガピクセルに保たれます。

よく使う比率と、おおよその出力サイズです。

| `aspect_ratio` | おおよその出力 |
| - | - |
| `1:1` | 1024×1024 |
| `3:2` / `2:3` | 1248×832 / 832×1248 |
| `16:9` / `9:16` | 1408×792 / 792×1408 |
| `21:9` | 1680×720 |
| `7:3` / `3:7` | 1544×662 / 662×1544 |

新しく生成や編集を組み込む場合は、FLUX.2を使ってください。

## よくある質問

### BFL APIのように結果をポーリングする必要は？

ありません。BFL APIはタスクIDと `polling_url` を返し、状態が `Ready` になるまでポーリングする方式です。LaoZhang APIは同じリクエストの中で画像の完成を待ち、`data[0].url` で返します。

その代わり、クライアントのタイムアウトには余裕を持たせてください。Pythonの例では240秒です。リバースプロキシやサーバーレス関数を経由する場合は、そちらのタイムアウトや実行時間の上限も引き上げてください。そうしないと、画像の完成前に接続が切れます。

### 画像URLが使えなくなるのはなぜですか？

結果のURLは生成から10分で失効します。これはBFL自身の結果リンクと同じ有効期間です。各リクエストが返ったらすぐにサーバー側で画像をダウンロードして自社のストレージに保存し、データベースやフロントエンドにはそのアドレスを渡してください。

バッチ処理では、バッチ全体の完了を待たずに、リクエストが終わるたびに結果をダウンロードします。ダウンロードが追いつくよう、同時リクエスト数は控えめにしてください。

失効したURLは更新できません。リクエストを送り直す必要があり、新しい呼び出しとして課金されます。

### 同じ結果を再現するには？

同じモデル、プロンプト、サイズで、同じ `seed` を送ります。1つのデザインを繰り返し調整するときに役立ちます。

### 文字やブランドカラーを正確に出すには？

ポスター、インフォグラフィック、UIモックアップなど文字の多い画像では、まず `flux-2-flex` を試してください。BFLは、文字の描画と細部の表現に向くモデルと位置づけています。最高の品質と最も高いプロンプトへの忠実さが必要なときは、`flux-2-max` を使います。

ブランドカラーを合わせるには、`マグカップは #FF5A1F` のようにプロンプトにカラーコードを書きます。複雑なシーンでは、被写体、背景、ライティング、スタイルをJSON文字列で書き、`prompt` として送ることもできます。

### 失敗したリクエストは課金されますか？

いいえ。FLUX.2は回数課金で、画像が返ったリクエストに1回分が課金されます。パラメーターエラーやモデレーションによるブロックなど、200以外のレスポンスは課金されません。

クライアントのタイムアウトは失敗と同じではありません。サーバー側では画像が完成して課金されている可能性があるため、再送する前に[呼び出しログ](https://docs.laozhang.ai/en/faq/call-logs.md)を確認してください。実際の課金額は呼び出しログの記録が最終的なものです。

### OpenAI SDKは使えますか？

使えます。`client.images.generate()` を次のように呼び出します。

* `base_url` を `https://api.laozhang.ai/v1` にします。
* `model`、`prompt`、`size` は通常どおり渡します。
* `width`、`height`、`seed` などFLUX固有のフィールドは `extra_body` に入れます。

画像のURLは `response.data[0].url` に入るので、すぐにダウンロードしてください。

編集でも `client.images.generate()` を使い、`input_image` を `extra_body` に入れます。`client.images.edit()` は画像を1枚しか受け付けません。詳しくは[FLUX.2の編集](https://docs.laozhang.ai/ja/api-capabilities/flux-image-edit.md)のよくある質問を参照してください。

## 関連ドキュメント

* [FLUX.2の編集](https://docs.laozhang.ai/ja/api-capabilities/flux-image-edit.md)：1枚の画像の編集と、最大8枚の参照画像の合成
* [画像APIの比較](https://docs.laozhang.ai/ja/api-capabilities/image-generation-guide.md)：FLUX.2とほかの画像モデルの比較
* [Images API](https://docs.laozhang.ai/ja/api-reference/images.md)：共通のリクエストとレスポンスの形式
* [AIモデルのAPI料金一覧](https://docs.laozhang.ai/ja/models.md)：FLUXの現在の価格とグループ
* [呼び出しログ](https://docs.laozhang.ai/en/faq/call-logs.md)：リクエストごとのモデルと課金額の確認
* [コンソールのモデルと料金](https://api.laozhang.ai/account/pricing)：自分のアカウントで使える価格
* [Black Forest Labs：FLUX.2の概要](https://docs.bfl.ai/flux_2/flux2_overview)（英語）：各FLUX.2モデルの用途、カラーコードでの色指定、構造化プロンプト
* [Black Forest Labs：API連携のガイドライン](https://docs.bfl.ai/api_integration/integration_guidelines)（英語）：BFLの非同期ポーリングの流れと10分間有効な結果URL


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.