画像生成 API

HopBase が提供する全ての画像モデル——GPT Image、Gemini Banana、Seedream、Grok Imagine、Kling——とそれぞれの呼び出し方法。

HopBase はクライアントに対して単一のOpenAI Images 互換プロトコルを提供します。テキストから画像を生成するリクエストは POST https://api.hop-base.com/v1/images/generations に送信してください。Gemini Banana の場合でも、Gemini ネイティブの generateContent ペイロードを送らないでください。HopBase が選択したモデルに合わせてリクエストを自動的に適合させます。

全画像モデル一覧

系列モデル ID呼び出し方法詳細
GPT Imagegpt-image-2gpt-image-2.5-flaregpt-image-2.5-sunburst同期、POST /v1/images/generations本ページ
Gemini Bananagemini-3-pro-imagegemini-3.1-flash-imagegemini-3.1-flash-image-previewgemini-3.1-flash-lite-imagegemini-2.5-flash-image同期、POST /v1/images/generations本ページ
Seedreamseedream-5-0-proseedream-5-0-liteseedream-4-5同期、POST /v1/images/generations本ページ
Grok Imaginegrok-imagine-imagegrok-imagine-image-2.0grok-imagine-image-quality同期のみ(非同期タスク非対応)、POST /v1/images/generationsGrok Imagine の画像と動画
Klingkling-image-v3kling-image-v3-omnikling-image-o1kling-image-v2-1kling-image-v2-1-i2ikling-image-v2-1-multi-refkling-image-expand非同期:POST /v1/images/generations に送信後、GET /v1/video/tasks/{task_id} でポーリングKling の動画と画像

各系列は異なるプランのプランに属しているため、あるモデルで使えるキーが他のモデルでも使えるとは限りません。実際に使用するキーで GET /v1/models を呼び出し、レスポンスに含まれる完全なモデル ID を使用してください。ID を推測したり、独自にグレードのサフィックスを付け足したりしないでください。

本ページでは GPT Image、Gemini Banana、Seedream を扱います。Grok Imagine と Kling は上記リンク先の専用ページを参照してください。

エンドポイント一覧

メソッドパス用途リクエスト形式
POST/v1/images/generationsテキストから画像を生成。Seedream は image を渡すことで変換・編集にも使用可能application/json
POST/v1/images/edits画像から画像への変換・編集multipart/form-data(推奨)、または URL / Data URL を用いた JSON
GET/v1/images/tasks?task_id=...非同期タスクの照会Prefer: respond-async を付けたリクエストの後に使用
GET/v1/video/tasks/{task_id}Kling の生成タスクをポーリングKling の画像生成は常に非同期

すべてのエンドポイントで Authorization: Bearer sk-your-key を使用します。Base URL は https://api.hop-base.com/v1 です。

Gemini の画像モデルは、画像から画像への変換・編集を /v1/images/generationsimage または images フィールドで行います。/v1/images/edits は公開されていません。

最小構成のテキストから画像への curl リクエスト

curl https://api.hop-base.com/v1/images/generations \
  -H "Authorization: Bearer sk-your-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "A Shiba Inu sitting under cherry blossoms, Japanese watercolor style",
    "size": "2048x2048",
    "quality": "medium",
    "background": "opaque",
    "output_format": "png",
    "n": 1
  }'

OpenAI Python SDK によるテキストから画像への生成

import base64
from openai import OpenAI

client = OpenAI(
    base_url="https://api.hop-base.com/v1",
    api_key="sk-your-key",
)

resp = client.images.generate(
    model="gpt-image-2",
    prompt="A Shiba Inu sitting under cherry blossoms, Japanese watercolor style",
    size="2048x2048",
    quality="medium",
    background="opaque",
    output_format="png",
    n=1,
)

image = resp.data[0]
with open("result.png", "wb") as f:
    f.write(base64.b64decode(image.b64_json))

GPT Image のモデル ID

モデルモデル ID位置付け
GPT Image 2gpt-image-2旧世代。auto、1K、2K、4K の各サイズに対応
GPT Image 2.5 Flaregpt-image-2.5-flare日常的な画像生成のデフォルト
GPT Image 2.5 Sunburstgpt-image-2.5-sunburstより高精細。同じ設定では Flare より低速

GPT Image 2.5 の 2 モデルはいずれも /v1/images/generations/v1/images/edits で同じ OpenAI Images プロトコルを使用します。既存のクライアントは model を変更するだけで移行できます。価格は価格ページとログイン後のモデルカタログに掲載されています。

GPT Image 2.5 のパラメータ

フィールドGPT Image 2.5 の挙動
size1024x10241536x10241024x1536auto、または辺が 16 の倍数で長辺が 3840 以下、アスペクト比が 1:3〜3:1 の範囲に収まる任意の 幅x高さ(例:1536x8642048x1152)。それ以外の値は明確に 400 を返します。
qualitylowmediumhighxhighmaxauto。上位ティアほど出力トークンが増え費用も上がります:1024x1024 での実測で low 約 200、high 約 1,760、xhigh 約 3,120、max 約 7,020 出力トークン。
n1 リクエストで複数枚を生成可能
backgroundtransparentpng または webp 出力と併用
output_format / output_compressionpngjpegwebp。任意で圧縮率を指定可能
moderationlow を受け付け
response_formaturl を指定できますが、画像は依然として b64_json で返されます
編集参照画像 1 枚、image[] を繰り返し指定した複数枚、またはアルファチャンネル付き mask によるインペインティング:mask の透明部分は再生成され、不透明部分はピクセル単位でそのまま保持されます

1024x1024 の画像 1 枚あたりの参考所要時間:low はどちらのモデルも約 14 秒。high では Flare が約 19 秒、Sunburst が約 37 秒です。

GPT Image 2.5 のカスタムサイズによるテキストから画像への生成

curl https://api.hop-base.com/v1/images/generations \
  -H "Authorization: Bearer sk-your-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2.5-sunburst",
    "prompt": "A product shot of a ceramic teapot on slate, soft window light",
    "size": "2048x1152",
    "quality": "high",
    "output_format": "webp",
    "output_compression": 85
  }'

Gemini Banana の互換性

能力HopBase 経由での Gemini の挙動
リクエストの送信先クライアントは常に /v1/images/generations を呼び出します。HopBase が選択したモデルに合わせてリクエストを自動的に適合させます。
レスポンス結果は OpenAI Images 形式の JSON で返され、通常は data[].b64_json、場合によっては data[].url になります。
画像から画像への変換 / 編集同じ /v1/images/generations リクエストの image(単一)または images(複数)フィールドに参照画像を渡します——URL でも Data URL でも動作します。/v1/images/edits エンドポイントは存在せずmask による領域のハード制約もありません。
サイズHopBase がモデルに応じて size を検証し、必要に応じて自動調整します。
その他のパラメータqualitybackgroundoutput_formatinput_fidelityn への対応はモデルによって異なります。GPT Image と完全に同等だとは想定しないでください。
ストリーミングGemini の画像生成は同期モードを使用してください。"stream": true は送らないでください。対応していないモデルは明確なエラーを返します。
非同期一部のモデルは Prefer: respond-async に対応しています。202 task_id が返るかどうかは実際の HTTP ステータスで判定してください。

Gemini 向けの適合処理は HopBase のサーバー側で行われます。クライアント側の Base URL、Bearer キー、OpenAI Images のリクエスト構造はいずれも変更不要です。

Gemini の各プランのプラン間の違い

プラン課金方式利用可能なモデル / 備考
Gemini 全系(含生图)(Gemini フルスイート・画像生成対応)画像 1 枚単位で課金同期の POST /v1/images/generationsdata[].b64_json を返却。現時点で動作確認済みのモデルは gemini-3-pro-imagegemini-3.1-flash-imagegemini-3.1-flash-image-preview です。
Gemini 官方直连(Gemini 公式直結)トークン単位で課金画像モデルは /v1/chat/completions からも直接呼び出せます。画像は markdown に埋め込まれた data URL として返されます。
Gemini 生图(Banana 系)(Gemini 画像生成・Banana 系)トークン単位で課金画像モデルは /v1/chat/completions からも直接呼び出せ、画像は markdown に埋め込まれた data URL として返されます——Banana 系プランでよく使われる方式です。

3 つのプランのいずれも/v1/images/edits エンドポイントは提供していません。画像から画像への変換や編集には、必ず /v1/images/generations リクエストボディの image / images フィールドを使用してください。

Gemini Banana の画像モデル ID

系列モデル IDサイズ
Bananagemini-2.5-flash-image1K
Banana Progemini-3-pro-image1K / 2K / 4K
Banana 2gemini-3.1-flash-image / gemini-3.1-flash-image-preview1K / 2K
Banana 2 Litegemini-3.1-flash-lite-image1K

Gemini の画像モデルは実際のトークン使用量に基づいて課金されます。換算倍率はプランのプランによって異なる場合があり、ログイン後のモデルカタログが正となります。

利用可能な Seedream モデル

モデルモデル IDサイズ出力 / 最適化
Seedream 5.0 Proseedream-5-0-pro1K / 1.5K / 2KPNG / JPEG;standard / fast
Seedream 5.0 Liteseedream-5-0-lite2K / 3K / 4KPNG / JPEG;standard
Seedream 4.5seedream-4-52K / 4KJPEG;standard

Lite は Pro ではありません

  • Lite は Seedream 5.0 の軽量版モデルです。seedream-5-0-lite を Pro として扱わないでください。
  • Pro の1.5K は 1K と同じ価格でより高品質です——中小サイズの出力には 1.5K を優先してください。
  • Lite と 4.5 は最小出力が 2K クラスです(総ピクセル数 3,686,400 以上)。1K 出力が必要な場合は Pro を使用してください。
  • 上表は公式のベンチマーク価格です。実際の適用価格はプランの倍率に従い、ログイン後のモデルカタログに表示されます。

Seedream 5.0 Pro のテキストから画像への生成

Seedream のテキストから画像への生成は /v1/images/generations を使用し、出力画像 1 枚単位で課金され、24 時間有効な署名付き URL を返します。以下の例では Pro を使用していますが、現在のキーで返される Lite や 4.5 の ID を選び、その型番のパラメータ制限に従うこともできます。

curl https://api.hop-base.com/v1/images/generations \
  -H "Authorization: Bearer sk-your-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedream-5-0-pro",
    "prompt": "A futuristic city street at night in neon light, cinematic composition",
    "size": "2048x2048",
    "response_format": "url"
  }'

Seedream 5.0 Pro の画像から画像への変換と編集(JSON 推奨)

引き続き /v1/images/generations を呼び出し、image を追加します。1〜10 個の HTTP(S) URL または画像 Data URL を受け付けます。単一画像の変換、複数画像の合成、参照画像を用いた再描画、座標・バウンディングボックス・矢印・描画ストロークで示したローカル編集は、いずれもこのエンドポイントを使用します。

curl https://api.hop-base.com/v1/images/generations \
  -H "Authorization: Bearer sk-your-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedream-5-0-pro",
    "prompt": "Move the cup in the first image to the right side of the table and keep everything else unchanged",
    "image": ["https://example.com/source.png"],
    "size": "2K",
    "output_format": "png",
    "response_format": "url"
  }'

Seedream 5.0 Pro を OpenAI edits 経由で使う(ローカルファイル)

既存の OpenAI Images 編集コードは /v1/images/edits への multipart リクエストをそのまま使用できます。HopBase がファイルとリクエスト形式を自動的に適合させます。

curl https://api.hop-base.com/v1/images/edits \
  -H "Authorization: Bearer sk-your-key" \
  -F "model=seedream-5-0-pro" \
  -F "prompt=Redesign the poster from both references while preserving the subject and brand colors" \
  -F "image[][email protected]" \
  -F "image[][email protected]" \
  -F "size=2K" \
  -F "output_format=png"

Seedream の共通パラメータ

フィールド説明
model現在のキーの GET /v1/models が返す完全な Seedream ID
prompt内容、構図、スタイル、または編集指示。ローカル編集では、参照画像内の座標・バウンディングボックス・矢印・描画領域を説明できます。
image任意。単一の URL / Data URL または配列。上限:Pro は 10、Lite と 4.5 は 14。指定すると単一画像または複数画像の変換・編集が有効になります。
size上表の略称サイズを使用します。カスタムの 幅x高さ はアスペクト比 1:16〜16:1 が必要です。総ピクセル数の範囲:Pro は 921,600〜4,624,220、Lite と 4.5 は3,686,400〜16,777,216(下限を下回る値はゲートウェイ側で有効範囲とともに拒否されます)。
output_formatPro / Lite:png または jpeg;4.5:jpeg のみ
optimize_prompt_options.modePro:standard または fast;Lite / 4.5:standard のみ
response_formatHopBase は現在 url を使用し、画像への直接リンクを返します。

Seedream の入出力制限

  • 同期のテキストから画像への生成、単一 / 複数参照画像、編集に対応します。n=1response_format=url 固定です。非同期画像タスクとストリーミングには対応していません。
  • 入力画像は 1 枚あたり最大 30 MB / 36 MP まで。JPEG、PNG、WebP、BMP、TIFF、GIF、HEIC、HEIF に対応します。
  • 返却される署名付き URL の有効期限は24 時間です。期限切れになると復元できず、再生成するしかありません(再生成は再度課金されます)。速やかにダウンロードしてください。
  • 実際の出力画像枚数に基づいて課金されます。生成に失敗した場合は課金されません。
  • 適用倍率と課金額はログイン後のモデルカタログに表示されます。

Seedream のローカル編集は従来型のハードマスクを使用しません。注釈は参照画像に直接描き込み、その座標・バウンディングボックス・矢印・描画領域を prompt 内で説明してください。/v1/images/editsmask を渡すと、曖昧な挙動を避けるため 400 が返ります。

適切なプランのプランのキーを使用してください

目的の Seedream の完全な ID が GET /v1/models で返ってくるプランのプランのキーを使用してください。他のプランのプランでもこれらのモデルを呼び出せると仮定しないでください。

Grok Imagine の画像生成

grok-imagine-image 系列は同じ Images エンドポイントを使用しますが、独自のパラメータ体系を持ちます(size は適用されません)。同期リクエストのみに対応しており(非同期タスクモードなし)、返却される URL は一時的なダウンロードリンクです。完全なパラメータ一覧はGrok Imagine の画像と動画を参照してください。

multipart curl による汎用的な画像から画像への変換・編集

curl https://api.hop-base.com/v1/images/edits \
  -H "Authorization: Bearer sk-your-key" \
  -F "model=gpt-image-2" \
  -F "prompt=Turn the reference into a Van Gogh-style oil painting of a starry night" \
  -F "[email protected]" \
  -F "size=1536x1024" \
  -F "quality=medium" \
  -F "output_format=png"

GPT Image 2.5 の参照画像とマスクによるインペインティング

mask はアルファチャンネル付きの PNG です。透明ピクセルは prompt に基づいて再生成され、不透明ピクセルはそのままコピーされます。複数の参照画像を渡すには image[] を繰り返し指定してください。

curl https://api.hop-base.com/v1/images/edits \
  -H "Authorization: Bearer sk-your-key" \
  -F "model=gpt-image-2.5-flare" \
  -F "prompt=Fill the masked area with a vase in the style of the second reference" \
  -F "image[][email protected]" \
  -F "image[][email protected]" \
  -F "[email protected]" \
  -F "size=1024x1024" \
  -F "quality=high" \
  -F "output_format=png"

共通リクエストフィールド

フィールド必須説明
model必須gpt-image-2gpt-image-2.5-flaregpt-image-2.5-sunburst、または現在のキーの GET /v1/models が返す完全な Gemini Banana / Seedream 画像モデル ID
prompt必須画像の内容、構図、スタイル、テキスト要件
size任意auto または 幅x高さ。よく使う値は 1024x1024、1536x1024、1024x1536、2048x2048。GPT Image 2.5 は上記ルールの範囲内でカスタムサイズにも対応
quality任意lowmediumhighauto。GPT Image 2.5 は xhighmax にも対応
n任意生成枚数。モデルによっては 1 のみ対応
background任意opaque または transparent
output_format任意pngjpegwebp
image / mask編集時は image が必須。mask はモデルによる/images/edits は対応モデルで 1 枚以上の参照画像を受け付けます。Gemini はこのエンドポイントの代わりに /images/generationsimage / images フィールドを使用し、mask には対応していません。Seedream は Pro で最大 10 枚(Lite と 4.5 は 14 枚)、各 30 MB までの参照画像を受け付け、こちらも従来型の mask には対応していません。GPT Image 2.5 は image[] の繰り返し指定とアルファチャンネル付き mask に対応しています。

画像サイズは選択したモデルに対して検証されます。対応していない 2K や 4K のサイズは生成前に 400 を返し、画像生成の課金は発生しません。

同期レスポンス(デフォルト)

Prefer ヘッダーを付けない場合、リクエストは完了まで待機し、標準的な OpenAI Images JSON を返します。画像は通常 data[].b64_json に入りますが、data[].url を返すモデルもあるため、クライアント側では両方に対応してください。usage にはトークン使用量が含まれます。

{
  "created": 1780000000,
  "data": [{
    "b64_json": "iVBORw0KGgoAAA...",
    "revised_prompt": "..."
  }],
  "usage": {
    "input_tokens": 18,
    "output_tokens": 1056,
    "total_tokens": 1074
  }
}

GPT Image の生成が 40 秒を超える場合:ステータスは 200 のまま——error フィールドを確認してください

GPT Image の生成が約 40 秒を超えると、サーバーは即座に HTTP 200 を返し、接続を維持するためレスポンスボディの先頭に空白文字を書き続けます。完全な JSON はその後に続きます。この時点以降、生成に失敗しても HTTP ステータスは 200 のままです。成否はレスポンスボディに error フィールドが含まれるかどうかで判定してください——ステータスコードだけに頼らないでください。クライアントの読み取りタイムアウトは 300 秒以上に設定してください。

ストリーミングは Images SSE を返します

ストリーミングに対応する Gemini 以外の画像モデルは、"stream": true を指定すると SSE に切り替わります。ストリーム中は keepalive の ping が送信され、最後の data: イベントに Images JSON が含まれ、その後に [DONE] が続きます。Gemini の画像モデルはこの Images SSE の挙動には対応していません。公式 SDK を使う場合は既定の同期モードのままにしてください。

非同期タスクモード(OpenAI / Gemini Images ゲートウェイ)

Prefer: respond-async ヘッダーを付けると、対応モデルは即座に 202 Acceptedtask_idstatus_url を返します。タスクの照会は GET /v1/images/tasks?task_id=your-task-id のみで、タスク ID をパスに含める方式には対応していません。タスクステータスは pendingprocessingretryingcompletedfailed のいずれかで、completedfailed が終端状態です。Gemini の画像モデルも非同期タスクに対応しています。2K / 4K の画像では、長時間実行のリクエストが CDN のタイムアウトで打ち切られるのを避けるため、このモードの使用を推奨します。

# 1. Submit and receive 202 + task_id
curl -i https://api.hop-base.com/v1/images/generations \
  -H "Authorization: Bearer sk-your-key" \
  -H "Content-Type: application/json" \
  -H "Prefer: respond-async" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "A cinematic futuristic city at night",
    "size": "2048x2048"
  }'

# 2. Poll with the task_id from the first response
curl "https://api.hop-base.com/v1/images/tasks?task_id=your-task-id" \
  -H "Authorization: Bearer sk-your-key"

タスク完了後のレスポンス:

{
  "task_id": "your-task-id",
  "status": "completed",
  "result_content": "![image](/assets-runtime/2026/09/xxxxxxxxxxxx.png)"
}

結果は速やかにダウンロードしてください——長期保存先ではありません

result_content は Markdown で、画像 1 枚につき 1 行 ![image](/assets-runtime/...) の形式です。これは相対パスなので、取得する際は自分で https://api.hop-base.com を先頭に付けてください。この URL は開くのに鍵が不要なため、公開して共有しないでください。タスク完了後は速やかに自分のストレージへダウンロードし、長期保存先として扱わないでください。

非同期タスクの送信時は残高が 0 より大きいことのみを確認し、金額の引当は行いません。生成に失敗した場合は課金されません。

このページの内容