画像の概要
OpenAI Images 互換 API で画像を生成・編集します。
| 用途 | エンドポイント |
|---|---|
| Base URL | https://api.hop-base.com/v1 |
| 画像の生成 | POST /v1/images/generations |
| 画像の編集 | POST /v1/images/edits |
| 非同期タスクの照会 | GET /v1/images/tasks?task_id=… |
GPT Image を呼び出すには「GPT Image 全モデル」グループのキーが必要です。gpt-image-2.5-flare と gpt-image-2.5-sunburst は「GPT 公式ダイレクト(Azure)」グループのキーでも呼び出せ、同期で Base64 を返します。その他の系列は「系列の選び方」を参照してください。
3 行で最初の画像を生成する
コンソールの「APIキー」ページで「GPT Image 全モデル」グループのキーを作成してください。このグループを含まないキー(例:Codex Plus / Codex Pro だけのキー)で gpt-image-* を呼び出すと 404 が返ります。既存のキーにこのグループを追加することもできます。
sk-your-key を新しいキーに置き換えて実行します。curl の例では事前に jq をインストールしておく必要があります。
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": "桜の木の下に座る柴犬、和風水彩画スタイル",
"size": "1024x1024"
}' \
| jq -r '.data[0].b64_json' | base64 --decode > result.png画像は Base64 で data[].b64_json に入っており、デコードすると PNG になります。1 枚あたり通常 15〜40 秒かかるため、クライアントの読み取りタイムアウトは 300 秒以上に設定してください(理由は GPT Image を参照)。
系列の選び方
各系列は異なるプランのグループに属しているため、ある系列で使えるキーが他の系列でも使えるとは限りません。パラメータ、レスポンス、エラーは各系列のページを参照してください。
| 系列 | 特徴 | 呼び出し方 | 参照画像の上限 | 公式価格(代表モデル) |
|---|---|---|---|---|
| GPT Image | mask による部分再描画に対応。トークン課金 | 同期。非同期も可 | 16 枚(公式) | $5 / $30/ 100 万トークン |
| Gemini 画像生成 | 1K〜4K の段階、任意の比率を 幅x高さ で指定 | 同期。非同期も可 | 14 枚(公式) | $0.1344〜/ 枚 |
| Seedream | 24 時間有効な URL または b64_json を返す | 同期。Lite / 4.5 はストリーミング可 | 14 枚 | $0.0225〜/ 枚 |
| Grok Imagine 画像生成 | size を使わず、一時 URL を返す | 同期のみ | 5 枚(Quality は 3 枚) | $0.02/ 枚 |
| Kling 画像生成 | 複数モデル。拡張(アウトペイント)と複数参照画像を含む | 非同期 | 0〜10 枚(モデルにより異なる) | $0.0294/ 枚 |
| Midjourney | 1 回につき常に 4 枚 | 非同期 | 1 枚 | $0.0067〜/ 枚 |
有料リクエストを送る前に、実際に使用するキーで GET /v1/models を呼び出し、レスポンスから完全なモデル ID を取得してください。各系列のグループは、系列ページ冒頭の早見表を参照してください。
共通ルール
認証とリクエストボディ
すべてのエンドポイントで Authorization: Bearer sk-your-key を使用し、Base URL は https://api.hop-base.com/v1 です。リクエストボディ全体の上限は 60 MB で、超えると 413 が返ります。
Gemini 画像生成も OpenAI Images の構造を使います。Gemini ネイティブの generateContent ペイロードは送らないでください。HopBase が選択したモデルに合わせてリクエストを自動的に適合させます。
同期と非同期
| 方式 | 対象の系列 | 結果の取得 |
|---|---|---|
| 同期(デフォルト) | GPT Image、Gemini、Seedream、Grok | レスポンスボディの data[] |
非同期(Prefer: respond-async を付ける) | GPT Image、Gemini | GET /v1/images/tasks?task_id=… |
| 常に非同期 | Kling、Midjourney | GET /v1/video/tasks/{task_id} |
2K / 4K の大きな画像を生成するときは、長時間のリクエストが CDN のタイムアウトで切断されないよう、非同期を使ってください。Seedream は Prefer を無視し、通常どおり同期で返します。
参照画像の渡し方
| 系列 | フィールドと書き方 |
|---|---|
| GPT Image | /v1/images/edits の image、または multipart の image[] |
| Gemini | generations の image / images。「Gemini 全モデル(画像生成含む)」は edits も使用可 |
| Seedream | generations の image。ローカルファイルは edits の multipart で送る |
| Grok Imagine | /v1/images/edits の image または image[] |
| Kling / Midjourney | images: [{"url": …}] または [{"file_id": …}] |
URL はサーバーから取得できる必要があり、ブラウザーでのログインが必要なページや内部ネットワークのアドレスは使えません。Data URL は完全なエンコードを送り、MIME タイプを画像と一致させてください。例:data:image/png;base64,iVBORw0KGgo…。
asset:// は Seedance 2.0 の素材ライブラリ 専用で、どの画像系列でも使えません。
課金
実際の課金額 = 公式価格 × グループ倍率で、コンソールの「使用記録」が正となります。パラメータ不正による 400 は生成前に返り、課金されません。各系列の課金単位は系列ページを参照してください。
単価は各モデルカードとログイン後のモデルカタログを参照してください。
次のステップ
- 系列ごとのパラメータとレスポンス:GPT Image、Gemini 画像生成、Seedream、Grok Imagine 画像生成、Kling 画像生成、Midjourney
- 完全なパラメータ表は API リファレンスの画像を生成と画像を編集を参照してください
- 動画の生成は動画生成 APIを参照してください
- エラーが出たときはエラー早見表を参照してください