Loading...

文档 · 模型

Jev(TypeSafe System One)

Jev 1.14 返回什么、怎么用文字或图片调 POST /v1/systemone、Box 问题、TypeSafe 官方线路密钥下方那条一键接入命令、价格多少。

Jev 是 TypeSafe 的 System One 模型。它不生成文字:你发一个 state 和一组带类型的问题,它返回带类型的答案和概率。目录里的模型 id 是 jev-1.14.0,2026-10-16 起替换 jev-1.13.0,价格不变。jev-latest 和 jev-preview 仍可作为别名使用,TopxAI 按 jev-1.14.0 计费,发给 TypeSafe 的也是 jev-1.14.0,所以响应里的 model 字段始终是 jev-1.14.0。当天在 TypeSafe 自己的 API 上,jev-latest 指向的还是 1.13;走 TopxAI 的话,三个名字到的是同一个模型。这里不再提供 jev-1.13.0,请求它会收到 403。如果你的阈值是在 1.13 上调的,换到 1.14 后请重新核对。密钥的允许模型列表里写了 jev-1.13.0 的,要把 jev-1.14.0 加进去;在这个列表里,jev-latest 和 jev-preview 都算作 jev-1.14.0。

四种问题类型

同一个请求里的问题彼此独立、并行评估,所以把可能用到的问题都放进一次调用。问题的 id 不会发给模型,完整的问题要写在 instructions 里。

请求与响应

curl -X POST https://api.topxai.xyz/v1/systemone \
  -H "Authorization: Bearer sk-xxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "state": "I have asked three times now. Can I please just talk to a real person?",
    "model": "jev-1.14.0",
    "questions": {
      "is_human_escalation": {
        "type": "noul",
        "instructions": "Is the customer asking for a human agent?"
      }
    }
  }'
{
  "model": "jev-1.14.0",
  "answers": {
    "is_human_escalation": { "type": "noul", "noul": 0.99 }
  },
  "usage": { "input_tokens": 296, "output_tokens": 20 }
}

请求体和 TypeSafe 官方 API 完全一样,只有 base URL 和密钥换成 TopxAI 的。POST /v1/system_one 是同一个端点的另一种写法。在这个端点上请求目录里的其他模型,会收到 400。

图片与 Box

能放文字的地方都能放图片,包括 state 和问题的 instructions、criteria。每张图在顶层的 assets 里登记一次,键是一个引用字符串,然后在需要这张图的位置写上这个字符串。下面这个请求在照片里找杯子,同时问一句杯子到底在不在,因为 Box 永远会返回一个框,目标不存在时也一样:

{
  "model": "jev-1.14.0",
  "state": { "photo": "3f9c2e1a-kitchen" },
  "assets": {
    "3f9c2e1a-kitchen": {
      "type": "image",
      "format": "jpg",
      "data_base64": "/9j/4AAQSkZJRg..."
    }
  },
  "questions": {
    "mug_visible": {
      "type": "noul",
      "instructions": "Is there a coffee mug in `photo`?"
    },
    "mug": { "type": "box", "instructions": "the coffee mug in `photo`" }
  }
}
{
  "model": "jev-1.14.0",
  "answers": {
    "mug_visible": { "type": "noul", "noul": 0.94 },
    "mug": {
      "type": "box",
      "box": { "top": 0.25, "bottom": 0.82, "left": 0.44, "right": 0.84 },
      "confidence": 0.92
    }
  },
  "usage": { "input_tokens": 1618, "output_tokens": 52 }
}

要裁图或画框,把 left、right 乘以图片宽度的像素数,top、bottom 乘以高度。

图片也可以用 multipart/form-data 的文件段上传,TypeSafe 的 SDK 就是这么发的:第一段叫 request,放 JSON 请求体,每张图单独一段,对应的 asset 用 "part": "<段名>" 指向它,不再写 data_base64。multipart 省掉了 base64 多出来的三分之一体积。两种写法走 TopxAI 都能用,SDK 默认开启的 zstd 请求体压缩也能用。

TypeSafe 把图片和 Box 标为 "Dreamer-ready":适合做原型,还没达到它自己的生产标准,请求格式、答案和限制在版本之间都可能变。在 TypeSafe 官方 API 上,这类请求都要带请求头 TypeSafe-Danger-Zone-Images: true。请求里只要有 assets 或 Box 问题,TopxAI 会自动加上这个头,所以你可以不写;写了也没影响。

TypeSafe 的图片限制原样适用:只收 PNG 或 JPEG 静态图,每条边不超过 1568 像素,总像素数在 78,400 到 2,458,624 之间,单个文件不超过 16 MiB。它的文档写最短边可以到 256 像素,但我们 2026-10-16 实测,任何一条边不到 280 像素都会被拒(279 × 400 失败,280 × 400 通过),所以两条边都保持在 280 像素以上。超出限制的图片会直接拒收,不会自动缩放,一张图不合格,整个请求都失败。发送前先把最长边缩到 1568 像素以内,并把像素本身转正:API 会去掉 EXIF,也不理会里面的方向标记。引用字符串每出现一次,图片就多算一份,几个问题看同一张图时,把它放进 state 一次,再按路径引用。

限制与报错

预留额度之前,中转服务先检查请求体:必须有 model、state 和非空的 questions 对象,state 加 questions 不超过 1 MiB,整个请求体(含 base64 图片)不超过 32 MiB,带 assets 时它必须是对象,最多 1,024 张图,每个引用字符串非空、不超过 1,024 字节,合计不超过 64 KiB。请求体超过 32 MiB 返回 413,其他不满足的情况返回 400。multipart 格式不对也返回 400,比如第一段不叫 request、段名重复、文件段既不是 PNG、JPEG 也不是无类型字节。

TypeSafe 用 400、413 或 422 拒绝请求时(图片读不出来、某个 asset 没人引用、超出上下文长度等),你会原样收到它的说明,预留的额度随即释放。429 会连同 Retry-After 一起转给你,退避后重试。上游故障或上游密钥失效,统一返回 503。

上下文限制按 TypeSafe 的默认值:单次请求 64k token,state 加任意一个问题不超过 32k,图片的 token 也算在内。TypeSafe 的长上下文请求头不会转发。

一条命令接入

在 API 密钥 页面上创建密钥。在 分组 里找到 TypeSafe 区块,选 官方线路(旁注「官方密钥 · 固定价格」)。自动路由 密钥也能调 Jev(Jev 只在这一条路由上提供),但下面这条接入命令只在 TypeSafe 线路的密钥上显示。在密钥所在行点开完整密钥的弹层,或者打开密钥详情抽屉,都能看到 Jev 一键接入:

curl -fsSL https://api.topxai.xyz/install/typesafe.sh | sh -s -- --key sk-xxxx

脚本会安装 typesafe-ai agent skill,把 TYPESAFE_BASE_URL=https://api.topxai.xyz 和 TYPESAFE_API_KEY=<你的密钥> 写进 ~/.config/topxai/typesafe.env,在 ~/.zshrc 和 ~/.bashrc(哪个存在改哪个)里加一段读取这个文件的托管配置,~/.claude/settings.json 存在的话再把这两个变量合并进它的 env。最后发一次测试请求:这是一次真实计费的调用,用 jev-latest 问一道 noul 题;返回 401 说明密钥不对。

不带 --key 时,脚本先取环境变量 TOPXAI_API_KEY,再复用上次运行保存的密钥,都没有才在终端里让你输入,输入过程不回显。一个密钥都没有时,skill 和配置照常安装,只跳过测试请求。--no-skill 和 --no-verify 分别跳过装 skill 和测试请求两步,--base-url 指向别的中转地址,-h 打印帮助。可以重复运行,涉及的文件每次都原地重写,settings.json 会先留一份带时间戳的 .bak 备份。

官方 SDK(pip install typesafe-sdk、npm install @typesafe-ai/sdk)会读 TYPESAFE_BASE_URL 和 TYPESAFE_API_KEY 两个变量,然后自己调用 /v1/systemone;用 TYPESAFE_DEFAULT_MODEL 指定模型。要用图片和 Box,Python SDK 需要 0.7.5,JavaScript SDK 需要 0.7.0(Node.js 22 或更高)。

价格

自 2026-11-12 起,每 100 万输入 token 收 0.055 美元(此前是 0.04494 美元)。TypeSafe 自己的牌价是 0.042 美元。输出 token 免费。图片不单独收费:图片的 token 按同样的价格算作输入 token,usage.input_tokens 里已经包含。TypeSafe 还没公布图片 token 的算法;我们 2026-10-16 实测,一张图每被引用一次,计 ⌈宽 / 28⌉ × ⌈高 / 28⌉ × 2 个 token。800 × 600 的照片是 1,276 个,1568 × 1568 的满尺寸图是 6,272 个,约 0.00034 美元。费用按供应商返回的 usage.input_tokens 结算;响应里没有 usage 时,按调用前预估并预留的 token 数收,预估包括文字和上面这套图片算法。

备用线路

自 2026-11-12 起,Jev 跑在两条线路上。主线路调用 TypeSafe 官方接口;另一条是成本更高的备用线路,提供同一个模型。主线路在回答之前出错时,请求可能自动转到备用线路,这笔请求按备用价计费:每 100 万输入 token 0.058 美元,输出仍然免费。这种情况很少,密钥、接口地址和请求都不用改。

这样的请求在用量日志里能认出来:条目标着 备用部署,并显示它按哪个备用单价计费。首页和模型页的价格表在 备用部署 一行列出同一个单价。走备用线路时,网关会在转发前检查已知的越狱模板,见可接受使用政策。

已知短板

以下都来自 TypeSafe 自己的文档:

有问题可以点网站右下角的帮助按钮,或者写信到 support@topxai.xyz。

模型:jev-1.14.0 · 模型与价格

相关

上一页:看懂用量日志 · 下一页:GLM-5.3-Abliterated 与 GLM-5.3-Flash-Abliterated

其他语言:English