Dokumentasi api OpenRouter
Sambungkan aplikasi anda ke LLM tanpa sensor kami menggunakan antara muka serasi OpenAI standard. Panduan ini merangkumi pengesahan, format permintaan, dan penstriman untuk integrasi pantas.
Mula Cepat: Sambungkan dengan Python
Mula dengan memasang SDK rasmi dan arahkan ia ke URL asas kami.
API kami berkelakuan seperti antara muka OpenAI piawai tetapi menyambung ke model uncensored tunggal. Pendekatan ini menghilangkan kerumitan proksi sambil mengekalkan portabiliti kod anda.
- Pasang perpustakaan melalui pip.
- Tetapkan kunci API anda dalam persekitaran.
- Takrifkan URL asas untuk hujung sambungan 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)Gantikan kunci pemegang tempat dengan kelayakan anda sendiri. Anda boleh menghantar petanda mudah atau data terstruktur yang kompleks.
Pengesahan dan Kunci
Jana kunci di papan pemuka dan hantar dalam header Authorization.
Setiap akaun menyokong satu kunci aktif pada satu masa. Apabila anda mencipta kunci bah, kunci lama berhenti berfungsi serta-merta. Ini memudahkan pengurusan keselamatan tanpa memerlukan logik putaran 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 bermula dengan sk- dan tidak mengandungi ruang putih tambahan.
Hujung Sambungan Penyelesaian Sembang
Hantar mesej ke /v1/chat/completions endpoint menggunakan JSON standard.
Model menerima user dan assistant peranan. Anda boleh mengkonfigurasi suhu, top-p, dan jujukan hentian untuk mengawal gaya output. Respons mengembalikan penggunaan token dalam pecahan akhir jika penstriman 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);Tetapkan max_tokens untuk mengawal panjang output. Jika diabaikan, lalaiannya ialah 2,048 token. Model menyokong sehingga 16,000 token setiap permintaan.
Respons Streaming
Aktifkan aliran dengan menetapkan stream: true dalam badan permintaan anda.
Butiran penggunaan token muncul hanya dalam potongan terakhir aliran. Ini membolehkan kemas kini UI masa nyata sambil mengekalkan data pengebilan yang tepat. Ralat semasa aliran masih melaporkan penggunaan untuk token yang dikenakan caj.
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 separa dengan baik. Penstriman ditutup secara normal apabila model selesai penjanaan atau mencapai had konteks.
Panggilan Fungsi & Mod JSON
Gunakan response_format: {type: "json_object"} untuk output JSON ketat.
Takrifkan alat dalam tools array and set tool_choice untuk memaksakan panggilan fungsi. Model mengembalikan data terstruktur yang sesuai untuk pemprosesan programatik. Ini berfungsi dengan boleh dipercayai dengan berat tidak disensor 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 panggilan fungsi dengan penstriman untuk pengalaman interaktif. Sahkan output JSON sebelum memasukkannya ke dalam logik aplikasi anda.
Had dan Kuota
Pantau penggunaan anda terhadap had per-kunci untuk mengelakkan gangguan.
Setiap kunci membolehkan 300 permintaan setiap minit dan 8 permintaan serentak. Had saiz badan permintaan ialah 8 MB. Jika anda melebihi had-had ini, API mengembalikan kod status 429. Ralat pengesahan mengembalikan 401, dan kredit tidak mencukupi 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 ialah 100,000 token secara keseluruhan. Ralat tidak menggunakan kredit. Penolakan untuk pelanggaran kandungan kecil juga kekal percuma.
Soalan biasa
Bagaimakah API openrouter berbeza daripada OpenAI standard?
API kami menggunakan satu model tanpa sensor yang dioptimumkan untuk kandungan dewasa dan kreatif yang sah tanpa penolakan. Ia mengekalkan struktur permintaan dan respons yang sama seperti OpenAI, membolehkan anda menukar hujung sambungan tanpa mengubah kod anda.
Apa yang berlaku jika saya kehabisan kredit?
Permintaan gagal dengan ralat 402 apabila baki pra-dibayar anda sifar. Kredit tidak luput, jadi anda boleh menambah nilai melalui kripto pada bila-bila masa. Ralat dan penolakan tidak menjejak baki anda.
Bolehkah saya menggunakan pelbagai kunci untuk projek berbeza?
Setiap akaun menyokong satu kunci aktif. Mencipta kunci bah secara automatik akan membatalkan kunci sebelumnya. Anda boleh menjana kunci bah serta-merta dari dashboard tanpa kehilangan sejarah bil anda.
Dapatkan kunci API anda
Daftar, salin token, dan kemas kini URL asas anda. Itu adalah keseluruhan konfigurasi.