
이 글에서 다루는 내용
OpenRouter가 정확히 무엇이고 어떤 식으로 동작하는지, 가격은 어떻게 매겨지는지, 무료 티어는 어디까지 쓸 수 있는지, 그리고 직접 호출 대비 언제 유리하고 언제 불리한지를 한 번에 정리합니다. 마지막에 API 키 발급부터 첫 호출까지 5분 안에 끝나는 시작 가이드를 붙였습니다. 후속 글에서 이 OpenRouter를 Claude Code에 직접 연결해 비용을 절반 이하로 떨어뜨리는 방법을 다룰 예정입니다. 기준 시점은 2026년 4월입니다.
1. OpenRouter란 무엇인가
OpenRouter는 500개 이상의 AI 모델을 단 하나의 API 키와 하나의 엔드포인트로 호출할 수 있게 해주는 중개 게이트웨이입니다. 평소엔 각 회사의 API 키와 SDK를 따로 발급받고 관리해야 하는 모델들을 한 자리에 모아 둔 일종의 메타 API라고 보면 됩니다.
지원하는 주요 제공자는 다음과 같습니다.
- Anthropic (Claude 시리즈)
- OpenAI (GPT 시리즈)
- Google (Gemini)
- DeepSeek, Mistral, Meta(Llama), xAI(Grok), MiniMax, Qwen 등
모델을 바꿀 때 코드는 그대로 두고 모델 이름 한 줄만 교체하면 됩니다. SDK·키·청구를 새로 세팅할 필요가 없습니다.
2. 어떻게 동작하는가
구조는 단순합니다. 클라이언트가 OpenRouter로 요청을 보내면, OpenRouter가 그 요청을 실제 모델 제공자에게 다시 보낸 뒤 응답을 가져와 사용자에게 돌려줍니다.
[내 앱]
│ POST https://openrouter.ai/api/v1/chat/completions
▼
[OpenRouter]
│ 실제 제공자 선택, 폴백, 인증, 청구 관리
▼
[Anthropic | OpenAI | Google | ... ]
│ 응답
▼
[OpenRouter] → 응답 가공 후 클라이언트에 전달
중요한 점이 두 가지입니다. 첫째, API 형식이 OpenAI 호환이라 기존 OpenAI SDK 코드를 거의 그대로 재사용할 수 있습니다. Anthropic 형식과도 호환되도록 별도 엔드포인트를 제공하기 때문에 Claude Code 같은 도구도 환경 변수만 바꿔서 그대로 붙일 수 있습니다.
둘째, 같은 모델이라도 여러 제공자 경로가 있을 수 있고 OpenRouter가 자동으로 폴백합니다. 예를 들어 한 제공자가 다운되거나 rate limit에 걸리면 다른 제공자 경로로 자동 전환되어 사용자 측에선 끊김이 거의 보이지 않습니다.
3. 가격 구조 - 패스스루와 플랫폼 수수료
OpenRouter의 과금 방식은 모델 단가에 마크업을 붙이지 않는 패스스루입니다. OpenAI 모델을 호출하면 OpenAI에 직접 결제할 때와 동일한 단가, Anthropic 모델을 호출하면 Anthropic 직접 단가가 그대로 적용됩니다.
대신 크레딧을 충전할 때 한 번 플랫폼 수수료가 부과됩니다. 2026년 4월 기준 수수료율은 다음과 같습니다.
| 결제 수단 | 플랫폼 수수료 |
|---|---|
| 신용카드 등 일반 결제 | 5.5% (최소 $0.80) |
| 암호화폐 결제 | 5.0% |
월 정액 요금은 없고, 충전한 크레딧이 만료되지도 않습니다. 최소 결제 금액 제한도 없어서 $5 단위로도 시작할 수 있습니다.
ℹ️ "패스스루"라는 표현이 마케팅처럼 들릴 수 있지만, 실제 단가표를 비교해 보면 OpenRouter 단가가 각 제공자의 공식 단가와 거의 일치합니다. 비용은 호출량에 비례한 모델 사용료 + 충전 시점의 5.5%, 이 두 줄로 끝납니다.
4. 무료 티어 - 어디까지 가능한가
OpenRouter는 인풋·아웃풋 단가가 모두 $0인 무료 모델 25개 이상을 제공합니다. 카드 등록 없이 가입만 하면 즉시 호출할 수 있고, 대표적으로 GPT-OSS 120B, Qwen 3 Coder 480B, Stealth-3.5 Flash, NVIDIA Nemotron 계열, DeepSeek 계열 등이 포함됩니다.
4-1. 호출 한도
무료 모델은 호출 한도가 계정 상태에 따라 다르게 잡힙니다.
| 계정 상태 | 무료 모델 호출 한도 |
|---|---|
| 크레딧 충전 이력 없음 | 하루 50회, 분당 20회 |
| 크레딧 $10 이상 충전 이력 있음 | 하루 1,000회 |
커뮤니티에서 자주 언급되는 "$10 충전 권장"은 충전 잔액을 쓰는 게 아니라 위 한도 해제 조건을 만족시키기 위한 것입니다.
4-2. 무료 모델의 함정 - rate limit
무료 모델은 사람이 몰리는 시간대에 rate limit에 걸리는 일이 흔합니다. 이를 우회하기 위해 OpenRouter는 무료 모델 라우터(`openrouter/auto`나 무료 모델 페이지 하단의 통합 라우터)를 별도로 제공합니다. 단일 모델 대신 라우터 이름을 박으면, OpenRouter가 그 시점에 사용 가능한 무료 모델 중 하나로 요청을 분배합니다.
5. Auto Router - 자동 모델 선택
OpenRouter의 시그니처 기능 중 하나가 Auto Router입니다. 모델 이름 자리에 openrouter/auto를 박으면, NotDiamond라는 외부 라우팅 엔진이 매 요청의 프롬프트를 분석해 적합한 모델을 자동으로 골라 보냅니다. 단순 질의는 가벼운 모델, 복잡한 추론은 Claude·GPT 같은 무거운 모델로 자동 분배됩니다.
| 특징 | 설명 |
|---|---|
| 추가 수수료 | 없음. 선택된 모델의 표준 단가만 부과 |
| 투명성 | 응답 메타데이터에 실제 처리 모델이 명시됨 |
| 비결정성 | 같은 프롬프트가 다른 시점에 다른 모델로 갈 수 있음 |
| 최적화 방향 | 기본은 품질 우선. 비용 우선 라우팅은 별도 옵션 |
⚠️ Auto Router는 비결정성이 있어 회귀 테스트나 감사 로그가 필요한 운영 환경에는 부적합합니다. 운영에서는 모델을 명시적으로 고정하는 편이 안전합니다. 실험·프로토타이핑·비공식 챗봇처럼 유연성이 중요한 워크플로우에 적합합니다.
6. 직접 호출과 비교 - 언제 쓰고 언제 안 쓰나
| 관점 | OpenRouter | 제공자 직접 호출 |
|---|---|---|
| 키 관리 | 한 개로 통합 | 제공자별 별도 발급 |
| 모델 전환 | 이름 한 줄 교체 | SDK·결제 재구성 필요 |
| 지연 시간 | +25~150ms (게이트웨이 한 단) | 최소 |
| 단가 | 동일 (패스스루) + 충전 시 5.5% | 제공자 정가 |
| 폴백·HA | 기본 제공 | 직접 구현 |
| 자체 호스팅·VPC 내부 처리 | 불가 | 설정에 따라 가능 |
6-1. OpenRouter가 잘 맞는 경우
- 여러 모델을 비교하면서 빠르게 실험해야 할 때
- 한 제공자 장애 시 자동 폴백이 필요한 사이드 프로젝트나 사내 도구
- 키 관리·청구를 한 곳으로 묶고 싶은 팀
- 무료 티어로 시작해서 점차 유료로 옮길 계획
6-2. 직접 호출이 더 나은 경우
- 밀리초 단위 응답이 필요한 음성 에이전트, 트레이딩 봇
- 금융·의료처럼 데이터 처리 경로가 외부 게이트웨이를 통과하면 안 되는 규제 환경
- 이미 한 제공자와 장기 계약·할인을 맺고 있는 경우
7. 5분 시작 가이드
7-1. API 키 발급
openrouter.ai에 가입한 뒤 우측 상단 메뉴의 Keys 페이지에서 새 키를 만듭니다. 발급된 키는 sk-or-v1-... 형식입니다. 이 키 하나로 모든 모델에 접근할 수 있습니다.
7-2. cURL로 첫 호출
curl https://openrouter.ai/api/v1/chat/completions \
-H "Authorization: Bearer $OPENROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "openrouter/auto",
"messages": [
{"role": "user", "content": "한국어로 자기소개 한 줄"}
]
}'
7-3. Python에서 호출 (OpenAI SDK 재사용)
import os from openai import OpenAI
client = OpenAI(
base_url="https://openrouter.ai/api/v1",
api_key=os.environ["OPENROUTER_API_KEY"],
)
resp = client.chat.completions.create(
model="anthropic/claude-sonnet-4.6",
messages=[{"role": "user", "content": "OpenRouter가 뭔지 한 문단으로 설명해줘"}],
)
print(resp.choices[0].message.content)
print("실제 처리 모델:", resp.model)
응답의 resp.model 필드에 실제로 어떤 모델이 처리했는지 표시되므로, Auto Router를 쓸 때 결과를 추적하는 데 유용합니다.
트러블슈팅
문제 1: 무료 모델 호출이 자꾸 차단된다
가장 흔한 원인 두 가지입니다. 첫째, 계정에 충전 이력이 없어 하루 50회 한도에 걸린 경우입니다. $10 충전으로 한도를 1,000회로 풀 수 있습니다. 둘째, 단일 무료 모델에 사용자가 몰린 경우입니다. 모델 이름을 무료 모델 라우터로 바꾸면 그 시점 가용한 다른 무료 모델로 자동 분배됩니다.
문제 2: 응답 지연이 직접 호출보다 늦다
게이트웨이 한 단을 더 거치므로 25~150ms 정도 지연이 추가됩니다. 채팅·코딩 어시스턴트 수준에선 체감하기 어렵지만 음성·실시간 트레이딩 같은 워크로드에선 중요합니다. 그런 환경이라면 직접 호출 경로가 답입니다.
문제 3: 같은 모델인데 응답이 들쭉날쭉하다
Auto Router를 쓰는 동안 시점마다 다른 모델이 선택되고 있을 가능성이 높습니다. 응답 메타데이터의 model 필드를 확인해 어떤 모델이 처리했는지 본 뒤, 운영용 워크플로우라면 openrouter/auto 대신 모델을 명시적으로 지정합니다.
문제 4: 결제하면 모델 단가에도 마크업이 붙는 줄 알았다
모델 호출 단가는 제공자 정가와 동일합니다. OpenRouter 수익 모델은 크레딧 충전 시점의 5.5% 플랫폼 수수료입니다. 호출 1회마다 별도 마진이 붙는 구조가 아닙니다.
마무리
OpenRouter는 단순한 API 프록시가 아니라 "AI 모델용 메타 API"에 가깝습니다. 모델을 비교하고 갈아끼우는 비용을 거의 0으로 만들어 주고, 무료 모델 풀과 자동 라우팅까지 함께 얹어 주는 대신 게이트웨이 한 단의 지연과 5.5% 충전 수수료를 받아 갑니다. 사이드 프로젝트와 사내 도구라면 처음 도입할 때 가장 가성비 좋은 선택지 중 하나입니다.
- OpenRouter 공식 사이트: openrouter.ai
- Quickstart 공식 문서: openrouter.ai/docs/quickstart
- 가격 페이지: openrouter.ai/pricing
- Auto Router 문서: Auto Router 가이드
- 관련 글: Claude Code 설치 및 활용 완벽 가이드
'AI & LLM' 카테고리의 다른 글
| OMC(oh-my-claudecode) - Claude Code를 자연어로 다루는 다중 에이전트 플러그인 (0) | 2026.05.01 |
|---|---|
| Claude Code 플러그인 큐레이션 시리즈 - 카테고리별로 정리한 6가지 필수템 (0) | 2026.05.01 |
| Claude Code 활용 매뉴얼 - 8가지 원칙 (0) | 2026.04.29 |
| Claude Routine API 트리거로 워크플로우 자동화하기 (0) | 2026.04.28 |
| Claude for Chrome 사용기 - 브라우저가 에이전트가 되는 순간 (0) | 2026.04.27 |