Panduan Cepat untuk pengguna Qwen
Hubungkan klien kompatibel OpenAI Anda ke endpoint tanpa sensor kami. Ubah URL dasar, masukkan kunci Anda, dan mulai kirim permintaan.
uncensoredhttps://api.qwenapi.cc/v1
Di halaman ini
Autentikasi dan URL Dasar
API kami menggunakan autentikasi token Bearer standar. Anda menerima kunci Anda segera setelah mendaftar melalui Google atau email. Jaga kunci ini dengan aman; kunci ini memberikan akses ke saldo prabayar Anda. URL dasar untuk semua permintaan adalah https://api.qwenapi.cc/v1. Perbarui konfigurasi klien Anda untuk menunjuk ke endpoint ini, bukan URL OpenAI default.
Autentikasi ditangani dengan meneruskan header Authorization dengan setiap permintaan. Tidak adanya kunci API berarti model tidak dapat memverifikasi saldo akun Anda, yang mengakibatkan error 401. Tidak ada header tersembunyi atau skema autentikasi kustom yang diperlukan.
Permintaan Pertama
Kirimkan permintaan penyelesaian chat standar untuk menguji konektivitas. Ganti YOUR_API_KEY dengan kunci aktual Anda. Endpoint menerima payload JSON standar dengan bidang model, messages, dan content.
- Pengidentifikasi model:
uncensored - Endpoint:
POST /v1/chat/completions - Format: JSON
Permintaan ini akan mengonsumsi token input dari saldo Anda. Pastikan klien Anda menangani respons JSON dengan benar untuk memverifikasi koneksi berfungsi.
Integrasi SDK Python
Gunakan pustaka resmi OpenAI Python. Ini memerlukan konfigurasi minimal untuk mengarahkan lalu lintas ke endpoint kami. Inisialisasi klien dengan kunci Anda dan URL dasar yang benar. Pendekatan ini memanfaatkan basis kode yang ada tanpa menulis ulang logika permintaan.
Teruskan ID model uncensored saat membuat respons. Pustaka menangani serialisasi dan deserialisasi secara otomatis. Metode ini direkomendasikan untuk sebagian besar integrasi backend dan alur kerja berbasis skrip.
Integrasi SDK Node.js
Untuk lingkungan JavaScript atau TypeScript, gunakan @anthropic-ai/sdk atau paket Node OpenAI standar. Konfigurasikan URL dasar untuk menunjuk ke API kami. Ini memungkinkan Anda menyisipkan layanan kami ke dalam aplikasi Node yang ada tanpa refaktor besar.
Pastikan Anda menggunakan versi SDK terbaru yang mendukung URL dasar kustom. Teruskan pengenal model uncensored untuk memilih model tanpa sensor kami. Pengaturan ini bekerja dengan mulus dengan rute Express atau fungsi serverless.
Respons Streaming
Aktifkan streaming dengan mengatur stream: true dalam permintaan Anda. API mengembalikan Server-Sent Events (SSE) saat model menghasilkan teks. Ini memberikan latensi lebih rendah untuk pengguna akhir dan memungkinkan tampilan output secara real-time.
Statistik penggunaan token disertakan dalam potongan akhir aliran. Proses setiap delta secara inkremental untuk membangun respons lengkap. Fitur ini penting untuk antarmuka chat dan aplikasi yang memerlukan umpan balik segera.
Batas, Kesalahan, dan Konteks
Hormati batas laju untuk menghindari gangguan layanan. API mengizinkan 300 permintaan per menit dan 8 permintaan paralel per kunci. Ukuran badan permintaan maksimum adalah 8 MB. Jika Anda melebihi batas-batas ini, Anda akan menerima error 429.
Error autentikasi mengembalikan 401, yang menunjukkan kunci tidak valid atau hilang. Error saldo mengembalikan 402, yang berarti saldo prabayar Anda telah habis. Jendela konteks mendukung total 100.000 token, dengan output maksimum 32.000 token per permintaan. Error dan penolakan tidak mengonsumsi kredit.
cURL
curl https://api.qwenapi.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.qwenapi.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.qwenapi.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)Tanya jawab
Bagaimana cara menangani pembatasan laju?
API menerapkan batas 300 permintaan per menit dan 8 permintaan paralel per kunci. Jika Anda melebihi batas-batas ini, API mengembalikan kode status 429. Terapkan backoff eksponensial di klien Anda untuk menangani percobaan ulang dengan lancar.
Apakah API mendukung pemanggilan fungsi?
Ya, API mendukung pemanggilan fungsi melalui format alat standar. Anda dapat menentukan alat dan tool_choice dalam permintaan Anda untuk mengaktifkan output terstruktur atau integrasi alat eksternal. Fitur ini bekerja dengan skema kompatibel OpenAI standar.
Apa yang terjadi jika saya melebihi jendela konteks saya?
Model mendukung jendela konteks total 100.000 token, termasuk baik prompt maupun completion. Jika Anda melebihi batas ini, permintaan akan gagal. Pastikan aplikasi Anda melacak penggunaan token untuk tetap berada dalam batas-batas ini.
Kunci Anda hanya selangkah lagi dari satu formulir
Buat akun, salin kunci, ubah URL dasar. Itu saja seluruh pengaturannya.
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 |
| Base URL | https://api.qwenapi.cc/v1 |
| Endpoint | POST /v1/chat/completions · GET /v1/models |
| Autentikasi | Authorization: Bearer YOUR_KEY |
| Output maksimal | hingga sisa jendela 100.000 token; max_tokens opsional (tanpa batas terpisah) |
| Function calling | ya — tools, tool_choice; balasan berisi tool_calls, juga saat streaming; hasil dikirim sebagai role: tool |
| Streaming | ya — server-sent events; potongan terakhir berisi penggunaan token |
| Jendela konteks | 100.000 token (input + output) |
| Parameter | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Mode JSON | response_format: {"type": "json_object"} |
| Konkurensi | 8 permintaan bersamaan per kunci |
| Header respons | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Batas laju | 300 permintaan per menit per kunci |
| Ukuran permintaan | hingga 8 MB |
| 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 |
| Penagihan | saldo prabayar sesuai pemakaian nyata; error dan penolakan gratis |
| Harga | $0,25 per 1 juta token input · $1,00 per 1 juta token output |
| Bonus | +5% mulai $50, +10% mulai $100 |
| Masa berlaku | saldo berbayar tidak kedaluwarsa, tanpa langganan |
| Isi saldo | USDT (TRC20) atau USDC (Base), nominal bulat berapa pun dari $10 sampai $500 |
| Konten | konten dewasa diizinkan; konten seksual yang melibatkan anak di bawah umur ditolak |
| Masuk | Google atau email dan kata sandi |
| Kunci | satu kunci aktif per akun; kunci baru menggantikan yang lama |
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 |