# 文本对话

OpenAI 兼容的聊天补全接口，支持流式（SSE）与非流式响应。

当 `stream: true` 时，响应为 `text/event-stream` 格式的 Server-Sent Events 流。

## POST /v1/chat/completions

> Chat completion

OpenAI-compatible chat completion endpoint supporting both streaming (SSE) and non-streaming responses.

When `stream: true`, the response is a Server-Sent Events stream in `text/event-stream` format.

### Authentication

`Authorization: Bearer tr-xxx`

### Request Body

Content-Type: `application/json`

- **model** `string` **(required)**  
  Model ID. Available models can be retrieved via `GET /v1/models`
- **messages** `object[]` **(required)**  
  Conversation history message list
- **messages[].role** ``system` | `user` | `assistant`` **(required)**  
  Message role
- **messages[].content** `string` **(required)**  
  Message content
- **stream** `boolean` (default: `false`)  
  Whether to enable streaming response (SSE)
- **temperature** `number`  
  Sampling temperature, range [0, 2]. Higher values produce more random output
- **max_tokens** `integer`  
  Maximum number of output tokens
- **top_p** `number`  
  Nucleus sampling probability, range (0, 1]

### Response

- **id** `string`  
  Unique request ID
- **object** ``chat.completion``  
  Object type, fixed value `chat.completion`
- **model** `string`  
  Actual model ID used
- **choices** `object[]`  
  List of generated results
- **choices[].index** `integer`  
  Candidate result index
- **choices[].message** `object`  
  
- **choices[].finish_reason** ``stop` | `length` | `content_filter` | `null``  
  Stop reason
- **usage** `object`  
  
- **usage.prompt_tokens** `integer`  
  Number of input tokens
- **usage.completion_tokens** `integer`  
  Number of output tokens
- **usage.total_tokens** `integer`  
  Total number of tokens

### Error Codes

- `400`: 
- `401`: 
- `402`: 
- `429`: 
- `502`:
