PL ▾
Pobierz klucz API

API Character AI: Zmień klienta w trzech krokach

Podłącz swojego chatbota do modelu LLM bez cenzury w kilka minut za pomocą naszego API kompatybilnego z OpenAI. Ten przewodnik przeprowadzi Cię przez konfigurację, podstawowe zapytania i strumieniowanie bez problemów z konfiguracją.

https://api.characteraiapi.com/v1

Wymagania wstępne

Przed napisaniem kodu potrzebujesz aktywnego konta na characteraiapi.com. Odwiedź stronę Pobierz klucz API i zarejestruj się, podając tylko adres e-mail i hasło. Nie jest wymagana karta kredytowa, a nowe konta otrzymują $0,50 w kredycie próbnym ważnym przez 7 dni. Po rejestracji Twój klucz API jest wyświetlany natychmiast. Przechowuj klucz bezpiecznie, ponieważ uwierzytelnia on wszystkie zapytania do endpointu. Będziesz również potrzebować zainstalowanego w środowisku programistycznym obsługiwanego interfejsu SDK. Endpoint character ai api przyjmuje standardowe parametry OpenAI, więc dowolny klient kompatybilny z OpenAI zadziała po niewielkich zmianach.

Zainstaluj SDK

W projektach Python zainstaluj oficjalny pakiet OpenAI za pomocą pip. Biblioteka ta automatycznie obsługuje serializację JSON i żądania HTTP. W aplikacjach Node.js użyj npm, aby dodać pakiet openai. Obie biblioteki obsługują strumieniowanie i wywoływanie funkcji opisane dalej w tym przewodniku. Upewnij się, że wersja Twojego SDK jest wystarczająco nowa, aby obsługiwać Server-Sent Events (SSE) dla strumieniowania tokenów w czasie rzeczywistym. Jeśli używasz własnego klienta HTTP zamiast SDK, musisz ręcznie obsłużyć ładunek JSON i parsowanie strumienia SSE zgodnie ze specyfikacją API OpenAI.

Uwierzytelnianie

Każde zapytanie do API musi zawierać Twój klucz API w nagłówku Authorization. Użyj formatu Bearer YOUR_API_KEY. Podstawowy URL dla wszystkich zapytań to https://api.characteraiapi.com/v1. Podczas korzystania z SDK ustaw konfigurację base_url na tę wartość i podaj klucz za pomocą parametru api_key. Jeśli zgubisz klucz lub podejrzysz jego wyciek, możesz go wygenerować ponownie z panelu; stary klucz zostanie natychmiast unieważniony. Na jedno konto przysługuje tylko jeden aktywny klucz. Upewnij się, że używasz właściwego podstawowego URL, ponieważ zapytania do standardowego endpointu OpenAI zakończą się błędem 404 lub 401.

Podstawowe uzupełnianie czatu

Podstawowa funkcjonalność jest obsługiwana przez endpoint /v1/chat/completions. Wyślij żądanie POST z nazwą modelu uncensored i historią wiadomości. Model zwraca tekst bez stosowania standardowych filtrów treści dla legalnych treści dla dorosłych. Poniżej znajduje się przykład curl demonstrujący proste żądanie uzupełniania tekstu.

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."}]
  }'

To zapytanie zwraca obiekt uzupełnienia zawierający wygenerowany tekst. Możesz dostosować parametry, takie jak temperature, aby kontrolować losowość, lub max_tokens, aby ograniczyć długość wyjścia. Model obsługuje okno kontekstu 100 000 tokenów, co pozwala przetwarzać znaczną historię rozmowy lub długie dokumenty w jednym zapytaniu.

Odpowiedzi strumieniowe

Aby zapewnić lepsze wrażenia użytkownika, włącz strumieniowanie, ustawiając stream: true w swoim zapytaniu. API zwraca zdarzenia wysyłane przez serwer (SSE) zawierające fragmenty tokenów, które są generowane. Zmniejsza to postrzegane opóźnienie w aplikacjach chatbotów. Użyj parametru stream_options, jeśli chcesz otrzymać końcowe statystyki zużycia w ostatnim zdarzeniu. Strumieniowanie jest szczególnie przydatne w przypadku odgrywania ról postaci w czasie rzeczywistym, gdzie wyświetlanie tekstu słowo po słowie zwiększa immersję. Upewnij się, że Twój kod klienta poprawnie obsługuje format SSE, aby analizować każdy fragment sekwencyjnie.

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)

Limity zapytań i błędy

API narzuca limit 300 zapytań na minutę na klucz. Jeśli go przekroczysz, otrzymasz błąd 429 Too Many Requests. Ciała zapytań są ograniczone do 8 MB. Powszechne błędy obejmują 401 za nieprawidłowy lub brakujący klucz oraz 402, jeśli Twój przedpłacony kredyt został wyczerpany. Możesz doładować konto od kwoty $10 za pomocą kryptowalut (USDT lub USDC), z bonusowymi kredytami dostępnymi przy większych wpłatach. W przeciwieństwie do niektórych dostawców, nie ma ukrytych opłat ani blokad subskrypcyjnych; płacisz tylko za zużyte tokeny. Ceny są przejrzyste: $0.25 za 1M tokenów wejściowych i $1.00 za 1M tokenów wyjściowych. Upewnij się, że Twoja logika obsługi błędów ponawia zapytania po otrzymaniu 429 z wykładniczym opóźnieniem.

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);

Parametry API

Wszystkie rzeczywiste limity i funkcje API w jednym miejscu — sprawdź je przed doładowaniem.

ElementWartość
Format APIzgodne z OpenAI: działa każdy SDK OpenAI — zmień base URL i klucz
EndpointyPOST /v1/chat/completions · GET /v1/models
UwierzytelnianieAuthorization: Bearer YOUR_KEY
Base URLhttps://api.characteraiapi.com/v1
ID modeluuncensored
Tryb JSONresponse_format: {"type": "json_object"}
Maks. odpowiedźdo reszty okna 100 000 tokenów; max_tokens opcjonalne (bez osobnego limitu)
Parametrytemperature, top_p, stop, seed, presence_penalty, frequency_penalty
Okno kontekstu100 000 tokenów (wejście + odpowiedź)
Strumieniowanietak — server-sent events; ostatni fragment zawiera zużycie tokenów
Wywoływanie funkcjitak — tools, tool_choice; odpowiedź zawiera tool_calls, także w strumieniu; wyniki jako role: tool
Rozmiar zapytaniado 8 MB
Nagłówki odpowiedziX-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency
Równoległe zapytaniado 8 jednocześnie na klucz
Limit zapytań300 zapytań na minutę na klucz
Ważnośćopłacony kredyt nie wygasa, bez subskrypcji
Bonus+5% od $50, +10% od $100
DoładowanieUSDT (TRC20) lub USDC (Base), dowolna pełna kwota od $10 do $500
Cena$0,25 za 1 mln tokenów wejścia · $1,00 za 1 mln tokenów wyjścia
Rozliczenieprzedpłacony kredyt według rzeczywistego zużycia; błędy i odmowy są darmowe
Darmowy kredyt$0,50 na 7 dni, bez karty · Klucz próbny: 2 równoległe żądania, 60 na minutę; pełne limity (8 i 300) po pierwszym doładowaniu
Kluczejeden aktywny klucz na konto; nowy zastępuje stary
LogowanieGoogle albo e-mail i hasło
Treścitreści dla dorosłych dozwolone; treści seksualne z udziałem nieletnich są odrzucane

Kody błędów

Błędy wracają jako JSON ze stałym type; nieudane i odrzucone zapytania są bezpłatne.

KodTypZnaczenie
400bad_requestbłędny JSON, puste wiadomości, zły parametr lub za długi kontekst
401missing_key · invalid_key · key_revokedbrak klucza, zły klucz lub klucz zastąpiony nowym
402no_creditbrak kredytu — doładuj, działa od razu
403content_blockedtreści seksualne z nieletnimi — odmowa, bez opłaty
404not_foundnieznany endpoint
413request_too_largetreść większa niż 8 MB
429rate_limited · concurrencyponad 300/min lub 8 równolegle — odczekaj i ponów
503upstream_busymodel zajęty — ponów za kilka sekund

Pytania i odpowiedzi

Czy to oficjalne API Character.ai?

Nie, jest to niezależna usługa hostowana pod adresem characteraiapi.com. Udostępnia własny model bez cenzury i nie jest powiązana z Character.AI ani innymi głównymi dostawcami LLM.

Czy model obsługuje generowanie obrazów lub audio?

Nie. API obsługuje tylko tekst. Przyjmuje dane wejściowe tekstowe i zwraca dane wyjściowe tekstowe. Nie obsługuje embeddingów, dostrajania ani multimodalnych danych wejściowych/wyjściowych.

Jak zdefiniowano „bez cenzury”?

Model nie odrzuca legalnych tematów dla dorosłych, fikcyjnych lub kontrowersyjnych. Blokuje tylko treści seksualne z udziałem małoletnich, co jest stałym limitem stosowanym do wszystkich zapytań.

Twój klucz jest o jeden formularz stąd

Utwórz konto, skopiuj klucz, zmień podstawowy URL. To cała konfiguracja.

Pobierz klucz API