开发者 / JevModel

JevModel API:请求与响应

使用 JevModel API 密钥,通过 /api/v1/systemone 发送类型化判断问题。

发送第一个请求

验证邮箱后,在账户设置中创建 JevModel API 密钥。密钥只放在服务端,向本站 /api/v1/systemone 发送 POST 请求。以下示例提出一个是/否问题。本站通过 OpenRouter 固定调用 typesafe/jev-1.13,无需发送 model 字段。

curl -X POST https://jevmodel.app/api/v1/systemone \
  -H "Authorization: Bearer $JEVMODEL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"state":"The customer was charged twice and requests a refund.","questions":{"escalate":{"type":"noul","instructions":"Should a human billing specialist review this request now?","criteria":{"true":"A specialist should review it now.","false":"No immediate review is needed."}}}}'

请求字段与限制

发送文本、JSON 对象或非空 JSON 数组作为 state,并定义 1–8 个具名问题。序列化后的 state 和校验后的完整请求均不能超过 8,000 字符。问题 ID 须以小写字母开头,总长不超过 40,只能包含小写字母、数字和下划线。instructions 长 8–600 字符;Choice 需要 2–12 个具名选项,Score 需要 2–10 个有序等级,Noul 的 true 和 false 描述都必填。每条描述长 2–350 字符。

读取响应

成功响应使用下方的 JevModel 包装格式。data 包含 request_id、按问题 ID 索引的 answers、上游 usage 和剩余额度。示例数值仅用于说明。Choice 可返回标签与概率分布;Score 为可能带小数的数值;Noul 是 0 到 1 之间的“是”的概率。实际动作阈值应由你的应用决定。

{
  "code": 0,
  "message": "ok",
  "data": {
    "request_id": "example-id",
    "answers": {
      "escalate": {
        "type": "noul",
        "noul": 0.94
      }
    },
    "usage": {
      "inputTokens": 186
    },
    "quota": {
      "used": 1,
      "limit": 5,
      "tokenBalance": 100000,
      "globalUsed": 1,
      "globalLimit": 1000,
      "dayUtc": "2026-09-28"
    }
  }
}

错误、重试与计费

错误响应形如 {"code":-1,"message":"错误名称"}。HTTP 400 表示 JSON 或字段无效;401 表示密钥无效;403 表示邮箱未验证;413 表示请求过大;429 表示每日容量或 Token 余额不足;502 表示上游未返回可用结果;503 表示模型连接不可用。客户端应同时检查 HTTP 状态和 code。每个 UTC 日前五次成功运行免费,但仍受全站容量限制;之后按模型报告的输入 Token 从工作台与 API 共用余额扣除。失败运行会退回预扣额度。本站 API 尚不支持幂等请求头:若成功运行后响应丢失,请先检查账户历史和余额,再决定是否重试,避免重复扣费。

JevModel 为独立项目,与 TypeSafe AI 无关联。