模型

模型 API

一个地址同时兼容 OpenAI 与 Anthropic 两家官方 SDK:把 SDK 的 base URL 指向下面对应的地址,其余不动。

基础地址

加载中…

接入

加载中…

两家 SDK 怎么配

SDKbase URL认证头能用的端点
OpenAI SDKAuthorization: Bearer对话、生成响应、文本向量、生成图像、模型列表、会话(Conversations)
Anthropic SDK(SDK 自己补 /v1)x-api-key 或 Authorization: Bearer发送消息、统计 token

两家用同一把 Key、同一套模型名、同一个账单,换 SDK 不换别的。会话(创建、条目、删除)是跨调用的状态容器,形状与 OpenAI 官方 conversations 一致。

模型回退与自带 Key

对话的请求体可以带 providerOptions.praxis:

字段作用
models候选模型列表:请求的模型失败时按顺序换下一个
byok自带上游 Key(按供应商名给出);这把 Key 不可用时自动改用平台的
order / only指定供应商的顺序或范围,只在带 byok 时可用

响应里的 providerMetadata.praxis 给出这次调用的 generationId、cost、credential(platform 或 byok)和实际服务的 model;拿 generationId 可以查询生成记录。其它端点目前不接受 providerOptions.praxis,带上会返回 400。

端点

方法路径说明支持
POST/v1/chat/completions对话● 支持
POST/v1/responses生成响应● 支持
GET/v1/responses/{response_id}读取响应● 支持
DELETE/v1/responses/{response_id}删除响应● 支持
POST/v1/responses/{response_id}/cancel取消响应◐ 部分支持
GET/v1/responses/{response_id}/input_items列出响应输入项● 支持
POST/v1/responses/compact压缩响应○ 未支持
POST/v1/responses/input_tokens统计输入 token○ 未支持
POST/v1/embeddings文本向量● 支持
POST/v1/rerank重排文档● 支持
POST/v1/audio/speech合成语音● 支持
POST/v1/audio/transcriptions转写音频● 支持
POST/v1/images/generations生成图像● 支持
POST/v1/images/edits编辑图像● 支持
POST/v1/ocr文档识别● 支持
POST/v1/videos创建视频● 支持
GET/v1/videos列出视频● 支持
GET/v1/videos/{video_id}读取视频● 支持
GET/v1/videos/{video_id}/content下载视频内容● 支持
DELETE/v1/videos/{video_id}删除视频● 支持
POST/v1/videos/{video_id}/remix混剪视频○ 未支持
POST/v1/messages发送消息● 支持
POST/v1/messages/count_tokens统计 token◐ 部分支持
GET/v1/models列出模型● 支持
GET/v1/models/{model}读取模型● 支持
GET/v1/generation查询生成记录● 支持
POST/v1/conversations创建会话● 支持
GET/v1/conversations/{conversation_id}读取会话● 支持
POST/v1/conversations/{conversation_id}更新会话● 支持
POST/v1/conversations/{conversation_id}/items创建会话条目● 支持
GET/v1/conversations/{conversation_id}/items列出会话条目● 支持
GET/v1/conversations/{conversation_id}/items/{item_id}读取会话条目● 支持
DELETE/v1/conversations/{conversation_id}/items/{item_id}删除会话条目● 支持
DELETE/v1/conversations/{conversation_id}删除会话● 支持

与官方的差异

  • 对话:未知顶层字段原样转发给同协议上游,由上游决定是否接受;已声明字段的类型与取值范围仍会校验,不合法时返回 400 并点名字段。
  • 生成响应:未知顶层字段原样转发给同协议上游,由上游决定是否接受;已声明字段的类型与取值范围仍会校验,不合法时返回 400 并点名字段。
  • 读取响应:按 ID 读取一条已保存的响应。如果创建时 store 为 false,我们不会保存这次响应,读取会返回 404 response_not_found;超过保留期(默认 30 天)后读取也会返回同样的 404。
  • 删除响应:按 ID 立即删除一条已保存的响应。如果创建时 store 为 false,我们不会保存这次响应,删除会返回 404 response_not_found。
  • 取消响应:仅对以 background:true 创建、且路由到具备后台生成能力的模型的响应可用:取消是 幂等的,重复调用返回同一个终态响应;我方的取消只能停止我方对上游流的继续读取, 不能保证已发往上游的算力停止计算,用量按实际收到的部分结算。对一个非后台 (同步)响应调用 cancel:如果这个响应 id 不存在(未持久化、已过期或 id 有误), 返回 404 object_not_found;如果响应存在但其来源 provider 没有声明支持 cancel 操作(我们目前没有接入任何为同步响应声明该能力的上游),返回 400 native_responses_operation_unsupported。这两种情况都不是尚未实现的 501 gate。
  • 列出响应输入项:列出一条已保存响应的输入项。支持 limit(1–100,默认 20)、order(asc/desc, 默认 desc,与官方一致)与基于条目 id 的 after 游标分页;has_more/first_id/ last_id 均与实际返回页一致,可据此翻页且不重不漏。每个条目都带服务端签发的 id(message 为 msg_ 前缀,function_call/function_call_output/reasoning 各自 对应前缀),本次上线前已保存、尚无服务端 id 的旧数据在读取时按确定性规则补 id,不做破坏性迁移,同一游标反复读取保持稳定。以 previous_response_id 续接 创建的响应,其输入项列出解析后的完整输入:前序响应链已有的输入与输出条目 再加本轮自己提交的输入;若该祖先响应在我方平台未保存(例如创建时 store 为 false)或已过期删除,则只列出本轮自己提交的输入。如果创建时 store 为 false,我们不会保存这次响应,列出会返回 404 response_not_found。
  • 压缩响应:把响应的输入压缩成摘要,依赖 OpenAI Responses 官方的服务端存储(store)语义,我们目前还没有实现;调用会返回 501(message 为 “This platform has not implemented … yet.”,响应头 x-should-retry 为 false),不产生副作用,官方 SDK 不会重试。
  • 统计输入 token:只统计请求输入会消耗的 token 数、不生成内容,依赖 OpenAI Responses 官方的服务端存储(store)语义,我们目前还没有实现;调用会返回 501(message 为 “This platform has not implemented … yet.”,响应头 x-should-retry 为 false),不产生副作用,官方 SDK 不会重试。
  • 文本向量:未知顶层字段原样转发给同协议上游,由上游决定是否接受;已声明字段的类型与取值范围仍会校验,不合法时返回 400 并点名字段。
  • 重排文档:标准请求字段;不能表达的参数返回 input_not_representable。
  • 合成语音:melotts 输出 WAV,只支持 input(含 text/prompt 别名)、lang 和默认音频选项;aura-2-en 使用原生 speaker 名称。逐字段限制见参数表。
  • 转写音频:标准请求字段;不能表达的参数返回 input_not_representable。
  • 文档识别:采用 Mistral OCR 请求与响应形状,仅提供 /model/v1/ocr。model 必填;document 接受 document_url 或 image_url(HTTPS 或 base64 data URL),也接受 {type:"file", file_id:"<上传所得 ID>"},直接读取当前租户的 File。file_id 读取上限为 24 MiB(25,165,824 字节,共享 96 MiB 内存预算按四倍预留);超过此上限返回 413,并提示改用 HTTPS document_url(PDF 上限 50 MiB)。PNG/JPEG 仍限 10 MiB,按文件头识别类型;不存在或其他租户的文件统一返回 404。pages 是从 0 开始的页码数组;图片如指定 pages,只能为 [0]。文件读取失败不计费,请求日志仅记录 file_id,不保存文件原文。可选功能依模型而定,不支持的选项返回 400。错误为 problem+json;providerOptions.praxis 不适用于此端点。
  • 创建视频:按输出秒数计费;每秒价格见 GET /model/v1/models 的 pricing.video_second(USD/秒)。
  • 列出视频:按输出秒数计费;每秒价格见 GET /model/v1/models 的 pricing.video_second(USD/秒)。
  • 读取视频:按输出秒数计费;每秒价格见 GET /model/v1/models 的 pricing.video_second(USD/秒)。
  • 下载视频内容:按输出秒数计费;每秒价格见 GET /model/v1/models 的 pricing.video_second(USD/秒)。
  • 删除视频:按输出秒数计费;每秒价格见 GET /model/v1/models 的 pricing.video_second(USD/秒)。
  • 混剪视频:未支持,调用返回 400;不要重试。
  • 发送消息:未知顶层字段原样转发给同协议上游,由上游决定是否接受;已声明字段的类型与取值范围仍会校验,不合法时返回 400 并点名字段。
  • 统计 token:按模型族校准的估算值(包括中文和工具定义),响应头为 x-praxis-token-count: estimated;不能用作精确用量或计费依据。
  • 列出模型:OCR 模型的 type 为 ocr,pricing.page 是 USD/页的十进制字符串,为 Praxis 对 Vercel 模型列表形状的扩展;其余四项 token 价格为 0。其它模型不带 pricing.page。
  • 创建会话:创建一个会话,可选携带初始 items(一次最多 20 条)与 metadata。会话按租户分区,创建者是唯一能引用它的租户。
  • 读取会话:按 ID 读取一个会话。不存在或属于其他租户都返回 404 conversation_not_found。
  • 更新会话:更新一个会话的 metadata——整体替换,不与已有 metadata 合并。
  • 创建会话条目:向一个会话追加 items(一次最多 20 条),返回刚追加的这些 items。
  • 列出会话条目:按创建顺序列出会话的 items,支持 limit/after/order 分页参数。
  • 读取会话条目:按 ID 读取会话里的单条 item。
  • 删除会话条目:删除会话里的单条 item,返回该会话对象(不是被删除的 item)。
  • 删除会话:删除一个会话。删除后该会话与其 items 都不能再被引用(包括作为 Responses create 的 conversation 参数)。

请求与响应字段的权威定义,见每个端点页链接的 OpenAI、Anthropic 或 Mistral 官方文档。OCR 通过 HTTP 调用,不在 OpenAI 或 Anthropic SDK 的端点中。

鉴权、限流、参数校验等平台错误按 problem+json 返回;OCR 的错误也为 problem+json,其它模型调用的错误按该端点所属格式(OpenAI 或 Anthropic)返回,参见错误;额度与响应头参见限流。

导出

本页内容