API Reference

OpenAI Chat Completions

OpenAI Chat Completions

POST https://api.tu-zi.com/v1/chat/completions
Preview guide

Paste into an AI assistant to help with integration. Documentation and examples only; no real credentials.

Preview guide

OpenAI Chat Completions

Updated · Reviewed

Endpoint and authentication

POST https://api.tu-zi.com/v1/chat/completions

Transport: json

Use an inference API key. Examples contain placeholders; read credentials from environment variables.

Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

Minimal request example

{
  "model": "YOUR_MODEL",
  "messages": [
    {
      "role": "user",
      "content": "Hello"
    }
  ],
  "stream": false
}

Before running

Replace https://api.tu-zi.com with this site origin (do not append /v1 twice), and YOUR_MODEL with the exact marketplace model ID. Install requests for Python; use Node.js 20+ and save JavaScript as .mjs. WebSocket samples list their own dependencies.

Create an inference key on the site and set API_KEY in the environment; replace YOUR_API_KEY in cURL. Prepare local input.png/input.wav files for upload examples.

Start with a minimal request, then read the result using the response fields below. For async APIs, a returned task ID requires polling; acceptance does not mean generation has finished.

Constraints

This page describes the base protocol. Use the selected model quick start for supported fields, enums, limits and asynchronous behavior. Replace YOUR_MODEL. Form initial values are not upstream defaults.

Body parameters

FieldTypeRequiredDescription / constraints
modelstringYesModel identifier; use the currently selected model. Example: gpt-4o-mini
messagesarrayYesConversation messages, including at least one user message. Example: [{"role":"user","content":"你好"}]
streambooleanNoEnable incremental response delivery. Disable to receive the complete result. This controls transport rather than generated content. Form initial value (not an upstream default): false Example: false
temperaturenumberNoSampling randomness: lower values are more stable, higher values more varied. Usually adjust either temperature or top_p. Form initial value (not an upstream default): 0.7 Range in this definition: 0 ~ 2 Example: 0.7
max_tokensnumberNoMaximum output token budget; reasoning may consume part of the budget. Too small a value can truncate output. A larger limit can increase maximum time and cost. Form initial value (not an upstream default): 512 Range in this definition: 1 ~ 128000 Example: 512
top_pnumberNoCumulative token probability threshold. Lower values narrow the candidate set. Usually adjust either top_p or temperature. Form initial value (not an upstream default): 1 Range in this definition: 0 ~ 1 Example: 1
frequency_penaltynumberNoPenalize repeated tokens based on frequency. Positive values discourage repetition; excessive values can harm coherence. Form initial value (not an upstream default): 0 Range in this definition: -2 ~ 2 Example: 0
presence_penaltynumberNoPenalize tokens already present. Positive values encourage new content; excessive values can cause topic drift. Form initial value (not an upstream default): 0 Range in this definition: -2 ~ 2 Example: 0
messages[].rolestringNoMessage role: system, developer, user, assistant or tool; support depends on the model.
messages[].contentstring | array | nullNoText or multimodal blocks; image input uses image_url. Tool-call messages may have null content.
toolsarrayNoTool declarations when supported by the model; functions define name, description and parameters (JSON Schema).
tool_choicestring | objectNoTool-selection policy; must match tools and model capabilities.
response_formatobjectNoStructured-output configuration; json_object/json_schema depend on model support.
stream_optionsobjectNoStreaming options; include_usage requires endpoint/model support.

Response fields

FieldTypeDescription / constraints
choices[].message.contentstring | array | nullGenerated content; may be null for tool calls.
choices[].finish_reasonstringCompletion reason.
usageobjectUsage for this request.
idstringResponse ID.
modelstringResponse model identifier.
choices[].message.rolestringOutput message role.
choices[].message.tool_calls[]objectTool calls: inspect id, type, function.name and function.arguments. Arguments are a JSON string; validate before executing tools.
usage.prompt_tokensintegerInput token count.
usage.completion_tokensintegerOutput token count.
usage.total_tokensintegerTotal token count.

Illustrative response; some endpoints show essential fields only. Optional fields may be absent.

{
  "id": "example",
  "choices": [
    {
      "message": {
        "role": "assistant",
        "content": "Hello"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 5,
    "completion_tokens": 1,
    "total_tokens": 6
  }
}

Streaming

With stream=true parse SSE choices[].delta until data: [DONE].

Errors and retries

Check HTTP status and protocol-specific errors; do not mix error formats across protocols. For 401/403 check credentials and permissions, for 429 back off, and for 5xx check gateway/upstream status. Error bodies may contain error/message/code depending on the protocol.

Use bounded exponential backoff for reads. Do not blindly retry task creation, generation, or key mutations, to avoid duplicate billing or execution.