# Gemini 4 Argon — /chat/completions

Gemini 4 Argon Beta 支持文本对话、流式输出和 Low / Medium / High 三档思考，默认 Low。兼容 OpenAI SDK，思考 token 按输出计费。

**端点:** `POST https://nezhagate.com/v1/chat/completions`

## 快速开始

两步跑通：先发一个普通请求，再试流式输出。把 YOUR_API_KEY 换成你的 Key，下面的命令可以直接运行。接口和 OpenAI 的 Chat Completions 一致，已有的 OpenAI 代码只要改 `base_url` 和 `model`。

**第 1 步 · 发送请求**

```
curl https://nezhagate.com/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "gemini-4-argon", "messages": [{"role": "user", "content": "用一句话解释什么是光合作用"}]}'
```

返回（HTTP 200）

```
{
  "id": "chatcmpl-7f3c9a1e2b4d6f8a",
  "object": "chat.completion",
  "created": 1791281400,
  "model": "gemini-4-argon",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "光合作用是植物利用阳光，把二氧化碳和水转化成糖并释放氧气的过程。",
        "reasoning_content": "..."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 18,
    "completion_tokens": 186,
    "total_tokens": 204,
    "prompt_tokens_details": {"cached_tokens": 0},
    "completion_tokens_details": {"reasoning_tokens": 144}
  }
}
```

`message.content` 是回答，`message.reasoning_content` 是思考过程。`usage` 是这一单计费用的 token 数：思考 token 算在 `completion_tokens` 里，按输出价计费。

**第 2 步 · 流式输出（推荐）**

```
curl -N https://nezhagate.com/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "gemini-4-argon", "stream": true, "messages": [{"role": "user", "content": "用一句话解释什么是光合作用"}]}'
```

流式返回标准的 SSE：每一块的正文在 `choices[0].delta.content`，最后一块带 `usage`，以 `data: [DONE]` 结束。回答长、或者模型要先思考时，请用流式：非流式请求最长约 10 分钟，超过会被断开。

**Python（OpenAI SDK）**

```
from openai import OpenAI

client = OpenAI(base_url="https://nezhagate.com/v1", api_key="YOUR_API_KEY")

# 1. 一问一答
resp = client.chat.completions.create(
    model="gemini-4-argon",
    messages=[{"role": "user", "content": "用一句话解释什么是光合作用"}],
)
print(resp.choices[0].message.content)

# 2. 流式输出
stream = client.chat.completions.create(
    model="gemini-4-argon",
    messages=[{"role": "user", "content": "用一句话解释什么是光合作用"}],
    stream=True,
)
for chunk in stream:
    if chunk.choices and chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)
```

## 认证
```
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
```

## 规格速览

| 上下文（输入与输出共用） | 约 100 万 token |
| --- | --- |
| 输入 | 文本 |
| 思考 | 可选 `low / medium / high`，默认 `low`。三档采用相同的 token 单价。 |
| 工具调用 | 不作保证：`tools` 可能被忽略，模型直接作答 |
| 联网搜索 | 支持（`web_search: true`，搜索本身不收费） |
| 接口 | /v1/chat/completions |
| 流式输出 | 支持（`stream: true`，SSE） |
| 计费方式 | 按 token：输入、输出（含思考）和缓存命中分别计价，失败不收费 |

## 请求参数

`POST /v1/chat/completions` 的请求体（JSON），和 OpenAI 的 Chat Completions 相同。下表是常用参数，以及它们在这个模型上的实际效果：

| 参数 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| model | string | 是 | 模型 id：`gemini-4-argon`。 |
| messages | array | 是 | 对话消息数组，每条有 `role`（`system` / `user` / `assistant` / `tool`）和 `content`。多轮对话把历史消息按顺序全部带上。 |
| stream | boolean | 否 | `true` 时以 SSE 流式返回，最后一块带 `usage`。默认 `false`。 |
| max_tokens | integer | 否 | 期望输出长度，包含思考 token；当前 Beta 不保证将其严格作为硬上限。控制预算时，建议在提示词中约束长度并分段执行。 |
| temperature / top_p | number | 否 | 可传入采样参数；当前 Beta 未单独验证其控制效果。 |
| reasoning_effort | string | 否 | 可选 `low / medium / high`，默认 `low`。三档采用相同的 token 单价。 |
| web_search | boolean | 否 | `true` 时先联网搜索，把结果作为参考资料交给模型，见下文。 |

建议先使用本文列出的参数。工具调用、多模态输入和 JSON 模式目前不作可用性承诺。

## 价格

按 token 计费，价格实时读取计费表（每百万 token）。只按成功请求的实际用量收费：失败、超时、被拒都不收费。1 积分 = $0.005。

| 类型 | 美元 / 百万 token | 积分 / 百万 token |
| --- | --- | --- |
| 输入 | $0.50 | 100 |
| 输出（含思考） | $3.00 | 600 |
| 缓存命中 | $0.05 | 10 |

举例：输入 2,000 token、输出 1,000 token（含思考）的一次请求约 $0.004。

## 思考

使用 `reasoning_effort` 选择 `low`、`medium` 或 `high`；省略时为 `low`。

可见思考在 `reasoning_content` 中返回。`usage.completion_tokens` 包含思考和正文，不能再把思考 token 重复相加计费。

三档单价相同；更高思考强度可能增加输出 token 消耗。

思考 token 计入 `usage.completion_tokens`，按输出价计费（部分模型另在 `completion_tokens_details.reasoning_tokens` 给出明细）。

```
{
  "model": "gemini-4-argon",
  "messages": [{"role": "user", "content": "用一句话解释什么是光合作用"}],
  "reasoning_effort": "medium"
}
```

## 提示缓存

支持自动隐式缓存。重复的长输入可能命中缓存，实际命中部分按普通输入价格的 1/10 计费；不保证每次重复都命中，也不提供显式缓存创建接口。

`usage.prompt_tokens` 是总输入；`usage.prompt_tokens_details.cached_tokens` 是其中的缓存命中部分。只对实际命中部分使用缓存单价。

## 联网搜索

`web_search` 是本站的可选检索功能，将检索到的文本提供给模型；不代表模型原生联网搜索或工具能力已验证。

```
curl https://nezhagate.com/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "gemini-4-argon", "web_search": true, "messages": [{"role": "user", "content": "今天有哪些重要的科技新闻"}]}'
```

## Beta 使用边界

- 当前已验证文本对话、流式输出和三档思考。工具、多模态与 JSON 模式尚未验证。

- 官方上下文约 100 万 token，由输入和输出共用；本站已通过长输入检索实测，尚未覆盖整个窗口或百万 token 长输出。

- 长任务建议分段执行。`max_tokens` 不是已验证的硬预算上限；失败请求不计费，已产生输出的中断请求按实际用量结算。

## 错误与退款

出错时返回一个 `error` 对象（`message`、`type`、`code`、`param`），请按 HTTP 状态码和 `code` 判断，不要匹配 `message` 的文字。失败的请求不计费，完整列表见 [错误码](https://nezhagate.com/docs/guide/errors)。

| HTTP | code | 原因 | 怎么办 |
| --- | --- | --- | --- |
| 400 | invalid_messages / invalid_role / invalid_max_tokens | 对话请求的 `messages` 缺失、为空或格式不对，`role` 不在允许的范围，或 `max_tokens` 不是正整数。`param` 指出是哪个字段。 | 修正 `param` 指出的字段。 |
| 400 | model_not_found | 型号写错、没有传 `model`，或这个型号不能用在这个接口上（例如拿对话模型调生图接口）。 | 以 `GET /v1/models` 或 [API 手册](https://nezhagate.com/docs/api) 里的模型 id 为准。 |
| 400 | max_tokens_too_small | 思考型模型把 `max_tokens` 全部用在了思考上，没有写出正文（非流式对话）。 | 调大 `max_tokens` 后重试。 |
| 4xx | invalid_request | 模型方拒绝了请求（例如上下文超长、参数不支持），状态码和 `message` 按模型方的原样返回，`code` 是模型方给出的值。 | 按 `message` 修改请求。 |
| 401 | invalid_api_key | Key 不存在、已删除或已停用，或者账号已停用。 | 到控制台「API Keys」页面检查这把 Key。 |
| 402 | insufficient_quota | 余额不够预扣这一单。网关先按这一单可能的最高费用预扣，同时发很多请求时也可能出现。 | 如果是并发突发，稍等几秒重试；否则充值。 |
| 403 | permission_denied | 这个模型不在这把 Key 的模型白名单里。 | 换成白名单里的模型，或在控制台修改白名单。 |
| 429 | rate_limit_exceeded | 超过了这把 Key 设置的每分钟请求数（按最近 60 秒计）。不带 `Retry-After`。 | 等几秒再试，或在控制台调高这把 Key 的上限。 |
| 429 | rate_limit_exceeded | 这个模型的所有线路都已满载，请求没有发出。只出现在对话类接口：图片和视频任务不会被拒，而是排队。OpenAI 兼容接口带 `Retry-After`。 | 按 `Retry-After` 的秒数等待后重试。 |
| 502 | upstream_timeout | 线路超时，包括迟迟没有返回第一个字。 | 重试；长回答建议用 `stream: true`。 |
| 502 | upstream_unavailable | 线路出错或暂时不可用。 | 稍后重试。 |
| 502 | upstream_busy | 模型方限流。模型方的 429 不会原样返回给你，而是换成这个 502。 | 稍后重试。 |
| 502 | empty_completion | 模型方返回了空内容。这不是对你的内容的判定。 | 重试。 |
| 503 | model_maintenance | 型号维护中，暂停接单，期间不会改由其他模型作答。 | 维护结束后重试，进度见 [服务状态](https://nezhagate.com/status)。 |

流式请求开始输出后再出错，状态码不会改变：错误会以一条带 `error` 的数据出现在流里，或者流直接结束（没有 `data: [DONE]`），请按中断处理。
