2026年、実際に使える Character AI API の代替

Updated 2026-07-15

Character.AI は公式の公開 API を提供していません。そのため GitHub で見つかる非公式のラッパーはよく壊れ、利用規約にも違反します。信頼できる方法は、OpenAI 互換ゲートウェイ、OpenRouter、あるいはセルフホスト型のオープンモデルを通じて標準的な LLM API を使い、その上に自分のペルソナ層を載せることです。

クイック回答: 公式の Character AI API は存在しません

Character.AI は、これまで一度も公開の開発者向け API を提供したことがありません。見つかる「Character AI API」ライブラリはどれも、ブラウザセッションを装ったリバースエンジニアリング製のクライアントです。こうしたラッパーはプラットフォームの利用規約に違反し、アカウント BAN を招き、サイトが内部エンドポイントを変更するたびに動かなくなります。 自分のアプリにキャラクターチャットを組み込みたいなら、代わりに標準的な chat completions API の上に構築しましょう。キャラクターの正体は、システムプロンプト(ペルソナカード)と、積み重なるメッセージ履歴、そしてサンプリング設定にすぎません。指示追従能力のあるモデルであればどれでもその役を演じられ、キャラクター・ユーザー・データの所有権はすべて自分の手元に残ります。 現実的な選択肢は3つあります。1つのキーで多数のモデルをまとめる OpenAI 互換ゲートウェイ、マルチプロバイダ型アグリゲーターの OpenRouter、そして自分の GPU で DeepSeek や GLM などのオープンウェイトをセルフホストする方法です。このガイドの残りでは、それぞれを比較し、動作する curl・Python・Node のコードを示し、キャラクターチャットを「よくある感じ」ではなく一貫した体験に仕上げるための本番運用の詳細を扱います。

非公式の Character AI ラッパーが行き止まりである理由

リバースエンジニアリング製のライブラリは、そもそもサードパーティ向けに作られていないプライベートエンドポイントをスクレイピングします。これには3つの実務的な弊害があります。 まず安定性です。Character.AI はいつでも内部ルートの名前を変え、ボット判定を追加し、認証フローを変更できます。そのたびに本番アプリは、予告もサポート窓口もないまま落ちます。次にアカウントのリスクです。偽のブラウザセッションを介した自動アクセスは、まさに利用規約が禁止していることであり、アプリを支えるアカウントは異議申し立ての機会なく停止されえます。最後に知的財産です。人気のコミュニティ製ボットを含め、プラットフォーム上のキャラクターはプラットフォームとその作者に帰属します。それらを商用プロダクトに流用することはできません。 スタックを自分で所有していれば、このどれも当てはまりません。システムプロンプトとして自分で書いたペルソナは自分のものです。公開された価格を持つ標準的な API 契約が一夜にして消えることもありません。「公式 API がない」ことは、ハックで回避すべきパズルではなく、設計上の制約として受け止めましょう。

3つの現実的な代替を比較する

どのルートも、利便性と制御のどちらを取るかというトレードオフです。APIsRouter のようなホスト型ゲートウェイは、DeepSeek・GLM・Kimi・Claude・Gemini・GPT・Grok の前段に立つ、1つの OpenAI 互換エンドポイント https://api.apisrouter.com/v1 を提供します。文字列を1つ変えるだけでキャラクターのモデルを切り替えられます。OpenRouter はコミュニティホスト型モデルのロングテールをカバーしており、幅広く実験したいときに便利です。セルフホストは、データのローカリティが必要な場合や、専用 GPU を正当化できるほど安定した大量トラフィックがある場合に有利です。

選択肢仕組み課金運用負荷向いているケース
OpenAI 互換ゲートウェイ(APIsRouter)多数のフロンティア/オープンモデルの前段に立つ、1つの /v1 エンドポイントと1つのキー従量課金、サブスク不要なし(フルホスト)キャラクターアプリを素早くリリースし、ターンごとにモデルを切り替えたい場合
OpenRouter多数のホスト型プロバイダにリクエストをルーティングするアグリゲータープロバイダごとの料金による従量課金なし(フルホスト)本格導入の前に、ニッチなコミュニティモデルを試したい場合
セルフホスト型オープンモデルvLLM や llama.cpp で DeepSeek や GLM のウェイトを自分で動かすトラフィックに関わらず固定の GPU コスト高い(提供・スケーリング・更新はすべて自分持ち)データのローカリティと、安定した大量トラフィック

キャラクターチャットアプリは実際どう動いているか

UI を取り払うと、キャラクターアプリは3つの要素からなるループです。ペルソナカードはシステムプロンプトに置かれ、名前・性格・話し方、そして「AI であることには絶対に触れない」といった固定ルールが含まれます。会話履歴は、ユーザーとアシスタントのメッセージが交互に連なる形で一緒に運ばれます。サンプリング設定、主に temperature が、キャラクターがどれくらい自由に役を演じるかを左右します。 以下は完全な最初のリクエストです。ペルソナはすべてシステムメッセージの中にあるため、同じパターンがカタログ内のどのモデルでも通用します。

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
  }'

Python と Node での最小限のチャットループ

アプリでは履歴をサーバー側に保持し、やり取りのたびに追記して、ターンごとにそのウィンドウを送り直します。エンドポイントは同じ契約に従うため、公式の OpenAI SDK はそのまま動きます。変わるのは base_url とキーだけです。以下の Python バージョンは完全に動作するループで、Node バージョンは 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("> ")))

モデルごとのキャラクターチャットのコスト

キャラクターチャットは入力トークンが重いワークロードです。ターンごとにペルソナと履歴を送り直すため、出力単価よりも入力単価の方が効いてきます。以下のカタログ価格は100万トークンあたりの米ドルです。グローバルモデルは公式価格より2割引きで、中国系モデルは公式レートを下回ります。課金は従量制でサブスクはなく、/topup での決済に会員登録は不要(先に支払うとメールでキーが届きます)、初回チャージには残高2倍のボーナスが付きます。 規模感の参考として、1日1,000メッセージ、1メッセージあたり入力約2,000トークン・出力約300トークンのホビーアプリなら、deepseek-v4-flash で1日あたり約$0.33です。同じトラフィックを claude-sonnet-4-6 で動かすと1日あたり約$8.40になります。だからこそ多くのチームは、それに見合うターンだけプレミアムモデルに回します。

MiMo もカタログで利用可能です。現行レートは /models を確認してください。
モデル入力 / 100万出力 / 100万キャラクターチャット適性
deepseek-v4-flash$0.126$0.252既定の選択肢、ロールプレイのコミュニティ人気モデル
deepseek-v4-pro$0.3915$0.783長いシーンでの一貫性がより強い
glm-5$0.514$2.314コスパの良い自然な対話
kimi-k2.6/models を参照/models を参照コスパの良い選択肢、長いコンテキスト
gemini-3.5-flash$1.20$7.20高速で良質な一般対話
claude-sonnet-4-6$2.40$12.00最高峰の文章品質、SFW な創作向け
claude-opus-4-7$4.00$20.00重要なシーン向けのプレミアムな文章、SFW
gpt-5.5$4.00$24.00汎用フラッグシップ
grok-4.5$1.60$4.80xAI のフラッグシップ、柔軟なフィクションポリシー、500Kコンテキスト

キャラクターチャット向けにモデルを選ぶ

キャラクター用途のモデル選びは、1ドルあたりの対話品質と、各プロバイダが公開しているコンテンツポリシーの両方が焦点になります。キャラクターアプリはフィクションに近い領域で動くからです。 DeepSeek V4 ファミリーはロールプレイのコミュニティで最も支持されており、コスパも最良です。まず deepseek-v4-flash から始め、より一貫性が必要なシーンは deepseek-v4-pro に回しましょう。GLM-5、Kimi K2.6、MiMo はコスパの良い選択肢として A/B テストする価値があります。キャラクターの好みはかなり主観的なので、安価な比較が意外な結果を生むこともよくあります。Grok 4.5 が候補に挙がるのは、xAI の公開ポリシーが成人向けのフィクションアプリで年齢確認を実施している場合に、成熟したフィクション表現を許容しているためです。Claude Sonnet 4.6 と Opus 4.7 はカタログ中で最高の文章を書きますが、Anthropic のポリシーは露骨な表現を禁じているため、Claude は SFW な創作向けのプレミアム選択肢として扱ってください。 どのモデルを選ぶにせよ、プロバイダの利用ポリシーを読み、モデルがすべてを取り締まってくれると想定せず、自分のアプリ側でもコンテンツルールを設計してください。より詳しい比較は下部リンクのロールプレイモデルガイドにあります。

キャラクターアプリのための5つの本番設計のコツ

1. 記憶は切り捨てず圧縮する。直近10〜20ターンはそのまま保持し、それより古いターンはコンパクトな記憶ブロックに要約し、永続的な事実(名前、関係性、約束)は構造化されたメモとしてシステムプロンプトに再注入するストレージに保存します。無造作な切り捨てが、キャラクターがユーザーの名前を忘れる原因です。圧縮なら入力トークンと記憶のズレを同時に減らせます。 2. ペルソナを他のすべてから分離する。ペルソナカード、世界観の状態、会話履歴を別々のプロンプトブロックに保ち、ユーザーのテキストがペルソナブロックを書き換えることは絶対に許さないでください。これにより「キャラクターを無視して〜」のようなプロンプトインジェクション的な脱線を防ぎ、キャラクターを書き直さずにモデルを入れ替えられます。 3. 自前のモデレーション層を追加する。受信・送信テキストを分類パスに通し、モデル側とは独立にプロダクト自身のコンテンツポリシーを適用してください。未成年がアプリに到達しうる場合、これは譲れません。適切に年齢確認を行い、双方向をフィルタしてください。プロバイダのポリシーはモデルが生成しうる範囲を定めるものであり、プロダクトが表示すべき範囲を定めるものではないからです。 4. トーンの安定性を設計する。キャラクターごとに temperature を固定し、ペルソナカードにキャラクターの口調の例文を2〜3行入れ、要約イベントのたびに1行のスタイルリマインダーで再アンカーしてください。固定の20メッセージのテストスクリプトを用意し、モデルやプロンプトを変更するたびに再生することで、ユーザーに気づかれる前にトーンの劣化を検知できます。 5. ターンの重要度でルーティングする。ほとんどのターンは他愛のない会話で、deepseek-v4-flash に任せて構いません。長い感情的なユーザーメッセージやシーン転換のような重要なターンを、安価なヒューリスティックや分類器呼び出しで検出し、それだけを deepseek-v4-pro や claude-sonnet-4-6 に回します。ゲートウェイがすべてのモデルを1つのエンドポイントの裏に公開しているため、ルーティングは第二の統合作業ではなく、リクエストごとの文字列1つの変更で済みます。

よくある質問

Character AI に公式の公開 API はありますか?

いいえ。2026年時点で Character.AI は公開の開発者向け API を公開していません。GitHub にある「提供している」ライブラリは、利用規約に違反するリバースエンジニアリング製のブラウザクライアントであり、サイトが内部エンドポイントを変更するたびに壊れます。

Character AI API の代替として最良のものは?

自分のペルソナをシステムプロンプトとして持つ、標準的な OpenAI 互換の chat completions API です。deepseek-v4-flash は、対話品質と低い入力価格からキャラクターチャットの一般的な出発点になっています。オープンウェイトのセルフホストは、安定した大量トラフィックや厳格なデータローカリティが必要な場合にのみ理にかなっています。

自分の Character AI のキャラクターを自分のアプリにエクスポートできますか?

自分が作成したペルソナは、名前・性格・話し方の記述にすぎないため、システムプロンプトとして書き直すことで再現できます。プラットフォーム上のキャラクターや他ユーザーのボットはコピーできません。それらはプラットフォームとその作者に帰属します。

非公式の Character AI API を使うのは利用規約違反ですか?

はい。リバースエンジニアリング製のクライアントを通じた自動アクセスは Character.AI の規約で禁止されており、そのように使われたアカウントは停止されえます。安定性やサポートの保証もないため、ユーザー向けの用途にはふさわしくありません。

キャラクターチャットアプリを運用するコストはどれくらいですか?

入力トークンに比例します。各ターンでペルソナと履歴を送り直すためです。上表の deepseek-v4-flash のレートで、1日1,000メッセージなら1日あたり1ドルの3分の1ほどです。記憶の圧縮と重要度ベースのルーティングにより、会話が増えてもコストは平坦に保てます。

自分でアプリを作る代わりに SillyTavern や JanitorAI を使えますか?

はい。SillyTavern では /v1 で終わるベース URL(https://api.apisrouter.com/v1)を貼り付ければ、キーを使って /v1/models からモデル一覧が自動で入ります。JanitorAI のプロキシ設定には、完全なエンドポイント https://api.apisrouter.com/v1/chat/completions とモデル名、API キーが必要です。