Skip to main content
POST
CometAPI は Gemini ネイティブ API 形式をサポートしており、thinking control、Google Search グラウンディング、ネイティブ画像生成モダリティなど、Gemini 固有の機能をフルに利用できます。OpenAI-compatible chat endpoint では利用できない機能が必要な場合は、このエンドポイントを使用してください。
完全なリクエストフィールド、レスポンススキーマ、Gemini モデル固有の挙動についての信頼できる情報源として、Google 公式の GenerateContent API reference を使用してください。この CometAPI ページでは、そのネイティブなリクエスト形式を CometAPI 経由で送信する方法を説明します。
Google がネイティブ API を更新するにつれて、Gemini のリクエストパラメータとレスポンスフィールドは変更される可能性があります。最新の完全なパラメータ一覧とプロバイダー固有の挙動については、Gemini text generation documentation を確認してください。
認証には x-goog-api-keyAuthorization: Bearer ヘッダーの両方をサポートしています。

クイックスタート

CometAPI で任意の Gemini SDK または HTTP クライアントを使用するには、base URL と API key を置き換えてください。

動画入力を送信する

Gemini generateContent は、content part として動画を受け付けます。動画の保存場所に応じて入力形式を選択してください。
REST および curl リクエストでは、inlineData.mimeTypefileData.fileUri のような Gemini の camelCase フィールド名を使用してください。URL メディアを file_data.file_uri として送信しないでください。
この例では、ローカルの MP4 ファイルを読み取り、base64 にエンコードして、リクエスト本文で送信します。
この例では、fileData.fileUri を使って公開 MP4 URL を送信します。
CometAPI では、このエンドポイントに対して Gemini Files API の個別アップロードフローは推奨していません。代わりに、inlineData または fileData.fileUri を使って、メディアを generateContent リクエスト自体に含めて送信してください。

思考(reasoning)を設定する

Gemini モデルは、レスポンスを生成する前に内部的な推論を実行できます。制御方法はモデル世代によって異なります。
Gemini 3 モデルでは、推論の深さを制御するために thinkingLevel を使用します。使用可能なレベル: MINIMALLOWMEDIUMHIGH特定の Gemini 3 バリアントが必要でない限り、デフォルトの例示モデルとして gemini-3-flash-preview を使用してください。
Gemini 2.5 モデルで thinkingLevel を使用した場合(または Gemini 3 モデルで thinkingBudget を使用した場合)、エラーが発生する可能性があります。お使いのモデルバージョンに合った正しいパラメータを使用してください。

レスポンスをストリーミングする

モデルがコンテンツを生成する際に Server-Sent Events を受信するには、オペレーターとして streamGenerateContent?alt=sse を使用します。各 SSE イベントには、JSON の GenerateContentResponse オブジェクトを含む data: 行が含まれます。

システム指示を設定する

会話全体を通してモデルの振る舞いを導くには、systemInstruction を使用します:

JSON 出力をリクエストする

構造化された JSON 出力を強制するには、responseMimeType を設定します。必要に応じて、厳密なスキーマ検証のために responseSchema を指定することもできます:

Google Search でグラウンディングする

リアルタイムの Web 検索を有効にするには、googleSearch ツールを追加します:
レスポンスには、ソース URL と信頼度スコアを含む groundingMetadata が含まれます。

レスポンス例

CometAPI の Gemini エンドポイントからの典型的なレスポンス:
usageMetadata 内の thoughtsTokenCount フィールドは、thinking 出力がレスポンスに含まれていない場合でも、モデルが内部推論に使用したトークン数を示します。

OpenAI 互換エンドポイントとの比較

承認

x-goog-api-key
string
header
必須

Your CometAPI key passed via the x-goog-api-key header. Bearer token authentication (Authorization: Bearer $COMETAPI_KEY) is also supported.

パスパラメータ

model
string
必須

Gemini model ID. Example: gemini-3-flash-preview, gemini-2.5-pro. See the Models page for current options.

operator
enum<string>
必須

The operation to perform. Use generateContent for synchronous responses, or streamGenerateContent?alt=sse for Server-Sent Events streaming.

利用可能なオプション:
generateContent,
streamGenerateContent?alt=sse

ボディ

application/json
contents
object[]

Conversation content. Each entry has an optional role (user or model) and a parts array.

systemInstruction
object

System instructions that guide the model's behavior across the entire conversation. Text only.

tools
object[]

Tools the model may use to generate responses. Supports function declarations, Google Search, Google Maps, and code execution.

toolConfig
object

Configuration for tool usage, such as function calling mode.

safetySettings
object[]

Safety filter settings. Override default thresholds for specific harm categories.

generationConfig
object

Configuration for model generation behavior including temperature, output length, and response format.

cachedContent
string

The name of cached content to use as context. Format: cachedContents/{id}. See the Gemini context caching documentation for details.

レスポンス

200 - application/json

Successful response. For streaming requests, the response is a stream of SSE events, each containing a GenerateContentResponse JSON object prefixed with data:.

candidates
object[]

The generated response candidates.

promptFeedback
object

Feedback on the prompt, including safety blocking information.

usageMetadata
object

Token usage statistics for the request.

modelVersion
string

The model version that generated this response.

createTime
string

The timestamp when this response was created (ISO 8601 format).

responseId
string

Unique identifier for this response.