Panduan cepat untuk pengguna OpenRouter
Migrasikan panggilan API OpenRouter Anda ke endpoint tanpa sensor kami dalam hitungan menit dengan mengganti URL dasar dan kunci API. Panduan ini mencakup integrasi penting untuk generasi teks, streaming, dan output terstruktur.
Instalasi & Pengaturan
API kami sepenuhnya kompatibel dengan SDK OpenAI standar. Untuk beralih dari OpenRouter, Anda hanya perlu memperbarui dua nilai konfigurasi: base_url dan api_key. Arahkan klien Anda ke https://api.openrouterapi.cc/v1 dan gunakan kunci yang dibuat di dasbor kami. Tidak diperlukan header kustom atau logika routing yang kompleks. ID model yang diminta adalah uncensored.
Pastikan versi SDK Anda mendukung parameter base_url. Jika Anda menggunakan klien HTTP mentah, cukup perbarui URL target. Pengaturan ini memastikan kode klien Anda yang ada berfungsi tanpa modifikasi, asalkan Anda hanya mengirim permintaan penyelesaian teks.
Autentikasi
Autentikasi ditangani melalui header Authorization standar. Berikan kunci API Anda sebagai token Bearer. Jika kunci tidak valid atau kedaluwarsa, API mengembalikan kesalahan 401. Berbeda dengan beberapa penyedia, kami tidak membebani biaya untuk permintaan yang gagal; kesalahan dan penolakan gratis, sehingga Anda dapat menguji autentikasi tanpa menghabiskan saldo.
Setiap akun mendukung satu kunci aktif pada satu waktu. Membuat kunci baru akan segera membuat kunci sebelumnya tidak valid. Jaga kunci Anda tetap aman dan ganti jika Anda menduga terjadi kebocoran. Kunci ditampilkan segera setelah pendaftaran, jadi salin sebelum meninggalkan halaman.
Penyelesaian Obrolan Dasar
Fungsi inti adalah endpoint POST /v1/chat/completions. Kirim prompt Anda sebagai daftar pesan dan terima respons teks. Model ini disesuaikan untuk menjawab tanpa penolakan konten untuk penggunaan dewasa yang sah, sehingga cocok untuk topik kreatif, kontroversial, atau penelitian keamanan.
Atur bidang model menjadi uncensored. Anda dapat mengendalikan perilaku menggunakan parameter seperti temperature, top_p, dan stop. API mendukung mode JSON melalui response_format dan pemanggilan fungsi melalui tools. Semua permintaan diproses secara asinkron, dan Anda menerima penyelesaian lengkap setelah model selesai.
Respons Streaming
Aktifkan streaming dengan mengatur stream: true dalam permintaan Anda. API mengembalikan Event yang Diserahkan Server (SSE) dengan respons parsial. Anda menerima potongan teks saat dihasilkan, memungkinkan tampilan waktu nyata di aplikasi Anda.
Informasi penggunaan token disediakan dalam potongan terakhir aliran. Ini memungkinkan Anda melacak biaya secara akurat tanpa mengurai setiap token individu. Streaming sangat ideal untuk antarmuka obrolan di mana latensi sangat penting. Pastikan klien Anda menangani SSE dengan benar dan menutup koneksi saat aliran berakhir.
Pemanggilan Fungsi
API mendukung pemanggilan fungsi melalui parameter tools. Tentukan fungsi Anda dalam larik tools dan atur tool_choice menjadi auto atau nama fungsi tertentu. Model akan mengembalikan argumen JSON terstruktur jika fungsi dipicu.
Fitur ini berguna untuk mengintegrasikan LLM dengan API atau basis data eksternal. Pastikan definisi fungsi Anda akurat, karena model bergantung pada mereka untuk menghasilkan argumen yang valid. API tidak mengeksekusi fungsi; Anda harus menangani logika eksekusi dalam kode aplikasi Anda.
Mode JSON
Untuk output terstruktur, gunakan response_format: {"type": "json_object"}. Ini memaksa model untuk mengembalikan JSON yang valid, yang penting untuk mengurai data di aplikasi hilir. Mode JSON sering lebih andal daripada pemanggilan fungsi untuk tugas ekstraksi data sederhana.
Pastikan prompt Anda secara jelas menginstruksikan model untuk mengembalikan JSON. Respons JSON yang tidak valid dapat terjadi jika prompt ambigu. Mode JSON didukung dalam mode standar dan streaming. Gunakan saat Anda memerlukan output yang dapat diprediksi dan dapat dibaca mesin.
Batas, Kesalahan, dan Konteks
Jendela konteks adalah 100.000 token untuk prompt dan penyelesaian gabungan. Output maksimum adalah 32.000 token per permintaan (2.048 jika max_tokens tidak diatur). Batas laju adalah 300 permintaan per menit dan 8 permintaan paralel per kunci. Badan permintaan dibatasi hingga 8 MB.
Kesalahan mengembalikan kode HTTP standar: 401 untuk kunci tidak valid, 402 untuk saldo tidak cukup, dan 429 untuk batas laju. Saldo adalah saldo prabayar, sehingga kesalahan 402 berarti Anda perlu mengisi saldo. Kesalahan dan penolakan gratis, sehingga Anda dapat mencoba lagi tanpa biaya. Batas konten keras memblokir konten seksual yang melibatkan anak di bawah umur.
cURL
curl https://api.openrouterapi.cc/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.openrouterapi.cc/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openrouterapi.cc/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);Streaming
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)Spesifikasi API
Semua batas dan fitur API yang sebenarnya di satu tempat — cek dulu sebelum isi saldo.
| Item | Nilai |
|---|---|
| Format | kompatibel OpenAI: SDK OpenAI apa pun bisa dipakai, cukup ganti base URL dan kunci |
| ID model | uncensored |
| Autentikasi | Authorization: Bearer YOUR_KEY |
| Endpoint | POST /v1/chat/completions · GET /v1/models |
| Base URL | https://api.openrouterapi.cc/v1 |
| Streaming | ya — server-sent events; potongan terakhir berisi penggunaan token |
| Function calling | ya — tools, tool_choice; balasan berisi tool_calls, juga saat streaming; hasil dikirim sebagai role: tool |
| Parameter | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Jendela konteks | 100.000 token (input + output) |
| Output maksimal | hingga sisa jendela 100.000 token; max_tokens opsional (tanpa batas terpisah) |
| Mode JSON | response_format: {"type": "json_object"} |
| Batas laju | 300 permintaan per menit per kunci |
| Konkurensi | 8 permintaan bersamaan per kunci |
| Header respons | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Ukuran permintaan | hingga 8 MB |
| Penagihan | saldo prabayar sesuai pemakaian nyata; error dan penolakan gratis |
| Bonus | +5% mulai $50, +10% mulai $100 |
| Uji coba gratis | $0,50 selama 7 hari, tanpa kartu · Kunci uji coba: 2 permintaan paralel, 60 per menit; batas penuh (8 dan 300) setelah isi saldo pertama |
| Masa berlaku | saldo berbayar tidak kedaluwarsa, tanpa langganan |
| Isi saldo | USDT (TRC20) atau USDC (Base), nominal bulat berapa pun dari $10 sampai $500 |
| Harga | $0,25 per 1 juta token input · $1,00 per 1 juta token output |
| Kunci | satu kunci aktif per akun; kunci baru menggantikan yang lama |
| Masuk | Google atau email dan kata sandi |
| Konten | konten dewasa diizinkan; konten seksual yang melibatkan anak di bawah umur ditolak |
Kode error
Error dikirim sebagai JSON dengan type tetap; permintaan gagal atau ditolak tidak ditagih.
| Kode | Tipe | Arti |
|---|---|---|
400 | bad_request | JSON tidak valid, pesan kosong, parameter salah, atau konteks terlalu panjang |
401 | missing_key · invalid_key · key_revoked | kunci tidak ada, salah, atau sudah diganti |
402 | no_credit | saldo habis — isi ulang dan lanjut seketika |
403 | content_blocked | konten seksual dengan anak di bawah umur — ditolak, tidak ditagih |
404 | not_found | endpoint tidak dikenal |
413 | request_too_large | body lebih dari 8 MB |
429 | rate_limited · concurrency | lebih dari 300/menit atau 8 paralel — tunggu lalu coba lagi |
503 | upstream_busy | model sibuk — coba lagi beberapa detik lagi |
Tanya jawab
Apakah ini API OpenRouter resmi?
Tidak, ini adalah layanan independen. Kami menawarkan satu model tanpa sensor yang kompatibel dengan struktur URL dasar OpenRouter. Kami tidak melayani model agregat atau logika routing OpenRouter.
Bagaimana cara membayar API?
Pembayaran hanya diterima melalui kripto: USDT (TRC20) atau USDC (Base). Anda dapat mengisi saldo dengan jumlah bulat mulai dari $10 hingga $500. Kartu kredit atau PayPal tidak diterima.
Apakah prompt digunakan untuk pelatihan?
Tidak, prompt Anda tidak digunakan untuk pelatihan. Kami hanya memerlukan alamat email untuk akun Anda, dan kami tidak menyimpan atau menggunakan data Anda untuk peningkatan model.
Kunci Anda hanya selangkah lagi dari satu formulir
Buat akun, salin kuncinya, ubah URL dasar. Itu saja seluruh pengaturannya.