無料のLLM APIは各社に散らばり、SDKもレート制限もバラバラです。FreeLLMAPIは、16社以上の無料枠を1本のOpenAI互換APIに束ねるオープンソースのプロキシです。

この記事でわかること

  • FreeLLMAPIが解く課題とルーティングの仕組み
  • 対応プロバイダと主な機能
  • 導入手順と類似ツールとの違い

https://github.com/tashfeenahmed/freellmapi

FreeLLMAPIとは

FreeLLMAPIは、Google・Groq・Cerebras・NVIDIA・Mistral・OpenRouter・GitHub Models・Cohere・Cloudflare・HuggingFace・Z.ai(Zhipu)・Ollama Cloud・Kilo・Pollinations・LLM7・OpenCode Zenの16社の無料枠を束ねる、セルフホスト型のOpenAI互換プロキシです。加えて、llama.cppやLM Studio、vLLMなど任意のOpenAI互換エンドポイントも「custom」プロバイダとして登録できます。

公式READMEでは、各社の無料枠を合わせると月間およそ17億トークン、100以上のモデルに相当すると説明されています。MITライセンスで公開され、2026年4月にGitHubへ公開されてからスター数は9000を超えています。

なぜ必要か

主要なAIラボは無料枠を提供していますが、1社あたりの上限は小さく、SDKや認証方式も異なります。複数社を併用すると、レート制限の管理や障害時の切り替えが手作業になります。

FreeLLMAPIはこの手間をプロキシ層に寄せます。アプリ側はOpenAI SDKのbase_urlをローカルのFreeLLMAPIに向けるだけで、裏側のプロバイダ切り替えはルーターが担います。

主な機能

OpenAI互換のAPI

POST /v1/chat/completionsGET /v1/modelsに対応し、LangChainやContinueなどOpenAI互換クライアントからそのまま使えます。Codex CLI向けのPOST /v1/responsesや、埋め込み用の/v1/embeddings、ツール呼び出し(function calling)にも対応しています。ストリーミングと非ストリーミングの両方を扱います。

自動ルーティングとフェイルオーバー

ルーターは優先度の高いモデルから、健全なキーかつレート制限内の候補を選びます。429・5xx・タイムアウトが返るとキーを短時間クールダウンし、フォールバックチェーンの次候補へ切り替えます。最大20回まで再試行します。

レート制限の可視化

キーごとにRPM(分あたりリクエスト)、RPD(日あたりリクエスト)、TPM(分あたりトークン)、TPD(日あたりトークン)を追跡し、上限に達する前に別キーや別プロバイダへ振り分けます。

その他の運用機能

APIキーはAES-256-GCMで暗号化してSQLiteに保存します。クライアント向けにはfreellmapi-で始まる統一APIキーを発行し、上流プロバイダのキーをアプリに渡す必要はありません。マルチターン会話では30分間同じモデルに固定するスティッキーセッションを使い、会話途中のモデル切り替えによる品質低下を抑えます。React製の管理画面でキー登録、フォールバック順の並べ替え、利用分析、プレイグラウンドが使えます。

導入手順

Dockerが最も手軽です。公式のインストールスクリプトを実行するか、リポジトリをクローンしてdocker compose up -dで起動します。デフォルトではポート3001でAPIとダッシュボードが立ち上がります。

起動後は管理画面(http://localhost:3001)で各プロバイダのAPIキーを登録し、フォールバックチェーンを調整します。Keysページから統一APIキーを取得し、OpenAI SDKのbase_urlhttp://localhost:3001/v1に設定します。

from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:3001/v1",
    api_key="freellmapi-your-unified-key",
)

resp = client.chat.completions.create(
    model="auto",
    messages=[{"role": "user", "content": "こんにちは"}],
)

modelautoを指定するとルーターが利用可能なモデルを選びます。gemini-2.5-flashのように明示指定も可能です。レスポンスヘッダのx-routed-viaで実際に使われたプロバイダを確認できます。

Node.js 20以上があればnpm run devでローカル開発もできます。Windows・macOS・Linuxに加え、Raspberry PiなどのARMボードでも動作します。

料金

FreeLLMAPI本体は無料のオープンソースです。推論コストは各プロバイダの無料枠に依存し、FreeLLMAPIがホスト型の共有APIを提供するわけではありません。自分のマシンまたはサーバーで動かし、自分のAPIキーを登録して使います。

類似ツールとの違い

同種のOSSは複数あります。MrFadiAi/free-llm-gatewayは24社以上のプロバイダと260以上のモデルに対応し、ラウンドロビンやペナルティ付きルーティングを備えます。Free-WayはOpenAI互換に加えAnthropic互換の/v1/messagesも提供し、Claude Codeなどのコーディングエージェント向けです。LiteLLMは100社超のプロバイダを扱う汎用プロキシとして広く使われています。

FreeLLMAPIの特徴は、無料枠16社に絞った設計と、月17億トークン規模の無料枠集約を前面に出したルーティング・レート追跡・ダッシュボードの一体提供にあります。各プロバイダの利用規約レビューもREADMEにまとめられており、個人実験用途に向けた注意書きが明確です。

使う前に知っておきたい制約

公式は「個人の実験・学習向けであり、本番用途ではない」と明記しています。無料枠のモデルはLlama 3.3 70BやGemini 2.5 Proクラスが上限で、GPT-5やClaude Opus級の推論は期待できません。日が進むと上位モデルが上限に達し、ルーターは下位モデルへ落ちるため、1日のうちに体感品質が下がります。プロバイダ側の無料枠変更もあり得るため、SLAはありません。

マルチテナント認証はなく、単一ユーザー向けのローカルファースト設計です。インターネットへ公開する場合は統一APIキーだけが防壁になるため、信頼できるネットワーク内での利用が推奨されます。Cohereは個人利用を禁じる条項があるため、READMEでは利用回避を推奨しています。

本番サービスを作る段階では、有料APIへ切り替える前提でプロトタイプに使うのが現実的です。無料枠を束ねる発想そのものは、個人開発者が複数社の無料枠を無駄なく使ううえで有効な選択肢になります。