Autentikasi & URL Dasar
API kami dirancang sebagai pengganti langsung untuk klien OpenAI yang ada. Anda hanya perlu mengubah dua hal dalam konfigurasi Anda: URL dasar dan kunci API. URL dasar untuk layanan ini adalah https://api.uncensoredgpt.top/v1. Anda dapat menghasilkan kunci API segera setelah mendaftar melalui Google atau email di dasbor. Tidak diperlukan nomor telepon, dan kunci ditampilkan sekali saat dibuat.
Pastikan Anda menyimpan kunci dengan aman. Jika Anda kehilangannya, Anda dapat menghasilkan kunci baru dari dasbor, yang akan membuat kunci sebelumnya tidak valid. Pengaturan sederhana ini memungkinkan Anda terhubung ke API AI tanpa sensor kami menggunakan pustaka standar tanpa adaptor kustom.
Endpoint Chat Completions
Fungsionalitas inti dilayani melalui endpoint POST /v1/chat/completions standar. Endpoint ini menerima input teks dan mengembalikan output teks, mendukung permintaan sinkron dan asinkron. Anda tidak perlu khawatir tentang routing model atau agregasi; kami melayani satu model bahasa besar tanpa sensor berkinerja tinggi yang disesuaikan untuk konten tanpa batas.
Saat membuat permintaan, Anda harus menentukan ID model sebagai uncensored. Model ini adalah model bobot terbuka dan di-host di server kami sendiri, berbeda dari GPT, Claude, atau model vendor lain. Model ini dirancang untuk menjawab tanpa penolakan konten untuk penggunaan dewasa yang sah, menjadikannya ideal untuk topik NSFW atau kontroversial.
Untuk memulai, Anda dapat menguji endpoint dengan perintah cURL sederhana. Ganti YOUR_API_KEY dengan kunci aktual Anda.
curl https://api.uncensoredgpt.top/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."}]
}'
Respons Streaming (SSE)
Untuk aplikasi waktu nyata, API mendukung Server-Sent Events (SSE). Streaming memungkinkan Anda menerima token saat dihasilkan, memberikan pengalaman pengguna yang lebih baik untuk antarmuka obrolan. Saat Anda mengatur stream: true dalam permintaan Anda, API mengembalikan aliran potongan daripada respons lengkap tunggal.
Setiap potongan berisi teks parsial, dan potongan terakhir mencakup statistik penggunaan token untuk tujuan penagihan. Fitur ini sangat berguna untuk aplikasi yang membutuhkan umpan balik segera. Anda dapat menangani aliran dalam bahasa pilihan Anda menggunakan SDK yang sesuai.
Berikut adalah contoh cara memulai permintaan streaming menggunakan cURL:
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)
Pemanggilan Fungsi & Alat
API mendukung pemanggilan fungsi, memungkinkan aplikasi Anda berinteraksi dengan alat dan layanan eksternal. Anda dapat menentukan daftar fungsi dalam parameter tools, dan model akan merespons dengan panggilan fungsi jika sesuai. Ini berguna untuk membangun agen atau aplikasi yang perlu melakukan tindakan tertentu.
Anda dapat mengontrol perilaku model menggunakan tool_choice, yang dapat diatur ke auto, none, atau ID fungsi tertentu. Model akan mengembalikan nama fungsi dan argumen dalam respons, yang kemudian dapat Anda eksekusi dalam aplikasi Anda.
Berikut adalah contoh Python yang menunjukkan cara menggunakan fitur pemanggilan fungsi dengan SDK yang kompatibel dengan OpenAI:
from openai import OpenAI
client = OpenAI(base_url="https://api.uncensoredgpt.top/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)
Konfigurasi Mode JSON
Jika Anda memerlukan output terstruktur, Anda dapat mengaktifkan mode JSON dengan menetapkan parameter response_format ke {"type": "json_object"}. Ini menginstruksikan model untuk menghasilkan output yang sesuai dengan sintaks JSON yang valid. Ini sangat berguna untuk aplikasi yang memerlukan parsing respons secara terprogram.
Saat menggunakan mode JSON, model akan menghindari menambahkan pagar markdown atau teks tambahan di sekitar objek JSON. Ini memastikan parser Anda dapat langsung mengonsumsi respons tanpa langkah pembersihan tambahan. Ini adalah cara yang andal untuk mendapatkan data terstruktur dari LLM.
Berikut adalah contoh Node.js yang menunjukkan cara mengkonfigurasi klien untuk mode JSON:
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.uncensoredgpt.top/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);
Parameter: Suhu & Top P
Anda dapat mengontrol keacakan dan kreativitas respons model menggunakan parameter seperti temperature dan top_p. Parameter temperature menyesuaikan suhu sampling, dengan nilai lebih rendah membuat output lebih deterministik dan nilai lebih tinggi membuatnya lebih kreatif. Parameter top_p mengontrol sampling nucleus, membatasi model untuk hanya mempertimbangkan massa probabilitas token teratas p.
Parameter yang didukung lainnya termasuk urutan stop, seed untuk reproduktibilitas, dan penalti untuk presence_penalty dan frequency_penalty. Parameter-parameter ini memungkinkan Anda menyesuaikan perilaku model agar sesuai dengan kasus penggunaan spesifik Anda.
Memahami parameter-parameter ini sangat penting untuk mengoptimalkan kualitas teks yang Anda hasilkan. Bereksperimenlah dengan nilai yang berbeda untuk menemukan keseimbangan yang tepat untuk aplikasi Anda.
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 |
| Endpoint | POST /v1/chat/completions · GET /v1/models |
| Base URL | https://api.uncensoredgpt.top/v1 |
| Autentikasi | Authorization: Bearer YOUR_KEY |
| ID model | uncensored |
| Streaming | ya — server-sent events; potongan terakhir berisi penggunaan token |
| Parameter | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Function calling | ya — tools, tool_choice; balasan berisi tool_calls, juga saat streaming; hasil dikirim sebagai role: tool |
| Mode JSON | response_format: {"type": "json_object"} |
| Output maksimal | hingga sisa jendela 100.000 token; max_tokens opsional (tanpa batas terpisah) |
| Jendela konteks | 100.000 token (input + output) |
| Ukuran permintaan | hingga 8 MB |
| 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 |
| Harga | $0,25 per 1 juta token input · $1,00 per 1 juta token output |
| 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 |
| Isi saldo | USDT (TRC20) atau USDC (Base), nominal bulat berapa pun dari $10 sampai $500 |
| Bonus | +5% mulai $50, +10% mulai $100 |
| Masa berlaku | saldo berbayar tidak kedaluwarsa, tanpa langganan |
| Kunci | satu kunci aktif per akun; kunci baru menggantikan yang lama |
| Konten | konten dewasa diizinkan; konten seksual yang melibatkan anak di bawah umur ditolak |
| Masuk | Google atau email dan kata sandi |
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
Apa yang terjadi jika saya melebihi batas laju?
Jika Anda melebihi batas 300 permintaan per menit atau 8 permintaan paralel, Anda akan menerima error 429 Too Many Requests. Kunci API Anda dibatasi hingga 8 koneksi simultan, jadi pastikan aplikasi Anda menangani permintaan paralel dengan tepat untuk menghindari batas ini.
Mengapa saya mendapatkan error 402?
Error 402 menunjukkan bahwa saldo prabayar Anda telah habis. Karena kami menggunakan model token prabayar, Anda harus mengisi saldo akun untuk terus menggunakan API. Error dan penolakan tidak mengonsumsi kredit, jadi Anda hanya membayar untuk penggunaan token yang berhasil.
Berapa batas jendela konteks?
Model ini mendukung jendela konteks 100.000 token, yang mencakup baik prompt maupun completion. Output maksimum per permintaan adalah 32.000 token, atau 2.048 token jika Anda tidak menentukan nilai max_tokens. Ini memungkinkan pembuatan konten panjang dan tugas penalaran kompleks.
Kunci Anda hanya selangkah lagi dari satu formulir
Buat akun, salin kuncinya, ubah URL dasar. Itu saja seluruh pengaturannya.