Gemini チャット
OpenAI 互換プロトコルと Interactions API 経由で Gemini モデルを呼び出します。
Gemini の全チャットモデルはOpenAI Chat Completions 互換プロトコルを使用します:POST https://api.hop-base.com/v1/chat/completions に Authorization: Bearer sk-your-key を付けてリクエストします(認証は x-api-key でも受け付けます)。x-goog-api-key、/v1beta/models/{model}:generateContent、/v1/responses、/v1/messages には対応していません。2 つの Gemini プランのプランでは対応パラメータが異なります——接続前に下記の「プランごとの機能差分」を確認してください。
利用可能なモデル
| 系列 | モデル ID | 用途 |
|---|---|---|
| Gemini Omni | gemini-omni-flash-preview | テキスト・画像・動画入力に対応、動画出力 |
| Gemini 3.8 | gemini-3.8-flash | 最新 Flash・デフォルト |
| Gemini 3.7 / 3.6 | gemini-3.7-flash / gemini-3.6-flash | 前世代の Flash |
| Gemini 3.5 | gemini-3.5-flash / gemini-3.5-flash-lite | 安定版 Flash / 低コスト |
| Gemini 3.1 Pro | gemini-3.1-pro-preview / gemini-3.1-pro-preview-customtools | 高度な推論プレビュー / ツール利用プレビュー |
| Gemini 3.1 | gemini-3.1-flash-lite / gemini-3.1-flash-lite-preview | 軽量版 / 軽量プレビュー |
| Gemini 3 | gemini-3-flash-preview | Gemini 3 Flash プレビュー |
| Gemini 2.5 | gemini-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 ネイティブの contents | OpenAI の messages のみ |
| ツール呼び出し | ネイティブ形式の tools.functionDeclarations フィールドが必須。OpenAI の tools は効果なし | 対応。tool_calls を返します |
| 構造化出力 | ネイティブ形式の generationConfig.responseMimeType / responseSchema が必須 | response_format の json_object と json_schema に対応 |
stop / n | どちらも効果なし | stop は有効。n は常に 1 件のみ返します |
| 画像入力 | base64 の data URL のみ | data URL と公開 https URL |
| ストリーミング | 応答全体の生成が完了してからチャンクとして送信され、最後のチャンクに必ず usage が含まれる | トークン単位でストリーミング。usage が必要な場合は stream_options.include_usage を追加 |
| 1 リクエストあたりの時間制限 | 約 100 秒を超えるとタイムアウトと判定され、自動的に別アカウントで再試行される | 固定の上限なし |
Gemini 官方直连(Gemini 公式直結)プランへの OpenAI 形式リクエストは、model、messages、max_tokens / max_completion_tokens、temperature、top_p、stream、reasoning_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 フィールドも受け付け、レスポンスもネイティブ形式で返されます。受け付けるのは公式のトップレベルフィールドのみです(contents、systemInstruction、generationConfig、safetySettings、tools、toolConfig、cachedContent、labels、serviceTier、model)。それ以外のフィールド——store、max_tokens、messages など——を含めると 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 はテキスト・画像・動画の入力を受け付け、動画を直接出力できます。テキストから動画を生成する場合は model と input だけで十分です。完全なネイティブ動画レスポンスを得るには 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 のみを使用してください。