Prasyarat
Untuk menggunakan API apertus, Anda memerlukan akun dan kunci API. Daftar melalui Google atau email di halaman Dapatkan kunci API. Anda menerima kunci secara instan; tidak diperlukan nomor telepon. Jika ingin menguji terlebih dahulu, setiap akun baru menerima $0,50 dalam kredit uji coba yang berlaku selama 7 hari. Tidak diperlukan kartu untuk uji coba. Untuk produksi, isi saldo dengan kripto (USDT di TRC20 atau USDC di Base). Saldo tidak pernah kedaluwarsa, dan kesalahan tidak menguras saldo. Anda mendapatkan satu kunci aktif per akun; menghasilkan kunci baru akan menggantikan kunci lama. Simpan kunci Anda dengan aman dan kirimkan dalam header Authorization sebagai token bearer. API ini secara ketat berbasis teks, melayani satu model tanpa sensor yang dioptimalkan untuk menjawab tanpa penolakan konten.
URL Dasar dan Autentikasi
Arahkan semua permintaan ke https://api.apertus.cc/v1. URL dasar ini kompatibel dengan SDK OpenAI resmi dan klien kompatibel lainnya hanya dengan mengubah endpoint. Sertakan kunci API Anda di header: Authorization: Bearer YOUR_API_KEY. Satu-satunya endpoint yang didukung adalah POST /v1/chat/completions. Endpoint GET /v1/models juga tersedia untuk memverifikasi konektivitas. ID model yang harus digunakan adalah uncensored. Ini adalah model bobot terbuka yang berjalan di server kami, berbeda dari GPT, Claude, atau vendor lain. Model ini menangani input teks dan mengembalikan output teks. Jangan mengharapkan embedding, gambar, atau audio. API ini dirancang untuk pengembang yang menginginkan integrasi langsung tanpa kompleksitas pemilihan model.
Permintaan Pertama
Kirimkan permintaan penyelesaian dasar untuk memverifikasi pengaturan Anda. Gunakan perintah curl untuk POST ke endpoint penyelesaian obrolan. Atur model menjadi uncensored dan sertakan pesan sederhana. Ini mengonfirmasi bahwa kunci API Anda berfungsi dan URL dasar benar. Anda dapat menyesuaikan parameter seperti temperature atau max_tokens sesuai kebutuhan. Respons akan berisi output teks model. Jika Anda menerima kesalahan 401, periksa kunci Anda. Kesalahan 402 menunjukkan saldo tidak cukup. Kesalahan 429 berarti Anda telah mencapai batas laju. Permintaan sederhana ini menunjukkan akses API mentah tanpa perantara. Ini adalah cara tercepat untuk memvalidasi integrasi Anda sebelum membangun logika yang lebih kompleks.
Integrasi Python
Gunakan SDK Python openai resmi untuk berinteraksi dengan API. Inisialisasi klien dengan URL dasar https://api.apertus.cc/v1 dan kunci API Anda. Atur model menjadi uncensored. Kirim pesan sebagai daftar kamus. SDK menangani serialisasi dan parsing kesalahan secara otomatis. Pendekatan ini ideal untuk layanan backend atau skrip pemrosesan data. Anda dapat melakukan streaming respons atau mendapatkan blok penuh. Kode klien identik dengan yang Anda gunakan untuk OpenAI, hanya dengan URL dasar yang berbeda. Ini mengurangi hambatan saat beralih dari penyedia lain. Pastikan Anda memiliki versi SDK terbaru untuk kompatibilitas terbaik. Integrasi ini minimal, hanya memerlukan perubahan konfigurasi pada pengaturan klien Anda yang ada.
Integrasi Node.js
Untuk lingkungan JavaScript atau TypeScript, gunakan paket npm openai. Konfigurasikan klien dengan URL dasar dan kunci yang sama seperti di Python. Panggil chat.completions.create() dengan model uncensored. Masukkan pesan Anda dalam format standar. Ini berfungsi dengan baik untuk fungsi serverless atau backend Node.js. SDK mengelola permintaan HTTP dan parsing respons. Anda dapat menangani kesalahan dengan anggun dengan memeriksa status respons. Kode tetap portabel di berbagai layanan yang kompatibel dengan OpenAI. Ini memudahkan untuk mengganti penyedia jika diperlukan. Integrasi Node.js mendukung pola sinkron dan asinkron. Gunakan ini untuk membangun API, bot, atau alur kerja otomatis yang memerlukan generasi teks tanpa sensor.
Respons Streaming
Aktifkan streaming dengan mengatur stream: true dalam permintaan Anda. API mengembalikan potongan teks saat dihasilkan. Ini meningkatkan latensi yang dirasakan untuk respons panjang. Setiap potongan berisi sebagian dari penyelesaian. Potongan terakhir mencakup statistik penggunaan token. Streaming didukung melalui Server-Sent Events (SSE). Gunakan bantuan streaming SDK untuk memproses potongan secara efisien. Ini berguna untuk antarmuka obrolan atau aplikasi waktu nyata. Perhatikan bahwa streaming mengonsumsi token yang sama dengan non-streaming. Kesalahan dapat terjadi di tengah aliran, jadi tangguhkan gangguan. Model tanpa sensor mendukung streaming secara default. Fitur ini memungkinkan Anda menampilkan teks secara bertahap. Ini adalah fitur standar dalam API LLM modern. Pastikan kode klien Anda menangani respons parsial dengan benar.
Batas, Kesalahan, dan Konteks
Jendela konteks adalah 100,000 token total, termasuk prompt dan completion. Output maksimum adalah 32,000 token per permintaan, atau 2,048 jika max_tokens tidak diatur. Batas laju adalah 300 permintaan per menit dan 8 permintaan paralel per kunci. Badan permintaan harus di bawah 8 MB. Kesalahan umum termasuk 401 untuk kunci tidak valid, 402 untuk tidak ada saldo, dan 429 untuk batas laju. Model menolak konten seksual yang melibatkan anak di bawah umur. Model tidak menolak topik dewasa, fiksi, atau kontroversial lainnya yang sah. Harga transparan: $0.25 per 1M token input dan $1.00 per 1M token output. Kesalahan gratis. Saldo prabayar dan tidak pernah kedaluwarsa. Gunakan batas ini untuk merencanakan skala aplikasi Anda. API dirancang untuk generasi teks volume tinggi yang hemat biaya.
cURL
curl https://api.apertus.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.apertus.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.apertus.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)