# 对话与视觉理解

> 对话补全 / 图片理解的调用方式：参数、图片输入、思考模型与流式。
> 分组：模型接入
> 更新时间：2026-10-12
> 原文：https://www.chenra.com/docs/model-chat

## 对话补全 / 视觉理解

同一个端点：纯文本消息走**文本对话**，消息里带图片时自动走**视觉理解**（模型需支持 vlm）。
填进 model 的标识见「模型清单」。

## 基本用法

curl https://api.chenra.com/api/relay/v1/chat/completions \
 -H "Authorization: Bearer sk-你的密钥" \
 -H "Content-Type: application/json" \
 -d '{
 "model": "qwen3.7-flash",
 "messages": [
 {"role": "system", "content": "你是一个严谨的助手"},
 {"role": "user", "content": "用一句话解释什么是向量数据库"}
 ],
 "temperature": 0.7
 }'

## 图片输入（视觉理解）

content 传数组，图片用 image_url；url 支持公网地址或 data:image/png;base64,...：

{
 "model": "doubao-seed-2-1-turbo-260628",
 "messages": [
 {
 "role": "user",
 "content": [
 {"type": "text", "text": "这张图里有什么？"},
 {"type": "image_url", "image_url": {"url": "https://example.com/cat.png"}}
 ]
 }
 ]
}

## 常见参数

model / messages 之外，常见的 OpenAI 参数会**原样转发**给上游：
temperature、top_p、max_tokens、stop、tools、tool_choice、response_format 等
（上游不支持的项会被忽略）。

## 思考模型

平台统一了「思考」的表达：reasoning_effort 取 none / minimal / low / medium / high / xhigh / max，
网关按厂商差异翻译成各自的字段。返回里若带推理内容，会放在 choices[0].message.reasoning_content。

## 流式

在请求体里加 "stream": true，按 SSE 逐块返回增量 delta。

## 对话补全 / 视觉理解

`POST /chat/completions`

纯文本走对话，消息里带图片时走视觉理解（模型需支持 vlm）。支持流式。

### 请求参数

| 参数 | 类型 | 必填 | 说明 | 默认值 |
| --- | --- | --- | --- | --- |
| model | string | 是 | 模型标识，见「模型清单」 |  |
| messages | array | 是 | 消息数组，元素为 {role, content}；content 可为字符串或内容块数组 |  |
| stream | boolean | 否 | 是否流式返回（SSE） | false |
| temperature | number | 否 | 采样温度，原样转发上游 |  |
| max_tokens | integer | 否 | 最大生成 token 数 |  |
| reasoning_effort | string | 否 | 思考档位：none/minimal/low/medium/high/xhigh/max |  |
| tools | array | 否 | 函数调用工具定义（OpenAI 格式） |  |

### 请求示例

```bash
curl https://api.chenra.com/api/relay/v1/chat/completions \
  -H "Authorization: Bearer sk-你的密钥" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen3.7-flash",
    "messages": [{"role": "user", "content": "你好"}]
  }'
```

### 响应示例

```json
{
  "id": "chatcmpl-8f2a...",
  "object": "chat.completion",
  "created": 1760000000,
  "model": "qwen3.7-flash",
  "choices": [
    {
      "index": 0,
      "message": { "role": "assistant", "content": "你好！有什么可以帮你的吗？" },
      "finish_reason": "stop"
    }
  ],
  "usage": { "prompt_tokens": 10, "completion_tokens": 12, "total_tokens": 22 }
}
```

### 错误码

| 错误码 | 说明 |
| --- | --- |
| 400 | 缺少 model / messages，或该模型不支持文本对话 |
| 404 | 模型不存在或未启用 |
| 403 | 密钥绑定的订阅已失效 |
| 429 | 超过每分钟请求上限 |
