ドキュメントAPI リファレンスGemini API
Gemini API
Google Gemini 互換エンドポイント:generateContent、streamGenerateContent、countTokens。
POST
/v1beta/models/{model}:generateContentGoogle Gemini API のリクエストボディと互換の対話エンドポイントです。モデル名とアクションはパスに含めます({model}:generateContent)。認証は x-goog-api-key ヘッダーを使います。
Google 公式の ?key= クエリパラメータはサポートしていません。キーは必ず x-goog-api-key ヘッダーで指定してください(Google GenAI SDK は既定でこのヘッダーを使います)。
リクエストボディ
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
contents | array | はい | 対話コンテンツ。各要素は role(user/model)と parts(テキストまたはインラインメディア)を持ちます。 |
systemInstruction | object | いいえ | システムプロンプト({ "parts": [{ "text": … }] })。 |
generationConfig | object | いいえ | 生成パラメータ:temperature、maxOutputTokens など。 |
curl "https://api.soleapi.com/v1beta/models/gemini-2.5-pro:generateContent" \
-H "x-goog-api-key: $SOLEAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{"parts": [{"text": "Write a haiku about the sea"}]}]
}'レスポンス
{
"candidates": [
{
"content": {
"parts": [{ "text": "Waves fold into foam..." }],
"role": "model"
},
"finishReason": "STOP"
}
],
"usageMetadata": {
"promptTokenCount": 14,
"candidatesTokenCount": 23,
"totalTokenCount": 37
}
}ストリーミング生成
POST
/v1beta/models/{model}:streamGenerateContent?alt=sse を付けると SSE で増分返却され、各 data: 行がレスポンス断片になります。alt=sse なしの場合は完全な JSON 配列が返ります。詳細はストリーミングを参照。
トークンカウント
POST
/v1beta/models/{model}:countTokenscurl "https://api.soleapi.com/v1beta/models/gemini-2.5-pro:countTokens" \
-H "x-goog-api-key: $SOLEAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{"parts": [{"text": "Write a haiku about the sea"}]}]
}'
# => { "totalTokens": 14 }