0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Code × OpenRouter Free モデル:コスト0円で始めるAIコーディング環境の作り方5ステップ

0
Posted at

TL;DR

  • OpenRouter の :free モデルは商用利用可・レート制限付きで完全無料
  • ANTHROPIC_API_KEY を差し替えるだけで Claude Code のバックエンドを切り替えられる
  • Qwen3 / Gemini 2.0 Flash / Llama 4 など、2026年時点で有力モデルが揃っている
  • 費用ゼロのまま「AIペアプログラミング」を試せる最速ルートを紹介する

背景

Claude Code(旧 claude-code CLI)は Anthropic の公式 CLI であり、ターミナルから直接 Claude と対話しながらコーディングを進められるツールだ。

しかし Anthropic の従量課金 を気にして導入をためらっているエンジニアも多い。

OpenRouter はさまざまな LLM プロバイダーへの統一 API ゲートウェイで、model_name:free という形式でモデルを指定すると、レート制限の範囲内で無料利用できる。

Claude Code は内部で OpenAI 互換 API を話すため、OpenRouter を中継すればAnthropic の API キーなしで起動できる。本記事ではその手順を5ステップで解説する。

注意: OpenRouter の :free tier はレート制限が厳しく(1分あたり数十リクエスト程度)、本番自動化には向かない。個人学習・プロトタイピング用途を想定している。


前提環境

項目 バージョン / 備考
OS macOS 14 / Ubuntu 22.04 LTS
Node.js 20 以上
Claude Code CLI 最新版(npm でインストール)
OpenRouter アカウント 無料登録のみ

ステップ1: Claude Code CLI のインストール

npm install -g @anthropic-ai/claude-code

インストール後、バージョン確認:

claude --version
# claude-code/x.x.x

ステップ2: OpenRouter アカウントを作成してAPIキーを取得

  1. openrouter.ai にアクセスし、GitHub / Google アカウントでサインアップ
  2. ダッシュボード → Keys → Create Key をクリック
  3. キー名(例: claude-code-dev)を入力して生成
  4. 表示された sk-or-v1-xxxx... をコピーしてメモ帳等に保存

無料枠の確認方法:
Models ページで Free バッジのあるモデルを選ぶ。2026年時点で :free 対応の主要モデルは以下:

モデル 特徴
qwen/qwen3-8b:free 軽量・高速・コード生成得意
google/gemini-2.0-flash-exp:free Google 製・マルチモーダル対応
meta-llama/llama-4-scout:free Meta 製・長コンテキスト
mistralai/mistral-7b-instruct:free ヨーロッパ産・安定した出力

:free モデルの最新一覧は https://openrouter.ai/models?q=free で確認できる。ラインナップは随時変わる。


ステップ3: 環境変数の設定

Claude Code は ANTHROPIC_BASE_URL と ANTHROPIC_API_KEY を参照する。OpenRouter に向けるには以下を設定する。

bash / zsh の場合

# ~/.bashrc または ~/.zshrc に追記
export ANTHROPIC_BASE_URL="https://openrouter.ai/api/v1"
export ANTHROPIC_API_KEY="sk-or-v1-ここにOpenRouterのキー"
source ~/.zshrc

Fish shell の場合

set -Ux ANTHROPIC_BASE_URL "https://openrouter.ai/api/v1"
set -Ux ANTHROPIC_API_KEY "sk-or-v1-ここにOpenRouterのキー"

direnv を使ってプロジェクト単位で切り替える場合

プロジェクトルートに .envrc を作成:

export ANTHROPIC_BASE_URL="https://openrouter.ai/api/v1"
export ANTHROPIC_API_KEY="sk-or-v1-ここにOpenRouterのキー"
direnv allow .

これで cd したときだけ OpenRouter に切り替わる。Anthropic 本家を使うプロジェクトとの混在が管理しやすくなる。


ステップ4: モデルを指定して起動

Claude Code でモデルを指定する方法は2通りある。

方法A: 起動時フラグ

claude --model "qwen/qwen3-8b:free"

方法B: プロジェクト設定ファイル(推奨)

プロジェクトルートに claude.json(または .claude/settings.json)を置く:

{
  "model": "qwen/qwen3-8b:free"
}

こうすると claude コマンドだけで自動的に指定モデルで起動する。

動作確認

claude
✓ Connected to OpenRouter (qwen/qwen3-8b:free)
> Hello! Write a Python function that reverses a string.

正常に応答が返れば設定完了だ。


ステップ5: 実用的な使い方パターン

パターンA: コードレビューさせる

# 既存ファイルを渡してレビュー
claude "このファイルのコードをレビューして改善点を教えて" < src/utils.ts

パターンB: テスト生成

cat src/calculator.ts | claude "このコードに対する Jest テストを書いて"

パターンC: リファクタリング提案

claude "src/api/handler.ts を読んで、エラーハンドリングを改善するリファクタリング案を出して"

パターンD: コミットメッセージの自動生成

git diff --staged | claude "この diff に対する Conventional Commits 形式のコミットメッセージを書いて"

レート制限への対処法

:free モデルは 429 Too Many Requests が頻繁に起きる。対処策を3つ挙げる。

1. exponential backoff を自前で挟む(bash)

retry_claude() {
  local max=5
  local delay=2
  for i in $(seq 1 $max); do
    claude "$@" && return 0
    echo "Retry $i/$max in ${delay}s..."
    sleep $delay
    delay=$((delay * 2))
  done
  echo "All retries failed."
  return 1
}

2. モデルをフォールバックリストで回す

OpenRouter の API は models 配列を受け付けるが、Claude Code CLI 経由では直接指定できない。代わりに モデル名をシェルスクリプトで順番に試す実装が現実的:

MODELS=(
  "qwen/qwen3-8b:free"
  "google/gemini-2.0-flash-exp:free"
  "meta-llama/llama-4-scout:free"
)

for model in "${MODELS[@]}"; do
  export ANTHROPIC_MODEL="$model"
  result=$(claude "$@" 2>&1)
  if echo "$result" | grep -qv "429"; then
    echo "$result"
    break
  fi
done

3. 有料モデルと混合運用

個人の学習・調査目的は :free で、重要なコード生成は claude-sonnet-4-5(Anthropic 直接課金)に切り替える運用が現実的だ。.envrc でプロジェクトごとに分ける前述のアプローチが効く。


トラブルシューティング

Authentication error が出る

  • ANTHROPIC_API_KEY が OpenRouter の sk-or-v1- 形式になっているか確認
  • Anthropic の sk-ant- 形式のキーは OpenRouter では使えない

Model not found が出る

  • OpenRouter のモデル名は大文字小文字を区別する
  • https://openrouter.ai/models で正確なスラッグを確認する
  • :free サフィックスを忘れずに

日本語の出力が乱れる

Qwen3 系モデルは日本語が得意だが、システムプロンプトが英語だと応答が英語になることがある。

claude --system "あなたは日本語で回答するAIアシスタントです。" "コードのバグを見つけて"

まとめ

ステップ 作業内容
1 Claude Code CLI を npm でインストール
2 OpenRouter アカウントを作成・APIキー取得
3 ANTHROPIC_BASE_URL を OpenRouter に向ける
4 --model フラグまたは設定ファイルでモデルを指定
5 レート制限対策を入れて実用的に使う

OpenRouter の :free モデルはレート制限があるものの、1円も払わずにAIペアプログラミングを体験できる最短ルートだ。コスト感覚をつかんだうえで有料プランに移行するのが、無駄のない導入フローといえる。


参考リンク


✍️ 本記事の著者: 合同会社ジモラボ

ジモラボは、八王子を拠点に AI を活用した SaaS を多数開発しています。本記事の技術検証もそうした開発過程の副産物です。

興味を持っていただけたら、ぜひ各 SNS のフォローもお願いします!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?