MemulaiPanduan
Beralih dari OpenRouter ke CheapTokens: base_url, kunci, id model
Ubah base_url, kunci API, dan id model di OpenAI SDK (Python dan JavaScript), kirim permintaan pertama dan periksa bahwa itu berhasil.

Di halaman ini
Aplikasi Anda sudah memanggil OpenRouter melalui OpenAI SDK, dan Anda ingin aplikasi tersebut memanggil CheapTokens. Anda mengubah tiga nilai — base_url, kunci API, dan id model — dan menghapus dua header opsional. Sisa kode tetap seperti semula.
Di bawah ini adalah baris persis untuk Python, JavaScript, dan curl, cara cepat untuk memastikan pengalihan berhasil, dan tabel model mana yang cocok untuk tugas apa. Jika Anda belum pernah mengirim permintaan ke CheapTokens, panduan permintaan API pertama mencakup akun dan kunci; dokumentasi memiliki referensi lengkap.
Apa yang sebenarnya berubah#
Quickstart OpenRouter (diperiksa 27 Oktober 2026) mengonfigurasi klien OpenAI dengan base URL https:/ dan menamai model sebagai provider/. CheapTokens berbicara dalam format OpenAI Chat Completions yang sama di https:/. Jadi kelas klien, chat., dan cara Anda membaca jawaban tidak berubah.

Itu satu penukaran per baris:
- base URL —
https:/alih-alih alamat OpenRouter;/ api. cheaptokens. dev/ v1 - kunci API — kunci dari akun CheapTokens Anda, dibaca dari variabel lingkungan;
- id model — id CheapTokens lengkap, misalnya
deepseek-. Ambil id dari dokumentasi CheapTokens: penyedia berbeda menamai model yang sama secara berbeda, dan id pendek dari label harga tidak diterima.ai/ DeepSeek- V4- Flash- 0731
Dan satu penghapusan. Header HTTP-Referer dan X- milik OpenRouter bersifat opsional dan hanya memberi masukan ke papan peringkat OpenRouter. Hapus dari default_headers / defaultHeaders; Anda tidak membutuhkannya di sini.
Kode setelah pengalihan#
Permintaan yang sama, tiga runtime. Pilih yang digunakan aplikasi Anda.
Kode Anda setelah pengalihan
Python
import os
from openai import OpenAI
client = OpenAI(
base_url='https://api.cheaptokens.dev/v1',
api_key=os.environ['CHEAPTOKENS_API_KEY'],
)
resp = client.chat.completions.create(
model='deepseek-ai/DeepSeek-V4-Flash-0731',
messages=[{'role': 'user', 'content': 'Reply with one word: ready'}],
max_tokens=20,
)
print(resp.choices[0].message.content)JavaScript
import OpenAI from 'openai';
const client = new OpenAI({
baseURL: 'https://api.cheaptokens.dev/v1',
apiKey: process.env.CHEAPTOKENS_API_KEY,
});
const resp = await client.chat.completions.create({
model: 'deepseek-ai/DeepSeek-V4-Flash-0731',
messages: [{ role: 'user', content: 'Reply with one word: ready' }],
max_tokens: 20,
});
console.log(resp.choices[0].message.content);curl
curl https://api.cheaptokens.dev/v1/chat/completions \
-H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "deepseek-ai/DeepSeek-V4-Flash-0731", "messages": [{"role": "user", "content": "Reply with one word: ready"}], "max_tokens": 20}'Satu hal lagi sebelum Anda menjalankannya. Jika permintaan Anda membawa field khusus OpenRouter — daftar routing atau fallback, preferensi penyedia, id model ~alias — itu milik OpenRouter. Batasi permintaan ke field Chat Completions standar: model, messages, temperature, max_tokens, stream.
Periksa bahwa itu berhasil#
Balasan saja tidak cukup sebagai bukti. Cetak tiga hal di sampingnya: model mana yang menjawab, mengapa berhenti, dan berapa token yang ditagih.
print(resp.model)
print(resp.choices[0].finish_reason)
print(resp.usage.prompt_tokens, resp.usage.completion_tokens)
finish_reason dari stop berarti model selesai dengan sendirinya. length berarti max_tokens memotong jawaban. usage menunjukkan token input dan output secara terpisah, dan itulah dua angka yang membentuk tagihan Anda — dua angka yang sama yang Anda lacak di OpenRouter.
Coba sendiriCoba: apa kata finish_reason jika Anda menyetel max_tokens ke 1?Tampilkan jawaban
Nilainya length — jawaban dipotong oleh max_tokens. Uji yang bagus bahwa kode Anda menangani balasan yang terpotong.
Model mana menggantikan apa#
Pilih model berdasarkan tugas, bukan berdasarkan nama yang Anda gunakan di OpenRouter. Fakta di bawah ini berasal dari daftar harga CheapTokens yang diperiksa 27 Oktober 2026; satu saldo mencakup ketiga model dan harganya tidak berubah sepanjang hari.
Gulir tabel ke kanan →
| Model | id model |
Konteks | Jawaban maks |
|---|---|---|---|
| DeepSeek-V4-Flash | deepseek- |
380K | 32.768 token |
| GLM-5.3-Flash | zai- |
390K | 8.192 token |
| MiniMax-M2.7 | MiniMaxAI/ |
180K | 8.192 token |
Tidak yakin baris mana milik Anda? Mulai dari apa yang dilakukan aplikasi:
Pilih kasus Anda
Apa yang sebagian besar dilakukan aplikasi Anda?
Pilih opsi untuk melihat jawabannya
Permintaan pendek dan sering — klasifikasi, ekstraksi, balasan dukungan
Coba zai-: konteks 390K, jawaban hingga 8.192 token, dan totalnya lebih murah daripada OpenRouter, input dan output dihitung bersama.
Jawaban panjang, kode, loop agen
Coba deepseek-: jawaban hingga 32.768 token, konteks 380K, satu harga kapan pun sepanjang hari.
Beban kerja tetap yang saat ini Anda bayar dengan tarif OpenRouter tinggi
Coba MiniMaxAI/: konteks 180K, jawaban hingga 8.192 token, dan totalnya lebih murah daripada OpenRouter.
Berapa biaya lalu lintas yang sama#
Katakanlah bot Anda mengirim 1.000 permintaan, masing-masing dengan sekitar 500 token input dan 300 token output. Itu asumsi — ganti dengan angka Anda sendiri dari usage. Tabel di bawah ini langsung: harga kami dan kolom OpenRouter berasal dari daftar harga saat ini, input dan output dihitung bersama.
| Model | Input $/1Jt | Output $/1Jt | Per permintaan | 1.000 permintaan | OpenRouter, 1.000 permintaan |
|---|---|---|---|---|---|
| GLM-5.3-Flash | $0.02 | $0.04 | $0.000022 | $0.022 | $0.0434 |
| DeepSeek-V4-Flash | $0.015 | $0.10 | $0.000038 | $0.0375 | $0.0708 |
| MiniMax-M2.7 | $0.05 | $0.15 | $0.00007 | $0.07 | $0.51 |
500 token input dan 300 token output per permintaan. Harga per 1 juta token adalah harga saat ini dan berubah seiring tarif kami; kolom OpenRouter menunjukkan harga referensi untuk beban kerja yang sama.
Pada DeepSeek-V4-Flash, 1.000 permintaan itu menjadi $0.0375. Harga lengkap ada di halaman harga; gambaran tentang apa yang Anda ditagih ada di token input vs output.
Jika tidak berhasil#
Setelah pengalihan, tiga error mencakup sebagian besar masalah. Cocokkan pesan dengan penyebabnya:
Cocokkan pasangan
Cocokkan setiap gejala dengan penyebabnya
Ketuk item di kiri, lalu pasangannya
- 401 UnauthorizedKunci hilang, salah ketik, atau masih kunci OpenRouter
- 404 Not FoundPath base URL salah atau id model bukan id CheapTokens lengkap
- Balasan terpotong di tengah kalimatmax_tokens lebih rendah dari yang dibutuhkan jawaban; finish_reason menyebut length
Artikel pemecahan masalah 401 dan 404 membahas masing-masing dengan pesan persisnya, dan apa itu base_url menjelaskan mengapa satu garis miring yang salah merusak path.
Sebelum Anda merilis#
Daftar periksa
Daftar periksa pengalihan



