통합 LLM 게이트웨이 · 하나의 Key로 400+ 모델 · 라우팅 · 코드 예제 · 가격 및 선정
GPT, Claude, Gemini를 동시에 연동하는 개발자와 소규모 팀은 다중 벤더 Key 관리, SDK 차이, failover 수동 구현에 발목을 잡히는 경우가 많습니다. 본문은 OpenRouter 통합 LLM API 게이트웨이의 전체 연동 경로를 제공합니다. 하나의 Bearer Key로 70+ 제공자, 400+ 모델을 호출하며, 엔드포인트는 https://openrouter.ai/api/v1/chat/completions이고 OpenAI 호환이며 모델 명명은 vendor/model 형식입니다. 이중 라우팅 대조표, OpenRouter vs 직접 API 의사결정 매트릭스, 6단계 Runbook(가입 → Key → 환경 변수 → curl → SDK → fallback 체인), Python/Node 전체 코드 예제, 가격 및 25+ 무료 모델을 포함하며 OpenRouter 순위 및 모델 선정 장문과 상호 링크합니다.
OpenRouter는 본질적으로 통합 LLM API 게이트웨이(Unified LLM Gateway)입니다. API Key 하나만 유지하면 OpenAI 호환 프로토콜로 OpenAI, Anthropic, Google, DeepSeek 등 벤더 모델에 접근할 수 있으며, 벤더별 인증과 SDK 어댑터를 따로 작성할 필요가 없습니다. 마이그레이션을 결정하기 전에는 「다중 벤더 직접 연결」이 프로덕션에서 흔히 발생하는 다섯 가지 숨은 비용을 먼저 파악해야 합니다.
다중 Key 순환 비용: GPT, Claude, Gemini마다 별도 계정과 청구서가 필요하며, Key 유출 시 순환, 할당량 모니터링, 알림이 세 개의 콘솔에 분산되어 운영 면적이 기하급수적으로 커집니다.
SDK 방언 비용: 대부분 OpenAI 형식을 지원하지만 base_url, Header(Anthropic 버전 번호 등), 스트리밍 필드, tool call schema에 차이가 있어 Agent 프레임워크에서 모델을 바꿀 때마다 여러 곳을 수정해야 합니다.
Failover 수동 구현 비용: 주 모델이 429 또는 장애 시 재시도 체인, 지수 백오프, 예비 모델 매핑을 직접 작성해야 하며, 통합 라우팅 계층이 없으면 새 모델을 추가할 때마다 비즈니스 코드를 변경해야 합니다.
가격 대조 비용: 벤더마다 과금 단위, 캐시 할인, batch 규칙이 달라 FinOps에서 「동일 prompt를 다른 모델로 바꾸면 얼마나 비싸지는가」를 한 표로 비교하기 어렵습니다.
무료 할당량 분산 비용: 플랫폼마다 무료 tier 규칙이 다릅니다. OpenRouter는 25+ 무료 모델을 집계하고 할당량을 통합합니다(미충전 일 50회, $10 충전 후 일 1000회, 분당 20회). 다만 플랫폼 수수료와 BYOK 경계를 이해해야 합니다.
위 과제를 파악한 뒤 다음 절의 라우팅 메커니즘과 비교표를 대조하여 OpenRouter가 지연, 컴플라이언스, 호출 규모 가정에 맞는지 판단하시기 바랍니다.
OpenRouter 라우팅은 두 계층으로 나뉩니다. Model Routing(어떤 모델을 선택할지)과 Provider Routing(동일 모델을 어떤 백엔드 제공자가 처리할지)입니다. 이 두 계층을 이해하는 것이 failover 설정과 비용 제어의 전제입니다.
| 라우팅 계층 | 제어 필드 | 동작 설명 |
|---|---|---|
| Model Routing | 요청 본문 model 필드 | 구체 모델 ID(예: openai/gpt-4o) 또는 magic 값 openrouter/auto를 지정하면 플랫폼이 작업과 가격에 따라 자동 선정합니다 |
| Provider Routing | 요청 본문 provider 객체 | 동일 모델의 여러 백엔드 간 가격 가중 라우팅을 수행합니다. sort: "price" 설정, 특정 provider 제외, 낮은 지연 또는 특정 리전 선호가 가능합니다 |
| Auto Failover | 플랫폼 내장 + models 배열 | 주 모델을 사용할 수 없을 때 자동으로 대안을 시도합니다. 단일 요청에 fallback 모델 목록을 전달할 수도 있습니다 |
| 인증 | Authorization: Bearer YOUR_KEY | 통합 Bearer Token입니다. OpenAI SDK와 호환되며 base_url을 https://openrouter.ai/api/v1로 변경하기만 하면 됩니다 |
하나의 Key, 하나의 엔드포인트, 하나의 SDK 방언 — Model 계층은 「누가 답하는가」, Provider 계층은 「누가 처리하는가」를 선택합니다.
| 차원 | OpenRouter 통합 게이트웨이 | 직접 OpenAI / Anthropic / Google |
|---|---|---|
| Key 관리 | 하나의 Key로 400+ 모델 호출 | 벤더마다 별도 Key와 청구서 |
| 프로토콜 | OpenAI 호환 /v1/chat/completions | 각사 고유 엔드포인트, 일부 필드 비호환 |
| Failover | 내장 auto failover + fallback 체인 설정 가능 | 자체 재시도 및 예비 경로 로직 필요 |
| Token 가격 | 벤더 공시가 기준, token 마크업 없음 | 벤더 원가, 중간 계층 없음 |
| 플랫폼 수수료 | 충전 5.5%(최소 $0.80), crypto 5%, BYOK 월 100만 req까지 무료 | 게이트웨이 수수료 없음, BYOK 해당 없음 |
| 지연 | 추가 hop, 보통 +10–80ms | 직접 연결로 최저 지연 |
| 컴플라이언스 및 기능 | 데이터가 제3자 라우팅을 경유, 벤더 독점 beta 기능 사용 어려움 | 엔터프라이즈 DPA 체결 가능, 최신 vendor-only 기능 사용 가능 |
선정 시 OpenRouter 실제 호출 순위 및 모델 트렌드를 함께 참고하여 「개발자가 무엇을 쓰는가」와 「라우팅 전략」을 동일한 검토표에 배치하시기 바랍니다.
아래 6단계는 30분 이내에 첫 호출을 완료할 수 있습니다. 각 단계 산출물은 팀 README에 기록하여 신규 멤버 onboarding에 활용하시기 바랍니다.
계정 가입: openrouter.ai에 접속하여 GitHub 또는 이메일로 계정을 생성합니다.
API Key 생성: Keys 페이지에서 Key를 생성하고 즉시 복사합니다. 프로덕션 환경에서는 Git에 커밋하지 말고 비밀 관리 서비스에 보관하세요.
환경 변수 설정: export OPENROUTER_API_KEY="sk-or-..."로 설정하고 CI/CD와 로컬 .env에서 동일한 이름을 사용하세요.
첫 curl 검증: /v1/chat/completions에 POST를 보내 200 응답과 choices[0].message 구조를 확인합니다.
OpenAI SDK 설정: Python/Node에서 base_url을 OpenRouter로 지정하고, 선택적으로 HTTP-Referer와 X-Title을 추가하여 순위 통계에 참여할 수 있습니다.
fallback 체인 테스트: models 배열을 사용하거나 의도적으로 사용 불가 모델을 지정하여 auto failover가 예비 모델로 전환되는지 검증하고 로그를 기록하세요.
curl https://openrouter.ai/api/v1/chat/completions \
-H "Authorization: Bearer $OPENROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "openai/gpt-4o-mini",
"messages": [{"role": "user", "content": "Hello from OpenRouter"}]
}'
import os, requests
resp = requests.post(
"https://openrouter.ai/api/v1/chat/completions",
headers={
"Authorization": f"Bearer {os.environ['OPENROUTER_API_KEY']}",
"Content-Type": "application/json",
},
json={
"model": "anthropic/claude-sonnet-4",
"messages": [{"role": "user", "content": "Explain Model Routing vs Provider Routing"}],
},
)
print(resp.json()["choices"][0]["message"]["content"])
from openai import OpenAI
client = OpenAI(
base_url="https://openrouter.ai/api/v1",
api_key=os.environ["OPENROUTER_API_KEY"],
default_headers={
"HTTP-Referer": "https://your-app.example.com",
"X-Title": "My Agent App",
},
)
completion = client.chat.completions.create(
model="google/gemini-2.5-pro-preview",
messages=[{"role": "user", "content": "Summarize OpenRouter pricing"}],
)
print(completion.choices[0].message.content)
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://openrouter.ai/api/v1",
apiKey: process.env.OPENROUTER_API_KEY,
defaultHeaders: {
"HTTP-Referer": "https://your-app.example.com",
"X-Title": "My Agent App",
},
});
const res = await client.chat.completions.create({
model: "openai/gpt-4o",
messages: [{ role: "user", content: "Hello" }],
});
console.log(res.choices[0].message.content);
const stream = await client.chat.completions.create({
model: "anthropic/claude-sonnet-4",
messages: [{ role: "user", content: "Stream this response" }],
stream: true,
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content || "");
}
{
"model": "openai/gpt-4o",
"models": [
"openai/gpt-4o",
"anthropic/claude-sonnet-4",
"google/gemini-2.5-flash-preview"
],
"messages": [{"role": "user", "content": "If primary fails, try fallbacks"}]
}
curl https://openrouter.ai/api/v1/models \
-H "Authorization: Bearer $OPENROUTER_API_KEY" | jq '.data[] | {id, pricing}'
안내: 모델 ID는 vendor/model 형식으로 통일됩니다. openrouter/auto를 사용하면 플랫폼이 능력과 가격 사이를 자동 균형하며, 프로토타입 단계에 적합합니다.
OpenRouter의 핵심 약속은 token에 마크업하지 않는다는 것입니다. 각 모델 벤더 공개 가격을 지불하며, 플랫폼은 inference 단가가 아닌 충전 수수료와 BYOK 초과 수수료로 수익을 창출합니다.
지연 민감: 게이트웨이 hop은 보통 10–80ms 추가 오버헤드를 발생시킵니다. 초저지연 트레이딩, 실시간 음성은 직접 연결을 권장합니다.
초고 호출량: 일 수백만 회 호출 시 5.5% 충전 수수료와 라우팅 hop이 엔터프라이즈 직접 계약보다 불리할 수 있습니다.
강한 컴플라이언스: 금융, 의료 등 데이터가 제3자를 경유하면 안 되는 시나리오는 직접 연결 및 DPA 체결을 권장합니다.
벤더 독점 기능: Anthropic 최신 beta, OpenAI Assistants v2 등 vendor-only API가 필요하면 게이트웨이가 지연되거나 사용 불가할 수 있습니다.
주의: 무료 할당량과 요율은 OpenRouter 공식 사이트 기준입니다. 배포 전 staging Key로 24시간 부하 테스트하여 청구서와 속도 제한 동작을 검증하세요.
아래 수치는 기술 방안 또는 README에 직접 인용할 수 있으며, 출처는 OpenRouter 공식 문서 및 플랫폼 공개 데이터(2026년 7월)입니다.
vendor/model입니다.Agent 제품 또는 기술 블로그가 중영 개발자를 동시에 대상으로 한다면 OpenRouter류 API 문서 SEO는 단순 기계 번역이 아닌 아래 엔지니어링 관행을 적용해야 합니다.
hreflang을 상호 참조해야 합니다. 동일 URL에 두 언어를 혼합하면 Google이 duplicate로 판단할 수 있습니다.OpenRouter는 「다중 모델 API 통합 연동」 문제를 해결하지만, 로컬 개발기가 슬립, 시스템 업데이트, 프로세스 종료로 7×24 Agent, cron, webhook 콜백을 중단시키면 API Key가 아무리 안정적이어도 호스트 불안정으로 failover 체인이 공회전합니다. 노트북 뚜껑을 닫으면 OpenClaw, LangGraph 또는 자체 daemon의 SLA를 보장할 수 없으며, 순수 Linux VPS에는 Apple Silicon과 macOS 툴체인이 없습니다. 장기 상주 AI Agent 및 자동화 파이프라인이 필요하다면 VpsMesh Mac Mini 클라우드 렌탈이 일반적으로 더 나은 선택입니다. 전용 노드, 탄력적 임대 기간, 감사 가능한 환경으로 OpenRouter 라우팅 전략을 뚜껑을 닫지 않아도 7×24 온라인인 호스트에서 실행할 수 있습니다. 요금은 Mac Mini M4 대여 가격, 배포 문의는 고객 센터를 참고하세요.
모델 token은 각 벤더 공개가로 정산되며 token에 마크업하지 않습니다. 플랫폼 수익은 충전 수수료(5.5%, 최소 $0.80), crypto 5%, BYOK 초과 5%에서 발생합니다. Agent 호스트 비용을 API 청구와 함께 계획하려면 요금 페이지를 참고하세요.
엔드포인트 openrouter.ai는 대부분의 네트워크에서 직접 접근 가능합니다. 불안정하면 DNS/프록시를 확인하거나 BYOK를 사용하세요. 프로덕션 환경에서는 호출 주체를 안정적인 클라우드 노드에 배포하는 것을 권장하며, 고객 센터의 연결 안내를 참고하세요.
70+ 제공자, 400+ 모델을 집계하며 GPT, Claude, Gemini, DeepSeek, Llama 등을 포함합니다. 선정은 OpenRouter 순위 및 트렌드 장문을 참고하세요.
Bearer 인증과 BYOK를 지원합니다. 데이터는 OpenRouter를 경유하여 각 provider로 라우팅됩니다. 강한 컴플라이언스 시나리오는 제3자 게이트웨이가 DPA 요건을 충족하는지 평가하고, 필요 시 벤더 API를 직접 연결하세요.
OpenRouter는 다중 벤더 통합 게이트웨이이며 프로토콜은 OpenAI와 호환됩니다. OpenAI API는 OpenAI 모델만 제공합니다. 마이그레이션 시 base_url과 model만 변경하면 되며, 상세는 본문 Runbook을 참고하세요.
플랫폼은 25+ 무료 모델을 제공합니다. 미충전 일 50회, $10 충전 후 일 1000회, 속도 제한 분당 20회입니다. /v1/models에서 pricing.prompt: "0" 항목으로 필터링할 수 있습니다.
pip install openai를 권장하며, base_url="https://openrouter.ai/api/v1"과 환경 변수 OPENROUTER_API_KEY를 설정하세요. 또는 requests로 직접 POST할 수 있으며, 3절 코드 블록을 참고하세요.
마크업하지 않습니다. Token은 각 모델 벤더 공시가로 차감되며, 플랫폼은 충전 수수료와 BYOK 초과 수수료만 부과합니다. 대규모 호출 전 대시보드에서 직접 연결 총비용(5.5% 수수료 및 10–80ms 지연 trade-off 포함)을 비교하세요.