URL Dasar dan Autentikasi
API Unrestricted AI dihosting di https://api.unrestrictedai.top/v1. API ini mengikuti struktur penyelesaian chat OpenAI, artinya Anda dapat menggunakan SDK OpenAI yang ada hanya dengan memperbarui base_url dan menyediakan kunci API Anda. Anda hanya memerlukan satu kunci aktif per akun, dan itu memberikan akses segera ke model tanpa sensor. Autentikasi ditangani melalui header Authorization menggunakan skema Bearer. Pastikan kunci Anda disimpan dengan aman, karena itu mengontrol penggunaan saldo prabayar Anda. Berbeda dengan layanan berlangganan, Anda hanya membayar untuk token yang diproses, dengan kesalahan dan penolakan ditagih dengan nol token.
Permintaan Pertama Anda
Kirimkan permintaan chat completion standar untuk menguji konektivitas. ID model selalu uncensored. Endpoint ini menerima input teks dan mengembalikan output teks, mendukung hingga 100.000 token dalam jendela konteks. Jika Anda tidak menentukan max_tokens, API menggunakan 2.048 token output sebagai nilai default. Permintaan POST sederhana ini mendemonstrasikan fungsi inti: mengirim prompt dan menerima respons yang dihasilkan tanpa filter konten untuk topik dewasa yang sah atau kontroversial.
Integrasi SDK Python
Menggunakan pustaka Python resmi OpenAI adalah cara tercepat untuk mengintegrasikan. Arahkan klien ke URL dasar kami dan masukkan kunci Anda. Kode di bawah ini menunjukkan permintaan sinkron dasar. Pendekatan ini menangani parsing JSON secara otomatis, memungkinkan Anda mengakses konten respons langsung dalam variabel Python Anda. Ini ideal untuk layanan backend atau pemrosesan batch di mana latensi streaming kurang penting dibandingkan kesederhanaan kode.
Integrasi SDK Node.js
Untuk lingkungan JavaScript, konfigurasikan klien OpenAI Node.js untuk menargetkan endpoint kami. Sifat asinkron Node.js sangat cocok dengan waktu respons API. Atur URL dasar dengan benar, dan SDK akan menangani pemformatan permintaan. Ingat bahwa API ini tidak mendukung endpoint gambar, audio, atau embedding, jadi tetaplah pada penyelesaian berbasis teks. Metode ini cocok untuk server web atau fungsi tepi di mana Anda perlu menyuntikkan respons LLM tanpa sensor ke konten dinamis.
Respons Streaming
Aktifkan streaming dengan mengatur stream: true dalam permintaan Anda. API mengembalikan data melalui Server-Sent Events (SSE), memungkinkan Anda menerima token secara real-time. Penggunaan token dan metrik penagihan termasuk dalam bagian akhir aliran. Ini mengurangi latensi yang dirasakan untuk pengguna akhir, terutama untuk output panjang. Streaming direkomendasikan untuk antarmuka obrolan di mana rendering teks segera meningkatkan pengalaman pengguna. Pantau bagian akhir untuk menghitung total token untuk melacak saldo prabayar Anda secara akurat.
Batas, Kesalahan, dan Konteks
Setiap kunci API dibatasi hingga 300 permintaan per menit dan 8 permintaan paralel. Tubuh permintaan tidak boleh melebihi 8 MB. Kesalahan umum termasuk 401 untuk kunci tidak valid, 402 ketika saldo prabayar habis, dan 429 untuk batas laju. Jendela konteks mendukung 100.000 token total, termasuk prompt dan penyelesaian. Jika Anda melebihi batas ini, terapkan backoff eksponensial. Saldo tidak pernah habis, dan kesalahan seperti penagihan ganda ditangani melalui halaman Dukungan, memastikan Anda mempertahankan nilai prabayar Anda secara tak terbatas.
cURL
curl https://api.unrestrictedai.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."}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.unrestrictedai.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)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.unrestrictedai.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);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)