# Genesis API 参考

本页按接口和请求协议汇总 Genesis 当前文档覆盖的调用入口，帮助你先确认路径、输入形态和结果位置，再进入对应页面查看可复制的请求、参数与响应字段。模型是否可用以及可选能力是否可用，都以当前凭据、模型和接口的实际组合为准。

## 服务地址和路径

在当前环境的 Genesis 控制台「使用」页复制完整 Base URL，并保存为 `GENESIS_BASE_URL`。不要使用控制台管理站点地址、其他环境地址或内部服务路径。

```text
<Genesis Base URL copied from the console>
```

复制的值通常已经包含版本路径。保持该值不变，不要重复追加 `/v1`。将下表中的接口路径追加到 Base URL 之后。例如，Chat Completions 的请求地址为：

```text
POST <GENESIS_BASE_URL>/chat/completions
```

OpenAI 兼容接口的认证方式见[身份认证](getting-started/authentication.md)。Anthropic Messages 使用独立的认证与版本 Header 规则，请以[Anthropic Messages API](anthropic-compatible/anthropic-messages-api.md)为准。

## 接口目录

| 接口 | 方法和路径 | 用途 | 最小输入 | 结果位置 | 详细参考 |
| --- | --- | --- | --- | --- | --- |
| 模型列表 | `GET /models` | 查询当前凭据可调用的模型 ID。 | 无请求体。 | `data[].id` | [获取可用模型](getting-started/available-models.md) |
| Chat Completions | `POST /chat/completions` | 发送文本或图文对话。 | `model`、`messages` | 非流式：`choices[].message.content` | [文本对话](openai-compatible/chat-completions/text-chat.md)、[多模态对话](openai-compatible/chat-completions/multimodal-chat.md) |
| Chat Completions 流式输出 | `POST /chat/completions`，`stream: true` | 以 SSE 读取对话生成过程。 | Chat Completions 请求加 `stream: true`。 | Chat Completions SSE 事件。 | [Chat Completions 流式输出](openai-compatible/chat-completions/streaming-chat-completions.md) |
| Responses | `POST /responses` | 发送 OpenAI Responses 形态的请求。 | `model`、`input` | `output[]` | [Responses API](openai-compatible/responses-api.md) |
| Anthropic Messages | `POST /messages` | 发送 Anthropic Messages 形态的文本或图文消息。 | `model`、`max_tokens`、`messages` | `content[]` | [Anthropic Messages API](anthropic-compatible/anthropic-messages-api.md) |
| Messages Token 计数 | `POST /messages/count_tokens` | 在生成前估算 Messages 输入的 Token 数。 | 与 Messages 请求相同的输入结构。 | `input_tokens` | [估算输入 Token](anthropic-compatible/anthropic-messages-api.md#估算输入-token) |
| Embeddings | `POST /embeddings` | 将文本或图文内容转换为向量。 | `model`、`input` | `data[].embedding` | [文本与多模态 Embeddings](retrieval-vector/embeddings.md) |
| Rerank | `POST /rerank` | 按查询意图重排候选内容。 | `model`、`query`、`documents` | `results[]` | [文本与多模态 Rerank](retrieval-vector/rerank.md) |

## 选择正确的请求形态

不同接口不能共用请求或响应解析逻辑：

| 要完成的任务 | 使用的请求字段 | 读取结果的字段 | 不要混用 |
| --- | --- | --- | --- |
| OpenAI 对话 | `messages` | `choices[]` | 不要将 Responses 的 `input` 或 `output[]` 套入 Chat Completions。 |
| OpenAI Responses | `input` | `output[]` | 不要从 `choices[]` 读取结果。 |
| Anthropic Messages | `messages`、`max_tokens` | `content[]` | 不要用 Chat Completions 的 `choices[]` 解析响应。 |
| 向量生成 | `input` | `data[].embedding` | 不要使用对话的 `messages` 结构。 |
| 重排序 | `query`、`documents` | `results[]` | 使用 `results[].index` 关联原始候选项。 |

同一个模型在模型列表中可见，不表示它一定支持每一种接口、图像输入、流式输出、状态或工具调用。先发送该接口的最小请求，再逐项增加所需的可选参数。

## 认证、模型与用量

1. 按接口类型准备凭据。OpenAI 兼容接口使用[身份认证](getting-started/authentication.md)中的规则；Messages 不直接沿用该页面的规则。
2. 调用 `GET /models`，从 `data[].id` 取得当前凭据可调用的模型 ID。
3. 将模型 ID 填入目标接口的 `model` 字段，并先完成最小请求。
4. 在应用中保存请求 ID、模型 ID、接口、状态码和脱敏后的错误信息。需要查看统计或排查问题时，参阅[用量、日志与配额](usage-logs-quotas.md)。

`429`、网络中断或 `5xx` 出现时，不要假定请求一定没有执行。先确认业务是否能够识别重复结果，再按[用量、日志与配额](usage-logs-quotas.md#处理限制和临时失败)中的建议使用有限重试或最小请求进行排查。

## 下一步

- [从 Chat Completions 开始调用](getting-started/quickstart.md)
- [选择模型与能力](getting-started/choose-model-capabilities.md)
- [查看控制台中的模型、调试和日志](../../../guides/genesis/index.md)
