OpenAPI 参考

Modelink API · 聊天与批量推理

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

版本 1.0.0

bypass Anthropic协议

POST
/bypass/anthropic/v1/messages

通过 Anthropic 原生协议直接调用 Claude 系列模型,支持联网搜索。

鉴权方式: 优先使用 Anthropic 官方格式 X-Api-Key: $ANTHROPIC_API_KEY;也兼容 Authorization: Bearer $ANTHROPIC_API_KEY

支持的模型: 支持所有 Claude 模型。

认证方式

AnthropicApiKeyAuthAPI 密钥

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

header 参数:X-Api-Key

请求体

请求体属性

  • modelstring, 必填

    将用于完成提示的模型名称

  • max_tokensinteger, 必填

    生成停止前的最大 token 数。注意:模型可能会在此最大值之前自然停止生成。

    • anyOf[0]string
      可选。
    • budget_tokensinteger

      分配给思考过程的最大 token 预算(必须 >= 1024 且小于 max_tokens)。

    • typestring

      内置服务端工具的类型标识(如 web_search_20260209)。自定义工具可省略。

    • namestring, 必填

      工具的名称,模型调用时将使用此名称。

    • descriptionstring

      工具功能的详细描述,帮助模型理解何时及如何使用该工具。

    • namestring

      当 type 为 'tool' 时,指定强制模型使用的工具名称。

    • disable_parallel_tool_useboolean

      是否禁用并行工具调用。默认为 false。

  • temperaturenumber

    注入响应的随机性大小。默认为 1.0。范围从 0.0 到 1.0。

  • top_pnumber

    核采样(Nucleus sampling)。建议仅修改 temperature 或 top_p 其一。

  • top_kinteger

    仅从后续标记的顶级 K 个选项中进行采样。

  • streamboolean

    是否使用 Server-Sent Events (SSE) 逐步流式传输响应。

  • stop_sequencesstring[]

    自定义文本序列数组,遇到这些序列时模型将停止生成。

    • user_idstring

      与请求关联的用户的外部标识符(不应包含 PII 数据)。

  • containerstring

    代码执行工具(Code Execution Tool)使用的容器标识符,用于在多次请求间复用会话状态。

  • inference_geostring

    指定推理处理的地理区域(如果不指定,则使用工作区的 default_inference_geo)。

请求

POST/bypass/anthropic/v1/messages
curl https://api.qnaigc.com/bypass/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-sonnet-4-6",
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "2026年5月最新手机GPU性能排行"
        }
      ]
    }
  ],
  "tools": [
    {
      "type": "web_search_20260209",
      "name": "web_search"
    }
  ],
  "max_tokens": 1024
}'

响应

object
响应.

响应体属性

  • idstring, 必填

    消息的唯一对象标识符(ID 的格式和长度可能会随时间发生变化)。

  • modelstring, 必填

    实际用于完成提示的模型名称(例如 claude-3-7-sonnet-20250219)。

    • textstring

      [text] 模型生成的普通文本回复。

    • thinkingstring

      [thinking] 模型在给出最终回答前的内部推理和思考过程(仅在请求中开启 thinking 时返回)。

    • signaturestring

      [thinking] 思考块的签名,用于多轮对话中维持连贯性校验。

    • datastring

      [redacted_thinking] 被脱敏/隐藏的思考内容数据(当 display 设置为 omitted 时返回)。

    • idstring

      [tool_use/server_tool_use] 工具调用的唯一 ID。稍后返回工具结果时需带上此 ID。

    • namestring

      [tool_use/server_tool_use] 模型决定调用的工具名称(自定义工具名,或内置服务端工具 web_search)。

    • inputobject

      [tool_use/server_tool_use] 模型生成的,用于传递给工具的 JSON 格式输入参数。

    • file_idstring

      [container_upload] 上传到容器中的文件的标识符。

  • stop_sequencestring

    触发停止生成的具体自定义停止序列(如果 stop_reason 为 'stop_sequence',则此字段非空)。

    • input_tokensinteger, 必填

      实际使用的未缓存输入 Token 数量。

    • output_tokensinteger, 必填

      生成的输出 Token 数量(包括思考 token 和工具调用 token)。

    • cache_creation_input_tokensinteger

      用于创建新缓存条目的输入 Token 数量(用于 Prompt Caching)。

    • cache_read_input_tokensinteger

      从现有缓存中成功读取的输入 Token 数量。

    • inference_geostring

      处理此请求的推理节点的地理区域。

    • idstring

      容器的标识符,可用于后续请求复用上下文。

    • expires_atstring

      容器状态将过期的时间。

响应

application/json
{
  "id": "string",
  "type": "message",
  "role": "assistant",
  "model": "string",
  "content": [
    {
      "type": "text",
      "text": "string",
      "citations": [
        "string"
      ],
      "thinking": "string",
      "signature": "string",
      "data": "string",
      "id": "string",
      "name": "string"
    }
  ],
  "stop_reason": "end_turn",
  "stop_sequence": "string",
  "usage": {
    "input_tokens": 42,
    "output_tokens": 42,
    "cache_creation_input_tokens": 42,
    "cache_read_input_tokens": 42,
    "cache_creation": {
      "ephemeral_5m_input_tokens": 42,
      "ephemeral_1h_input_tokens": 42
    },
    "inference_geo": "string",
    "service_tier": "standard",
    "server_tool_use": {
      "web_search_requests": 42,
      "web_fetch_requests": 42
    }
  }
}

bypass Vertex/Gemini协议

POST
/bypass/vertex/v1/models/{model}:{invokeFuncName}

通过 Vertex / Gemini 原生协议格式调用 Gemini 模型。

鉴权方式: 优先使用 Google 官方格式 X-Goog-Api-Key: $GOOGLE_API_KEY;也兼容 Authorization: Bearer $GOOGLE_API_KEY

调用方式:

  • 非流式:gemini-3.1-pro-preview:generateContent
  • 流式:gemini-3.1-pro-preview:streamGenerateContent?alt=sse

联网搜索:在请求体中加入 "tools": [{"googleSearch": {}}]

支持的模型: 支持所有 Gemini 模型。

认证方式

GoogleApiKeyAuthAPI 密钥

Vertex/Gemini 接口推荐按 Google 官方格式,在 X-Goog-Api-Key 请求头中直接传入 API Key。

header 参数:X-Goog-Api-Key

路径参数

  • Name
    model
    Type
    string, 必填
    Description

    模型名称

  • Name
    invokeFuncName
    Type
    string, 必填
    Description

    调用方法名称

请求体

请求体属性

    • temperaturenumber

      控制输出的随机性。值越高(如 0.8)输出越具创造性,值越低(如 0.2)输出越集中和确定。范围通常为 0.0 到 2.0。

      minimum: 0

    • topPnumber

      Nucleus 采样参数。模型考虑累积概率达到 topP 质量的 token。范围 0.0 到 1.0。

    • topKinteger

      Top-k 采样参数。模型从概率最高的 topK 个 token 中进行下一步选择。

    • maxOutputTokensinteger

      模型单次响应生成的最大 Token 数量。

    • candidateCountinteger

      要生成的响应候选数量。目前通常仅支持 1。

    • stopSequencesstring[]

      停止序列。当模型生成这些字符串之一时,将停止继续生成内容。

    • responseMimeTypestring

      指定模型输出的格式,例如 'application/json' 以强制模型输出 JSON 格式。

    • googleSearchobject

      启用 Gemini 内置的 Google 搜索联网工具,传入空对象即可开启。

请求

POST/bypass/vertex/v1/models/{model}:{invokeFuncName}
curl https://api.qnaigc.com/bypass/vertex/v1/models/{model}:{invokeFuncName} \
  --request POST \
  --header 'X-Goog-Api-Key: YOUR_GOOGLE_API_KEY_AUTH' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{
  "contents": [
    {
      "role": "user",
      "parts": [
        {
          "text": "Explain how AI works"
        }
      ]
    }
  ],
  "systemInstruction": {
    "parts": [
      {
        "text": "You are a helpful assistant."
      }
    ]
  },
  "generationConfig": {
    "temperature": 0.7,
    "topP": 0.9,
    "maxOutputTokens": 1024
  }
}'

响应

object
响应.

响应体属性

    • promptTokenCountinteger, 必填

      请求提示词(Input)消耗的 Token 数量。

    • candidatesTokenCountinteger

      模型生成回复(Output)消耗的 Token 数量。

    • totalTokenCountinteger, 必填

      总共消耗的 Token 数量 (Input + Output)。

响应

application/json
{
  "candidates": [
    {
      "content": {
        "role": "string",
        "parts": []
      },
      "finishReason": "FINISH_REASON_UNSPECIFIED",
      "safetyRatings": [
        "string"
      ],
      "citationMetadata": {
        "citations": []
      }
    }
  ],
  "usageMetadata": {
    "promptTokenCount": 42,
    "candidatesTokenCount": 42,
    "totalTokenCount": 42
  },
  "promptFeedback": {
    "blockReason": "BLOCK_REASON_UNSPECIFIED",
    "safetyRatings": [
      {
        "category": "string",
        "probability": "string",
        "probabilityScore": 42,
        "severity": "string",
        "severityScore": 42,
        "blocked": true
      }
    ]
  }
}

bypass Responses协议

POST
/bypass/openai/v1/responses

通过 OpenAI Responses API 协议直接调用 GPT 系列模型,支持联网搜索。

支持的模型: 支持所有 GPT 模型。

认证方式

BearerAuthBEARER

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

Bearer 格式:JWT

请求体

请求体属性

  • backgroundboolean

    是否在后台运行模型响应。

    • typestring, 必填

      上下文管理条目类型。目前仅支持 'compaction'(压缩)。

    • compact_thresholdnumber

      触发此条目压缩的 Token 阈值。

    • anyOf[0]string

      对话的唯一 ID。

    • file_search_call.results
    • web_search_call.results
    • web_search_call.action.sources
    • message.input_image.image_url
    • computer_call_output.output.image_url
    • code_interpreter_call.outputs
    • reasoning.encrypted_content
    • message.output_text.logprobs
    • anyOf[0]string

      作为用户角色的纯文本输入。

  • instructionsstring

    插入模型上下文的系统(或开发者)消息。当与 previous_response_id 一起使用时,可以轻松替换新响应的系统消息。

  • max_output_tokensnumber

    响应可生成的 Token 数量上限(包括可见输出 Token 和推理 Token)。

  • max_tool_callsnumber

    响应中可处理的内置工具调用的最大总数。

    • *string
      可选。
  • modelstring

    用于生成响应的模型 ID,如 gpt-4o, o3, gpt-5.1 等。

  • parallel_tool_callsboolean

    是否允许模型并行执行工具调用。

  • previous_response_idstring

    用于创建多轮对话的模型上一次响应的唯一 ID。不可与 conversation 同时使用。

    • idstring, 必填

      要使用的提示模板的唯一标识符。

    • variablesobject

      可选的值映射,用于替换提示中的变量。值可以是字符串、图像或文件对象。

    • versionstring

      提示模板的预期版本。

  • prompt_cache_keystring

    用于缓存相似请求的响应,以优化缓存命中率。取代原本的 user 字段。

  • safety_identifierstring

    一个稳定的用户标识符,用于帮助检测可能违反 OpenAI 政策的用户应用程序(建议传入经过 Hash 的值,最长 64 个字符)。

  • storeboolean

    是否存储生成的模型响应,以便后续通过 API 检索。

  • streamboolean

    如果设置为 true,模型响应数据将使用服务器发送事件 (SSE) 流式传输到客户端。

    • include_obfuscationboolean

      当为 true 时,启用流混淆以缓解旁路攻击。如果网络可信,可将其设置为 false 优化带宽。

  • temperaturenumber

    采样温度,介于 0 和 2 之间。较高的值(如 0.8)输出更随机,较低的值(如 0.2)更集中和确定。建议更改此值或 top_p,不要同时更改。

    • namestring

      工具/函数的名称(针对 function, custom 等)。

    • descriptionstring

      向模型展示的工具描述。

    • parametersobject

      描述函数参数的 JSON Schema 对象(针对 function 工具)。

    • strictboolean

      是否对参数进行严格验证。

    • defer_loadingboolean

      该工具是否通过工具搜索延迟加载。

    • server_labelstring

      MCP 服务器的标签(针对 mcp 工具)。

    • server_urlstring

      MCP 服务器的 URL。

    • vector_store_idsstring[]

      要搜索的向量存储 ID 列表(针对 file_search 工具)。

  • top_logprobsnumber

    一个介于 0 到 20 之间的整数,指定在每个位置返回的最可能 Token 的数量及其对数概率。

  • top_pnumber

    核采样概率阈值(0.1 意味着仅考虑占前 10% 概率质量的 Token)。建议更改此值或 temperature,不要同时更改。

  • userstring

    最终用户的稳定标识符(即将被废弃,请使用 safety_identifierprompt_cache_key)。

请求

POST/bypass/openai/v1/responses
curl https://api.qnaigc.com/bypass/openai/v1/responses \
  --request POST \
  --header 'Authorization: Bearer YOUR_BEARER_AUTH' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{
  "model": "openai/gpt-5.5",
  "input": "用一句话介绍你自己"
}'

响应

object
响应.

响应体属性

  • idstring, 必填

    此响应的唯一标识符。

  • created_atnumber, 必填

    创建此响应时的 Unix 时间戳(以秒为单位)。

  • completed_atnumber

    完成此响应时的 Unix 时间戳(以秒为单位)。仅当状态为 'completed' 时存在。

    • codestring

      响应的错误代码(如 server_error, rate_limit_exceeded, invalid_prompt 等)。

    • messagestring

      人类可读的错误描述。

  • output_textstring

    SDK 专用的便利属性,包含 output 数组中所有 output_text 项目的聚合文本输出(如果存在)。

    • idstring

      输出项目的唯一 ID。

    • typestring

      输出项目类型(例如 'message', 'function_call', 'web_search_call', 'reasoning' 等)。

    • statusstring

      该生成项的状态(例如 'in_progress', 'completed', 'incomplete')。

    • namestring

      运行的工具/函数名称(针对工具调用类型)。

    • argumentsstring

      传递给工具的参数的 JSON 字符串(针对工具调用类型)。

    • call_idstring

      工具调用的唯一 ID(针对工具调用类型)。

    • input_tokensnumber

      输入 Token 数量。

    • output_tokensnumber

      输出 Token 数量。

    • total_tokensnumber

      使用的 Token 总数。

    • idstring

      与此响应关联的对话唯一 ID。

  • previous_response_idstring

    模型的上一个响应的唯一 ID。用于串联多轮对话。

  • modelstring

    用于生成响应的实际模型 ID(例如 'gpt-4o', 'o3-mini' 等)。

  • instructionsstring

    插入模型上下文的系统或开发者消息。

    • *string
      可选。
  • prompt_cache_keystring

    用于优化缓存命中率的标识键。

  • prompt_cache_retentionstring

    提示缓存的保留策略(如 'in-memory', '24h')。

  • safety_identifierstring

    用于检测违反政策用户的稳定标识符。

  • service_tierstring

    实际用于处理请求的服务层级(如 'default', 'flex' 等)。该值可能与请求中设置的值不同。

  • parallel_tool_callsboolean

    是否允许模型并行执行工具调用。

  • temperaturenumber

    使用的采样温度。

  • top_pnumber

    核采样概率。

  • top_logprobsnumber

    指定在每个 Token 位置返回的最可能 Token 的数量。

  • max_output_tokensnumber

    响应可生成的 Token 数量上限。

  • max_tool_callsnumber

    响应中可处理的内置工具调用的最大总数。

  • truncationstring

    截断策略 ('auto' 或 'disabled')。

  • userstring

    最终用户的稳定标识符(即将被废弃)。

  • backgroundboolean

    是否在后台运行模型响应。

响应

application/json
{
  "id": "string",
  "object": "response",
  "created_at": 42,
  "completed_at": 42,
  "status": "completed",
  "error": {
    "code": "string",
    "message": "string"
  },
  "incomplete_details": {
    "reason": "max_output_tokens"
  },
  "output_text": "string"
}

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
  }
}

创建批量推理任务

POST
/v1/batchjob/inference

根据公开可访问的 JSONL 输入文件创建异步批量推理任务。接口在任务进入后台处理后立即返回任务 ID;后续可通过详情接口轮询任务状态。

国内模型的每行请求使用 body 包裹 OpenAI 风格消息结构,海外 Claude、Gemini 等模型使用 request 包裹对应厂商的原生请求结构。完整格式与限制请参阅批量任务推理指南

认证方式

BearerAuthBEARER

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

Bearer 格式:JWT

请求体

请求体属性

  • namestring, 必填

    任务名称。

  • modelstring, 必填

    控制台中支持 Batch 的模型 ID。国内与海外接入点支持的模型范围可能不同。

  • descriptionstring

    任务描述。

    default:

  • input_files_urlstring<uri>, 必填

    服务端可公开访问的 JSONL 输入文件 URL,不能依赖 Cookie、登录态或内网访问。

请求

POST/v1/batchjob/inference
curl https://api.qnaigc.com/v1/batchjob/inference \
  --request POST \
  --header 'Authorization: Bearer YOUR_BEARER_AUTH' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{
  "name": "离线摘要任务",
  "model": "gemini-2.5-pro",
  "description": "2026-07 文档摘要",
  "input_files_url": "https://example.com/batch/input.jsonl"
}'

响应

object

任务创建成功并进入后台处理。

响应体属性

  • idstring, 必填

    批量推理任务 ID,后续生命周期操作均需使用此 ID。

    pattern: ^bat-.+$

响应

application/json
{
  "id": "bat-1753660800000000000-12345"
}

查询批量推理任务列表

GET
/v1/batchjob/inferences

分页查询当前 API Key 所属用户创建且尚未删除的批量推理任务。

认证方式

BearerAuthBEARER

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

Bearer 格式:JWT

查询参数

  • Name
    page
    Type
    integer
    Description

    页码,从 1 开始。

  • Name
    page_size
    Type
    integer
    Description

    每页任务数。

请求体

暂无请求体

请求

GET/v1/batchjob/inferences
curl 'https://api.qnaigc.com/v1/batchjob/inferences?page={page}&page_size={page_size}' \
  --header 'Authorization: Bearer YOUR_BEARER_AUTH' \
  --header 'Accept: application/json'

响应

object[]

成功返回任务列表。没有任务时返回空数组。

响应体属性

  • idstring, 必填

    批量推理任务 ID。

  • namestring, 必填

    任务名称。

  • modelstring, 必填

    任务使用的模型 ID。

  • descriptionstring, 必填

    任务描述。

  • input_files_urlstring<uri>, 必填

    创建任务时提交的 JSONL 输入文件 URL。

  • output_files_urlstring, 必填

    结果 JSONL 文件的临时下载地址。任务尚未完成时通常为空字符串。

  • status_messagestring, 必填

    任务状态的补充说明。

  • created_atstring<date-time>, 必填

    任务创建时间。

  • updated_atstring<date-time>, 必填

    任务最后更新时间。

响应

application/json
[
  {
    "id": "bat-1753660800000000000-12345",
    "name": "离线摘要任务",
    "model": "gemini-2.5-pro",
    "description": "2026-07 文档摘要",
    "input_files_url": "https://example.com/batch/input.jsonl",
    "output_files_url": "",
    "status": "Running",
    "status_message": "任务运行中",
    "request_progress": {
      "total_request_counts": 1000,
      "completed_request_counts": 320,
      "failed_request_counts": 2
    },
    "created_at": "2026-07-28T09:00:00+08:00",
    "updated_at": "2026-07-28T09:05:00+08:00"
  }
]

查询批量推理任务

GET
/v1/batchjob/inference/{id}

根据任务 ID 查询任务状态、处理进度和结果文件地址。任务完成后,output_files_url 会提供结果 JSONL 文件的临时下载地址。

认证方式

BearerAuthBEARER

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

Bearer 格式:JWT

路径参数

  • Name
    id
    Type
    string, 必填
    Description

    创建任务时返回的批量推理任务 ID。

请求体

暂无请求体

请求

GET/v1/batchjob/inference/{id}
curl https://api.qnaigc.com/v1/batchjob/inference/{id} \
  --header 'Authorization: Bearer YOUR_BEARER_AUTH' \
  --header 'Accept: application/json'

响应

object

成功返回任务详情。

响应体属性

  • idstring, 必填

    批量推理任务 ID。

  • namestring, 必填

    任务名称。

  • modelstring, 必填

    任务使用的模型 ID。

  • descriptionstring, 必填

    任务描述。

  • input_files_urlstring<uri>, 必填

    创建任务时提交的 JSONL 输入文件 URL。

  • output_files_urlstring, 必填

    结果 JSONL 文件的临时下载地址。任务尚未完成时通常为空字符串。

  • status_messagestring, 必填

    任务状态的补充说明。

    • total_request_countsinteger<int64>

      输入文件中的请求总数。

      minimum: 0

    • completed_request_countsinteger<int64>

      已处理完成的请求数。

      minimum: 0

    • failed_request_countsinteger<int64>

      处理失败的请求数。部分供应商可能不提供该值。

      minimum: 0

  • created_atstring<date-time>, 必填

    任务创建时间。

  • updated_atstring<date-time>, 必填

    任务最后更新时间。

响应

application/json
{
  "id": "bat-1753660800000000000-12345",
  "name": "离线摘要任务",
  "model": "gemini-2.5-pro",
  "description": "2026-07 文档摘要",
  "input_files_url": "https://example.com/batch/input.jsonl",
  "output_files_url": "",
  "status": "Running",
  "status_message": "任务运行中",
  "request_progress": {
    "total_request_counts": 1000,
    "completed_request_counts": 320,
    "failed_request_counts": 2
  },
  "created_at": "2026-07-28T09:00:00+08:00",
  "updated_at": "2026-07-28T09:05:00+08:00"
}

删除批量推理任务

DELETE
/v1/batchjob/inference/{id}

删除指定任务及其任务记录。删除成功后,该任务不会再出现在列表和详情接口中。

认证方式

BearerAuthBEARER

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

Bearer 格式:JWT

路径参数

  • Name
    id
    Type
    string, 必填
    Description

    创建任务时返回的批量推理任务 ID。

请求体

暂无请求体

请求

DELETE/v1/batchjob/inference/{id}
curl https://api.qnaigc.com/v1/batchjob/inference/{id} \
  --request DELETE \
  --header 'Authorization: Bearer YOUR_BEARER_AUTH' \
  --header 'Accept: application/json'

响应

object

任务删除成功。

响应体属性

  • messagestring, 必填

    操作结果消息。

响应

application/json
{
  "message": "delete_batch_inference_job_success"
}

停止批量推理任务

POST
/v1/batchjob/inference/stop/{id}

停止尚未完成的批量推理任务。任务已停止、正在停止或已经失败时,接口返回状态冲突错误。

认证方式

BearerAuthBEARER

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

Bearer 格式:JWT

路径参数

  • Name
    id
    Type
    string, 必填
    Description

    创建任务时返回的批量推理任务 ID。

请求体

暂无请求体

请求

POST/v1/batchjob/inference/stop/{id}
curl https://api.qnaigc.com/v1/batchjob/inference/stop/{id} \
  --request POST \
  --header 'Authorization: Bearer YOUR_BEARER_AUTH' \
  --header 'Accept: application/json'

响应

object

认证失败,API Key 无效或缺失。

响应体属性

    • messagestring, 必填

      人类可读的错误描述。

    • typestring, 必填

      机器可读的错误类型。

响应

application/json
{
  "error": {
    "message": "access denied for invalid api key",
    "type": "authentication_error"
  }
}

恢复批量推理任务

POST
/v1/batchjob/inference/resume/{id}

恢复已停止或失败且允许恢复的批量推理任务。正在运行或已经完成的任务不能恢复。

认证方式

BearerAuthBEARER

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

Bearer 格式:JWT

路径参数

  • Name
    id
    Type
    string, 必填
    Description

    创建任务时返回的批量推理任务 ID。

请求体

暂无请求体

请求

POST/v1/batchjob/inference/resume/{id}
curl https://api.qnaigc.com/v1/batchjob/inference/resume/{id} \
  --request POST \
  --header 'Authorization: Bearer YOUR_BEARER_AUTH' \
  --header 'Accept: application/json'

响应

object

任务所用模型已下线。

响应体属性

    • messagestring, 必填

      人类可读的错误描述。

    • typestring, 必填

      机器可读的错误类型。

响应

application/json
{
  "error": {
    "message": "string",
    "type": "string"
  }
}