搜索模型

目录精选 · 使用 ↑ ↓ 选择,Enter 打开

Claude Sonnet 4.6anthropic/claude-sonnet-4.6
GPT-5.6 Lunaopenai/gpt-5.6-luna
Claude Opus 4.6anthropic/claude-opus-4.6
Qwen3.5 397B A17Bqwen/qwen3.5-397b-a17b
Gemini 2.5 Flashgoogle/gemini-2.5-flash
GPT-5.4openai/gpt-5.4
Grok 4.6x-ai/grok-4.6
全部模型 →文档 →常见问题 →
接口参考 / API 参考

API 参考

公开目录、账户接口与模型网关。

模型网关

以 https://api.asiorb.com:8443/v1 为接口前缀。先查询这把 Key 可用的模型,再选用对应协议发送请求。三种模型接口均按实际用量计费,请求查询本身不会再次调用模型。

方法与路径用途认证 / 费用
GET /v1/models读取这把Key可调用的模型Bearer Key / 不产生模型推理费用
POST /v1/chat/completions文字消息、SSE及已批准能力Bearer Key / 按实际用量计费
POST /v1/responsesGPT / Codex:文字、SSE 与本机工具Bearer Key / 回传完整历史
POST /v1/messagesClaude / Claude Code:Messages 与工具往返Bearer Key 或 x-api-key / 按实际用量计费
GET /v1/requests/{id}查询原请求处理与结算状态同一Key / 不重复调用模型
GET /v1/requests?idempotency_key=…没有拿到请求编号时找回状态同一Key / 不重复调用模型

请求查询

GET /v1/requests/{id} 查询本 Key 的请求;首次响应丢失时,GET /v1/requests?idempotency_key=原幂等键 可找回原状态。404 不能当成可以重新扣费的依据。查询不返回完整回答正文。

网站公开接口

GET /api/models 返回网页目录元数据,GET /api/prices 返回当前生效的人民币价格;它们不验证某一把 Key 的模型权限。程序获取授权模型应使用 GET /v1/models。

健康接口

GET /api/health 用于查询网站响应与功能状态,不代表所有上游模型的实时可用率。

请求限制

下方按协议列出本站请求限制。模型上下文、已批准参数、Key 预算及账户限流还会进一步约束请求;大上下文模型不代表可以绕过单次请求体或输出限制。

协议请求体与历史输出与工具
Chat Completions最大 1 MiB;messages 为 1–128 条n=1;工具最多 32 个
Responses最大 768 KiB;input 为文字或 1–512 个历史条目max_output_tokens 默认 8192;store:false,回传完整历史
Messages最大 768 KiB;messages 为 1–128 条必须提供 max_tokens;回传对话与工具结果
共同限制还受实际模型上下文和 Key 权限约束输出上限 1–32768,且不超过该模型批准上限;工具最多 32 个

Chat Completions 参数

支持文字消息、stream、stream_options、max_tokens 或 max_completion_tokens(不可同时传)、temperature、top_p、stop、seed、presence_penalty、frequency_penalty、tools、tool_choice、parallel_tool_calls、response_format、reasoning 或 reasoning_effort。能否使用由对应模型的已批准能力进一步限定;额外参数会拒绝。

字段类型 / 默认说明
modelstring / 必填可用模型完整 ID
messagesarray / 必填role 与 content;文字内容,最多128条
streamboolean / falsetrue 时返回 SSE
stream_optionsobject流式请求可设 include_usage:true
max_tokensinteger / 1024与 max_completion_tokens 二选一;受模型批准上限约束
temperature / top_pnumber支持范围由模型决定
tools / tool_choicearray / string或object由客户端执行工具,最多32个工具
response_formatobject支持的 JSON object 或 JSON schema
reasoning / reasoning_effortobject / string二选一;具体支持范围以批准模型为准

工具调用与多轮历史

工具由你的程序在权限范围内执行,ASIORB 不替你运行命令。保留模型返回的调用条目、调用 ID 和工具结果,按对应协议回传完整历史。每轮继续请求都是新的模型调用,使用新的幂等键;同一轮重查状态则沿用原键。

协议模型提出调用回传执行结果
Chat Completionsassistant.tool_calls保留 assistant 消息,再追加 role:tool、tool_call_id 与 content
Responsesfunction_call / custom_tool_call在完整 input 历史中追加对应 function_call_output / custom_tool_call_output,保持 call_id 一致
Messagesassistant.content[].tool_use追加 user 消息中的 tool_result,以 tool_use_id 对应工具调用

为文件、命令和外部操作设定权限,校验参数后再执行;不要把模型给出的命令直接视为用户授权。不同协议的工具结构不能混用,参数名和历史格式以对应教程及本站限制为准。

结构化与推理

JSON Schema 需要模型同时开放 response_format 与 structured_outputs;普通 JSON 支持不代表严格结构化输出支持,客户端仍需校验业务结构。reasoning 与 reasoning_effort 不能同时传入;reasoning.effort 与 reasoning.max_tokens 也只能选一种。参数、推理历史及相关用量必须在批准能力与输入上界内。

余额与输出上限

max_tokens 或 max_output_tokens 是期望的最高输出量。当前可用余额或 Key 预算不足时,服务端会降低本次输出上限,且不会扩大显式推理预算。响应头 X-ASIORB-Max-Output-Tokens 返回实际上限,X-ASIORB-Output-Limited: balance 表示额度导致缩短。若无法覆盖输入和最短回复,则返回 402;遇到 length 或不明结果,先查看消费记录,不自动重发。

推理与输出上限

max_tokens 同时限制推理 Token 与最终答案 Token。预算较小时可能全部用于推理,返回 finish_reason: length 和空的正文;这不表示未产生用量,仍按实际 usage 结算。推理 Token 已包含在输出 Token 中,不另计一遍。先查询原请求与消费记录;如需继续,应主动发起新的请求、使用新幂等键并提高输出上限,新增调用单独计费。不要将空正文自动重试,也不要假设所有模型都会公开推理正文。

完整能力示例(TypeScript)

只列出已开放且批准对应能力的模型。工具示例可能发起两次收费请求,需为两次请求分别预留余额。每一步异常时先按该步编号查询状态,不自动重发。

将 YOUR_MODEL_ID 替换为支持所选能力的可用模型 ID;请核对模型支持的参数。

// npm install openai
// 在服务端设置 ASIORB_API_KEY 和持久保存的 ASIORB_REQUEST_ID;每个逻辑调用单独计费。
import OpenAI from 'openai';
const key=process.env.ASIORB_API_KEY, id=process.env.ASIORB_REQUEST_ID;
if(!key||!id)throw new Error('缺少环境变量');
const client=new OpenAI({apiKey:key,baseURL:"https://api.asiorb.com:8443/v1",timeout:210000,maxRetries:0});
const model="YOUR_MODEL_ID";
const messages=JSON.parse('[{"role":"user","content":"请使用 add 工具计算 2 + 3。"}]');
const tools=JSON.parse('[{"type":"function","function":{"name":"add","description":"计算两个有限数字的和","parameters":{"type":"object","properties":{"a":{"type":"number"},"b":{"type":"number"}},"required":["a","b"],"additionalProperties":false}}}]');
const first=await client.chat.completions.create({model,messages,tools,max_tokens:1024},{headers:{'Idempotency-Key':id}});
console.log('第一次用量',first.usage);
const reply=JSON.parse(JSON.stringify(first.choices[0].message));
if(reply.tool_calls?.length){
  // 只保留网关支持的消息字段;模型需要的推理历史一并保留。
  messages.push({role:'assistant',content:reply.content,tool_calls:reply.tool_calls,...(reply.reasoning?{reasoning:reply.reasoning}:{}),...(reply.reasoning_details?{reasoning_details:reply.reasoning_details}:{})});
  for(const call of reply.tool_calls){
    if(call.type!=='function'||call.function.name!=='add')throw new Error('工具不在允许范围');
    const args=JSON.parse(call.function.arguments);
    if(!args||typeof args!=='object'||Object.keys(args).sort().join(',')!=='a,b'||![args.a,args.b].every(n=>typeof n==='number'&&Number.isFinite(n)&&Math.abs(n)<=1e6))throw new Error('工具参数无效');
    // 工具在客户端执行;这里没有 eval、shell 或任意联网。
    messages.push({role:'tool',tool_call_id:call.id,content:JSON.stringify({result:args.a+args.b})});
  }
  // 这是新一次模型调用,需单独持久化此编号、余额和预占。
  const nextId=id+'-tool-result';
  const second=await client.chat.completions.create({model,messages,tools,max_tokens:1024},{headers:{'Idempotency-Key':nextId}});
  console.log(second.choices[0].message.content);
  console.log('第二次用量',second.usage);
}else console.log(reply.content);
// 任何一步异常时,用该步的幂等键 GET /requests 查询,不自动重新 POST。

在浏览器中准备请求示例

选择模型与消息,生成可复制的代码;不会发送请求。

打开请求构建器 →