여러 벤더 API 키를 따로 관리하기 번거롭다면, OpenRouter는 OpenAI 호환 엔드포인트 하나로 400개 이상 모델에 접근합니다. 비교표, failover, 실행 가능 코드, 6단계 설정, 요금 데이터, CLI 에이전트용 KVMNODE 클라우드 Mac Mini를 다룹니다.
01

OpenRouter란? 통합 LLM 게이트웨이

OpenRouter는 하나의 API 키와 OpenAI 호환 엔드포인트로 400개 이상 모델에 접근하는 통합 게이트웨이입니다. 이중 라우팅(model+provider), 자동 failover, 25개 이상 무료 모델을 제공합니다.

01

다중 벤더 키 관리 부담

02

SDK 파편화

03

단일 벤더 장애

04

무료 한도 50/1000회/일

05

토큰 markup 없음·BYOK 100만 회

02

OpenRouter vs 직접 API

항목OpenRouter직접 API
1개벤더별
지연+10–80ms낮음
장애내장 failover자체 구현

프로토타입·멀티모델 A/B에 적합합니다. 초대규모·전용 Batch API·극저지연·데이터 상주 요건에는 부적합합니다.

03

API 코드 예제

실행 가능한 예제입니다:

bash · cURL
curl https://openrouter.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $OPENROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "anthropic/claude-3.5-sonnet",
    "messages": [
      { "role": "user", "content": "用一句话解释什么是量子计算" }
    ]
  }'
Python · requests
import requests
import os

response = requests.post(
    url="https://openrouter.ai/api/v1/chat/completions",
    headers={
        "Authorization": f"Bearer {os.environ['OPENROUTER_API_KEY']}",
        "Content-Type": "application/json",
    },
    json={
        "model": "google/gemini-2.5-pro",
        "messages": [
            {"role": "user", "content": "帮我写一个快速排序的 Python 实现"}
        ],
    },
)
print(response.json()["choices"][0]["message"]["content"])
Python · OpenAI SDK
from openai import OpenAI
import os

client = OpenAI(
    base_url="https://openrouter.ai/api/v1",
    api_key=os.environ["OPENROUTER_API_KEY"],
)
completion = client.chat.completions.create(
    model="openai/gpt-4o",
    messages=[{"role": "user", "content": "Hello!"}],
    extra_headers={
        "HTTP-Referer": "https://kvmnode.com",
        "X-Title": "KVMNODE Blog Demo",
    },
)
print(completion.choices[0].message.content)
JavaScript · OpenAI SDK
import OpenAI from "openai";

const openai = new OpenAI({
  baseURL: "https://openrouter.ai/api/v1",
  apiKey: process.env.OPENROUTER_API_KEY,
});

const completion = await openai.chat.completions.create({
  model: "deepseek/deepseek-chat",
  messages: [{ role: "user", content: "Explain OpenRouter in one sentence" }],
});
console.log(completion.choices[0].message.content);
JavaScript · Streaming
const stream = await openai.chat.completions.create({
  model: "anthropic/claude-3.5-sonnet",
  messages: [{ role: "user", content: "写一首关于秋天的短诗" }],
  stream: true,
});
for await (const chunk of stream) {
  const content = chunk.choices[0]?.delta?.content;
  if (content) process.stdout.write(content);
}
JSON · Fallback routing
{
  "model": "anthropic/claude-3.5-sonnet",
  "models": [
    "anthropic/claude-3.5-sonnet",
    "openai/gpt-4o",
    "google/gemini-2.5-pro"
  ],
  "route": "fallback",
  "messages": [{ "role": "user", "content": "Hello" }]
}
bash · Models list
curl https://openrouter.ai/api/v1/models \
  -H "Authorization: Bearer $OPENROUTER_API_KEY"
04

6단계 설정 가이드

01

openrouter.ai 가입

02

API 키 생성

03

환경 변수 설정

04

첫 요청

05

스트리밍

06

fallback 구성

05

요금·SEO·KVMNODE 프로덕션

인용 가능 데이터 3건: 토큰 원가 전달·크레딧 5.5% / 미충전 50회/일·$10 이상 1000회/일·20회/분 / BYOK 월 100만 회 무료.

OpenRouter는 라우팅을 해결하지만 24/7 macOS 호스트는 별도입니다. KVMNODE 클라우드 Mac Mini — 가격, 주문, 고객 센터.