4Z API

对话补全(OpenAI 兼容)

接口: POST https://4zapi.com/v1/chat/completions

统一 OpenAI 兼容入口。通过 model 选择上游,例如:

  • gpt-6-luna / gpt-audio-2025-08-28 → OpenAI
  • gemini-3.8-flash → Google Gemini(兼容格式)
  • 其他模型见 GET /v1/models

OpenAI 官方文档:https://platform.openai.com/docs/api-reference/chat/create

模型名称格式为:gpt-4-gizmo-*,系统会自动进行识别

比如这个GPTs:https://chatgpt.com/g/g-B3hgivKK9-write-for-me

那么它的模型名应该填写为:gpt-4-gizmo-g-B3hgivKK9

GPTs列表:https://chatgpt.com/gpts

请求体 (application/json)

  • messages (array<object>, 必填): 对话消息列表,至少一条。支持多轮:system / user / assistant / tool。
  • model (string, 必填): 要使用的模型 ID。网关会按令牌分组选择渠道,并可能做模型名映射或后缀解析(如 -thinking、-search)。
  • enable_thinking (boolean): 是否开启思考模式(本仓库扩展)。仅布尔值 true 生效;与 extra_body.enable_thinking 二选一即可。
  • extra_body (object): 对话扩展参数。常用:enable_thinking;部分 Gemini 模型可用 google.thinking_config 等。是否生效取决于渠道与模型。
  • frequency_penalty (number): 频率惩罚,约 -2~2。正值降低重复相同词句的概率。
  • logit_bias (object): 按 token ID 调整出现概率,取值为 -100~100 的映射对象。
  • max_completion_tokens (integer): 补全 token 上限(o 系、GPT-5 等推理模型更常用)。未设置时可能沿用 max_tokens。
  • max_tokens (integer): 本次回复最多生成的 token 数(常用字段)。
  • n (integer): 对同一轮输入生成几条 assistant 回复候选。
  • parallel_tool_calls (boolean): 是否允许在一次回复中并行发起多个工具调用(上游支持时)。
  • presence_penalty (number): 存在惩罚,约 -2~2。正值减少重复已出现过的主题表述。
  • reasoning_effort (string): 推理模型力度(如 low / medium / high)。也可通过模型名后缀由网关自动注入。
  • response_format (object)
  • seed (number): 随机种子,在相同参数下尽量得到可复现结果(不保证完全一致)。注意字段名为 seed。
  • stop: 遇到这些字符串时停止生成。可为单个字符串或字符串数组(最多 4 个)。
  • stream (boolean): 是否流式输出。false:一次返回完整 JSON;true:SSE 增量推送,结束为 data: [DONE]。
  • stream_options (object)
  • temperature (number): 采样温度,通常 0~2。值越高回复越随机,越低越稳定。与 top_p 一般只调一个。
  • tool_choice: 控制是否调用工具:none(不调用)、auto(自动)、required(必须调用),或指定某个函数。
  • tools (array<object>): 模型可调用的工具(函数)列表,用于对话中的 function calling。
  • top_p (number): 核采样,0~1。只从累计概率达到 top_p 的 token 中采样。
  • user (string): 终端用户唯一标识,便于平台侧滥用检测与统计。
  • web_search_options (object)

请求示例

{
  "extra_body": {
    "enable_thinking": true
  },
  "messages": [
    {
      "content": "有三个盒子,只有一个里面有奖品。你选 2 号,主持人打开 3 号(空),问要不要改选 1 号?分析并给建议。",
      "role": "user"
    }
  ],
  "model": "deepseek-v4.1-flash",
  "stream": true,
  "stream_options": {
    "include_usage": true
  }
}