TL;DR
- Claude Code の
ANTHROPIC_API_KEYを差し替えるだけで OpenRouter 経由の無料モデルが使える -
claude --modelフラグで Qwen3・Gemini Flash・Llama4 等に即切り替え可能 - 無料枠のレート制限を回避する 3 つのローテーション戦略を紹介
- 月間コスト: $0 (無料モデルのみ使用時)
背景
AI コーディングアシスタントの費用は、個人開発者や小規模チームにとって無視できないコストになりつつある。Claude Code は強力だが、claude.ai Pro サブスク ($20/月〜) + API 従量課金がかかる構成が一般的だ。
ところが、OpenRouter には google/gemini-flash-1.5-8b:free や qwen/qwen3-235b-a22b:free など :free サフィックスのついた無料モデル が多数存在する。Claude Code はカスタムエンドポイントを設定できるため、これらを組み合わせると ゼロコストのAI開発環境 が実現できる。
本記事では、実際の設定手順・モデル選定指針・レート制限への対処法を解説する。
前提環境
| 項目 | バージョン / 条件 |
|---|---|
| Claude Code | v1.x (npm: @anthropic-ai/claude-code) |
| Node.js | 18+ |
| OpenRouter アカウント | 無料登録 (https://openrouter.ai) |
| OS | macOS / Linux / WSL2 |
1. OpenRouter の基本構造を理解する
OpenRouter は OpenAI 互換 API として機能するプロキシサービスだ。エンドポイントは以下の通り:
Base URL: https://openrouter.ai/api/v1
認証: Authorization: Bearer sk-or-v1-xxxx
モデル: provider/model-name:variant
無料モデルには :free サフィックスがつく。2026年5月時点で主要な無料モデルは以下:
| モデル ID | 特徴 | コンテキスト |
|---|---|---|
google/gemini-flash-1.5-8b:free |
高速・軽量・コード補完向き | 1M tokens |
google/gemini-2.0-flash-exp:free |
Gemini 2.0 系・マルチモーダル | 1M tokens |
qwen/qwen3-235b-a22b:free |
超大規模・コード生成高精度 | 128K tokens |
meta-llama/llama-4-scout:free |
Meta 最新・指示追従性高い | 512K tokens |
mistralai/mistral-small-3.1-24b-instruct:free |
Mistral 軽量・低遅延 | 128K tokens |
注意: 無料モデルは利用可能状況が変動するため、
https://openrouter.ai/models?order=newest&supported_parameters=freeで最新リストを確認すること。
2. Claude Code のカスタムエンドポイント設定
Claude Code は環境変数で Anthropic API の向き先を変更できる。
2-1. 基本設定 (シェル設定ファイルへ追記)
# ~/.bashrc or ~/.zshrc
# OpenRouter API キー (openrouter.ai で発行)
export ANTHROPIC_API_KEY="sk-or-v1-<YOUR_OPENROUTER_KEY>"
# Anthropic API の向き先を OpenRouter に変更
export ANTHROPIC_BASE_URL="https://openrouter.ai/api/v1"
# デフォルトモデルを無料モデルに設定
export CLAUDE_MODEL="google/gemini-flash-1.5-8b:free"
source ~/.zshrc
2-2. 動作確認
claude --model "google/gemini-flash-1.5-8b:free" "Hello, what model are you?"
正常に応答が返れば設定完了だ。
2-3. プロジェクト固有設定 (direnv を使う方法)
複数プロジェクトでモデルを使い分けたい場合は direnv が便利:
# プロジェクトルートに .envrc を作成
cat > .envrc << 'EOF'
export ANTHROPIC_API_KEY="sk-or-v1-<YOUR_OPENROUTER_KEY>"
export ANTHROPIC_BASE_URL="https://openrouter.ai/api/v1"
export CLAUDE_MODEL="qwen/qwen3-235b-a22b:free"
EOF
direnv allow .
3. 無料モデルの3つの限界と対処法
無料モデルには制約がある。現実的な運用のために把握しておこう。
制約1: レート制限 (RPM/RPD)
無料モデルは多くの場合 20 RPM (Requests Per Minute)・200 RPD (Requests Per Day) 程度の制限がある。
対処: 指数バックオフを挟んだシェル wrapper
#!/bin/bash
# claude-free.sh: レート制限に引っかかったら自動リトライ
MAX_RETRIES=5
RETRY_DELAY=10
for i in $(seq 1 $MAX_RETRIES); do
OUTPUT=$(claude "$@" 2>&1)
EXIT_CODE=$?
if echo "$OUTPUT" | grep -q "rate_limit\|429\|Too Many Requests"; then
echo "[claude-free] Rate limited. Waiting ${RETRY_DELAY}s... (attempt $i/$MAX_RETRIES)"
sleep $RETRY_DELAY
RETRY_DELAY=$((RETRY_DELAY * 2)) # 指数バックオフ
else
echo "$OUTPUT"
exit $EXIT_CODE
fi
done
echo "[claude-free] Max retries exceeded."
exit 1
chmod +x claude-free.sh
alias claude="~/scripts/claude-free.sh"
制約2: コンテキスト長の制限
Qwen3-235b は 128K tokens だが、大規模なコードベースでは足りない場合がある。
対処: .claudeignore でコンテキストを削減
# .claudeignore
node_modules/
dist/
build/
*.lock
*.log
.git/
coverage/
プロジェクトルートに置くだけで、Claude Code が自動的に除外してくれる。
制約3: モデルの稼働率 (uptime)
無料モデルは時間帯によってプロバイダが混雑し、タイムアウトが増える。
対処: モデルローテーションスクリプト
#!/bin/bash
# rotate-model.sh: 失敗したら次の無料モデルを試す
MODELS=(
"google/gemini-flash-1.5-8b:free"
"google/gemini-2.0-flash-exp:free"
"qwen/qwen3-235b-a22b:free"
"meta-llama/llama-4-scout:free"
"mistralai/mistral-small-3.1-24b-instruct:free"
)
for MODEL in "${MODELS[@]}"; do
echo "[rotate] Trying model: $MODEL"
OUTPUT=$(claude --model "$MODEL" "$@" 2>&1)
EXIT_CODE=$?
if [ $EXIT_CODE -eq 0 ] && ! echo "$OUTPUT" | grep -q "error\|Error"; then
echo "$OUTPUT"
exit 0
fi
echo "[rotate] $MODEL failed, switching..."
sleep 2
done
echo "[rotate] All free models failed."
exit 1
4. 用途別モデル選定ガイド
すべての無料モデルが万能なわけではない。用途に応じて使い分けると品質が上がる。
4-1. コード補完・ファイル編集 → Gemini Flash 1.5 8B
レスポンスが速く、sed/awk レベルの短いコード修正に適している。Claude Code で最も頻繁に呼ばれる「diff 生成」タスクに向く。
export CLAUDE_MODEL="google/gemini-flash-1.5-8b:free"
claude "このファイルの console.log を全部削除して"
4-2. 設計・アーキテクチャ相談 → Qwen3-235B
大規模モデルで推論品質が高い。「このコードをどう設計し直すか」「このアルゴリズムの時間計算量は」といった思考を要するタスクに向く。
export CLAUDE_MODEL="qwen/qwen3-235b-a22b:free"
claude "このReactコンポーネントをatomic design に沿って分割する設計案を出して"
4-3. 長文コード生成・複雑なリファクタ → Llama 4 Scout
512K tokens の長いコンテキストが活きる。リポジトリ全体を読み込ませて「全体最適なリファクタリング案」を出させる用途に向く。
export CLAUDE_MODEL="meta-llama/llama-4-scout:free"
claude "src/ 以下を全部読んで依存関係の問題点を列挙して"
5. CLAUDE.md でモデル選定ヒントを自動化する
プロジェクトルートに CLAUDE.md を置くと、Claude Code がセッション開始時に読み込む。ここにモデル選定指示を書いておくと、AI 自身が適切なモデルを選ぶ補助になる。
# Project: my-app
## AI 開発ルール
- 軽微な編集・フォーマット修正: Gemini Flash 8B を推奨
- 設計・レビュー・説明: Qwen3-235B を推奨
- 大規模コードベース走査: Llama4 Scout を推奨
- 有料モデル (claude-3-5-sonnet 等) は重要な判断のみ使用
## コーディング規約
- TypeScript strict mode
- コメントは日本語
- テストは Vitest
結果: コスト比較
| 構成 | 月額目安 |
|---|---|
| Claude Pro + API 従量 | $20〜$80 |
| OpenAI GPT-4o 従量 (中規模利用) | $15〜$50 |
| OpenRouter 無料モデルのみ | $0 |
| OpenRouter 無料 + 有料モデル混在 | $1〜$10 (重要タスクのみ課金) |
まとめ
-
ANTHROPIC_BASE_URLをhttps://openrouter.ai/api/v1に向けるだけで Claude Code が OpenRouter 経由で動く -
:freeサフィックス付きモデルで 月0円 のAI開発環境が実現できる - レート制限には指数バックオフ wrapper + モデルローテーションで対応
- 用途別に Gemini Flash (速度) / Qwen3-235B (品質) / Llama4 (長文) を使い分ける
- 本番ユースや重要な判断だけ有料モデルにフォールバックする ハイブリッド戦略 が現実解
無料モデルの品質は2026年時点で実用レベルに達しており、ボイラープレートの生成・テストの追記・小規模リファクタリングであれば有料モデルと遜色ない。まずは設定 10 分で試してみてほしい。
参考リンク
✍️ 本記事の著者: 合同会社ジモラボ
ジモラボは、八王子を拠点に AI を活用した SaaS を多数開発しています。本記事の技術検証もそうした開発過程の副産物です。
- 🌐 公式サイト: https://locallab.jp
- 🔍 AI SEO 最適化 SaaS: lookupai.jp
- 📺 YouTube: @locallab_llc
- ✉️ お問い合わせ: info@locallab.jp
興味を持っていただけたら、ぜひ各 SNS のフォローもお願いします!