id ▾
Dapatkan kunci Anda

Dokumentasi API OpenRouter

Hubungkan aplikasi Anda ke LLM tanpa sensor kami menggunakan antarmuka kompatibel OpenAI standar. Panduan ini mencakup autentikasi, format permintaan, dan streaming untuk integrasi cepat.

Memulai: Hubungkan dengan Python

Mulai dengan menginstal SDK resmi dan arahkan ke base URL kami.

API kami berperilaku seperti antarmuka OpenAI standar tetapi mengarahkan ke model uncensored tunggal. Pendekatan ini menghilangkan kompleksitas proxy sambil menjaga kode Anda tetap portabel.

  • Instal pustaka melalui pip.
  • Atur kunci API Anda di lingkungan.
  • Tentukan URL dasar untuk titik akhir kami.
from openai import OpenAI

client = OpenAI(base_url="https://api.apiopenrouter.com/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)

Ganti kunci placeholder dengan kredensial Anda sendiri. Anda dapat mengirim prompt sederhana atau data terstruktur yang kompleks.

Autentikasi dan Kunci

Buat kunci di dasbor dan masukkan dalam header Authorization.

Setiap akun mendukung satu kunci aktif pada satu waktu. Saat Anda membuat kunci baru, kunci lama berhenti berfungsi segera. Ini menyederhanakan manajemen keamanan tanpa memerlukan logika rotasi yang kompleks.

curl https://api.apiopenrouter.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "List the top 5 dependencies for a Go web server"}]
  }'

Permintaan di atas menggunakan skema Bearer. Pastikan kunci Anda dimulai dengan sk- dan tidak mengandung spasi ekstra.

Endpoint Chat Completions

Kirim pesan ke /v1/chat/completions endpoint menggunakan JSON standar.

Model ini menerima user dan assistant peran. Anda dapat mengatur suhu, top-p, dan urutan henti untuk mengontrol gaya output. Respons mengembalikan penggunaan token dalam potongan terakhir jika streaming diaktifkan.

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.apiopenrouter.com/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);

Atur max_tokens untuk mengontrol panjang output. Jika dihilangkan, nilai defaultnya adalah 2.048 token. Model ini mendukung hingga 16.000 token per permintaan.

Respons Streaming

Aktifkan streaming dengan mengatur stream: true dalam badan permintaan Anda.

Detail penggunaan token hanya muncul di potongan terakhir aliran. Ini memungkinkan pembaruan UI real-time sambil mempertahankan data penagihan yang akurat. Kesalahan selama streaming tetap melaporkan penggunaan untuk token yang ditagih.

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)

Tangani respons parsial dengan baik. Aliran ditutup secara normal ketika model menyelesaikan generasi atau mencapai batas konteks.

Pemanggilan Fungsi & Mode JSON

Gunakan response_format: {type: "json_object"} untuk output JSON ketat.

Tentukan alat dalam tools array dan set tool_choice untuk memaksakan panggilan fungsi. Model mengembalikan data terstruktur yang cocok untuk pemrosesan programatik. Ini bekerja dengan andal dengan bobot uncensored kami.

curl https://api.apiopenrouter.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "List the top 5 dependencies for a Go web server"}]
  }'

Gabungkan pemanggilan fungsi dengan streaming untuk pengalaman interaktif. Validasi output JSON sebelum meneruskannya ke logika aplikasi Anda.

Batas dan Kuota

Pantau penggunaan Anda terhadap batas per kunci untuk menghindari gangguan.

Setiap kunci mengizinkan 300 permintaan per menit dan 8 permintaan simultan. Batas ukuran body permintaan adalah 8 MB. Jika Anda melebihi batas ini, API mengembalikan kode status 429. Error autentikasi mengembalikan 401, dan kredit tidak cukup mengembalikan 402.

curl https://api.apiopenrouter.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "List the top 5 dependencies for a Go web server"}]
  }'

Jendela konteks adalah 100.000 token total. Error tidak menggunakan kredit. Penolakan untuk pelanggaran konten ringan juga tetap gratis.

Pertanyaan umum

Bagaimana API OpenRouter berbeda dari OpenAI standar?

API kami menggunakan satu model tanpa sensor yang dioptimalkan untuk konten dewasa dan kreatif yang sah tanpa penolakan. Model ini mempertahankan struktur permintaan dan respons yang sama dengan OpenAI, memungkinkan Anda mengganti endpoint tanpa mengubah kode Anda.

Apa yang terjadi jika kredit saya habis?

Permintaan gagal dengan error 402 saat saldo prabayar Anda nol. Kredit tidak pernah kedaluwarsa, sehingga Anda dapat mengisi ulang melalui crypto kapan saja. Error dan penolakan tidak mengonsumsi saldo Anda.

Apakah saya bisa menggunakan beberapa kunci untuk proyek berbeda?

Setiap akun mendukung satu kunci aktif. Membuat kunci baru secara otomatis membuat kunci sebelumnya tidak berlaku. Anda dapat menghasilkan kunci baru secara instan dari dasbor tanpa kehilangan riwayat penagihan Anda.

Ambil kunci API Anda

Daftar, salin token, dan perbarui URL dasar Anda. Itu saja konfigurasi lengkapnya.

Dapatkan kunci Anda