API Character AI: Chuyển đổi client của bạn trong ba dòng
Kết nối chatbot của bạn với LLM không kiểm duyệt trong vài phút bằng API tương thích OpenAI của chúng tôi. Hướng dẫn này hướng dẫn bạn thiết lập, các yêu cầu cơ bản và truyền phát mà không gặp rắc rối về cấu hình.
https://api.characteraiapi.com/v1
Yêu cầu tiên quyết
Trước khi viết mã, bạn cần một tài khoản hoạt động trên characteraiapi.com. Truy cập trang Lấy khóa API và đăng ký chỉ bằng email và mật khẩu. Không cần thẻ tín dụng để bắt đầu, và tài khoản mới nhận được $0,50 tín dụng dùng thử có hiệu lực trong 7 ngày. Sau khi đăng ký, khóa API của bạn sẽ được hiển thị ngay lập tức. Hãy giữ khóa này an toàn vì nó xác thực mọi yêu cầu đến endpoint. Bạn cũng cần cài đặt SDK ngôn ngữ được hỗ trợ trong môi trường phát triển của bạn. Endpoint character ai api chấp nhận các tham số OpenAI tiêu chuẩn, vì vậy bất kỳ client tương thích OpenAI nào cũng có thể hoạt động với ít thay đổi.
Cài đặt SDK
Đối với dự án Python, hãy cài đặt gói OpenAI chính thức bằng pip. Thư viện này tự động xử lý tuần tự hóa JSON và các yêu cầu HTTP. Đối với ứng dụng Node.js, hãy sử dụng npm để thêm gói openai. Cả hai thư viện đều hỗ trợ các tính năng truyền phát và gọi công cụ được mô tả sau trong hướng dẫn này. Đảm bảo phiên bản SDK của bạn đủ mới để hỗ trợ Sự kiện gửi qua máy chủ (SSE) cho việc truyền phát token theo thời gian thực. Nếu bạn đang sử dụng máy khách HTTP tùy chỉnh thay vì SDK, bạn phải tự xử lý tải trọng JSON và phân tích luồng SSE theo đặc tả API OpenAI.
Xác thực
Mọi yêu cầu đến API đều phải bao gồm khóa API của bạn trong tiêu đề Authorization. Sử dụng định dạng Bearer YOUR_API_KEY. URL cơ sở cho mọi yêu cầu là https://api.characteraiapi.com/v1. Khi sử dụng SDK, hãy đặt cấu hình base_url thành giá trị này và cung cấp khóa của bạn qua tham số api_key. Nếu bạn mất khóa hoặc nghi ngờ bị rò rỉ, bạn có thể tạo lại khóa đó từ bảng điều khiển; khóa cũ sẽ bị thu hồi ngay lập tức. Chỉ cho phép một khóa hoạt động mỗi tài khoản. Đảm bảo bạn đang sử dụng URL cơ sở đúng, vì các yêu cầu đến endpoint OpenAI tiêu chuẩn sẽ thất bại với lỗi 404 hoặc 401.
Hoàn thành trò chuyện cơ bản
Chức năng cốt lõi được cung cấp thông qua endpoint /v1/chat/completions. Gửi yêu cầu POST với tên mô hình là uncensored và lịch sử tin nhắn của bạn. Mô hình trả về đầu ra văn bản mà không áp dụng các bộ lọc nội dung tiêu chuẩn cho nội dung người trưởng thành hợp pháp. Dưới đây là ví dụ curl minh họa một yêu cầu hoàn thành văn bản đơn giản.
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."}]
}'
Yêu cầu này trả về một đối tượng hoàn thành chứa văn bản được tạo. Bạn có thể điều chỉnh các tham số như temperature để kiểm soát độ ngẫu nhiên hoặc max_tokens để giới hạn độ dài đầu ra. Mô hình hỗ trợ cửa sổ ngữ cảnh 100.000 token, cho phép xử lý lịch sử hội thoại đáng kể hoặc tài liệu dài trong một yêu cầu.
Phản hồi truyền phát
Để có trải nghiệm người dùng tốt hơn, hãy bật chế độ truyền phát bằng cách đặt stream: true trong yêu cầu của bạn. API trả về các sự kiện gửi qua máy chủ (SSE) chứa các khối token riêng lẻ khi chúng được tạo ra. Điều này làm giảm độ trễ cảm nhận đối với các ứng dụng chatbot. Sử dụng tham số stream_options nếu bạn muốn nhận thống kê sử dụng cuối cùng trong sự kiện cuối cùng. Chế độ truyền phát đặc biệt hữu ích cho việc nhập vai nhân vật theo thời gian thực, nơi việc hiển thị văn bản từng từ một sẽ tăng cường sự đắm chìm. Hãy đảm bảo mã client của bạn xử lý đúng định dạng SSE để phân tích từng khối theo thứ tự.
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)
Giới hạn tốc độ và lỗi
API áp dụng giới hạn 300 yêu cầu mỗi phút mỗi khóa. Nếu bạn vượt quá giới hạn này, bạn sẽ nhận được lỗi 429 Quá nhiều yêu cầu. Thân yêu cầu được giới hạn ở 8 MB. Các lỗi phổ biến bao gồm 401 cho khóa không hợp lệ hoặc bị thiếu, và 402 nếu tín dụng trả trước của bạn đã hết. Bạn có thể nạp tiền từ $10 bằng tiền điện tử (USDT hoặc USDC), với tín dụng bổ sung có sẵn cho các khoản gửi lớn hơn. Không giống như một số nhà cung cấp khác, không có phí ẩn hoặc khóa đăng ký; bạn chỉ trả tiền cho các token bạn sử dụng. Giá cả minh bạch: $0,25 cho mỗi 1 triệu token đầu vào và $1,00 cho mỗi 1 triệu token đầu ra. Đảm bảo logic xử lý lỗi của bạn thử lại khi gặp lỗi 429 với độ trễ tăng dần theo cấp số nhân.
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);Thông số API
Toàn bộ giới hạn và tính năng thực tế của API ở một nơi — hãy kiểm tra trước khi nạp tiền.
| Mục | Giá trị |
|---|---|
| Định dạng | tương thích OpenAI: mọi SDK OpenAI đều chạy được, chỉ cần đổi base URL và khóa |
| Endpoint | POST /v1/chat/completions · GET /v1/models |
| Xác thực | Authorization: Bearer YOUR_KEY |
| Base URL | https://api.characteraiapi.com/v1 |
| ID mô hình | uncensored |
| Chế độ JSON | response_format: {"type": "json_object"} |
| Đầu ra tối đa | tối đa phần còn lại của cửa sổ 100.000 token; max_tokens tùy chọn (không giới hạn riêng) |
| Tham số | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Cửa sổ ngữ cảnh | 100.000 token (đầu vào + đầu ra) |
| Streaming | có — server-sent events; phần cuối chứa lượng token đã dùng |
| Gọi hàm | có — tools, tool_choice; phản hồi có tool_calls, kể cả khi streaming; kết quả gửi lại bằng role: tool |
| Kích thước yêu cầu | tối đa 8 MB |
| Header phản hồi | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Yêu cầu đồng thời | tối đa 8 cùng lúc cho mỗi khóa |
| Giới hạn tốc độ | 300 yêu cầu mỗi phút cho mỗi khóa |
| Thời hạn | tín dụng đã trả không hết hạn, không đăng ký định kỳ |
| Thưởng | +5% từ $50, +10% từ $100 |
| Nạp tiền | USDT (TRC20) hoặc USDC (Base), số tiền nguyên bất kỳ từ $10 đến $500 |
| Giá | $0,25 cho 1 triệu token đầu vào · $1,00 cho 1 triệu token đầu ra |
| Tính phí | tín dụng trả trước theo mức dùng thực tế; lỗi và từ chối miễn phí |
| Dùng thử miễn phí | $0,50 trong 7 ngày, không cần thẻ · Khóa dùng thử: 2 yêu cầu song song, 60 yêu cầu/phút; hạn mức đầy đủ (8 và 300) sau lần nạp đầu |
| Khóa | mỗi tài khoản một khóa đang hoạt động; khóa mới thay thế khóa cũ |
| Đăng nhập | Google hoặc email và mật khẩu |
| Nội dung | cho phép nội dung người lớn; từ chối nội dung tình dục liên quan đến trẻ vị thành niên |
Mã lỗi
Lỗi trả về dạng JSON với type cố định; yêu cầu lỗi hoặc bị từ chối không bị tính phí.
| Mã | Loại | Ý nghĩa |
|---|---|---|
400 | bad_request | JSON sai, tin nhắn trống, tham số sai hoặc vượt cửa sổ ngữ cảnh |
401 | missing_key · invalid_key · key_revoked | thiếu khóa, sai khóa hoặc khóa đã bị thay |
402 | no_credit | hết tín dụng — nạp tiền là dùng tiếp ngay |
403 | content_blocked | nội dung tình dục liên quan trẻ vị thành niên — từ chối, không tính phí |
404 | not_found | endpoint không tồn tại |
413 | request_too_large | nội dung lớn hơn 8 MB |
429 | rate_limited · concurrency | vượt 300/phút hoặc 8 đồng thời — chờ rồi thử lại |
503 | upstream_busy | mô hình đang bận — thử lại sau vài giây |
Hỏi đáp
Đây có phải là API Character.ai chính thức không?
Không, đây là dịch vụ độc lập được lưu trữ tại characteraiapi.com. Nó cung cấp mô hình không kiểm duyệt của riêng mình và không liên kết với Character.AI hoặc bất kỳ nhà cung cấp LLM lớn nào khác.
Mô hình có hỗ trợ tạo hình ảnh hoặc âm thanh không?
Không. API chỉ xử lý văn bản. Nó nhận đầu vào văn bản và trả về đầu ra văn bản. Nó không hỗ trợ embedding, tinh chỉnh hoặc đầu vào/đầu ra đa phương tiện.
Thuật ngữ 'không kiểm duyệt' được định nghĩa như thế nào?
Mô hình không từ chối các chủ đề người trưởng thành hợp pháp, hư cấu hoặc gây tranh cãi. Nó chỉ chặn nội dung tình dục liên quan đến trẻ vị thành niên, đây là giới hạn cứng được áp dụng cho mọi yêu cầu.
Khóa của bạn chỉ cách một biểu mẫu
Tạo tài khoản, sao chép khóa, thay đổi URL cơ sở. Đó là toàn bộ quá trình thiết lập.