Skip to main content
POST
流式调用:将 URL 中的 generateContent 替换为 streamGenerateContent,请求体不变,响应逐块返回;可追加 ?alt=sse 获取 SSE 格式。
BaseURL 说明:默认 BaseURL 为 https://direct.evolink.ai,对文本模型支持更好、支持长连接;https://api.evolink.ai 为备用地址。

长输出续写(Gemini 4 Argon)

gemini-4-argon 单次流式请求最多输出 65,536 个 token,非流式最多 32,768 个 token,均包含思考与回答。需要更长的输出时,用续写分多次取。输入、思考与回答共用 1,048,576 个 token 的上下文,累计思考与回答最多使用扣除输入后的剩余空间。只有原生 API 支持续写,OpenAI 兼容格式不支持。 建议将客户端读取超时设为 1,200 秒(20 分钟),用于等待长响应;这是客户端配置建议,不是服务端请求时长保证。 做法:
  1. 把 generationConfig.maxOutputTokens 设为大于单次上限的值(流式大于 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,也不要发“请继续”之类的新提示。
  • 某一次请求可能全部用在思考上、正文为空,这时仍要继续续写。
  • finishReason 为 MAX_TOKENS 时也可能带回 continuationToken。如要继续,必须手动提高 maxOutputTokens,再带最新令牌重发原请求;沿用已耗尽的预算会返回 400。见下方「预算耗尽后恢复」。
  • 多轮对话时,等到 STOP 后再把拼好的完整回答作为一条 model 消息放进历史。

示例

第 1 次请求:
如果达到单次上限且仍有累计预算,响应示意如下(只列出与续写有关的字段):
上一轮为 CONTINUATION 时,第 2 次请求与第 1 次相同,顶层加上 continuationToken:
用 Python 自动处理 CONTINUATION,在正常完成或预算耗尽时返回。函数会保留最新的续写令牌,遇到 MAX_TOKENS 不自动提高预算:

预算耗尽后恢复

下面示例复用上面的 generate_with_continuation 函数、URL 与 HEADERS,先用小预算生成数字列表,再明确将总预算从 64 提高到 2,048。保持原始 contents 和其他配置不变,补上令牌并提高预算后,模型会从截断处继续。
用流式时,读到带 finishReason 的最后一块后按结束原因处理:CONTINUATION 带最新令牌并保持配置不变;MAX_TOKENS 如需恢复,须手动提高累计预算;STOP 表示正常完成。

计费与报错

  • 每次请求单独计费。续写时,原始输入和此前已生成的内容会作为输入重新计入;命中隐式缓存的部分按缓存价计费。
  • 每次响应的 usageMetadata 只统计本次请求,总用量要把各次请求的用量相加。流式中的用量在同一次请求内累计,只取最后一次 usageMetadata,不要把同一流里的累计值重复相加。
  • 原生接口的输出预扣估算取 maxOutputTokens 与 65,536 中的较小值,非流式也使用这个封顶值;输入部分另计。非流式实际单次最多输出 32,768,因此输出预算高于 32,768 时,预扣可能高于按实际单次上限计算的金额。实际费用按响应中的用量结算。
  • 无效令牌返回 400;令牌格式合法但内容无效时可见 Invalid continuation token.,格式错误时可能返回其他参数错误。其他模型会忽略 continuationToken。
  • MAX_TOKENS 后带令牌续写但不提高已耗尽的 maxOutputTokens,也会返回 400。

授权

Authorization
string
header
必填

##所有接口均需要使用Bearer Token进行认证##

获取 API Key:

访问 API Key 管理页面 获取您的 API Key

使用时在请求头中添加:

路径参数

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[]
必填

对话内容列表,支持多轮对话和多模态输入

Minimum array length: 1
systemInstruction
object

系统指令(可选),当前以文本为主

tools
object[]

模型可调用的工具列表,支持三类:

  • functionDeclarations:函数调用
  • codeExecution:代码执行
  • googleSearch:联网搜索(Google Search grounding)。写成 {"googleSearch": {}}(驼峰;写成蛇形 google_search 会返回 400),全部 Gemini 文本模型可用;响应的 candidates[].groundingMetadata 带搜索词和来源,按次计费
示例:
toolConfig
object

工具调用配置(可选)

safetySettings
object[]

安全设置列表(可选)

generationConfig
object

生成配置参数(可选)

continuationToken
string

长输出续写令牌(仅 gemini-4-argon)。把最近一次响应的 candidates[0].continuationToken 原样放在请求体顶层,保留原始 contents、systemInstruction 与 tools,不要加入已生成的正文。

  • finishReason 为 CONTINUATION:所有生成配置保持不变,带令牌继续生成。
  • finishReason 为 MAX_TOKENS:也可能返回令牌;恢复前必须手动提高累计 maxOutputTokens,其余配置不变。沿用已耗尽的预算会返回 400。
  • 令牌无效时返回 400。
  • 其他模型会忽略此字段。

详见本页「长输出续写」。

cachedContent
string

缓存内容名称,格式为 cachedContents/{cachedContent}

响应

内容生成成功

响应格式说明:

  • 使用 generateContent 端点时,返回 GenerateContentResponse(等待完整响应后一次性返回)
  • 使用 streamGenerateContent 端点时,返回 StreamGenerateContentResponse(流式响应,逐块返回内容)
candidates
object[]

候选响应列表

promptFeedback
object
usageMetadata
object

使用量统计

modelVersion
string

模型版本

示例:

"gemini-3.6-flash"

responseId
string

响应 ID

示例:

"l-LoaPu0BPmo1dkP6ZPHiQc"