Önkoşullar
apertus API'sini kullanmak için bir hesabınız ve bir API anahtarı gerekir. API anahtarı sayfasından Google veya e-posta ile kayıt olun. Anahtarı hemen alırsınız; telefon numarası gerekmez. Önce test etmek isterseniz, her yeni hesap 7 gün geçerli $0.50 ücretsiz deneme kredisi alır. Deneme için kart gerekmez. Üretim için kripto ile bakiye yükleyin (TRC20 üzerinde USDT veya Base üzerinde USDC). Kredi süresi dolmaz ve hatalar bakiye tüketmez. Hesap başına bir aktif anahtarınız olur; yeni bir tane oluşturmak eskisini değiştirir. Anahtarınızı güvende tutun ve Authorization başlığında bearer token olarak iletin. API tamamen metin tabanlıdır ve sansür reddi olmadan yanıtlamak için optimize edilmiş bir sansürsüz model sunar.
Temel URL ve Kimlik Doğrulama
Tüm istekleri https://api.apertus.cc/v1 adresine yönlendirin. Bu temel URL, uç nokta değiştirilerek resmi OpenAI SDK'ları ve uyumlu herhangi bir istemci ile çalışır. API anahtarınızı şu başlıkta belirtin: Authorization: Bearer YOUR_API_KEY. Desteklenen tek uç nokta POST /v1/chat/completions'dir. Bağlantı doğrulaması için GET /v1/models uç noktası da mevcuttur. Kullanılacak model kimliği uncensored'dir. Bu, GPT, Claude veya diğer sağlayıcıların modellerinden farklı olarak sunucularımızda çalışan açık ağırlıklı bir modeldir. Metin girdisini alır ve metin çıktısı döndürür. Gömme, görüntü veya ses beklemeyin. API, model yönlendirme karmaşıklığı olmadan doğrudan entegrasyon isteyen geliştiriciler için tasarlanmıştır.
İlk İstek
Kurulumunuzu doğrulamak için temel bir tamamlama isteği gönderin. Sohbet tamamlamaları uç noktasına POST yapmak için curl komutunu kullanın. Modeli uncensored olarak ayarlayın ve basit bir mesaj ekleyin. Bu, API anahtarınızın çalıştığını ve temel URL'nin doğru olduğunu doğrular. İhtiyaca göre temperature veya max_tokens gibi parametreleri ayarlayabilirsiniz. Yanıt, modelin metin çıktısını içerecektir. 401 hatası alırsanız anahtarınızı kontrol edin. 402 hatası yetersiz kredi anlamına gelir. 429 hatası hız limitine ulaştığınızı gösterir. Bu basit istek, herhangi bir ara katman olmadan ham API erişimini gösterir. Daha karmaşık mantık oluşturmadan önce entegrasyonunuzu doğrulamanın en hızlı yoludur.
Python Entegrasyonu
API ile etkileşim kurmak için resmi openai Python SDK'sını kullanın. İstemciyi https://api.apertus.cc/v1 temel URL'si ve API anahtarınızla başlatın. Modeli uncensored olarak ayarlayın. Mesajları bir sözlük listesi olarak gönderin. SDK otomatik olarak seri hale getirme ve hata ayrıştırma yapar. Bu yaklaşım arka uç hizmetleri veya veri işleme betikleri için idealdir. Yanıtları akışa alabilir veya tam bloklar alabilirsiniz. İstemci kodu, farklı bir temel URL dışında OpenAI için kullanacağınız kodla aynıdır. Bu, diğer sağlayıcılardan geçişi kolaylaştırır. En iyi uyumluluk için en son SDK sürümünü kullandığınızdan emin olun. Entegrasyon minimum düzeydedir ve mevcut istemci kurulumunuza yalnızca yapılandırma değişiklikleri gerektirir.
Node.js Entegrasyonu
JavaScript veya TypeScript ortamları için openai npm paketini kullanın. İstemciyi Python'dakiyle aynı temel URL ve anahtarla yapılandırın. uncensored modeli ile chat.completions.create() çağrısı yapın. Mesajlarınızı standart formatta iletin. Bu, sunucusuz işlevler veya Node.js arka uçları için iyi çalışır. SDK HTTP isteklerini ve yanıt ayrıştırmayı yönetir. Yanıt durumunu kontrol ederek hataları zarifçe işleyebilirsiniz. Kod, farklı OpenAI uyumlu hizmetler arasında taşınabilir kalır. Bu da gerekirse sağlayıcı değiştirmeyi kolaylaştırır. Node.js entegrasyonu hem senkron hem de asenkron kalıpları destekler. Sansürsüz metin üretimi gerektiren API'ler, botlar veya otomatik iş akışları oluşturmak için kullanın.
Akışlı Yanıtlar
İsteğinizde stream: true ayarlayarak akışı etkinleştirin. API, metin oluşturuldukça metin parçaları döndürür. Bu, uzun yanıtlar için algılanan gecikmeyi iyileştirir. Her parça tamamlamanın bir bölümünü içerir. Son parça token kullanım istatistiklerini içerir. Akış, Sunucu Gönderilen Etkinlikler (SSE) aracılığıyla desteklenir. Parçaları verimli bir şekilde işlemek için SDK'nın akış yardımcı programlarını kullanın. Bu, sohbet arayüzleri veya gerçek zamanlı uygulamalar için kullanışlıdır. Akışın, akış olmayan yanıtlarla aynı tokenları tükettiğini unutmayın. Akış sırasında hatalar oluşabilir, bu nedenle kesintileri işleyin. Sansürsüz model varsayılan olarak akışı destekler. Bu özellik metni artımlı olarak görüntülemenizi sağlar. Modern LLM API'lerinde standart bir özelliktir. İstemci kodunuzun kısmi yanıtları doğru şekilde işlediğinden emin olun.
Limitler, Hatalar ve Bağlam
Bağlam penceresi, istem ve tamamlama dahil toplam 100.000 token'dır. Maksimum çıktı, istek başına 32.000 token veya max_tokens ayarlanmamışsa 2.048 token'dır. Hız limitleri dakikada 300 istek ve anahtar başına 8 eşzamanlı istektir. İstek gövdeleri 8 MB'ın altında olmalıdır. Yaygın hatalar arasında geçersiz anahtarlar için 401, kredi yok için 402 ve hız limitleri için 429 bulunur. Model, reşit olmayanlarla ilgili cinsel içeriği reddeder. Diğer yasal yetişkin, kurgusal veya tartışmalı konuları reddetmez. Fiyatlandırma şeffaftır: 1M girdi token başına $0.25 ve 1M çıktı token başına $1.00. Hatalar ücretsizdir. Kredi ön ödemelidir ve süresi asla dolmaz. Uygulamanızın ölçeğini planlamak için bu limitleri kullanın. API, yüksek hacimli ve maliyet etkin metin üretimi için tasarlanmıştır.
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);Akış
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)