GUIDES / ツール連携

Vercel AI Gateway 経由で Jev を使う

AI Gateway から Jev を呼ぶ3つの入口(AI SDK、REST の /v1/evaluate、TypeSafe 互換 API)と、BYOK、ゼロデータ保持、費用の見え方、直結との違いを実行結果つきで説明する。

Jevai-gatewayVercel

Vercel AI Gateway を通すと、TypeSafe の API キーを持っていなくても Jev を呼べます。入口は3つあり、どれも同じモデル(typesafe-ai/jev)に届きます。

入口向いている場面
AI SDK の experimental_evaluateすでに AI SDK を使っている。→ AI SDK で使う
REST の POST /v1/evaluateSDK を入れたくない、JS 以外の言語から呼ぶ
TypeSafe 互換 APITypeSafe の SDK で書いた既存のコードを、そのまま Gateway 経由にしたい

Vercel の公式ドキュメントによれば、評価は OpenAI 互換・Anthropic 互換・Cohere 互換のエンドポイントでは使えません。

認証

AI Gateway の API キーを Authorization: Bearer … で渡します。Vercel 上で動かすなら OIDC トークンも使えます。これは「Gateway があなたを認証するための鍵」で、モデルを呼ぶための鍵ではありません。

export AI_GATEWAY_API_KEY="…"

REST: POST /v1/evaluate

curl https://ai-gateway.vercel.sh/v1/evaluate \
  -H "Authorization: Bearer $AI_GATEWAY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "typesafe-ai/jev",
    "state": "I was charged twice for my subscription.",
    "questions": {
      "refund": { "type": "boolean", "instructions": "Is the customer asking for money back?" }
    }
  }'

実際に返ってきた値(2026-09-21、往復 743ms):

{
  "model": "typesafe-ai/jev",
  "answers": { "refund": { "type": "boolean", "probability": 0.76 } },
  "usage": { "inputTokens": 282, "outputTokens": 20 },
  "providerMetadata": {
    "gateway": {
      "routing": { "finalProvider": "typesafe-ai" },
      "cost": "0",
      "marketCost": "0.000011844"
    }
  }
}

形は AI SDK と同じです。はい/いいえ は boolean、答えは probability、トークン数は inputTokens。TypeSafe の REST API(noulinput_tokens)とは呼び名が違います。

ちなみに、この文は「二重に請求された」と言っているだけで、返金を求めるとは書いていません。0.76 という値は、Jev が書いてあることを字義どおりに読むことの一例です(Jev が苦手なこと)。

TypeSafe 互換 API — 既存のコードは2行の変更で

TypeSafe の SDK で書いたコードは、ベース URL と API キーを差し替えるだけで Gateway 経由になります。

import { noul, TypeSafeClient } from '@typesafe-ai/sdk';

const client = new TypeSafeClient({
  apiKey: process.env.AI_GATEWAY_API_KEY,
  baseURL: 'https://ai-gateway.vercel.sh/typesafe',
});

const res = await client.systemOne({
  state: 'I was charged twice for my subscription.',
  questions: { refund: noul('Is the customer asking for money back?') },
});

console.log(res.answers.refund.noul); // 0.76

実行すると、答えは TypeSafe の形(noulinput_tokens)のまま返り、Gateway の経路と費用の情報が provider_metadata.gateway に付いてきました。

Vercel は、移行ではなく新しく書くなら /v1/evaluate のほうを勧めています(TypeSafe 固有の名前に依存しない同じ機能だから、という理由です)。

直結との違い

比較項目TypeSafe に直結AI Gateway 経由
必要な鍵TypeSafe の API キーAI Gateway の API キー
請求TypeSafe からAI Gateway から(BYOK なら TypeSafe から)
答えたバージョンmodel: "jev-1.13.0" が返るtypesafe-ai/jevjev-latest が返り、バージョン ID は分からなかった
往復時間(3回ずつ)203〜238ms(初回 710ms)307〜446ms
利用状況の確認TypeSafe のコンソールGateway のダッシュボードに他のモデルと並ぶ
入力上限の表示公式は 64k(state +最長の質問で 32k)モデルページの表示は 32K

確信度のしきい値を特定のバージョンで調整している処理では、どのバージョンが答えたかを記録できる直結のほうが安全です(料金と制限)。

費用の見え方

レスポンスの providerMetadata.gateway に費用が入ります。

  • marketCost — 定価での費用。上の例は 0.000011844。入力 282 トークン × $0.042 / 100 万トークンと一致します
  • cost — 実際に請求される額。上の例では 0 でした

モデルページには入力・出力とも「Free」、あわせて「Promotional pricing ends on September 25, 2026」と表示されていました(2026-09-21 時点)。期間限定の表示なので、使う前に必ずモデルページで現在の価格を確かめてください。 このページの cost: 0 は、その期間中に実行した結果です。

BYOK とゼロデータ保持

  • BYOK: チームに TypeSafe のキーを登録してあれば、自動でそのキーが使われ、請求は TypeSafe から直接になります
  • プロバイダーの指定: providerOptions.gateway で、ゼロデータ保持を必須にしたり、応答してよいプロバイダーを絞ったりできます
{
  "model": "typesafe-ai/jev",
  "state": "…",
  "questions": { "refund": { "type": "boolean", "instructions": "…" } },
  "providerOptions": { "gateway": { "zeroDataRetention": true, "only": ["typesafe-ai"] } }
}

only: ["typesafe-ai"] を付けた呼び出しは実行して通ることを確かめました。zeroDataRetention: true は実行していません。 TypeSafe 側のゼロデータ保持はエンタープライズ向けと書かれているので(公式 Legal)、必要な場合は契約の条件を確認してください。

AI SDK から Gateway のプロバイダーを明示する

experimental_evaluate にモデルを文字列で渡すと、既定で Gateway が使われます。プロバイダーのインスタンスを明示するなら gateway.evaluationModel(...) です。

import { gateway } from '@ai-sdk/gateway';
import { experimental_evaluate as evaluate } from 'ai';

const result = await evaluate({
  model: gateway.evaluationModel('typesafe-ai/jev'),
  state: 'The support agent issued a full refund to the customer.',
  questions: { refunded: { type: 'boolean', instructions: 'Was a refund issued?' } },
});

この形は公式ドキュメントの記述で、このサイトで実行したのは文字列で渡す形です(AI SDK で使う)。評価には AI SDK 7 以降が必要です。

どれを選ぶか

  • TypeSafe のアカウントを作らずに試したい、複数のモデルの請求を1か所にまとめたい → AI Gateway
  • 答えたバージョンを記録したい、少しでも速くしたい → 直結REST APIPython SDKJS SDK
  • すでに TypeSafe の SDK で書いたコードがある → TypeSafe 互換 API で2行だけ変える

よくある質問

TypeSafe の API キーが無くても Jev を使えますか?

使えます。AI Gateway の API キー(または Vercel の OIDC)だけで呼べます。請求は AI Gateway 経由になります。自分の TypeSafe のキーで請求を受けたい場合は BYOK に登録します。

OpenAI 互換のエンドポイントから Jev を呼べますか?

呼べません。Vercel の公式ドキュメントに、評価は OpenAI 互換・Anthropic 互換・Cohere 互換のエンドポイントでは使えないとあります。使えるのは AI SDK、/v1/evaluate、TypeSafe 互換 API の3つです。

直結より遅くなりますか?

手元の3回ずつの計測では、直結が 203〜238ms(初回は 710ms)、Gateway 経由が 307〜446ms でした。中継が1つ増えるぶんは遅くなります。ごく少ない回数の計測なので、目安にとどめてください。

出典・参考リンク

  1. 一次情報 AI Gateway: Evaluation
  2. 一次情報 TypeSafe API with AI Gateway
  3. 一次情報 AI Gateway Models: Jev
  4. 一次情報 TypeSafe AI's Jev now available on AI Gateway