メインコンテンツへスキップ
ほとんどの用途では flux-2-pro で十分です。料金は1回あたりの固定額で、結果のURLは生成から10分で失効します。 3つのモデルは、どれも同じリクエスト形式を使います。

始める前に

1

APIキーを作成する

FLUX.2のモデルは回数課金です。トークン管理でキーを作成(または既存のキーを編集)し、課金方式(计费模式)を従量優先(按量优先、推奨)または回数課金(按次计费)にします。従量優先のキーは回数課金と従量課金の両方のモデルを呼び出せますが、回数課金のキーが呼び出せるのは回数課金のモデルだけです。キーはサーバー側の環境変数に保存してください。トークン管理で、課金方式を回数課金(按次计费)にしてトークンを作成する画面
2

環境を準備する

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

画像を生成する

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

結果を保存する

レスポンスには data[0].url が入っています。このURLは画像の生成から10分で失効するため、すぐにダウンロードしてください。FLUXが返すのはURLだけで、b64_json は返しません。 次のスクリプトを save_images.py として保存します。レスポンス内の画像をすべてダウンロードします(ほかの画像モデルが返す b64_json のデコードにも対応しています)。
save_images.py
保存しました: flux-robot-1.jpg と表示されます。output_format を png にしない限り、FLUX.2はJPEGを返します。

Pythonで生成する

出力サイズ

出力サイズは、OpenAI形式の size 文字列か、ピクセル単位の width と height で指定します。どちらか一方だけを使ってください。 width と height は16の倍数かつ64ピクセル以上で、総ピクセル数は約4メガピクセル(例:2048×2048)までです。編集でも同じサイズ指定を使います。

画像を編集する

テキストだけから生成する代わりに画像を編集するときは、同じJSONリクエストに input_image を追加します。公開画像の被写体を残し、背景だけを差し替える最小の編集例です。
複数の参照画像は、このエンドポイントのJSONフィールドでのみ指定できます。ローカルファイルの送り方、最大8枚の参照画像、Pythonヘルパー、編集用のプロンプトはFLUX.2の編集を参照してください。

パラメーター

旧モデルとの互換性: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メガピクセルに保たれます。
よく使う比率と、おおよその出力サイズです。 新しく生成や編集を組み込む場合は、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以外のレスポンスは課金されません。 クライアントのタイムアウトは失敗と同じではありません。サーバー側では画像が完成して課金されている可能性があるため、再送する前に呼び出しログを確認してください。実際の課金額は呼び出しログの記録が最終的なものです。

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の編集のよくある質問を参照してください。

関連ドキュメント