APIリファレンス
Gemini Generate Content
RunAPIのGemini互換Generate Contentオペレーションを通じてリクエストを送信します。
01
概要
RunAPIのGemini互換のGenerate Content操作を、互換性のあるモデルおよびプロトコルのリクエスト・レスポンス形式とともに使用してください。
クイックスタート
- APIキーを作成し、RUNAPI_API_KEYとして設定します。
- 互換性のあるモデルを選択し、ドキュメントに記載されたパスパラメーターとJSONボディを送信します。
- このオペレーションに示された JSON レスポンスまたはサーバー送信イベントを読み取り、プロトコルエラーを処理してください。
エンドポイント
- ベースURL
https://runapi.ai- コントラクトバージョン
v1- 推奨認証方式
x-goog-api-key: YOUR_API_TOKEN
02
認証情報の送信方法
RunAPIは以下に列挙された各キャリアを受け付けます。生成されたサンプルはプロトコルの推奨ヘッダーを使用します。
- header
Authorization: Bearer YOUR_API_TOKEN- header
x-api-key: YOUR_API_TOKEN- header - 推奨
x-goog-api-key: YOUR_API_TOKEN- query
?key=YOUR_API_TOKEN
03
互換モデル
現在の料金、レート制限、商用利用の詳細については、モデルページを開いてください。
互換モデルを56件表示
- claude-fable-5-1
- claude-fable-5
- claude-sonnet-5
- claude-opus-5
- claude-opus-4-8
- claude-opus-4-7
- claude-opus-4-6
- claude-sonnet-4-6
- claude-opus-4-5-20251101
- claude-sonnet-4-5-20250929
- claude-haiku-4-5-20251001
- claude-opus-4-1-20250805
- gpt-5.5
- gpt-5.5-pro
- gpt-5.4
- gpt-5.4-mini
- gpt-5.4-nano
- gpt-5.4-pro
- gpt-5.3-codex
- gpt-5.3-codex-spark
- gpt-5.2
- gpt-5.6-luna
- gpt-5.6-sol
- gpt-5.6-terra
- gpt-6-astra
- gemini-3.7-flash
- gemini-3.6-flash
- gemini-3.5-flash
- gemini-3.1-pro-preview
- gemini-3-flash-preview
- gemini-2.5-pro
- gemini-2.5-flash
- deepseek-v4-flash-vision-exp
- deepseek-v4-pro
- deepseek-v4-flash
- glm-5.2
- glm-5.1
- glm-5-turbo
- glm-5
- glm-4.7
- glm-4.6
- glm-4.5
- glm-4.5-air
- kimi-k3
- kimi-k2.7-code
- kimi-k2.6
- kimi-k2.5
- MiniMax-M3
- MiniMax-M2.7
- MiniMax-M2.7-highspeed
- MiniMax-M2.5
- MiniMax-M2.5-highspeed
- MiniMax-M2.1
- MiniMax-M2
- grok-4.5
- grok-4.3
04
JSONボディリクエスト仕様
公開プロトコルとRunAPIサポートの両方の証拠があるフィールドのみが記載されています。追加のJSONボディフィールドはそのまま渡されます。
JSON ボディフィールド4件
contentsarray
必須
Gemini ContentおよびPart形式の会話コンテンツ。
generationConfigobject
任意
リクエストに対する Gemini 生成設定。
systemInstructionobject
任意
Gemini Contentとして表されたシステム指示。
toolsarray
任意
モデルが呼び出せるツール。
パスパラメータフィールド1件
modelstring
必須
ワイヤーパスに配置されるRunAPIのモデル識別子。
リクエスト例
JSON
{
"contents": [
{
"parts": [
{
"text": "Summarize one practical improvement for an API deployment."
}
],
"role": "user"
}
]
}
05
HTTP 200
同期レスポンス
スキーマ
JSON
{
"additionalProperties": true,
"properties": {
"candidates": {
"items": {
"additionalProperties": true,
"properties": {
"content": {
"additionalProperties": true,
"properties": {
"parts": {
"type": "array"
},
"role": {
"type": "string"
}
},
"type": "object"
},
"finishReason": {
"type": "string"
},
"index": {
"type": "integer"
}
},
"type": "object"
},
"type": "array"
},
"modelVersion": {
"type": "string"
},
"responseId": {
"type": "string"
},
"usageMetadata": {
"additionalProperties": true,
"properties": {
"candidatesTokenCount": {
"type": "integer"
},
"promptTokenCount": {
"type": "integer"
},
"totalTokenCount": {
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
例
JSON
{
"candidates": [
{
"content": {
"parts": [
{
"text": "Hello! How can I help today?"
}
],
"role": "model"
},
"finishReason": "STOP",
"index": 0
}
],
"modelVersion": "gemini-3.5-flash",
"responseId": "resp_example",
"usageMetadata": {
"candidatesTokenCount": 8,
"promptTokenCount": 12,
"totalTokenCount": 20
}
}
06
HTTP 400
プロトコルエラー: invalid_request
スキーマ
JSON
{
"additionalProperties": true,
"properties": {
"error": {
"additionalProperties": true,
"properties": {
"code": {
"type": "integer"
},
"message": {
"type": "string"
},
"status": {
"type": "string"
}
},
"required": [
"code",
"message",
"status"
],
"type": "object"
}
},
"required": [
"error"
],
"type": "object"
}
例
JSON
{
"error": {
"code": 400,
"message": "contents is required",
"status": "INVALID_ARGUMENT"
}
}
07
使用方法
スキーマ
JSON
{
"additionalProperties": true,
"properties": {
"candidatesTokenCount": {
"type": "integer"
},
"promptTokenCount": {
"type": "integer"
},
"totalTokenCount": {
"type": "integer"
}
},
"type": "object"
}
例
JSON
{
"candidatesTokenCount": 8,
"promptTokenCount": 12,
"totalTokenCount": 20
}
08
生成されたコードサンプル
各cURL、JavaScript、およびPythonのサンプルは、プロトコル固有のSDKを必要とせずに、このコントラクトから検証済みのリクエストを送信します。
インストール
Shell
pip install requests
PYTHON
import requests
response = requests.post(
"https://runapi.ai/v1beta/models/gemini-3.5-flash:generateContent",
headers={"x-goog-api-key": "YOUR_API_TOKEN", "Content-Type": "application/json"},
json={"contents": [{"role": "user", "parts": [{"text": "Summarize one practical improvement for an API deployment."}]}]}
)
response.raise_for_status()
print(response.json())