Skip to main content
POST
ストリーミング:URLの generateContent を streamGenerateContent に置き換えます。リクエストボディは変更せず、応答をチャンク単位で受け取ります。SSE形式には ?alt=sse を追加してください。
BaseURL:デフォルトの BaseURL は https://direct.evolink.ai で、テキストモデルへの対応が優れており、長時間接続をサポートします。https://api.evolink.ai はマルチモーダルの主力エンドポイントで、テキストモデルに対しては代替アドレスとして使用されます。

長い出力の継続生成(Gemini 4 Argon)

gemini-4-argon の1回の出力上限は、ストリーミングが65,536トークン、非ストリーミングが32,768トークンで、いずれも思考と回答を含みます。より長い出力は継続リクエストで取得します。入力・思考・回答は1,048,576トークンのコンテキストを共有するため、累計の思考と回答には入力を差し引いた残りの領域のみ使用できます。継続生成に対応するのはネイティブAPIのみで、OpenAI互換形式では利用できません。 長い応答を待つ場合は、クライアントの読み取りタイムアウトを1,200秒(20分)に設定することを推奨します。これはクライアント設定の推奨値であり、サーバー側のリクエスト継続時間を保証するものではありません。 手順:
  1. generationConfig.maxOutputTokens を1回の上限より大きく設定します(ストリーミングは65,536超、非ストリーミングは32,768超)。パラメータには最大1,048,576を指定できますが、実際の出力は共有コンテキストの制約を受けます。この値は全継続リクエストにわたる思考と回答の累計予算です。
  2. candidates[0].finishReason が CONTINUATION の場合、生成はまだ完了していません。同じ候補に continuationToken が返されます。
  3. 元のリクエストを、contents、systemInstruction、tools、generationConfig を変えずに再送します。トップレベルに continuationToken のみ追加し、直近の応答のトークンをそのまま指定します。
  4. finishReason が CONTINUATION の間だけ手順3を繰り返し、それ以外では停止します。STOP は正常終了、MAX_TOKENS は累計予算の消費完了を示します。各応答には新たに生成された内容だけが含まれるので、順番に連結します。
  • 生成済みの内容を contents に追加したり、「続きを書いて」などの新しい指示を送ったりしないでください。
  • 1回のリクエストがすべて思考に使われ、回答の本文が空になることがあります。終了理由が CONTINUATION なら継続してください。
  • MAX_TOKENS でも continuationToken が返される場合があります。再開するには maxOutputTokens を手動で増やし、最新のトークンを付けて元のリクエストを再送します。消費済みの予算のままでは400になります。下の「予算消費後の再開」を参照してください。
  • 複数ターンの会話では、STOP まで待ってから連結した回答全体を1件の model メッセージとして履歴に追加してください。

使用例

1回目のリクエスト:
1回の上限に達し、累計予算が残っている場合の応答例です(継続に関係するフィールドのみ):
前の応答が CONTINUATION の場合、同じリクエストのトップレベルに continuationToken を追加して再送します:
次のPython関数は CONTINUATION を自動処理し、正常終了または予算消費時に結果を返します。最新のトークンを保持し、MAX_TOKENS でも予算を自動的には増やしません:

予算消費後の再開

この例は上の generate_with_continuation、URL、HEADERS を再利用します。小さな予算で数列を生成した後、総予算を明示的に64から2,048へ増やします。元の contents とその他の設定を維持し、トークンの追加と予算の増加によって中断箇所から再開します。
ストリーミングでは、finishReason を含む最終チャンクを読み取ってから判断します。CONTINUATION は設定を変えずに最新トークンで継続し、MAX_TOKENS は再開する場合に累計予算を手動で増やします。STOP は正常終了です。

課金とエラー

  • 各リクエストは個別に課金されます。継続時には元の入力と生成済みの内容が再び入力として計上されます。暗黙的キャッシュにヒットした部分にはキャッシュ料金が適用されます。
  • 各応答の usageMetadata はそのリクエストのみの使用量です。総使用量はリクエスト間で加算します。同一ストリーム内の値は累計なので、最後の usageMetadata だけを使用し、途中の累計値を重複して加算しないでください。
  • ネイティブAPIの出力分の仮引き落とし見積もりには、非ストリーミングでも maxOutputTokens と65,536の小さい方を使い、入力分は別途見積もります。非ストリーミングの実際の単発出力上限は32,768なので、それより大きい予算では実際の単発上限に基づく額より多く確保される場合があります。最終料金は応答の使用量に基づいて精算します。
  • 無効なトークンは400になります。形式が正しくても内容が無効なら Invalid continuation token.、形式が不正なら別のパラメータエラーが返される場合があります。他のモデルは continuationToken を無視します。
  • MAX_TOKENS の後にトークンを付けても、消費済みの maxOutputTokens を増やさなければ400になります。

承認

Authorization
string
header
必須

##すべてのAPIにBearer Token認証が必要です##

APIキーの取得:

APIキー管理ページにアクセスしてAPIキーを取得してください

リクエストヘッダーに追加:

パスパラメータ

model
enum<string>
必須

呼び出す Gemini テキストモデルを選択します:

利用可能なオプション:
gemini-4-argon,
gemini-3.8-flash,
gemini-3.7-flash,
gemini-3.6-flash,
gemini-3.5-flash,
gemini-3.5-flash-lite,
gemini-3.1-pro-preview,
gemini-3.1-pro-preview-customtools,
gemini-3.1-flash-lite-preview,
gemini-3-pro-preview,
gemini-3-flash-preview,
gemini-2.5-pro,
gemini-2.5-flash,
gemini-2.5-flash-lite
例:

"gemini-3.6-flash"

ボディ

application/json
contents
object[]
必須

List of conversation contents, supports multi-turn dialogue and multimodal input

Minimum array length: 1
systemInstruction
object

System instruction (optional), mainly text content

tools
object[]

モデルが呼び出せるツールです。次の 3 種類に対応します。

  • functionDeclarations:関数呼び出し
  • codeExecution:コード実行
  • googleSearch:Google Search によるウェブ検索。{"googleSearch": {}} を指定します(camelCase。google_search は HTTP 400)。すべての Gemini テキストモデルで利用できます。レスポンスの candidates[].groundingMetadata に検索クエリと参照元が含まれ、呼び出しごとに課金されます。
例:
toolConfig
object

Tool calling configuration (optional)

safetySettings
object[]

Safety settings list (optional)

generationConfig
object

Generation configuration parameters (optional)

continuationToken
string

長い出力の継続トークン(gemini-4-argon のみ)。直近の応答の candidates[0].continuationToken をそのままリクエストのトップレベルに指定します。元の contents、systemInstruction、tools を維持し、生成済みの本文は追加しません。

  • CONTINUATION:生成設定をすべて維持してトークンを再送します。
  • MAX_TOKENS:トークンが返される場合があります。再開前に累計 maxOutputTokens を手動で増やし、他の設定は維持します。消費済みの予算のままでは400になります。
  • 無効なトークンは400になります。
  • 他のモデルはこのフィールドを無視します。

ネイティブAPIの完全リファレンス の「長い出力の継続生成」を参照してください。

cachedContent
string

Cached content name, in the form cachedContents/{cachedContent}

レスポンス

コンテンツが正常に生成されました

レスポンス形式の説明:

  • generateContent エンドポイント使用時、GenerateContentResponseを返却(完全なレスポンスを一度に返却)
  • streamGenerateContent エンドポイント使用時、StreamGenerateContentResponseを返却(ストリーミングレスポンス、コンテンツをチャンクで返却)
candidates
object[]

List of candidate responses

promptFeedback
object
usageMetadata
object

使用統計

modelVersion
string

Model version

例:

"gemini-3.6-flash"

responseId
string

Response ID

例:

"l-LoaPu0BPmo1dkP6ZPHiQc"