はじめに
Flux 2 Pro は、Black Forest Labs が2025年11月にリリースしたフォトリアリスティック画像生成モデルです。32億パラメータの Rectified Flow Transformer(RFT)と Mistral-3 24B Vision Language Model(VLM)を組み合わせたアーキテクチャにより、高精度なプロンプト理解と4メガピクセルの高解像度出力を実現しています。
この記事では、Flux 2 Pro の仕組みと主要機能を解説し、fal.ai・Replicate・Together AI の3つのAPIプロバイダーを使った Python実装方法を紹介します。
この記事で学べること
- Flux 2 シリーズのバリアント(Pro / Flex / Dev)の違いと使い分け
- fal.ai / Replicate / Together AI を使ったテキスト→画像生成の実装
- 画像編集(Image-to-Image)のAPI呼び出し方法
- APIプロバイダー別の料金比較と選択指針
対象読者
- PythonでAI画像生成APIを利用したい開発者
- Midjourney や DALL-E 以外の画像生成モデルを評価したい方
- フォトリアリスティックな画像生成をアプリケーションに組み込みたい方
TL;DR
- Flux 2 Pro は 32B RFT + Mistral-3 24B VLM のハイブリッドアーキテクチャ
- fal.ai / Replicate / Together AI など複数のAPIプロバイダー経由で利用可能
- 最大4メガピクセル出力、Hexカラーコード対応、最大8枚のリファレンス画像入力
- 料金は fal.ai で $0.03/最初の1MP + $0.015/追加MP(メガピクセル単価制)
- 用途に応じて Pro(最高品質)・Flex(タイポグラフィ強化)・Dev(高速・低コスト)を選択
Flux 2 とは
Black Forest Labs は、Stable Diffusion の主要開発者が設立した画像生成特化スタートアップです。2024年に Flux 1.x シリーズでフォトリアリスティック画像生成の水準を大きく引き上げ、2025年11月に後継となる Flux 2 シリーズをリリースしました。
Flux 2 シリーズのバリアント
| バリアント | 特徴 | 生成速度 | 料金(fal.ai) | 主な用途 |
|---|---|---|---|---|
| Flux 2 Pro | 最高品質・フォトリアリスティック | 約10秒 | $0.03/最初の1MP | ヒーロー画像、プロダクトビジュアル |
| Flux 2 Flex | タイポグラフィ最強・調整幅広い | 約12秒 | $0.06/MP | ブランドビジュアル、マーケティング素材 |
| Flux 2 Dev | 高速・低コスト(オープンウェイト) | 約2.5秒 | $0.012/MP | 高頻度API呼び出し、プロトタイピング |
この記事では主に Flux 2 Pro を対象に解説します。
アーキテクチャの概要
Flux 2 Pro の技術的な特徴は、2つのモデルを組み合わせた点にあります。
32B Rectified Flow Transformer(RFT)
Rectified Flow とは、ノイズから画像を復元するプロセスを「直線的な経路」で行うアーキテクチャです。従来の拡散モデルが曲がりくねった確率的パスを辿るのに対し、Flux 2 Pro はより少ないステップで高品質な画像を生成できます(公式ブログ)。
Mistral-3 24B VLM 統合
テキストエンコーダーとして Mistral-3 24B VLM を採用しています。これにより、長く複雑なプロンプトの意図を正確に解釈できるようになりました。
主な改善点:
- Hexカラーコード(例:
#FF6B35)を指定すると、その色を正確に再現 - 最大8枚のリファレンス画像から一貫したスタイル・人物を生成
- JSONプロンプティングによる高度な構造的制御
- 人体・手・顔の解剖学的精度向上(Flux 1.1 Pro では指が増えるなどの問題が多発していた)
APIプロバイダーの選択
Flux 2 Pro は公式 BFL API のほか、複数のサードパーティプロバイダーが対応しています。
| プロバイダー | モデル識別子 | 料金 | 特徴 |
|---|---|---|---|
| fal.ai | fal-ai/flux-2-pro |
$0.03/1MP + $0.015/追加MP | Black Forest Labs公式統合 |
| Replicate | black-forest-labs/flux-2-pro |
$0.055/1024×1024 | 最安値クラス |
| Together AI | black-forest-labs/FLUX.2-pro |
変動制 | 画像入力(I2I)対応 |
| BFL Direct | — | 公式料金表参照 | 直接APIアクセス |
セットアップ
前提条件
- Python 3.10以上
- 各プロバイダーのAPIキー
依存ライブラリのインストール
pip install fal-client replicate together requests Pillow
fal.ai での実装
fal.ai は Black Forest Labs の公式統合パートナーです。テキスト→画像と画像編集の両方に対応しています。
APIキーの設定
export FAL_KEY="your_fal_api_key"
テキスト→画像生成
import fal_client
# 基本的な画像生成
result = fal_client.run(
"fal-ai/flux-2-pro",
arguments={
"prompt": "A macro photograph of morning dew on a spider web, "
"golden hour backlight, photorealistic, 8K",
"image_size": "landscape_16_9", # "square", "portrait_4_3" など
"num_inference_steps": 28, # 10〜50(デフォルト28)
"guidance_scale": 3.5, # プロンプト忠実度
"num_images": 1,
"output_format": "png",
}
)
image_url = result["images"][0]["url"]
print(f"生成された画像URL: {image_url}")
Hexカラーコードを使った生成
Flux 2 Pro の特徴的な機能として、Hexカラーコードを指定すると正確な色が再現されます。
result = fal_client.run(
"fal-ai/flux-2-pro",
arguments={
"prompt": "A modern tech company logo on white background, "
"primary color #3B82F6 (blue), accent #10B981 (emerald), "
"clean flat design, minimalist",
"image_size": "square_hd",
}
)
非同期実行(大量生成時)
import asyncio
import fal_client
async def generate_batch(prompts: list[str]) -> list[str]:
"""複数プロンプトを非同期で並列生成"""
async def generate_one(prompt: str) -> str:
result = await fal_client.run_async(
"fal-ai/flux-2-pro",
arguments={"prompt": prompt, "image_size": "landscape_16_9"},
)
return result["images"][0]["url"]
tasks = [generate_one(p) for p in prompts]
return await asyncio.gather(*tasks)
prompts = [
"A futuristic city skyline at night, cyberpunk style",
"A serene Japanese garden in autumn, soft morning light",
"Abstract geometric patterns in blue and gold",
]
urls = asyncio.run(generate_batch(prompts))
for url in urls:
print(url)
Replicate での実装
Replicate は料金が最安値クラスで、1024×1024 画像で約$0.055です。
APIキーの設定
export REPLICATE_API_TOKEN="your_replicate_token"
テキスト→画像生成
import replicate
output = replicate.run(
"black-forest-labs/flux-2-pro",
input={
"prompt": "Portrait of a senior software engineer, "
"natural office lighting, shallow depth of field, "
"Canon 85mm f/1.4, photorealistic",
"aspect_ratio": "1:1", # "1:1", "16:9", "4:3", "2:3" など
"output_format": "png",
"output_quality": 90, # 1〜100
"safety_tolerance": 2, # 1〜5(デフォルト2)
}
)
# output はURL文字列のリスト
print(output[0])
画像をローカルに保存
import replicate
import requests
from pathlib import Path
def generate_and_save(prompt: str, output_path: str) -> Path:
output = replicate.run(
"black-forest-labs/flux-2-pro",
input={
"prompt": prompt,
"aspect_ratio": "16:9",
"output_format": "png",
}
)
image_url = output[0]
response = requests.get(image_url)
response.raise_for_status()
path = Path(output_path)
path.write_bytes(response.content)
print(f"保存完了: {path} ({path.stat().st_size / 1024:.1f} KB)")
return path
generate_and_save(
"A minimalist product photo of a coffee mug on white background",
"output_image.png"
)
Together AI での実装(Image-to-Image)
Together AI では画像入力(Image-to-Image)が利用できます。
APIキーの設定
export TOGETHER_API_KEY="your_together_api_key"
画像スタイル変換
from together import Together
client = Together()
image_completion = client.images.generate(
model="black-forest-labs/FLUX.2-pro",
width=1024,
height=768,
steps=28,
prompt="Convert to anime style illustration, vibrant colors, "
"Studio Ghibli inspired, detailed background",
# リファレンス画像のURLを指定(スタイル参照)
image_url="https://example.com/reference_photo.jpg",
)
print(image_completion.data[0].url)
複数リファレンス画像の活用
Flux 2 Pro は最大8枚のリファレンス画像入力に対応しており、一貫したキャラクターやスタイルを維持した画像生成が可能です。
from together import Together
client = Together()
# キャラクター一貫性を保った異なるシーンの生成
scenes = [
"standing in a modern office, business casual outfit, smiling",
"walking in a park, casual wear, golden hour lighting",
"sitting at a desk, coding, focused expression",
]
reference_url = "https://example.com/character_reference.jpg"
for scene in scenes:
result = client.images.generate(
model="black-forest-labs/FLUX.2-pro",
width=1024,
height=1024,
steps=28,
prompt=f"A professional person, {scene}, photorealistic",
image_url=reference_url,
)
print(result.data[0].url)
料金の詳細比較
解像度別コスト(概算)
| 解像度 | メガピクセル | fal.ai | Replicate |
|---|---|---|---|
| 512×512 | 0.26 MP | $0.030 | $0.028 |
| 1024×1024 | 1.05 MP | $0.031 | $0.055 |
| 1920×1080 | 2.07 MP | $0.046 | — |
| 2048×2048 | 4.19 MP | $0.063 | — |
fal.ai は最初の1MPが$0.03の固定、以降は$0.015/MPの可変制です。小解像度では fal.ai が安く、高解像度では差が縮まります(fal.ai 料金表 参照)。
バリアント別コスト(fal.ai, 1024×1024基準)
| バリアント | コスト/枚 | 生成速度 |
|---|---|---|
| Flux 2 Dev | 約$0.013 | 約2.5秒 |
| Flux 2 Pro | 約$0.031 | 約10秒 |
| Flux 2 Flex | 約$0.063 | 約12秒 |
大量生成が必要な場合は Flux 2 Dev(オープンウェイト)が最適で、品質重視のプロダクションには Flux 2 Pro が推奨されます(GenAIntel 比較 参照)。
Flux 1.1 Pro との比較
公式の比較情報(Ambience AI 参照)によると、主な改善点は以下のとおりです。
| 項目 | Flux 1.1 Pro | Flux 2 Pro |
|---|---|---|
| パラメータ数 | 12B | 32B |
| テキストエンコーダー | T5 XXL | Mistral-3 24B VLM |
| 最大解像度 | 2MP | 4MP |
| 人体精度 | 指の増加・非対称顔が発生 | 大幅改善 |
| テキスト描画 | 部分的 | 高精度 |
| Hexカラー対応 | 非対応 | 対応 |
| リファレンス画像 | 最大4枚 | 最大8枚 |
注意点
コンテンツフィルター
Flux 2 Pro はテキストプロンプト・入力画像・出力画像に対して複数のコンテンツフィルターが適用されます。プロンプトがフィルターに引っかかった場合、APIはエラーを返します。safety_tolerance パラメータで感度を調整できますが、プロバイダーのポリシーを確認してください(Replicate ドキュメント 参照)。
レート制限
各プロバイダーにリクエスト制限があります。大量生成時は非同期処理とリトライロジックを実装することが推奨されます。
import time
import fal_client
from tenacity import retry, stop_after_attempt, wait_exponential
@retry(stop=stop_after_attempt(3), wait=wait_exponential(multiplier=1, min=4, max=10))
def generate_with_retry(prompt: str) -> str:
result = fal_client.run(
"fal-ai/flux-2-pro",
arguments={"prompt": prompt, "image_size": "square_hd"},
)
return result["images"][0]["url"]
まとめ
Flux 2 Pro は以下のような用途に適しています。
- プロダクト画像生成: Hexカラー対応で正確なブランドカラーを再現
- キャラクター一貫性: 最大8枚のリファレンスで統一されたビジュアルを生成
- 高解像度コンテンツ: 最大4MPで広告・印刷物に対応
- フォトリアリスティックなポートレート: 人体の解剖学的精度が向上
API経由での利用は fal.ai・Replicate・Together AI いずれも Python から数行で始められます。まずは無料クレジットのあるプロバイダーで試し、用途に応じて最適なプロバイダーとバリアントを選択するとよいでしょう。
参考リンク
- Flux 2 Pro - fal.ai — API ドキュメント・料金
- Flux 2 Pro - Replicate — API リファレンス
- Black Forest Labs 公式ブログ — Flux 2 リリースノート
- Flux 2 Pro vs 1.1 Pro 比較 (Ambience AI) — 性能比較レポート
- Flux 2 バリアント選択ガイド (GenAIntel) — Dev/Flex/Pro の使い分け


