여러 벤더 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 — 가격, 주문, 고객 센터.