OpenAPI 参考

Modelink API · 聊天与批量推理

Modelink 聊天对话与异步批量推理 API,涵盖 OpenAI 兼容 Chat Completions、Anthropic Messages、Vertex/Gemini 原厂协议及批量任务生命周期管理。所有请求均需使用 API Key 进行身份认证;Anthropic Messages 和 Vertex/Gemini 接口优先使用对应原厂请求头,同时兼容 Bearer Token。

版本 1.0.0

Chat Completions(对话补全)

POST
/v1/chat/completions

通用对话补全接口,兼容 OpenAI Chat Completions 协议,可通过请求体中的 model 字段切换底层模型(聊天、视觉、思考、文生图等)。支持流式输出、多模态输入(文本/图片/视频/文件/音频)、函数调用与结构化输出。

各模型的「思考 / 推理」开关方式不同,请按模型选择对应字段:

模型系列控制字段说明
Gemini 2.5 / 3.xreasoning_effortthinkingreasoning_effort 可选 low/medium/high;Gemini 3.1 Pro 仅支持这三档;Gemini 2.5 Pro 思考无法关闭
OpenAI GPT-5 / GPT-5.2reasoning_effortreasoningreasoning_effort 可选 low/medium/high/minimal/none;GPT-5.2 推荐 reasoning: {effort, summary},输出默认不展示思考内容
Claude 4.xthinking{"type": "enabled", "budget_tokens": N} 开启并设预算,{"type": "disabled"} 关闭
DeepSeekthinking{"type": "enabled"} 开启,{"type": "disabled"} 关闭
通义千问 Qwen3enable_thinking布尔值开关思考模式
豆包 Doubaothinking / enable_thinking通过 thinkingchat_template_kwargs 控制

多模态输入:在 messages[].content 中混合 textimage_urlfile(视频/文档)等类型;file_id 可填公网 URL、GCS URI、YouTube 链接或经文件接口上传得到的 qfile- 标识。

媒体理解分辨率image_url.detail 对应 Gemini 的 media_resolution,支持 low/medium/high/ultra_high

结构化输出:通过 response_format 指定 json_object 或带 json_schema 的结构化约束。

安全设置:Gemini 模型可通过 safety_settings 调整各危害类别的拦截阈值。

认证方式

BearerAuthBEARER

Authorization 请求头中传入 API Key 或访问令牌,格式:Bearer {token}

Bearer 格式:JWT

请求体

请求体属性

  • modelstring, 必填

    模型名称

    • namestring | null

      函数名称或用户名称

    • tool_call_idstring | null

      工具调用ID(仅限role为tool时填写)

    • reasoning_contentstring

      推理内容

  • streamboolean

    是否使用流式响应

    default: false

  • max_tokensinteger | null

    生成的最大token数

  • presence_penaltynumber | null<float>

    存在惩罚系数,范围 -2.0 到 2.0

    minimum: -2; maximum: 2

  • frequency_penaltynumber | null<float>

    频率惩罚系数,范围 -2.0 到 2.0

    minimum: -2; maximum: 2

  • repetition_penaltynumber | null<float>

    重复惩罚系数

  • temperaturenumber | null<float>

    采样温度,范围 0.0 到 2.0

    minimum: 0; maximum: 2

  • top_pnumber | null<float>

    核采样参数,范围 0.0 到 1.0

    minimum: 0; maximum: 1

  • top_kinteger | null

    Top-K采样参数

  • tool_choiceobject

    工具选择策略,可以是字符串或对象

  • typestring | null

    请求类型

  • enable_thinkingboolean | null

    是否启用思考模式

    • thinkingboolean

      腾讯DeepSeek思考参数

    • enable_thinkingboolean

      是否启用思考模式

    • thinking_budgetinteger

      思考token预算

    • budget_tokensinteger | null

      思考token预算

    • max_tokensinteger

      最大推理token数

    • excludeboolean

      是否排除推理内容

    • enabledboolean

      是否启用

  • modalitiesstring[]

    支持的模态类型列表

    • aspect_ratiostring

      图像宽高比

    • image_sizestring

      图像尺寸

    • categorystring, 必填

      危害类别

请求

POST/v1/chat/completions
curl https://api.qnaigc.com/v1/chat/completions \
  --request POST \
  --header 'Authorization: Bearer YOUR_BEARER_AUTH' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{
  "model": "gemini-3.1-pro-preview",
  "messages": [
    {
      "content": [
        {
          "text": "什么是太阳",
          "type": "text"
        }
      ],
      "role": "user"
    }
  ]
}'

响应

object

请求成功

响应体属性

  • idstring

    对话完成 ID

  • createdinteger<int64>

    响应创建时间戳(Unix 时间戳,秒)

  • modelstring

    使用的模型名称

    • indexinteger

      结果索引

    • finish_reasonstring

      完成原因,通常为 stop

    • prompt_tokensinteger

      输入 token 数

    • completion_tokensinteger

      输出 token 数

    • total_tokensinteger

      总 token 数

响应

application/json
{
  "id": "chatcmpl-2f8236e9f2b34bd391289576d0e23e72",
  "object": "chat.completion",
  "created": 1764574464,
  "model": "gemini-3.1-flash-image-preview",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "",
        "reasoning_content": "**Analyzing the Icon Redesign**\n\nI'm focused on the icon's elements...",
        "images": [
          {
            "type": "image_url",
            "image_url": {
              "url": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABYAAAAMACAIAAAASU1SbA.........."
            },
            "index": 0
          }
        ]
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 19,
    "completion_tokens": 1322,
    "total_tokens": 1341,
    "prompt_tokens_details": {
      "text_tokens": 19
    },
    "completion_tokens_details": {
      "reasoning_tokens": 202,
      "image_tokens": 1120
    }
  }
}

Messages(Anthropic 消息协议)

POST
/anthropic/v1/messages

兼容 Anthropic Messages 协议的对话接口,主要用于 Claude 系列模型。通过 thinking 字段控制扩展思考({"type":"enabled","budget_tokens":N}),支持图片理解等多模态输入。

支持以下两种鉴权方式,任选其一;推荐使用 Anthropic 官方格式:

  • X-Api-Key: $ANTHROPIC_API_KEY(推荐)
  • Authorization: Bearer $ANTHROPIC_API_KEY

认证方式

AnthropicApiKeyAuthAPI 密钥

Anthropic Messages 接口推荐按 Anthropic 官方格式,在 X-Api-Key 请求头中直接传入 API Key。

header 参数:X-Api-Key

请求体

请求体属性

  • modelstring, 必填

    用于生成回复的模型名称。

  • max_tokensinteger, 必填

    生成停止前的最大 token 数;模型可能在达到上限前自然停止。

    minimum: 0

  • streamboolean

    是否使用 Server-Sent Events 流式返回响应。

    default: false

  • systemstring

    系统提示词。

    • budget_tokensinteger

      扩展思考的 token 预算。type=enabled 时使用,且应小于 max_tokens。

  • toolsobject[]

    工具定义列表。

  • tool_choiceobject

    工具选择策略。

  • temperaturenumber

    采样温度,范围 0~1。通常只调整 temperature 或 top_p 其中一个。

    minimum: 0; maximum: 1

  • top_pnumber

    核采样累计概率阈值。通常只调整 temperature 或 top_p 其中一个。

    minimum: 0; maximum: 1

  • top_kinteger

    仅从概率最高的 K 个候选 token 中采样。

  • stop_sequencesstring[]

    自定义停止序列;模型生成其中任一序列时停止。

  • metadataobject

    请求元数据,例如用于滥用检测的外部 user_id;不应包含个人敏感信息。

请求

POST/anthropic/v1/messages
curl https://api.qnaigc.com/anthropic/v1/messages \
  --request POST \
  --header 'X-Api-Key: YOUR_ANTHROPIC_API_KEY_AUTH' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{
  "model": "claude-4.5-sonnet",
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "你好"
        }
      ]
    }
  ],
  "max_tokens": 1024
}'

响应

object
响应.

响应体属性

  • idstring, 必填
    必填。
  • typestring, 必填
    必填。
  • rolestring, 必填
    必填。
  • modelstring, 必填
    必填。
    • textstring

      type=text 时的文本。

    • thinkingstring

      type=thinking 时的思考内容。

    • signaturestring

      thinking 块的签名。

    • datastring

      type=redacted_thinking 时的加密数据。

    • idstring

      type=tool_use 时的工具调用 ID。

    • namestring

      type=tool_use 时的工具名。

    • inputobject

      type=tool_use 时的工具入参。

    • input_tokensinteger, 必填
      必填。
    • output_tokensinteger, 必填
      必填。
    • cache_read_input_tokensinteger
      可选。
    • cache_creation_input_tokensinteger
      可选。

响应

application/json
{
  "id": "msg_f69c4d5d67c64d3bae8865537ee82ee8",
  "type": "message",
  "role": "assistant",
  "model": "claude-4.5-sonnet",
  "content": [
    {
      "type": "text",
      "text": "你好!很高兴见到你。有什么我可以帮助你的吗?"
    }
  ],
  "stop_reason": "end_turn",
  "usage": {
    "input_tokens": 10,
    "output_tokens": 29,
    "cache_creation_input_tokens": 0
  }
}