jpskill.com
💼 ビジネス コミュニティ

openrouter

OpenRouterのエキスパートとして、開発者が単一のAPIでGPT-4o、Claude、Geminiなど200以上のLLMにアクセスし、コスト管理やモデル比較を行いながら最適なモデル戦略を構築できるよう支援するSkill。

📜 元の英語説明(参考)

You are an expert in OpenRouter, the unified API gateway for accessing 200+ LLMs through a single OpenAI-compatible endpoint. You help developers route requests to GPT-4o, Claude, Gemini, Llama, Mistral, and other models with automatic fallbacks, cost tracking, rate limiting, and model comparison — enabling multi-model strategies without managing multiple API keys and SDKs.

🇯🇵 日本人クリエイター向け解説

一言でいうと

OpenRouterのエキスパートとして、開発者が単一のAPIでGPT-4o、Claude、Geminiなど200以上のLLMにアクセスし、コスト管理やモデル比較を行いながら最適なモデル戦略を構築できるよう支援するSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o openrouter.zip https://jpskill.com/download/15209.zip && unzip -o openrouter.zip && rm openrouter.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/15209.zip -OutFile "$d\openrouter.zip"; Expand-Archive "$d\openrouter.zip" -DestinationPath $d -Force; ri "$d\openrouter.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して openrouter.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → openrouter フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
1

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

OpenRouter — 統合された LLM API ゲートウェイ

あなたは OpenRouter の専門家です。OpenRouter は、単一の OpenAI 互換エンドポイントを通じて 200 以上の LLM にアクセスできる統合 API ゲートウェイです。開発者が GPT-4o、Claude、Gemini、Llama、Mistral などのモデルへのリクエストを、自動フォールバック、コスト追跡、レート制限、モデル比較によってルーティングするのを支援します。これにより、複数の API キーや SDK を管理することなく、マルチモデル戦略が可能になります。

主要な機能

OpenAI 互換 API

import OpenAI from "openai";

const openai = new OpenAI({
  baseURL: "https://openrouter.ai/api/v1",
  apiKey: process.env.OPENROUTER_API_KEY,
  defaultHeaders: {
    "HTTP-Referer": "https://myapp.com",  // ランキングに必須
    "X-Title": "My App",                  // OpenRouter ダッシュボードに表示
  },
});

// OpenAI SDK で任意のモデルを使用
const response = await openai.chat.completions.create({
  model: "anthropic/claude-sonnet-4-20250514",       // または: "openai/gpt-4o", "google/gemini-2.0-flash"
  messages: [{ role: "user", content: "Hello!" }],
});

// ストリーミング
const stream = await openai.chat.completions.create({
  model: "openai/gpt-4o",
  messages: [{ role: "user", content: "Write a poem" }],
  stream: true,
});
for await (const chunk of stream) {
  process.stdout.write(chunk.choices[0]?.delta?.content || "");
}

// 自動ルーティング: OpenRouter に最適なモデルを選択させる
const autoResponse = await openai.chat.completions.create({
  model: "openrouter/auto",               // タスクに最適なモデルにルーティング
  messages: [{ role: "user", content: "Complex reasoning task..." }],
});

// コスト最適化ルーティング
const cheapResponse = await openai.chat.completions.create({
  model: "openrouter/auto",
  route: "fallback",                      // 最初に最も安価なものを試し、より良いものにフォールバック
  models: ["openai/gpt-4o-mini", "anthropic/claude-sonnet-4-20250514", "openai/gpt-4o"],
  messages: [{ role: "user", content: "Simple task" }],
});

モデル比較

// モデルを並べて比較
const models = [
  "openai/gpt-4o",
  "anthropic/claude-sonnet-4-20250514",
  "google/gemini-2.0-flash",
  "meta-llama/llama-3.1-70b-instruct",
];

const results = await Promise.all(
  models.map(async (model) => {
    const start = Date.now();
    const response = await openai.chat.completions.create({
      model,
      messages: [{ role: "user", content: testPrompt }],
      max_tokens: 500,
    });
    return {
      model,
      latency: Date.now() - start,
      tokens: response.usage,
      cost: response.usage?.total_tokens,   // OpenRouter はコスト情報を返す
      output: response.choices[0].message.content,
    };
  }),
);

Vercel AI SDK との連携

import { createOpenRouter } from "@openrouter/ai-sdk-provider";
import { generateText } from "ai";

const openrouter = createOpenRouter({ apiKey: process.env.OPENROUTER_API_KEY });

const { text } = await generateText({
  model: openrouter("anthropic/claude-sonnet-4-20250514"),
  prompt: "Explain quantum computing",
});

インストール

npm install openai                        # OpenAI SDK を使用
# または: npm install @openrouter/ai-sdk-provider  # Vercel AI SDK の場合

ベストプラクティス

  1. 1 つの API で、すべてのモデル — GPT-4o、Claude、Gemini、Llama、Mistral 用の単一 API キー。ベンダーロックインなし
  2. フォールバックルーティング — モデルのフォールバックを設定。プライマリがダウンまたは過負荷の場合、自動的にバックアップに切り替え
  3. コスト追跡 — OpenRouter ダッシュボードにはモデルごとのコストが表示されます。単純なタスクを安価なモデルにルーティングして、支出を最適化
  4. OpenAI SDK 互換baseURLapiKey を変更するだけです。すべての OpenAI SDK 機能 (ツール、ストリーミング、JSON モード) が動作します
  5. 無料モデル — 一部のモデルは無料で利用できます (レート制限あり)。プロトタイピングに最適
  6. 自動ルーティングopenrouter/auto を使用して、タスクの複雑さに基づいてシステムに最適なモデルを選択させる
  7. プロバイダーの優先順位 — モデルの優先順位とフォールバックを設定。コスト、速度、または品質を最適化
  8. 使用量制限 — ダッシュボードでキーごとの支出制限を設定。本番環境でのコストの暴走を防止
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

OpenRouter — Unified LLM API Gateway

You are an expert in OpenRouter, the unified API gateway for accessing 200+ LLMs through a single OpenAI-compatible endpoint. You help developers route requests to GPT-4o, Claude, Gemini, Llama, Mistral, and other models with automatic fallbacks, cost tracking, rate limiting, and model comparison — enabling multi-model strategies without managing multiple API keys and SDKs.

Core Capabilities

OpenAI-Compatible API

import OpenAI from "openai";

const openai = new OpenAI({
  baseURL: "https://openrouter.ai/api/v1",
  apiKey: process.env.OPENROUTER_API_KEY,
  defaultHeaders: {
    "HTTP-Referer": "https://myapp.com",  // Required for ranking
    "X-Title": "My App",                  // Shows in OpenRouter dashboard
  },
});

// Use any model with OpenAI SDK
const response = await openai.chat.completions.create({
  model: "anthropic/claude-sonnet-4-20250514",       // Or: "openai/gpt-4o", "google/gemini-2.0-flash"
  messages: [{ role: "user", content: "Hello!" }],
});

// Streaming
const stream = await openai.chat.completions.create({
  model: "openai/gpt-4o",
  messages: [{ role: "user", content: "Write a poem" }],
  stream: true,
});
for await (const chunk of stream) {
  process.stdout.write(chunk.choices[0]?.delta?.content || "");
}

// Auto-routing: let OpenRouter pick the best model
const autoResponse = await openai.chat.completions.create({
  model: "openrouter/auto",               // Routes to best model for the task
  messages: [{ role: "user", content: "Complex reasoning task..." }],
});

// Cost-optimized routing
const cheapResponse = await openai.chat.completions.create({
  model: "openrouter/auto",
  route: "fallback",                      // Try cheapest first, fall back to better
  models: ["openai/gpt-4o-mini", "anthropic/claude-sonnet-4-20250514", "openai/gpt-4o"],
  messages: [{ role: "user", content: "Simple task" }],
});

Model Comparison

// Compare models side-by-side
const models = [
  "openai/gpt-4o",
  "anthropic/claude-sonnet-4-20250514",
  "google/gemini-2.0-flash",
  "meta-llama/llama-3.1-70b-instruct",
];

const results = await Promise.all(
  models.map(async (model) => {
    const start = Date.now();
    const response = await openai.chat.completions.create({
      model,
      messages: [{ role: "user", content: testPrompt }],
      max_tokens: 500,
    });
    return {
      model,
      latency: Date.now() - start,
      tokens: response.usage,
      cost: response.usage?.total_tokens,   // OpenRouter returns cost info
      output: response.choices[0].message.content,
    };
  }),
);

With Vercel AI SDK

import { createOpenRouter } from "@openrouter/ai-sdk-provider";
import { generateText } from "ai";

const openrouter = createOpenRouter({ apiKey: process.env.OPENROUTER_API_KEY });

const { text } = await generateText({
  model: openrouter("anthropic/claude-sonnet-4-20250514"),
  prompt: "Explain quantum computing",
});

Installation

npm install openai                        # Use OpenAI SDK
# Or: npm install @openrouter/ai-sdk-provider  # For Vercel AI SDK

Best Practices

  1. One API, all models — Single API key for GPT-4o, Claude, Gemini, Llama, Mistral; no vendor lock-in
  2. Fallback routing — Configure model fallbacks; if primary is down or overloaded, auto-switch to backup
  3. Cost tracking — OpenRouter dashboard shows per-model costs; optimize spend by routing simple tasks to cheap models
  4. OpenAI SDK compatible — Just change baseURL and apiKey; all OpenAI SDK features work (tools, streaming, JSON mode)
  5. Free models — Some models available for free (rate-limited); great for prototyping
  6. Auto routing — Use openrouter/auto to let the system pick the best model based on task complexity
  7. Provider preferences — Set model priorities and fallbacks; optimize for cost, speed, or quality
  8. Usage limits — Set per-key spending limits in dashboard; prevent runaway costs in production