モデルガイド

FLUX API:FLUX 3、FLUX 2、Kontext、FLUX 3 Video

Black Forest Labsは現在、複数のFLUX画像モデルと1つの動画モデルを提供しています。このガイドでは、用途ごとにどのFLUXを使うか、各サイズの料金、1つのAPIから呼び出す方法を解説します。

RevanaのFLUXモデル

FLUXはBlack Forest Labsの画像モデルのファミリーで、現在は動画モデルもあります。カタログには、最新世代のFLUX 3に加え、FLUX 2とKontextの編集モデルがあります。すべて同じリクエスト形式を使います:

FLUXモデルの比較
モデルモデルID機能サイズ参照画像最安価格ルート
FLUX 3flux-3テキストから画像、編集1K, 1.5K, 2K, 4K最大10枚$0.05 / 枚1ルート
FLUX 2 Proflux-2-proテキストから画像、編集1〜4 MP最大8枚$0.03 / 枚2ルート
FLUX 2 Maxflux-2-maxテキストから画像、編集1〜4 MP最大8枚$0.07 / 枚1ルート
FLUX Kontext Proflux-kontext-proテキストから画像、編集モデルのデフォルト最大4枚$0.04 / 枚2ルート
FLUX Kontext Maxflux-kontext-maxテキストから画像、編集モデルのデフォルト最大4枚$0.07 / 枚2ルート
FLUX 3 Videoflux-3-videoテキストから動画、画像から動画、音声付きdraft、hd、fhd、5〜20秒開始画像1枚$0.06 / s1ルート

FLUX 2のサイズはメガピクセル(1MP〜4MP)で指定し、参照画像に合わせる auto のアスペクト比オプションがあります。FLUX 3は、ほかの画像モデルと同じ1K〜4Kの名称を使います。

どのFLUXを使うか

  • FLUX 2 Proは定番の主力モデルです。写実的なディテールと、安定した手や顔の描写で知られ、最大8枚の参照画像に対応し、1 MPで1枚あたり$0.03からです。2つのルートがあります。
  • FLUX 3は最新の画像モデルで、最大10枚の参照画像に対応します。1Kで$0.05、2Kで$0.10ですが、4Kの設定は$0.61と大幅に高いため、必要なときだけ4Kを指定してください。
  • FLUX 2 Maxは、小さいサイズでは1枚あたりの料金が高めですが、最大サイズではFLUX 3より安く、4 MPで$0.16です。
  • FLUX Kontext ProとMaxは、最大4枚の画像を使って指示で編集するためのモデルで、1枚あたり均一の価格です。

これらのモデル間の品質ランキングは公開していません。2〜3つのモデルで自分のプロンプトを試して比較してください。

FLUX画像の料金(2026年10月)

サイズ別のFLUX画像の料金
モデルサイズ1枚あたり100枚
FLUX 31K$0.05$5.00
FLUX 31.5K$0.07$7.00
FLUX 32K$0.10$10.00
FLUX 34K$0.61$61.00
FLUX 2 Pro1 MP$0.03$3.00
FLUX 2 Pro2 MP$0.05$5.00
FLUX 2 Pro4 MP$0.08$8.00
FLUX 2 Max1 MP$0.07$7.00
FLUX 2 Max4 MP$0.16$16.00
FLUX Kontext Proサイズは1種類$0.04$4.00
FLUX Kontext Maxサイズは1種類$0.07$7.00

FLUX 3 Video

FLUX 3 Videoは、プロンプトまたは開始画像から5〜20秒のクリップを作成し、指定すれば音声も付きます。出力1秒あたりで課金され、品質は3段階です:

FLUX 3 Videoの1秒あたりと1クリップあたりの料金
設定1秒あたり10秒のクリップ20秒のクリップ
draft$0.06$0.60$1.20
hd$0.17$1.70$3.40
fhd$0.29$2.90$5.80

設定は resolution で指定します。ドラフト設定は、fhd に料金を支払う前に、動きと構図を安く確認する方法です。ほかの動画モデルとの比較は、おすすめAI動画APIのガイドをご覧ください。

FLUX 2 Proの画像を生成する

モデルIDと input を付けて POST /v1/generations を送信し、ジョブが succeeded または failed になるまでポーリングします。この2 MPの画像は$0.05です。

cURL
export REVANA_API_KEY="sr_live_..."

# 1. Submit the job (returns 202 with the generation id)
curl https://api.revana.si/v1/generations \
  -H "Authorization: Bearer $REVANA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "flux-2-pro",
    "input": {
      "prompt": "Close-up portrait of a potter at her wheel, clay on her hands, late afternoon light through a dusty workshop window, 85mm lens look.",
      "resolution": "2MP",
      "aspect_ratio": "3:4"
    },
    "max_cost_usd": 0.1
  }'

# 2. Poll with the id from step 1 until status is "succeeded" or "failed"
curl https://api.revana.si/v1/generations/gen_01JC2V8K5T \
  -H "Authorization: Bearer $REVANA_API_KEY"
Python
import os
import time

import requests

API = "https://api.revana.si/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['REVANA_API_KEY']}"}

resp = requests.post(f"{API}/generations", headers=HEADERS, json={
    "model": "flux-2-pro",
    "input": {
        "prompt": "Close-up portrait of a potter at her wheel, clay on her hands, late afternoon light through a dusty workshop window, 85mm lens look.",
        "resolution": "2MP",
        "aspect_ratio": "3:4",
    },
    "max_cost_usd": 0.1,
})
resp.raise_for_status()
job = resp.json()

while job["status"] in ("queued", "running"):
    time.sleep(3)
    job = requests.get(f"{API}/generations/{job['id']}", headers=HEADERS).json()

if job["status"] == "succeeded":
    print(job["output"]["urls"], job["cost_usd"])
else:
    print("Failed:", job["error"])
Node.js
// Node 18 or later. Save as generate.mjs and run: node generate.mjs
const API = "https://api.revana.si/v1";
const headers = {
  Authorization: `Bearer ${process.env.REVANA_API_KEY}`,
  "Content-Type": "application/json",
};

const res = await fetch(`${API}/generations`, {
  method: "POST",
  headers,
  body: JSON.stringify({
    model: "flux-2-pro",
    input: {
      prompt: "Close-up portrait of a potter at her wheel, clay on her hands, late afternoon light through a dusty workshop window, 85mm lens look.",
      resolution: "2MP",
      aspect_ratio: "3:4",
    },
    max_cost_usd: 0.1,
  }),
});
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
let job = await res.json();

while (job.status === "queued" || job.status === "running") {
  await new Promise((r) => setTimeout(r, 3000));
  job = await (await fetch(`${API}/generations/${job.id}`, { headers })).json();
}

if (job.status === "succeeded") console.log(job.output.urls, job.cost_usd);
else console.error("Failed:", job.error);

開始画像からFLUX 3 Videoのクリップを作る

動画では、開始フレームを image_url、長さを duration、音声を audio: true で指定します。この10秒の hd クリップは$1.70です:

リクエストボディ
{
  "model": "flux-3-video",
  "input": {
    "prompt": "The potter slowly lifts the finished bowl from the wheel and turns it toward the light. Soft hum of the wheel winding down.",
    "image_url": "https://example.com/potter.png",
    "resolution": "hd",
    "duration": 10,
    "audio": true
  },
  "max_cost_usd": 2.1
}

各ジョブの料金は、送信時に残高から確保され、成功した場合にのみ課金されます。ジョブが失敗した場合は、確保が解除され、支払いは発生しません。

すべてのFLUXモデルはモデルページにあります。すべての入力フィールドはドキュメントに、クレジットパックは料金ページに掲載されています。APIキーを取得して始めましょう。

よくある質問

FLUX 3 APIの料金はいくらですか?

2026年10月時点で、FLUX 3は1Kで1枚あたり$0.05、1.5Kで$0.07、2Kで$0.10、4Kで$0.61です。

FLUX 2 Proの料金はいくらですか?

1メガピクセルで1枚あたり$0.03から、4メガピクセルで$0.08までです。

FLUXで画像を編集できますか?

はい。FLUX 3は最大10枚、FLUX 2 ProとMaxは最大8枚、FLUX Kontext ProとMaxは最大4枚の参照画像を、いずれも image_urls で受け付けます。

FLUXの動画APIはありますか?

はい。FLUX 3 Videoは、テキストまたは開始画像から5〜20秒のクリップを作成し、オプションで音声も付けられます。ドラフト設定では1秒あたり$0.06からです。

FLUX 2はどのサイズに対応していますか?

サイズはメガピクセルで指定します。1MP、2MP、3MP、4MPで、アスペクト比は21:9から9:21、またはautoです。

1つのキーでFLUXを試す

すべてのFLUXモデルとそのほかの画像・動画モデルを、1つのAPIキーで利用できます。前払いクレジットは$10から、成功したジョブにのみ課金されます。