NL ▾
API-sleutel aanvragen

Character AI API: Wissel je client in drie regels uit

Verbind je chatbot binnen enkele minuten met een ongecensureerde LLM via onze OpenAI-compatibele API. Deze gids doorloopt de setup, basisverzoeken en streaming zonder configuratiehoofdpijn.

https://api.characteraiapi.com/v1

Vereisten

Voordat je code schrijft, heb je een actief account nodig op characteraiapi.com. Bezoek de API-sleutel ophalen pagina en meld je aan met alleen een e-mailadres en wachtwoord. Er is geen creditcard nodig om te beginnen, en nieuwe accounts ontvangen $0,50 aan gratis proeftegoed geldig voor 7 dagen. Zodra je bent geregistreerd, wordt je API-sleutel direct weergegeven. Bewaar deze sleutel veilig, omdat deze alle verzoeken aan de endpoint verifieert. Je hebt ook een ondersteunde SDK voor de taal nodig geïnstalleerd in je ontwikkelomgeving. De character ai api endpoint accepteert standaard OpenAI-parameters, dus elke bestaande OpenAI-compatible client kan met minimale wijzigingen werken.

Installeer de SDK

Installeer voor Python-projecten het officiële OpenAI-pakket met pip. Deze bibliotheek verwerkt automatisch de JSON-serialisatie en HTTP-verzoeken. Gebruik voor Node.js-applicaties npm om het openai-pakket toe te voegen. Beide bibliotheken ondersteunen de streaming- en tool-calling-functies die later in deze gids worden beschreven. Zorg dat je SDK-versie recent genoeg is om Server-Sent Events (SSE) te ondersteunen voor realtime token-streaming. Als je een aangepaste HTTP-client gebruikt in plaats van een SDK, moet je de JSON-payload en SSE-streamparsing handmatig afhandelen volgens de OpenAI API-specificatie.

Authenticatie

Elk verzoek aan de API moet je API-sleutel bevatten in de Authorization-header. Gebruik het formaat Bearer YOUR_API_KEY. De basis-URL voor alle verzoeken is https://api.characteraiapi.com/v1. Stel bij gebruik van een SDK de configuratie base_url in op deze waarde en lever je sleutel via de parameter api_key. Als je je sleutel kwijtraakt of vermoedt dat deze gelekt is, kun je deze opnieuw genereren via het dashboard; de oude sleutel wordt onmiddellijk ingetrokken. Per account is slechts één actieve sleutel toegestaan. Zorg dat je de juiste basis-URL gebruikt, want verzoeken aan het standaard OpenAI-endpoint zullen falen met een 404- of 401-fout.

Basis chatcompletion

De kernfunctionaliteit wordt aangeboden via het /v1/chat/completions-endpoint. Stuur een POST-verzoek met een modelnaam van uncensored en je berichtgeschiedenis. Het model reageert met tekstuitvoer zonder de standaard inhoudsfilters voor wettelijk volwassen materiaal toe te passen. Hieronder volgt een curl-voorbeeld dat een eenvoudig tekst-aanvullingsverzoek demonstreert.

curl https://api.characteraiapi.com/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."}]
  }'

Dit verzoek retourneert een voltooiingsobject met de gegenereerde tekst. Je kunt parameters aanpassen zoals temperature om willekeurigheid te regelen of max_tokens om de uitvoerlengte te beperken. Het model ondersteunt een contextvenster van 100.000 tokens, waardoor uitgebreide gespreksgeschiedenis of lange documenten in één verzoek kunnen worden verwerkt.

Streamingresponsen

Schakel voor een betere gebruikerservaring streaming in door stream: true in je verzoek in te stellen. De API retourneert Server-Sent Events (SSE) met gedeeltelijke tokenchunks terwijl ze worden gegenereerd. Dit vermindert de waargenomen latentie voor chatbottoepassingen. Gebruik de parameter stream_options als je de laatste gebruikscijfers in het laatste evenement wilt ontvangen. Streaming is met name nuttig voor realtime-personagegesprekken, waarbij het tonen van tekst woord voor woord de immersie verhoogt. Zorg dat je clientcode het SSE-formaat correct afhandelt om elke chunk sequentieel te parseren.

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)

Rate limits en fouten

De API handhaaft een limiet van 300 verzoeken per minuut per sleutel. Als je deze overschrijdt, ontvang je een 429 Too Many Requests-fout. Verzoeklichamen zijn beperkt tot 8 MB. Veelvoorkomende fouten zijn 401 voor een ongeldige of ontbrekende sleutel, en 402 als je prepaid tegoed op is. Je kunt opwaarderen vanaf $10 met crypto (USDT of USDC), met bonus tegoed beschikbaar voor grotere stortingen. In tegenstelling tot sommige providers zijn er geen verborgen kosten of abonnementsvergrendelingen; je betaalt alleen voor de tokens die je verbruikt. Prijzen zijn transparant: $0,25 per 1M invoertokens en $1,00 per 1M uitvoertokens. Zorg dat je foutafhandelingslogica opnieuw probeert bij 429s met exponentiële backoff.

from openai import OpenAI

client = OpenAI(base_url="https://api.characteraiapi.com/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.characteraiapi.com/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);

API-specificaties

Alle echte limieten en functies van de API op één plek — controleer ze voordat je opwaardeert.

OnderdeelWaarde
API-formaatOpenAI-compatibel: elke OpenAI-SDK werkt — vervang alleen base URL en sleutel
EndpointsPOST /v1/chat/completions · GET /v1/models
AuthenticatieAuthorization: Bearer YOUR_KEY
Base URLhttps://api.characteraiapi.com/v1
Model-IDuncensored
JSON-modusresponse_format: {"type": "json_object"}
Max. uitvoertot de rest van het venster van 100.000 tokens; max_tokens optioneel (geen aparte limiet)
Parameterstemperature, top_p, stop, seed, presence_penalty, frequency_penalty
Contextvenster100.000 tokens (invoer + uitvoer)
Streamingja — server-sent events; het laatste deel bevat het tokenverbruik
Function callingja — tools, tool_choice; antwoorden bevatten tool_calls, ook bij streaming; resultaten als role: tool
Verzoekgroottetot 8 MB
ResponsheadersX-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency
Gelijktijdige verzoekentot 8 tegelijk per sleutel
Rate limit300 verzoeken per minuut per sleutel
Geldigheidbetaald tegoed verloopt niet, geen abonnement
Bonus+5% vanaf $50, +10% vanaf $100
OpwaarderenUSDT (TRC20) of USDC (Base), elk heel bedrag van $10 tot $500
Prijs$0,25 per 1 mln invoertokens · $1,00 per 1 mln uitvoertokens
Afrekeningprepaid tegoed op basis van echt verbruik; fouten en weigeringen zijn gratis
Gratis proeftegoed$0,50 voor 7 dagen, zonder kaart · Proefsleutel: 2 parallelle verzoeken, 60 per minuut; volledige limieten (8 en 300) na eerste opwaardering
Sleutelséén actieve sleutel per account; een nieuwe vervangt de oude
InloggenGoogle of e-mail en wachtwoord
Inhoudinhoud voor volwassenen toegestaan; seksuele inhoud met minderjarigen wordt geweigerd

Foutcodes

Fouten komen als JSON met een vaste type; mislukte of geweigerde verzoeken kosten niets.

CodeTypeBetekenis
400bad_requestongeldige JSON, lege berichten, verkeerde parameter of context te lang
401missing_key · invalid_key · key_revokedsleutel ontbreekt, is onjuist of is vervangen
402no_creditgeen tegoed — waardeer op en ga direct verder
403content_blockedseksuele inhoud met minderjarigen — geweigerd, niet gerekend
404not_foundonbekend endpoint
413request_too_largebody groter dan 8 MB
429rate_limited · concurrencymeer dan 300/min of 8 tegelijk — wacht en probeer opnieuw
503upstream_busymodel bezet — probeer het over enkele seconden opnieuw

Vragen en antwoorden

Is dit de officiële Character.ai API?

Nee, dit is een onafhankelijke service gehost op characteraiapi.com. Het levert zijn eigen ongecensureerde model en is niet gelieerd aan Character.AI of een andere grote LLM-leverancier.

Ondersteunt het model afbeeldings- of audiogeneratie?

Nee. De API is alleen voor tekst. Het accepteert tekstinput en retourneert tekstoutput. Het ondersteunt geen embeddings, fine-tuning of multimodale inputs/outputs.

Hoe wordt 'ongecensureerd' gedefinieerd?

Het model weigert geen wettelijke volwassen, fictieve of controversiële onderwerpen. Het blokkeert alleen seksuele inhoud met minderjarigen, wat een harde limiet is die op alle verzoeken van toepassing is.

Je sleutel is nog maar één formulier verwijderd

Maak een account aan, kopieer de sleutel, wijzig de basis-URL. Dat is de hele setup.

API-sleutel aanvragen