---
title: "General Chat API"
method: POST
path: "/v1/chat/completions"
tags: ["Text Series"]
---

# General Chat API

`POST /v1/chat/completions`

OpenAI-compatible chat completions endpoint.

## Request body

- ChatCompletionRequest
  - `model` string, required — Model name. Example: `gpt-5.2`, `claude-sonnet-4-5-20250929`, `gemini-3-flash-preview`.
  - `messages` ChatMessage[], required — List of conversation messages. Each message contains a `role` and `content`. Use `system` to define model behavior, `user` for user input, and `assistant` for previous model responses in multi-turn conversations. Example: [{"role": "user", "content": "Explain vector databases in one sentence."}].
    - `role` 'system' | 'user' | 'assistant', required — Message role. `user` is user input, `assistant` is previous model output for multi-turn conversations, and `system` is the system prompt. Default is `user`.
    - `content` string, required — Message content, question, or instruction.
  - `temperature` number — Controls output randomness, range 0-2. Lower values such as 0.2 make output more deterministic. Higher values such as 1.8 make output more random. Default: 1.0.
  - `max_tokens` integer — Maximum number of tokens to generate. Different models have different maximum limits.
  - `stream` boolean — Whether to use streaming output. `true` returns a streaming response in SSE format. `false` returns the complete response at once. Default: false.
  - `top_p` number — Nucleus sampling parameter, range 0-1. Controls diversity of generated text. We recommend using either `top_p` or `temperature`, not both. Default: 1.0.
  - `frequency_penalty` number — Frequency penalty, range -2.0 to 2.0. Positive values reduce the likelihood of repeating the same words. Default: 0.
  - `presence_penalty` number — Presence penalty, range -2.0 to 2.0. Positive values increase the likelihood of talking about new topics. Default: 0.
  - `stop` union — Stop sequences. Up to 4 sequences where generation will stop when encountered.
    - string
    - string[]
  - `n` integer — Number of completions to generate. Default: 1. Must be a plain number such as `1`; do not use quotes.

## Response `200`

Completion created

- ChatCompletionResponse
  - `code` integer
  - `data` ChatCompletion
    - `id` string — Unique identifier for the response.
    - `object` string — Object type.
    - `created` integer — Creation timestamp.
    - `model` string — The actual model name used.
    - `choices` ChatCompletionChoice[]
      - `index` integer
      - `message` ChatMessage
        - `role` 'system' | 'user' | 'assistant', required — Message role. `user` is user input, `assistant` is previous model output for multi-turn conversations, and `system` is the system prompt. Default is `user`.
        - `content` string, required — Message content, question, or instruction.
      - `finish_reason` 'stop' | 'length' | 'content_filter' | 'function_call' — Reason for completion.
    - `usage` Usage
      - `prompt_tokens` integer — Number of tokens in the input messages.
      - `completion_tokens` integer — Number of tokens in the generated content.
      - `total_tokens` integer — Total number of tokens.

---

[API](https://skmtc.net/poyo/apis/poyo-ai-hunyuan-3d-v3-1-api.md) · [All operations](https://skmtc.net/poyo/apis/poyo-ai-hunyuan-3d-v3-1-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/poyo/poyo-ai-hunyuan-3d-v3-1-api/revisions/4b46904b78eb/schema)
