OpenAI Decisions API dan Jev dari TypeSafe melakukan pekerjaan yang sama: mengirimkan masukan dan serangkaian pertanyaan, mendapatkan kembali jawaban berjenis (typed) dengan probabilitas alih-alih teks untuk diuraikan, dan hanya membayar untuk token masukan. Decisions berharga $0,10 per 1 juta token masukan, berada dalam beta publik, menerima teks dan gambar, dan berjalan di GPT-6 Luna. Jev berharga $0,042 per 1 juta token masukan, berada dalam akses awal di balik akun konsol TypeSafe, hanya teks, dan membatasi setiap permintaan pada 64 ribu token.
Untuk dasar-dasarnya, mulailah dengan apa itu Decisions API dan cara menggunakan Jev. Posting ini membandingkan keduanya baris demi baris, kemudian menghubungkan keduanya ke dalam satu proyek Apidog di balik satu aturan kepercayaan.
Perbandingan berdampingan
Setiap sel berasal dari halaman vendor dalam referensi.
| OpenAI Decisions API | TypeSafe Jev | |
|---|---|---|
| Endpoint | POST /v1/decisions |
POST /v1/systemone |
| Model | gpt-6-luna saja |
jev-1.13.0 (jev-latest) |
| Status | beta publik, GA “dalam beberapa minggu mendatang” | akses awal (posting peluncuran), akses langsung dibatasi oleh akun konsol |
| Masukan | teks + gambar (URL data base64; referensi juga mencantumkan URL publik) | hanya teks, 64 ribu per permintaan |
| Jenis pertanyaan | predicate / choice (2 hingga 255 opsi) / score |
noul / choice / score |
| Bentuk pertanyaan | array dengan name opsional |
objek yang diindeks berdasarkan id |
| Bidang keluaran | probability; choice atau score + probabilities + confidence; refusal |
noul; choice atau score + confidence + probabilities |
| Harga | $0,10 per 1 juta masukan, tanpa biaya keluaran | $0,042 per 1 juta masukan, tanpa biaya keluaran |
| Caching | belum ada (forum OpenAI) | tidak dipublikasikan |
| Batas laju | halaman batas per-organisasi | 100 ribu TPS / 80 RPS, dinamis |
| Klaim kecepatan | “sekitar 10x lebih cepat dari Responses API” (OpenAI) | 70 hingga 500 ms ujung ke ujung (TypeSafe) |
| Data | ZDR + HIPAA untuk pelanggan yang memenuhi syarat; residensi AS/UE | ZDR untuk perusahaan; tidak dilatih berdasarkan permintaan |
Decisions adalah sebuah endpoint, bukan model; ia berjalan di GPT-6 Luna. Jev adalah “model System One” milik TypeSafe, dilatih dengan RLCD untuk mengembalikan keputusan yang terkalibrasi, dan bukan LLM umum.
Permintaan perutean tiket yang sama dalam kedua bentuk
Sebuah tiket dukungan tiba; Anda menginginkan departemen plus jawaban ya/tidak tentang apakah pelanggan menginginkan pengembalian dana. Decisions terlebih dahulu: pertanyaan adalah sebuah array, masing-masing dengan type, instructions, dan name opsional yang dikembalikan oleh API.
curl https://api.openai.com/v1/decisions \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-6-luna",
"input": "I was charged twice for my order.",
"questions": [
{
"type": "choice",
"name": "department",
"instructions": "Which team should handle this ticket?",
"choices": [
{"value": "billing", "description": "Charges, refunds"},
{"value": "technical", "description": "Bugs, errors"},
{"value": "other"}
]
},
{
"type": "predicate",
"name": "wants_refund",
"instructions": "Is the customer asking for money back?"
}
]
}'
Sekarang Jev: bidang masukannya adalah state, pertanyaannya adalah objek yang diindeks berdasarkan id yang Anda pilih, choice mengambil peta criteria dari opsi ke deskripsi, dan jenis ya/tidak adalah noul.
curl https://api.typesafe.ai/v1/systemone \
-H "Authorization: Bearer $TYPESAFE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "jev-latest",
"state": "I was charged twice for my order.",
"questions": {
"department": {
"type": "choice",
"instructions": "Which team should handle this ticket?",
"criteria": {
"billing": "Charges, refunds",
"technical": "Bugs, errors",
"other": "Anything else"
}
},
"wants_refund": {
"type": "noul",
"instructions": "Is the customer asking for money back?"
}
}
}'
Apa yang kembali
Decisions mengembalikan model, answers, dan usage. Jawaban tiba dalam urutan yang diminta, masing-masing dengan name-nya; probabilitas per-opsi adalah array objek. Catatan output_tokens: 0.
{
"model": "gpt-6-luna",
"answers": [
{
"type": "choice",
"name": "department",
"choice": "billing",
"probabilities": [
{"value": "billing", "probability": 0.95},
{"value": "technical", "probability": 0.02},
{"value": "other", "probability": 0.03}
],
"confidence": 0.93
},
{"type": "predicate", "name": "wants_refund", "probability": 0.95}
],
"usage": {
"input_tokens": 42,
"input_tokens_details": {"cached_tokens": 0, "cache_write_tokens": 0},
"output_tokens": 0,
"output_tokens_details": {"reasoning_tokens": 0},
"total_tokens": 42
}
}
Jev mengembalikan model (id berversi), objek answers yang diindeks berdasarkan id pertanyaan Anda, dan usage dengan input_tokens dan output_tokens. Anda membaca answers.department.choice, confidence-nya, dan probabilities yang diindeks berdasarkan nama opsi, ditambah answers.wants_refund.noul. Hanya di sisi OpenAI, jawaban refusal dapat muncul per pertanyaan sementara yang lain masih mendapatkan jawaban.
Harga per juta, dan berapa biaya satu juta tiket
Pernyataan OpenAI: dengan gpt-6-luna, masukan berharga $0,10 per 1 juta token, tanpa biaya baca cache, tulis cache, atau token keluaran. TypeSafe mencantumkan $0,042 per 1 juta token masukan dan keluaran gratis.
Ambil tiket 500 token dengan dua pertanyaan di atas:
- Decisions: 500 / 1.000.000 x $0,10 = $0,00005 per permintaan. Satu juta tiket = $50.
- Jev: 500 / 1.000.000 x $0,042 = $0,000021 per permintaan. Satu juta tiket = $21.
Dua pengali berlaku di sisi OpenAI: masukan konteks panjang (lebih dari 272 ribu token) adalah 2x, jadi $0,20 per 1 juta, berasal dari halaman harga, dan pemrosesan regional menambah 10%. Tidak ada tingkatan Batch, Flex, atau Fast yang didokumentasikan untuk /v1/decisions, dan menurut forum OpenAI belum ada caching prompt, meskipun usage membawa bidang cached_tokens dan cache_write_tokens. Jev tidak mempublikasikan apa pun tentang caching.
Masukan: gambar di satu sisi, teks di sisi lain
Decisions menerima string atau array pesan pengguna yang mencampur bagian input_text dan input_image. Panduan menyatakan gambar harus berupa URL data base64 sebaris; referensi API juga mencantumkan URL HTTP(S) publik dan hingga 128 gambar per permintaan, jadi perlakukan base64 sebagai jalur aman dan uji URL yang di-host sebelum mengandalkannya. file_id, file, dan audio tidak didukung.
Jev hanya teks: sebuah string, objek JSON, atau array teks, tanpa masukan gambar, audio, atau video sesuai halaman model TypeSafe. Di forum OpenAI, sam.saffron mengatakannya dengan jelas: pemahaman gambar adalah sesuatu yang belum didukung Jev. Jika keputusan Anda bergantung pada foto, hanya Decisions yang dapat melihatnya.
Konteks dan batas laju
Jev mempublikasikan batas 64 ribu token per permintaan, 32 ribu di antaranya untuk state ditambah pertanyaan terpanjang, dan menyatakan ia mengonsumsi status sekali dan mengevaluasi setiap pertanyaan secara paralel. Halaman modelnya mencantumkan 100 ribu token per detik dan 80 permintaan per detik, menyesuaikan secara dinamis, dengan 429 di atas batas. Angka-angka tersebut telah berubah sejak September, jadi bacalah halaman langsungnya.
OpenAI tidak mempublikasikan angka jendela konteks dan tidak ada batas laju khusus Decisions; jendela 1.050.000 token Luna adalah angka halaman model, bukan endpoint. Periksa Pengaturan > Organisasi > Batas (panduan batas laju); panduan batas laju kami mencakup penanganan 429 di kedua sisi.
Status dan akses
Decisions masuk ke beta publik pada 06-10-2026, terbuka untuk semua pengembang sesuai pengumuman tersebut; panduan tersebut menyatakan OpenAI mengharapkan GA “dalam beberapa minggu mendatang”, tanpa tanggal.
Jev berada dalam akses awal sesuai posting peluncuran TypeSafe, yang menyebutkan daftar tunggu, dan akses langsung ke api.typesafe.ai berada di balik akun konsol TypeSafe; cara mengakses Jev menjelaskan rute dan kunci API Jev mencakup pembuatan kunci. Rute kedua adalah Vercel AI Gateway, di mana Jev adalah typesafe-ai/jev, dipanggil melalui experimental_evaluate di AI SDK (7.0.105 atau lebih baru), sesuai changelog Vercel; dokumen evaluasi Vercel menyatakan bahwa itu tidak terekspos pada endpoint yang kompatibel dengan OpenAI di Gateway, dan di sana jenis ya/tidak adalah boolean, mengembalikan probabilitas benar.
Kontrol data
OpenAI mengatakan Decisions mendukung Retensi Data Nol dan penggunaan HIPAA untuk pelanggan yang memenuhi syarat, dengan residensi data dan pemrosesan regional di Amerika Serikat dan Eropa (EEA plus Swiss); halaman kontrol data menambahkan bahwa log pemantauan penyalahgunaan untuk /v1/decisions disimpan hingga 30 hari secara default. TypeSafe mengatakan Jev tidak dilatih berdasarkan permintaan atau respons pelanggan, menawarkan ZDR untuk pelanggan perusahaan, dan menjalankan bobot yang sama untuk setiap akun.
Tidak ada vendor yang mempublikasikan angka akurasi atau kalibrasi; panduan OpenAI memberitahu Anda untuk menetapkan ambang batas dari contoh berlabel Anda sendiri, dan itu juga berlaku untuk Jev.
Kecepatan, lalu mana yang harus dipilih
OpenAI mengatakan Decisions sekitar 10x lebih cepat daripada Responses API dan tidak mempublikasikan angka latensi absolut; satu pengembang di forum OpenAI melaporkan keputusan masukan gambar dalam sekitar 0,8 detik pada koneksi lambat. TypeSafe mengutip 70 ms hingga 500 ms ujung ke ujung untuk Jev. Itu bukan pengukuran yang sebanding, jadi uji keduanya pada tiket Anda sendiri.
Pilih Decisions ketika masukan menyertakan gambar, ketika Anda sudah menggunakan OpenAI dan menginginkan satu kunci serta satu tagihan, atau ketika Anda memerlukan cakupan HIPAA di bawah BAA OpenAI. Pilih Jev ketika masukannya teks, ketika harga per-token yang lebih rendah penting pada volume Anda, atau ketika Anda sudah menggunakan Vercel AI Gateway.
Menjalankan keduanya selama beberapa minggu adalah wajar: beri skor masing-masing terhadap set berlabel yang sama, pertahankan kurva ambang batas yang lebih baik, dan jadikan yang lain sebagai cadangan. Jika pertanyaan sebenarnya adalah Decisions versus label Structured Outputs, lihat Decisions vs Responses; jika tidak ada vendor yang sesuai dengan kebijakan data Anda, alternatif Jev sumber terbuka tersedia.
Uji keduanya dalam satu proyek Apidog
Dua lingkungan. Buat OpenAI dengan OPENAI_API_KEY dan TypeSafe dengan TYPESAFE_API_KEY, masing-masing dengan nilai di bidang lokal sehingga tidak pernah sinkron ke tim (lingkungan dan variabel rahasia mencakup cakupannya).
Dua permintaan tersimpan. POST https://api.openai.com/v1/decisions dengan Bearer {{OPENAI_API_KEY}} dan isi pertama di atas; POST https://api.typesafe.ai/v1/systemone dengan Bearer {{TYPESAFE_API_KEY}} dan yang kedua.
Satu aturan penegasan, diterapkan dua kali. Aturan bisnis: kepercayaan di atas 0,8 secara otomatis merutekan tiket, apa pun yang lebih rendah masuk ke antrean tinjauan. Pada permintaan Decisions, tegaskan status 200, $.answers[0].choice sama dengan billing, $.answers[0].confidence lebih besar dari 0,8, dan $.usage.output_tokens sama dengan 0. Pada permintaan Jev, tegaskan $.answers.department.choice sama dengan billing dan $.answers.department.confidence lebih besar dari 0,8.
Skenario berbasis data. Letakkan dua puluh tiket berlabel dalam CSV dengan departemen yang diharapkan, jalankan kedua permintaan di atasnya sebagai skenario pengujian, dan lihat kepercayaan API mana yang turun di bawah 0,8 pada baris yang ambigu. Begitulah cara Anda memilih ambang batas, dan itu menangkap perubahan model sebelum tiket salah rute.
Mock kedua bentuk. Simpan respons Decisions dan respons Jev sebagai mock sehingga frontend dapat dibangun berdasarkan array answers dan objek answers yang stabil; mem-mock respons kondisional mengembalikan kasus kepercayaan rendah sesuai permintaan untuk melatih cabang antrean tinjauan.
Jalankan di CI. Jalankan skenario dengan Apidog CLI (apidog run dengan reporter cli atau junit) pada setiap deployment, sehingga perubahan bidang pada GA atau peningkatan jev-latest membuat build gagal (merah), bukan antrean dukungan. Unduh Apidog untuk menyiapkan ini.
FAQ
Apakah Jev itu LLM seperti GPT-6 Luna? Tidak. TypeSafe menggambarkan Jev sebagai model System One yang dilatih dengan RLCD untuk mengembalikan keputusan yang terkalibrasi; ia tidak menghasilkan teks. Decisions adalah endpoint pada model Luna serbaguna.
Apakah OpenAI membangun Decisions API sebagai respons terhadap Jev? Halaman OpenAI tidak mengatakan demikian, dan kami tidak mengklaimnya. Keduanya menghadirkan ide yang sama: jawaban berjenis dengan probabilitas, ditagih berdasarkan masukan.
Mana yang lebih murah? Jev, dengan $0,042 per 1 juta token masukan versus $0,10; pada satu juta tiket 500-token, $21 versus $50.
Bisakah salah satu dari keduanya mengembalikan skema JSON saya sendiri? Tidak. Keduanya mengembalikan bentuk jawaban tetap; untuk bidang yang diekstraksi atau penjelasan tertulis, gunakan Structured Outputs pada Responses API.
Langkah selanjutnya
Kirim dua permintaan curl di atas dengan tiket yang sama, simpan keduanya di Apidog, dan tambahkan penegasan kepercayaan 0,8 ke masing-masing. Kemudian tukar dua puluh tiket Anda sendiri dan lihat API mana yang lebih sering melewati ambang batas Anda. Panduan cara menggunakan memiliki versi Python dan JavaScript.
