TL;DR
- OpenRouter の
:freeモデルはレート制限付きだが API キー 1 本で複数モデルを無料試用できる - Claude Code の
ANTHROPIC_BASE_URLを差し替えるだけで OpenRouter 経由にルーティングできる - モデル別の強み・弱みを把握して用途別に使い分けるのがコスト最適化の鍵
背景:「AI 開発コストが高い」問題
LLM を開発フローに組み込むと、API コストが想定以上に膨らむことがある。特に以下の場面でコストが跳ねる。
- CI の自動レビュー (PR ごとに呼ばれる)
- ドキュメント自動生成 (コミット単位)
- バッチ処理での RAG クエリ (数百〜数千回/日)
2026年現在、OpenRouter では model-name:free サフィックスを付けるだけで複数の最新モデルが無料で使えるようになっている。レート制限 (20 req/min 程度) はあるが、個人開発・プロトタイピング・社内ツールのバッチ処理なら十分実用になる。
OpenRouter とは
OpenRouter は「LLM のリバースプロキシ」とも呼べるサービスで、1 本の API キーで OpenAI / Anthropic / Google / Meta / Mistral / Qwen など数十のモデルに統一フォーマット (OpenAI API 互換) でアクセスできる。
無料モデルの仕組み
- モデル名に
:freeを付けると 0 クレジットで実行できる - 裏側でモデルプロバイダーが「プロモーション枠」として提供しているケースが多い
-
:freeなしの同モデルは有料 (クレジット課金) - 制限: リクエスト上限 / コンテキスト上限がやや小さくなる場合がある
2026年5月時点で使えるおすすめ Free モデル 5 選
1. meta-llama/llama-4-maverick:free
| 項目 | 値 |
|---|---|
| コンテキスト | 131,072 tokens |
| 得意 | コード補完・技術 Q&A |
| 弱点 | 日本語は英語比で精度やや落ちる |
Meta の Llama 4 系列の中で最もバランスが良い。英語のコードレビューや実装補助なら Claude Sonnet に近い体験を 0 円で得られる。
# Python SDK (openai ライブラリ使用)
from openai import OpenAI
client = OpenAI(
base_url="https://openrouter.ai/api/v1",
api_key="sk-or-xxxx", # OpenRouter の API キー
)
response = client.chat.completions.create(
model="meta-llama/llama-4-maverick:free",
messages=[
{"role": "user", "content": "このPythonコードをリファクタリングして: ..."}
]
)
print(response.choices[0].message.content)
2. qwen/qwen3-235b-a22b:free
| 項目 | 値 |
|---|---|
| コンテキスト | 40,960 tokens |
| 得意 | 日本語・中国語・多言語対応 |
| 弱点 | コンテキスト上限がやや小さい |
Qwen3-235B は 日本語品質が際立って高い モデル。日本語ドキュメント生成、README 作成、和文コメント補完に特に向いている。235B という規模のモデルを無料で叩けるのは今だけかもしれない。
3. google/gemini-2.0-flash-exp:free
| 項目 | 値 |
|---|---|
| コンテキスト | 1,048,576 tokens (1M!) |
| 得意 | 超長文処理・コードベース一括解析 |
| 弱点 | 実験版のため出力が不安定な場合あり |
1M トークンのコンテキストを無料で使えるのは破格。大規模リポジトリを丸ごと流し込んで「このコードベースのアーキテクチャを説明して」といった使い方ができる。
4. mistralai/mistral-7b-instruct:free
| 項目 | 値 |
|---|---|
| コンテキスト | 32,768 tokens |
| 得意 | 軽量・低レイテンシ・JSON 出力の安定性 |
| 弱点 | 複雑な推論は大型モデルに劣る |
7B という軽量さゆえ レスポンスが速い。JSON 出力を要求する構造化タスク (ログの分類・チケット自動タグ付け等) での安定性が高く、高頻度バッチ処理に向いている。
response = client.chat.completions.create(
model="mistralai/mistral-7b-instruct:free",
messages=[
{
"role": "system",
"content": "You output only valid JSON. Schema: {\"category\": string, \"severity\": 1-5}"
},
{"role": "user", "content": log_line}
],
response_format={"type": "json_object"}
)
5. deepseek/deepseek-r1:free
| 項目 | 値 |
|---|---|
| コンテキスト | 163,840 tokens |
| 得意 | 数学・アルゴリズム・ステップバイステップ推論 |
| 弱点 | 思考トークンが長い (遅い) |
DeepSeek R1 は「考えてから答える」推論モデル。複雑なアルゴリズム実装・バグの根本原因分析・パフォーマンスボトルネック特定など、深い推論が必要なタスクに向く。レスポンスは遅めだが品質が高い。
Claude Code から OpenRouter を使う
Claude Code は ANTHROPIC_BASE_URL 環境変数でベース URL を切り替えられる。ただし Claude API 互換のエンドポイントが必要なため、OpenRouter の Claude ラッパーを経由する形になる。
# .env (ローカル開発用・本番には使わないこと)
ANTHROPIC_BASE_URL=https://openrouter.ai/api/v1/
ANTHROPIC_API_KEY=sk-or-xxxx
⚠️ 注意: Claude Code は Anthropic のネイティブモデル向けに最適化されているため、OpenAI 互換エンドポイントでは一部機能が動作しないことがある。ツール呼び出し (function calling) の互換性は必ずテストすること。
現実的な使い分けとしては、Claude Code 本体はそのまま Anthropic API を使い、Claude Code が呼び出す自作スクリプト・サブエージェント・バッチ処理の部分だけ OpenRouter Free モデルにルーティングするのがおすすめ。
用途別モデル使い分けマップ
┌─────────────────────────────────────────────────────────┐
│ タスク │ おすすめ Free モデル │
├─────────────────────────────────────────────────────────┤
│ 英語コードレビュー │ llama-4-maverick:free │
│ 日本語ドキュメント生成 │ qwen3-235b-a22b:free │
│ コードベース一括解析 │ gemini-2.0-flash-exp:free │
│ JSON 構造化出力バッチ │ mistral-7b-instruct:free │
│ アルゴリズム・数学推論 │ deepseek-r1:free │
└─────────────────────────────────────────────────────────┘
フォールバック戦略: Free → Paid への自動切り替え
:free モデルはレート制限に引っかかるとエラーになる。本番環境では フォールバック付きのラッパーを用意するのが定石。
import time
from openai import OpenAI, RateLimitError
MODELS = [
"qwen/qwen3-235b-a22b:free", # 第1優先: 無料
"meta-llama/llama-4-maverick:free", # 第2優先: 無料
"qwen/qwen3-235b-a22b", # フォールバック: 有料
]
def chat_with_fallback(messages: list[dict], client: OpenAI) -> str:
for model in MODELS:
try:
resp = client.chat.completions.create(
model=model,
messages=messages,
timeout=30,
)
return resp.choices[0].message.content
except RateLimitError:
print(f"[WARN] {model} rate limited, trying next...")
time.sleep(1)
raise RuntimeError("All models exhausted")
コスト試算: Free モデルでどのくらい節約できるか
仮定: PR マージ 1 件あたり平均 800 tokens 消費 / 月 500 PR の開発チーム
| シナリオ | モデル | 月額コスト試算 |
|---|---|---|
| 全件 GPT-4o |
gpt-4o (input $5/1M) |
約 $2 |
| 全件 Claude Sonnet | claude-sonnet-4-5 |
約 $1.5 |
| 全件 Free モデル | llama-4-maverick:free |
$0 |
| Free + 失敗時 Paid | ハイブリッド戦略 | 約 $0.1〜0.3 |
月 500 PR 規模では差額は数ドルだが、CI ジョブ・ドキュメント生成・バッチ RAGなどを含めると月間リクエスト数が 10 万件を超えることもある。そこで Free モデルを第1優先にするだけで月 $50〜200 規模の節約になる。
レート制限の実測値 (2026年5月時点)
⚠️ 以下は OpenRouter ダッシュボードのドキュメントおよびコミュニティの報告に基づく参考値。変動するため必ず最新のレート制限ページを確認すること。
参考: https://openrouter.ai/docs/limits
| モデル | req/min | req/day (概算) |
|---|---|---|
llama-4-maverick:free |
~20 | ~1,000 |
qwen3-235b-a22b:free |
~10 | ~500 |
gemini-2.0-flash-exp:free |
~15 | ~1,500 |
mistral-7b-instruct:free |
~20 | ~2,000 |
deepseek-r1:free |
~5 | ~300 |
バッチ処理では asyncio.Semaphore でリクエスト数を絞るのが必須。
import asyncio
from openai import AsyncOpenAI
sem = asyncio.Semaphore(5) # 同時実行数を制限
async def process_one(item: str, client: AsyncOpenAI) -> str:
async with sem:
resp = await client.chat.completions.create(
model="mistralai/mistral-7b-instruct:free",
messages=[{"role": "user", "content": item}],
)
await asyncio.sleep(0.3) # 余裕を持たせる
return resp.choices[0].message.content
まとめ
| ポイント | 内容 |
|---|---|
✅ OpenRouter :free は本物の無料 |
クレジットカード不要・0 円で最新 LLM を試せる |
| ✅ 用途別使い分けが重要 | 日本語は Qwen3・長文は Gemini・バッチは Mistral |
| ✅ フォールバック設計を忘れずに | レート制限時に有料モデルへ自動切り替え |
| ⚠️ :free は本番保証なし | SLA が必要なサービスは有料モデルを第1優先に |
コスト 0 円でここまでできる環境が整ってきた 2026 年。まずはローカルの開発ツールから Free モデルを試してみてほしい。
参考リンク
- OpenRouter 公式ドキュメント
- OpenRouter モデル一覧 (
:freeフィルタ付き) - OpenRouter レート制限ページ
- Meta Llama 4 リリースブログ
- Qwen3 技術レポート (Hugging Face)
- DeepSeek R1 論文 (arXiv)
✍️ 本記事の著者: 合同会社ジモラボ
ジモラボは、八王子を拠点に AI を活用した SaaS を多数開発しています。本記事の技術検証もそうした開発過程の副産物です。
- 🌐 公式サイト: https://locallab.jp
- 🔍 AI SEO 最適化 SaaS: lookupai.jp
- 📺 YouTube: @locallab_llc
- ✉️ お問い合わせ: info@locallab.jp
興味を持っていただけたら、ぜひ各 SNS のフォローもお願いします!