Gemini チャット

OpenAI 互換プロトコルと Interactions API 経由で Gemini モデルを呼び出します。

Gemini の全チャットモデルはOpenAI Chat Completions 互換プロトコルを使用します:POST https://api.hop-base.com/v1/chat/completionsAuthorization: Bearer sk-your-key を付けてリクエストします(認証は x-api-key でも受け付けます)。x-goog-api-key/v1beta/models/{model}:generateContent/v1/responses/v1/messages には対応していません。2 つの Gemini プランのプランでは対応パラメータが異なります——接続前に下記の「プランごとの機能差分」を確認してください。

利用可能なモデル

系列モデル ID用途
Gemini Omnigemini-omni-flash-previewテキスト・画像・動画入力に対応、動画出力
Gemini 3.8gemini-3.8-flash最新 Flash・デフォルト
Gemini 3.7 / 3.6gemini-3.7-flash / gemini-3.6-flash前世代の Flash
Gemini 3.5gemini-3.5-flash / gemini-3.5-flash-lite安定版 Flash / 低コスト
Gemini 3.1 Progemini-3.1-pro-preview / gemini-3.1-pro-preview-customtools高度な推論プレビュー / ツール利用プレビュー
Gemini 3.1gemini-3.1-flash-lite / gemini-3.1-flash-lite-preview軽量版 / 軽量プレビュー
Gemini 3gemini-3-flash-previewGemini 3 Flash プレビュー
Gemini 2.5gemini-2.5-pro / gemini-2.5-flash / gemini-2.5-flash-lite安定版モデル

既定では gemini-3.8-flash を使用してください。Gemini 2.5 の安定版モデルは実績のあるフォールバックです。ID に preview を含むモデルはすべてプレビュー版として扱い、安定性は保証されません。

料金はプランのプランによって異なります。現在のキーでログインしたモデルカタログが正となります。

プランごとの機能差分

能力Gemini 官方直连Gemini 全系(含生图)
リクエストボディ形式OpenAI の messages または Gemini ネイティブの contentsOpenAI の messages のみ
ツール呼び出しネイティブ形式の tools.functionDeclarations フィールドが必須。OpenAI の tools は効果なし対応。tool_calls を返します
構造化出力ネイティブ形式の generationConfig.responseMimeType / responseSchema が必須response_formatjson_objectjson_schema に対応
stop / nどちらも効果なしstop は有効。n は常に 1 件のみ返します
画像入力base64 の data URL のみdata URL と公開 https URL
ストリーミング応答全体の生成が完了してからチャンクとして送信され、最後のチャンクに必ず usage が含まれるトークン単位でストリーミング。usage が必要な場合は stream_options.include_usage を追加
1 リクエストあたりの時間制限約 100 秒を超えるとタイムアウトと判定され、自動的に別アカウントで再試行される固定の上限なし

Gemini 官方直连(Gemini 公式直結)プランへの OpenAI 形式リクエストは、modelmessagesmax_tokens / max_completion_tokenstemperaturetop_pstreamreasoning_effort のみを認識します。それ以外のフィールドはエラーにはなりませんが効果もありません。ツール呼び出しや構造化出力が必要な場合は、下記のネイティブ形式を使うか、Gemini 全系(含生图)(Gemini フルスイート・画像生成対応)プランのキーを使用してください。

curl の例

curl https://api.hop-base.com/v1/chat/completions \
  -H "Authorization: Bearer sk-your-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-3.8-flash",
    "messages": [{"role": "user", "content": "Hello"}]
  }'

SSE ストリーミング("stream": true を追加)

curl https://api.hop-base.com/v1/chat/completions \
  -H "Authorization: Bearer sk-your-key" \
  -H "Content-Type: application/json" \
  -d '{"model": "gemini-3.1-pro-preview", "stream": true,
    "messages": [{"role": "user", "content": "Hello"}]}'

Gemini 官方直连 プランのストリーミングは、応答全体を生成してからチャンクとして送信する方式のままです——最初のチャンクが届くタイミングは、ストリーミングなしで完全な応答を待つ場合とほぼ同じで、最後のチャンクには必ず usage が含まれます。Gemini 全系(含生图) プランはトークン単位でストリーミングします。usage が必要な場合は stream_options.include_usage を追加してください。

思考

Gemini モデルはデフォルトで思考を行い、完全にオフにすることはできません。思考トークンは出力上限に含まれます:max_tokens を小さくしすぎると、可視テキストが数文字しかないまま finish_reason=length になることがあるため、4096 以上を推奨します。OpenAI 形式では、思考トークンはすでに completion_tokens に含まれています(Gemini 全系(含生图) プランではさらに completion_tokens_details.reasoning_tokens に個別集計されます);ネイティブ形式では usageMetadata.thoughtsTokenCount に個別に報告されます。reasoning_effort: none を指定すると、思考量が明確に減少します。

Gemini ネイティブ形式のパススルー

Gemini SDK からそのまま持ってきたリクエストボディを送信できます:Gemini 官方直连 プランの同じエンドポイントはネイティブの contents フィールドも受け付け、レスポンスもネイティブ形式で返されます。受け付けるのは公式のトップレベルフィールドのみです(contentssystemInstructiongenerationConfigsafetySettingstoolstoolConfigcachedContentlabelsserviceTiermodel)。それ以外のフィールド——storemax_tokensmessages など——を含めると 400 Unknown name … が返ります。ネイティブ形式はストリーミングに対応していないため、"stream": true を送らないでください。

curl https://api.hop-base.com/v1/chat/completions \
  -H "Authorization: Bearer sk-your-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-3.8-flash",
    "contents": [{"role": "user", "parts": [{"text": "Hello"}]}]
  }'

Gemini Omni の動画生成(ネイティブ Interactions)

gemini-omni-flash-preview はテキスト・画像・動画の入力を受け付け、動画を直接出力できます。テキストから動画を生成する場合は modelinput だけで十分です。完全なネイティブ動画レスポンスを得るには POST https://api.hop-base.com/v1beta/interactions を使用してください。Chat Completions エンドポイントはテキストチャットには引き続き使用できますが、完全な動画ペイロードの受信には使用しないでください。POST /v1/interactions は互換用のエイリアスとして引き続き利用できます。

curl https://api.hop-base.com/v1beta/interactions \
  -H "Authorization: Bearer sk-your-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-omni-flash-preview",
    "input": "Generate a 3-second video of a red ball slowly rolling on a white background"
  }'

動画は steps[].content[] に格納され、data に base64 エンコードされた MP4 が入ります。usage.output_tokens_by_modality は出力トークンをモダリティ別に参考として分解したもので、その数値はすでに total_output_tokens に含まれています。完全な仕様はGemini Omni 動画を参照してください。

{
  "status": "completed",
  "model": "gemini-omni-flash-preview",
  "steps": [{
    "type": "model_output",
    "content": [{
      "type": "video",
      "mime_type": "video/mp4",
      "data": "<base64-mp4>"
    }]
  }],
  "usage": {
    "total_input_tokens": 20,
    "total_output_tokens": 17819,
    "output_tokens_by_modality": [{"modality": "video", "tokens": 17376}]
  }
}

入力動画は最長 10 秒で、動画編集にも利用できます。出力は 720p・24 FPS で 3〜10 秒です。希望する長さは input に記述してください。モデルのコンテキストは 1,048,576 トークンで、プレビュー版の機能と提供状況は変更されることがあります。

使用中のキーで利用できるモデルを確認してください

利用可能な Gemini モデルはプランのプランによって異なります。現在のキーで GET /v1/models を呼び出し、そのレスポンスに含まれる完全な ID のみを使用してください。

このページの内容