API thay thế Character AI thực sự hoạt động trong 2026
Updated 2026-07-15
Character.AI không cung cấp API công khai chính thức, nên các wrapper không chính thức bạn tìm thấy trên GitHub hay hỏng và vi phạm điều khoản dịch vụ của nó. Hướng đi đáng tin cậy là một API LLM chuẩn, qua gateway tương thích OpenAI, OpenRouter, hoặc một model mở tự host, cộng thêm lớp persona của riêng bạn ở trên.
Trả lời nhanh: không có API Character AI chính thức
Character.AI chưa bao giờ phát hành API công khai cho developer. Mọi thư viện "Character AI API" bạn tìm thấy đều là client reverse-engineer giả làm phiên trình duyệt. Các wrapper này vi phạm điều khoản dịch vụ của nền tảng, khiến tài khoản bị ban, và ngừng hoạt động mỗi khi trang web thay đổi endpoint nội bộ. Nếu bạn muốn chat nhân vật bên trong app của riêng mình, hãy xây dựng nó trên một API chat completions chuẩn thay vì vậy. Bản thân nhân vật chỉ là một system prompt (thẻ persona), lịch sử tin nhắn nối tiếp, và các thiết lập sampling. Bất kỳ model instruction-following đủ khả năng nào cũng có thể đóng vai, và bạn giữ toàn quyền sở hữu nhân vật, người dùng và dữ liệu của mình. Có ba hướng đi thực tế: một gateway tương thích OpenAI đứng trước nhiều model chỉ với một key, OpenRouter như một aggregator đa provider, hoặc tự host open weight như DeepSeek và GLM trên GPU của riêng bạn. Phần còn lại của hướng dẫn này so sánh chúng, cho thấy code curl, Python và Node hoạt động thực tế, và trình bày các chi tiết production giúp chat nhân vật cảm giác nhất quán thay vì chung chung.
Vì sao wrapper Character AI không chính thức là ngõ cụt
Các thư viện reverse-engineer scrape endpoint riêng tư chưa từng được thiết kế cho bên thứ ba. Điều này gây ra ba hệ quả thực tế. Thứ nhất, tính ổn định. Character.AI có thể đổi tên route nội bộ, thêm bot check, hoặc thay đổi auth flow bất cứ lúc nào, và app production của bạn sập mà không có thông báo trước hay kênh hỗ trợ nào. Thứ hai, rủi ro tài khoản. Truy cập tự động qua phiên trình duyệt giả chính là điều điều khoản dịch vụ nghiêm cấm, nên tài khoản đang nuôi app của bạn có thể bị đình chỉ mà không có cách kháng cáo. Thứ ba, sở hữu trí tuệ. Các nhân vật trên nền tảng, kể cả bot cộng đồng phổ biến, thuộc về nền tảng và tác giả của chúng. Bạn không thể lấy chúng đưa vào sản phẩm thương mại. Không điều nào trong số này áp dụng khi bạn tự sở hữu stack. Một persona bạn viết dưới dạng system prompt là của bạn. Một hợp đồng API chuẩn với bảng giá công khai không biến mất qua một đêm. Hãy xem "không có API chính thức" là một ràng buộc thiết kế, không phải một câu đố để hack lách qua.
So sánh ba lựa chọn thay thế thực sự
Mỗi hướng đi đánh đổi sự tiện lợi lấy quyền kiểm soát. Một gateway được host như APIsRouter cho bạn một endpoint tương thích OpenAI duy nhất tại https://api.apisrouter.com/v1 đứng trước DeepSeek, GLM, Kimi, Claude, Gemini, GPT và Grok, nên bạn có thể chuyển một nhân vật giữa các model chỉ bằng cách đổi một chuỗi. OpenRouter bao phủ một dải dài model được cộng đồng host, hữu ích khi bạn muốn thử nghiệm rộng rãi. Tự host thắng thế khi bạn cần data locality hoặc chạy volume cao ổn định đủ để biện minh cho GPU riêng.
| Lựa chọn | Cách hoạt động | Tính phí | Gánh nặng vận hành | Phù hợp nhất cho |
|---|---|---|---|---|
| Gateway tương thích OpenAI (APIsRouter) | Một endpoint /v1 và một key đứng trước nhiều model frontier và open | Trả theo lượng dùng, không subscription | Không có, được host toàn phần | Ra mắt app nhân vật nhanh và chuyển model theo từng lượt |
| OpenRouter | Aggregator định tuyến request đến nhiều provider được host | Trả theo lượng dùng với mức giá theo từng provider | Không có, được host toàn phần | Khám phá các model ngách của cộng đồng trước khi cam kết |
| Model open tự host | Tự chạy weight DeepSeek hoặc GLM với vLLM hoặc llama.cpp | Chi phí GPU cố định bất kể traffic | Cao: serving, scaling, update do bạn tự lo | Data locality và volume cao ổn định |
Cách một app chat nhân vật thực sự hoạt động
Bỏ qua UI thì một app nhân vật là một vòng lặp gồm ba phần. Một thẻ persona nằm trong system prompt: tên, tính cách, phong cách nói chuyện, các quy tắc cứng như "không bao giờ đề cập đến việc là một AI". Lịch sử hội thoại đi kèm dưới dạng tin nhắn user và assistant xen kẽ nhau. Các thiết lập sampling, chủ yếu là temperature, kiểm soát nhân vật diễn vai lỏng lẻo đến mức nào. Đây là một request đầu tiên hoàn chỉnh. Persona nằm hoàn toàn trong system message, nên cùng một pattern này hoạt động với bất kỳ model nào trong danh mục:
curl https://api.apisrouter.com/v1/chat/completions \
-H "Authorization: Bearer sk-..." \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4-flash",
"messages": [
{"role": "system", "content": "You are Captain Mira Vale, a dry-witted starship engineer. Stay in character at all times. Speak in short, practical sentences. Never mention being an AI."},
{"role": "user", "content": "Mira, the reactor is making that noise again."}
],
"temperature": 0.9,
"max_tokens": 300
}'Một vòng lặp chat tối giản bằng Python và Node
Trong một app, bạn giữ lịch sử ở phía server, nối thêm mỗi lượt trao đổi, và gửi lại toàn bộ cửa sổ ở mỗi lượt. Các OpenAI SDK chính thức hoạt động không cần thay đổi vì endpoint tuân theo cùng một hợp đồng; chỉ base_url và key là khác. Phiên bản Python dưới đây là một vòng lặp hoạt động hoàn chỉnh, và phiên bản Node cho thấy cùng hình dạng request cho một backend JavaScript.
from openai import OpenAI
client = OpenAI(
api_key="sk-...",
base_url="https://api.apisrouter.com/v1",
)
PERSONA = (
"You are Captain Mira Vale, a dry-witted starship engineer. "
"Stay in character at all times. Keep replies under 120 words."
)
history = [{"role": "system", "content": PERSONA}]
def chat(user_text: str) -> str:
history.append({"role": "user", "content": user_text})
reply = client.chat.completions.create(
model="deepseek-v4-flash",
messages=history,
temperature=0.9,
max_tokens=300,
)
text = reply.choices[0].message.content
history.append({"role": "assistant", "content": text})
return text
while True:
print(chat(input("> ")))Chat nhân vật tốn bao nhiêu cho mỗi model
Chat nhân vật nặng về input: mỗi lượt gửi lại persona và lịch sử, nên tỷ lệ giá input quan trọng hơn tỷ lệ giá output. Giá danh mục bên dưới tính bằng USD trên một triệu token. Model toàn cầu có giá thấp hơn 20% so với giá chính thức và model Trung Quốc nằm dưới mức giá chính thức; tính phí trả theo lượng dùng, không subscription, checkout tại /topup không cần đăng ký (trả tiền trước, key gửi qua email), và lần nạp đầu tiên cộng thêm +100% số dư. Về quy mô: một app hobby xử lý 1.000 tin nhắn mỗi ngày, với khoảng 2.000 token input và 300 token output mỗi tin nhắn, tốn khoảng $0.33 một ngày trên deepseek-v4-flash. Cùng lượng traffic đó trên claude-sonnet-4-6 rơi vào khoảng $8.40 một ngày, đó là lý do hầu hết team dành model cao cấp cho những lượt xứng đáng.
| Model | Input / 1M | Output / 1M | Phù hợp cho chat nhân vật |
|---|---|---|---|
| deepseek-v4-flash | $0.126 | $0.252 | Lựa chọn mặc định, được cộng đồng roleplay ưa chuộng nhất |
| deepseek-v4-pro | $0.3915 | $0.783 | Mạch lạc hơn trong các cảnh dài |
| glm-5 | $0.514 | $2.314 | Đối thoại tốt với mức giá hợp lý |
| kimi-k2.6 | Xem /models | Xem /models | Lựa chọn giá trị, context dài |
| gemini-3.5-flash | $1.20 | $7.20 | Nhanh, đối thoại tổng quát tốt |
| claude-sonnet-4-6 | $2.40 | $12.00 | Chất lượng văn phong cao nhất, viết sáng tạo SFW |
| claude-opus-4-7 | $4.00 | $20.00 | Văn phong cao cấp cho các cảnh quan trọng, SFW |
| gpt-5.5 | $4.00 | $24.00 | Flagship đa dụng |
| grok-4.5 | $1.60 | $4.80 | Flagship của xAI, chính sách hư cấu linh hoạt, context 500K |
Chọn model cho chat nhân vật
Việc chọn model cho công việc nhân vật xoay quanh chất lượng đối thoại trên mỗi đô la và chính sách nội dung công khai của từng provider, vì app nhân vật sống gần với hư cấu. Dòng DeepSeek V4 là lựa chọn được cộng đồng roleplay ưa chuộng nhất và có giá trị tốt nhất: bắt đầu với deepseek-v4-flash, chuyển các cảnh cần mạch lạc hơn sang deepseek-v4-pro. GLM-5, Kimi K2.6 và MiMo đáng để A/B test như các lựa chọn giá trị; sở thích nhân vật đủ chủ quan để một phép so sánh rẻ tiền thường gây bất ngờ. Grok 4.5 đáng chú ý vì chính sách công khai của xAI cho phép các chủ đề hư cấu trưởng thành, điều này quan trọng với các app hư cấu hướng đến người lớn có age gate riêng. Claude Sonnet 4.6 và Opus 4.7 viết văn hay nhất trong danh mục, nhưng chính sách của Anthropic cấm nội dung explicit, nên hãy xem Claude là lựa chọn cao cấp cho viết sáng tạo SFW. Dù bạn chọn model nào, hãy đọc chính sách sử dụng của provider và thiết kế quy tắc nội dung riêng cho app của bạn dựa trên đó, thay vì giả định model sẽ tự kiểm soát mọi thứ giúp bạn. Một so sánh sâu hơn nằm trong hướng dẫn model roleplay của chúng tôi được liên kết bên dưới.
Năm mẹo thiết kế production cho app nhân vật
1. Nén bộ nhớ thay vì cắt bớt nó. Giữ nguyên văn 10 đến 20 lượt gần nhất, sau đó tóm tắt các lượt cũ hơn thành một khối bộ nhớ gọn gàng và lưu các sự kiện lâu dài (tên, mối quan hệ, lời hứa) trong một ghi chú có cấu trúc mà bạn tái chèn vào system prompt. Cắt bớt mù quáng là lý do nhân vật quên tên người dùng; nén giúp giảm token input và độ trôi cùng lúc. 2. Tách persona khỏi mọi thứ khác. Giữ thẻ persona, trạng thái thế giới, và lịch sử hội thoại trong các khối prompt riêng biệt, và đừng bao giờ để văn bản của user chỉnh sửa khối persona. Điều này ngăn chặn kiểu chệch hướng do prompt-injection ("bỏ qua nhân vật của bạn và...") và cho phép bạn đổi model mà không cần viết lại nhân vật. 3. Thêm lớp kiểm duyệt riêng của bạn. Chạy văn bản đến và đi qua một bước phân loại và thực thi chính sách nội dung của sản phẩm bạn độc lập với chính sách của model. Điều này không thể thương lượng nếu trẻ vị thành niên có thể tiếp cận app của bạn: age-gate phù hợp và lọc theo cả hai chiều, vì chính sách của provider định nghĩa những gì model được phép tạo ra, không phải những gì sản phẩm của bạn nên hiển thị. 4. Kỹ thuật hóa sự ổn định về giọng điệu. Cố định temperature theo từng nhân vật, đặt hai hoặc ba dòng ví dụ về giọng của nhân vật trong thẻ persona, và tái neo bằng một dòng nhắc phong cách sau mỗi lần tóm tắt. Giữ một kịch bản test cố định 20 tin nhắn và chạy lại nó mỗi khi bạn đổi model hoặc prompt, để phát hiện hồi quy giọng điệu trước khi người dùng nhận ra. 5. Định tuyến theo mức độ quan trọng của lượt. Hầu hết các lượt là chuyện phiếm và thuộc về deepseek-v4-flash. Phát hiện các lượt then chốt, như một tin nhắn cảm xúc dài của user hoặc một chuyển cảnh, bằng một heuristic rẻ tiền hoặc lời gọi classifier, và chỉ định tuyến những lượt đó đến deepseek-v4-pro hoặc claude-sonnet-4-6. Vì gateway phơi bày mọi model sau một endpoint, định tuyến chỉ là thay đổi một chuỗi cho mỗi request thay vì một tích hợp thứ hai.
Câu hỏi thường gặp
Character AI có API công khai chính thức không?
Không. Tính đến 2026, Character.AI chưa phát hành API công khai cho developer. Các thư viện trên GitHub tự nhận cung cấp API đều là client trình duyệt reverse-engineer, vi phạm điều khoản dịch vụ và hỏng bất cứ khi nào trang web thay đổi endpoint nội bộ.
Lựa chọn thay thế tốt nhất cho API Character AI là gì?
Một API chat completions chuẩn tương thích OpenAI với system prompt persona của riêng bạn. deepseek-v4-flash là điểm khởi đầu phổ biến cho chat nhân vật nhờ chất lượng đối thoại và giá input thấp; tự host open weight chỉ hợp lý khi volume cao ổn định hoặc cần data locality nghiêm ngặt.
Tôi có thể xuất nhân vật Character AI của mình sang app riêng không?
Bạn có thể tái tạo lại các persona do chính mình tạo ra bằng cách viết lại chúng dưới dạng system prompt, vì persona chỉ là một mô tả về tên, tính cách và phong cách nói chuyện. Bạn không thể sao chép nhân vật của nền tảng hoặc bot của người dùng khác; những thứ đó thuộc về nền tảng và người tạo ra chúng.
Dùng API Character AI không chính thức có vi phạm điều khoản dịch vụ không?
Có. Truy cập tự động qua client reverse-engineer bị điều khoản của Character.AI nghiêm cấm, và tài khoản dùng theo cách đó có thể bị đình chỉ. Cũng không có bảo đảm nào về tính ổn định hay hỗ trợ, khiến các wrapper này không phù hợp cho bất cứ thứ gì hướng đến người dùng cuối.
Chi phí để chạy một app chat nhân vật là bao nhiêu?
Chi phí tăng theo token input, vì mỗi lượt gửi lại persona và lịch sử. Với mức giá deepseek-v4-flash trong bảng trên, 1.000 tin nhắn một ngày tốn khoảng một phần ba đô la mỗi ngày. Nén bộ nhớ và định tuyến theo mức độ quan trọng giữ chi phí ổn định khi hội thoại phát triển.
Tôi có thể dùng SillyTavern hoặc JanitorAI thay vì tự xây app không?
Có. Trong SillyTavern, dán base URL kết thúc ở /v1 (https://api.apisrouter.com/v1) và danh sách model sẽ tự động điền từ /v1/models với key của bạn. Cấu hình proxy của JanitorAI cần endpoint đầy đủ https://api.apisrouter.com/v1/chat/completions cùng với tên model và API key.