Basis-URL en Authenticatie
De Unrestricted AI API is gehost op https://api.unrestrictedai.top/v1. Het volgt de OpenAI chat-completions structuur, wat betekent dat je bestaande OpenAI SDKs kunt gebruiken door simpelweg de base_url aan te passen en je API-sleutel te verstrekken. Je hebt maar één actieve sleutel per account nodig, en dit geeft je onmiddellijk toegang tot het ongecensureerde model. Authenticatie wordt afgehandeld via de Authorization header met het Bearer schema. Zorg dat je sleutel veilig blijft, omdat deze je gebruik van prepaid tegoed beheert. In tegenstelling tot abonnementsdiensten, betaal je alleen voor verwerkte tokens, met fouten en weigeringen die bij nul tokens worden gefactureerd.
Je eerste verzoek
Stuur een standaard chat completion verzoek om de connectiviteit te testen. De model ID is altijd uncensored. Deze endpoint accepteert tekstinput en retourneert tekstoutput, met ondersteuning tot 100.000 tokens in het contextvenster. Als je max_tokens niet specificeert, dan gebruikt de API standaard 2.048 output-tokens. Dit eenvoudige POST-verzoek toont de kernfunctionaliteit: een prompt versturen en een gegenereerd antwoord ontvangen zonder inhoudsfilters voor wettelijke volwassen of controversiële onderwerpen.
Python SDK Integratie
Het gebruik van de officiële OpenAI Python library is de snelste manier om te integreren. Wijs de client naar onze basis-URL en geef je sleutel door. De onderstaande code toont een basis synchronisch verzoek. Deze aanpak verwerkt JSON automatisch, zodat je de responsinhoud direct kunt gebruiken in je Python variabelen. Het is ideaal voor backend services of batchverwerking waar streaming latentie minder kritiek is dan code-eenvoud.
Node.js SDK Integratie
Voor JavaScript-omgevingen configureer je de OpenAI Node.js client om ons endpoint te targeten. De asynchrone aard van Node.js past goed bij de responstijd van de API. Stel de basis-URL correct in, en de SDK zal de request-indeling afhandelen. Onthoud dat deze API geen image, audio of embedding endpoints ondersteunt, dus blijf bij tekstgebaseerde completions. Deze methode is geschikt voor web servers of edge functions waar je ongecensureerde LLM responsen in dynamische inhoud wilt injecteren.
Streaming Responsen
Schakel streaming in door stream: true in je verzoek in te stellen. De API retourneert data via Server-Sent Events (SSE), waardoor je tokens in real-time kunt ontvangen. Tokengebruik en facturatiemetrics zijn inbegrepen in de laatste chunk van de stream. Dit vermindert de waargenomen latentie voor eindgebruikers, vooral bij lange outputs. Streaming wordt aanbevolen voor chatinterfaces waar directe tekstweergave de gebruikerservaring verbetert. Monitor de laatste chunk voor totale tokenaantallen om je prepaid tegoed nauwkeurig te volgen.
Limieten, Fouten en Context
Elke API-sleutel is beperkt tot 300 verzoeken per minuut en 8 gelijktijdige verzoeken. De request body mag niet groter zijn dan 8 MB. Veelvoorkomende fouten zijn 401 voor ongeldige sleutels, 402 wanneer prepaid tegoed op is, en 429 voor rate limits. Het contextvenster ondersteunt in totaal 100.000 tokens, zowel voor prompt als completion. Als je deze limieten overschrijdt, implementeer dan exponentiële backoff. Tegoed verloopt nooit, en fouten zoals dubbele afschrijvingen worden afgehandeld via de Support-pagina, zodat je je prepaid waarde onbeperkt houdt.
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)