使用ガイド
hiapi APIでflux-2-klein-9b/text-to-imageを使ってEC商品画像を生成する
高速で安価なテキストtoイメージモデルの多くは、あなたに選択を迫ります。画像内のテキストが読みやすいか、それとも価格が安いか。flux-2-klein-9b/text-to-image は「低価格・高速」帯の中で、その二者択一を迫らない数少ないモデルの一つです。hiapi がこのモデルに付けたタグは Text Rendering, High Fidelity(テキストレンダリング、高忠実度)です。実際に使うと、これは同じ1回の生成でブランドの文字ロゴ、小さな一行ラベル、目を引くプロモーション大見出しをレンダリングでき、文字化けを修正するために2回目を走らせる必要がないことを意味します。
これは特にEC商品画像で重要です。本当にテキストが必要な画像、つまり目に見えるラベル付きのメイン画像や、価格表記付きの期間限定セールバナーこそ、安価な「高速」モデルが最も失敗しやすいものだからです。
本記事では3枚の画像すべてを flux-2-klein-9b/text-to-image で生成し、リトライはゼロでした。ラベル文字、プロモーション大見出し、割引情報の行はすべて初回生成時にきれいに正確でした。だからといって、すべてのプロンプトでこれが保証されるわけではありません(下の校正のヒントを参照)。しかしこの価格帯のモデルとしては良い兆候です。

価格:flux-2-klein-9b と flux-2-klein-4b(テキストtoイメージ)の比較
両モデルは同じ「Klein」ファミリーに属し、どちらも高速・低コストを売りにしています。違いは何にお金を払うかです:
| モデル | 1枚あたりの価格 | タグ |
|---|---|---|
flux-2-klein-9b/text-to-image |
一律 $0.00858 | Text-to-Image, Text Rendering, High Fidelity |
flux-2-klein-4b/text-to-image |
一律 $0.00143 | Text-to-Image, Fast, Cost Efficient |
(価格は2026-08時点のデータで、/api/pricing と照合して確認済み。)
flux-2-klein-4b/text-to-image は約6倍安く、背景パネル、ライフスタイルシーン、あるいは文字が構図に関与しないあらゆる画像のデフォルト選択として適しています。しかしテキストレンダリングのタグがないため、カード、ラベル、バナー上の文字を本当に明瞭に読ませたいなら、価格が高くても klein-9b の方が堅実な選択です。しかも1枚1セント未満なので、ここでの「堅実」はほとんどのLLMのAPI呼び出し1回よりまだ安いのです。
実際のリクエスト例
以下は /v1/tasks エンドポイントに対して、レンダリングされたテキスト付きのプロモーションカードを生成する、動作するリクエストです:
curl -s -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "flux-2-klein-9b/text-to-image",
"input": {
"prompt": "EC期間限定セールのソーシャルメディア宣伝バナー:すりガラス製のスポイトボトル、ラベルには 'VELURA HYDRA SERUM' と書かれている、チークピンクからクリーム色への柔らかなグラデーション背景の中央に配置、上部には太字で端正なサンセリフ体の大見出しテキストで 'FLASH SALE'、濃いチャコールグレーの文字、その下に同じフォントで小さめの一行テキスト '30% OFF'、右下には細線の角丸長方形バッジがあり、その中に 'VELURA' の文字、クリアで読みやすいタイポグラフィ、バランスの取れた余白、モダンでミニマルなマーケティングデザイン、他のテキストなし、透かしなし",
"aspect_ratio": "1:1"
}
}'
このリクエストは taskId を返します。GET /v1/tasks/{taskId} を status が success になるまでポーリングし、その後 output[0].url をダウンロードします。署名付きリンクは期限切れになるため、すぐにバイトを取得して自分で保存してください。
スキーマの注意点:実際に機能する部分
このモデルで開発する前に知っておくべき点がいくつかあります。これらはドキュメントだけでなく、APIが実際に受け付ける内容に基づいています:
resolutionは拒否されます。他の一部の hiapi 画像モデルとは異なり、resolutionフィールドを送ると400(additional properties not allowed)が返ります。aspect_ratioのみを送ってください。aspect_ratioは固定の短いリストです:1:1、4:3、3:4、16:9、9:16。4:5や21:9はありません。レイアウトにもっと縦長のクロップが必要なら、3:4が最も近い対応比率です(下のライフスタイルシーン図ではこれを使っています)。aspect_ratio自体は省略可能です。完全に省略してもサーバー側のデフォルト値で有効な画像が生成されます。しかしECの仕事ではほぼ常に確定した画角(フィード投稿なら正方形、メインバナーなら16:9)が欲しいので、デフォルトに頼らず明示的に設定する価値があります。- 1枚あたりの一律価格で、解像度による段階分けはありません。
flux-2-klein-4b/image-to-image(メガピクセルごとに5段階の価格)とは異なり、klein-9b/text-to-image はアスペクト比に関係なく単一の一律料金です。
プロンプト + 出力:メイン画像
プロンプト(16:9、そのまま使用、生成後の修正なし):
EC商品のメイン画像:高級スキンケア美容液をたっぷり入れたすりガラス製のスポイトボトルが、湿ったグレーの大理石の上に立っている、左からの柔らかな日光が穏やかな反射を落とす、ミニマルなベージュの背景、大理石には小さな水滴、ボトルのラベルには 'VELURA' と明瞭に書かれ、端正でモダンなセリフ体、その下に小さめの文字で 'HYDRA SERUM'、プロフェッショナルなスタジオ商品撮影、シャープなフォーカス、微妙なリムライト、他のテキストなし、手なし、ロゴの透かしなし
(画像は本記事の上部に掲載。)ブランド名と製品ラインの両方が通常の閲覧距離でクリーンにレンダリングされています。文字の重複やセリフの溶けはなく、これはこの価格帯の安価なテキストtoイメージモデルによくある失敗パターンです。
プロンプト + 出力:ライフスタイルシーン
プロンプト(3:4):
ライフスタイル風のEC写真:ラベルに 'VELURA HYDRA SERUM' と書かれたすりガラス製のスポイトボトルが、明るいバスルームのカウンターに置かれている、そばには折りたたんだ白いタオルと小さな鉢植えのユーカリの枝、窓から温かな朝の光が差し込み、柔らかな影、浅い被写界深度、自然で気取らないスタイリング、ボトルのラベル文字 'VELURA' と 'HYDRA SERUM' はシャープで明瞭に読める、人物なし、手なし、追加のテキストオーバーレイなし

このようなライフスタイルシーン図は通常、画像上のテキストをまったく必要としません。しかしラベルはスタジオのメイン画像より柔らかく拡散した照明条件でも耐える必要があり、これはモデルのテキスト忠実度にとってより難しいテストです。
プロンプト + 出力:期間限定セールカード
プロンプト(1:1):
EC期間限定セールのソーシャルメディア宣伝バナー:ラベルに 'VELURA HYDRA SERUM' と書かれたすりガラス製のスポイトボトルが、チークピンクからクリーム色への柔らかなグラデーション背景の中央に配置、上部には太字で端正なサンセリフ体の大見出しテキストで 'FLASH SALE'、濃いチャコールグレーの文字、その下に同じフォントで小さめの一行テキスト '30% OFF'、右下には細線の角丸長方形バッジがあり、その中に 'VELURA' の文字、クリアで読みやすいタイポグラフィ、バランスの取れた余白、モダンでミニマルなマーケティングデザイン、他のテキストなし、透かしなし

これこそモデルの「Text Rendering, High Fidelity」タグを真に試す画像です。2行の大見出しテキストに小さなバッジ文字、すべてを1回の生成で完了しています。すべての単語が正しく綴られ、字間も適切に保たれています。しかしそれだけに、公開前に自分の目で確認すべきです(下記参照)。
校正を飛ばさないこと
hiapi 自身のコンテンツガイドラインはこれをはっきり述べています。AIのテキストレンダリングは「99%であって100%ではない」と。高忠実度テキストのタグが付いたモデルでも、時折単語を綴り間違えたり、文字を落としたり、2つの単語を詰め込んだりします。特に小さなラベル文字は大見出し文字より難しいです(小さな文字ほど難しい)。生成したセールカードや商品ラベルを公開する前に:
- レンダリングされたすべてのテキスト行を100%の倍率で拡大して確認する。
- 「文字に見える」だけでなく、綴りと間隔をチェックする。
- 何かおかしければ再生成する。ピクセルを手動で修正しないこと。再実行は数セントのほんの一部で済みます。
- 頻繁に変わるテキスト(価格、セール日)は、生成のたびに焼き込むのではなく、自分のテンプレート工程でオーバーレイすることを検討する。更新が安く、再実行のリスクも完全になくなります。
Pythonで一括生成
商品カタログ全体に対しては、同じリクエストパターンをループに包みます:
import requests
import time
API_KEY = "your-api-key"
BASE = "https://api.hiapi.ai/v1/tasks"
def generate(prompt, aspect_ratio="1:1"):
resp = requests.post(
BASE,
headers={"Authorization": f"Bearer {API_KEY}"},
json={
"model": "flux-2-klein-9b/text-to-image",
"input": {"prompt": prompt, "aspect_ratio": aspect_ratio},
},
)
task_id = resp.json()["data"]["taskId"]
while True:
task = requests.get(
f"{BASE}/{task_id}",
headers={"Authorization": f"Bearer {API_KEY}"},
).json()["data"]
if task["status"] == "success":
return task["output"][0]["url"]
if task["status"] == "fail":
raise RuntimeError(task["error"])
time.sleep(5)
prompts = [
("Hero shot for product SKU-001, studio lighting, label reads 'BRAND NAME'", "16:9"),
("Lifestyle shot for product SKU-001 on a wooden shelf", "3:4"),
("Flash sale card for product SKU-001, headline 'LIMITED TIME'", "1:1"),
]
for prompt, ratio in prompts:
url = generate(prompt, ratio)
print(url) # download immediately — the URL expires
1枚あたり $0.00858 で計算すると、50 SKU、各 SKU 3枚(メイン画像、ライフスタイル、セール画像)の商品カタログは合計約 $1.29 です。フリーランスの商品撮影1回と比べれば、ほぼ端数にすぎません。
flux-2-klein-9b/text-to-image と関連ワークフローの比較
hiapi 上でより完全な商品画像パイプラインを構築しているなら、次に読む価値のある関連項目がいくつかあります:
- 既存の商品写真を編集・スタイル変更したい場合、ゼロから生成するのではなく、flux-2-klein-4b による画像to画像のECレタッチを参照してください。これは別のタスク(i2iであり、t2iではない)で、新しいシーンを生成するのではなく実際の写真を整えるために構築されています。
- 9b帯の画像to画像モード特有のプロンプトパターン(同じテキストレンダリング強度を編集に適用)については、flux-2-klein-9b 画像to画像プロンプトを参照してください。
- 完全なパラメータ、リアルタイム価格、および一括実行前にプロンプトをテストできる操作画面:flux-2-klein-9b/text-to-image モデルページ。
FAQ
flux-2-klein-9b/text-to-image は画像to画像をサポートしていますか?
いいえ。この特定のエンドポイントはテキストtoイメージのみをサポートしています。hiapi は既存の写真を編集するための flux-2-klein-9b/image-to-image モデル(価格 $0.03143/枚)を別途提供しています。
対応しているアスペクト比は?
5種類です:1:1、4:3、3:4、16:9、9:16。ネイティブの 4:5 はありません。3:4 で近い縦長クロップが得られます。
出力解像度を設定できますか?
できません。resolution フィールドを送ると400が返ります。価格と出力サイズはアスペクト比によって固定です。
flux-2-klein-4b に変えるともっと安くなりますか? はい、1枚あたり約6倍安くなります($0.00143 対 $0.00858)。ただし klein-4b にはテキストレンダリングのタグがありません。文字なし画像(純粋なライフスタイルや背景画像)には klein-4b を、ラベル、見出し、価格表記のある画像には klein-9b を使ってください。
生成にはどのくらい時間がかかりますか?
本記事の3枚の画像はすべて /v1/tasks のポーリングフローを通じて、それぞれ2分以内に完了しました。
試してみる
モデルページで自分のプロンプトを使って flux-2-klein-9b/text-to-image をテストしてから一括タスクに組み込めます。また価格ページでいつでも現在の料金を確認できます。完全なリクエスト/レスポンスのスキーマと認証設定はAPIドキュメントを参照してください。