테크 뉴스 가이드

OpenRouter 완전 가이드: 단일 API로 GPT·Claude·Gemini 멀티모델 전략

OpenRouter로 GPT-4o, Claude, Gemini 등 400개 이상 모델을 단일 API로 호출하는 방법. 무료 시작법부터 Response Caching·폴백 라우팅을 활용한 비용 최적화 전략까지 단계별로 설명한다.

OpenRouter 완전 가이드: 단일 API로 GPT·Claude·Gemini 멀티모델 전략

OpenRouter란 무엇인가: 멀티모델 라우터가 필요한 이유

AI 모델을 여러 개 쓰다 보면 금방 피로해진다. OpenAI 키, Anthropic 키, Google 키를 각각 발급받고, SDK도 제각각, 요금 체계도 다르고, 호출 스키마도 조금씩 다르다. 프로젝트가 커질수록 모델 교체 한 번에 코드 전체를 뜯어야 하는 상황이 생긴다.

OpenRouter는 이 파편화를 하나의 엔드포인트로 흡수한다. Anthropic·OpenAI·Google·xAI·DeepSeek 등 60개 이상 공급자의 400개 이상 모델https://openrouter.ai/api/v1이라는 단일 주소로 호출할 수 있다. 등록 사용자 800만 명, 월 처리량 100조 토큰 — 2026년 5월 기준 수치다. 2026년 5월 26일에는 Google 모회사 Alphabet의 성장 펀드 CapitalG 주도로 Series B $113M을 유치했고, 밸류에이션은 1년 만에 $547M에서 $1.3B으로 두 배 이상 올랐다. 범용 라우터라는 포지션을 시장이 인정한 셈이다.

결정적인 장점은 OpenAI 호환 스키마를 그대로 쓴다는 점이다. 기존에 openai SDK를 쓰던 코드라면 base_urlapi_key 두 줄만 바꿔도 OpenRouter로 전환된다. 모델 ID를 파라미터로 빼두기만 하면 GPT-4o, Claude, Gemini를 같은 코드로 돌릴 수 있다.

5분 만에 시작하기: 가입·API 키·첫 호출

1. 계정 생성과 API 키 발급

openrouter.ai에서 Google·GitHub 계정으로 즉시 가입한다. 신용카드 없이 무료 티어가 활성화되며, 대시보드 → Keys 메뉴에서 API 키를 생성한다. 키 이름을 프로젝트별로 분리해 두면 나중에 비용 추적이 편하다.

2. 무료 모델 확인

Models 탐색 페이지에서 “Free” 필터를 켜면 Google·Meta·Mistral·NVIDIA 등에서 제공하는 25개 이상의 무료 모델 목록이 나온다. 이 모델들은 크레딧 없이 호출할 수 있다. 프로토타이핑 단계에서 비용 걱정 없이 여러 모델을 비교하기에 적합하다.

3. curl로 첫 호출

curl https://openrouter.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $OPENROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "google/gemma-3-27b-it:free",
    "messages": [{"role": "user", "content": "안녕하세요"}]
  }'

model 값에 공급자/모델명 형식을 쓴다. :free 접미사가 붙은 ID가 무료 버전이다.

4. Python openai SDK로 전환

from openai import OpenAI

client = OpenAI(
    base_url="https://openrouter.ai/api/v1",
    api_key="YOUR_OPENROUTER_KEY",
)

response = client.chat.completions.create(
    model="anthropic/claude-3.5-sonnet",
    messages=[{"role": "user", "content": "설명해줘"}],
)
print(response.choices[0].message.content)

기존 openai.OpenAI()를 쓰던 코드에서 base_urlapi_key만 교체하면 끝이다. model 파라미터를 환경변수로 빼두면 배포 환경별로 모델을 다르게 지정할 수 있다.

모델 선택 전략: 무료·저가·고성능 구간별 가이드

Models 페이지에서는 모델별로 입력/출력 토큰 가격, 컨텍스트 창 길이, 지원 기능을 한눈에 비교할 수 있다. 작업 성격에 따라 구간을 나눠 접근하는 게 현실적이다.

프로토타입 단계에서는 무료 모델로 충분하다. 아이디어 검증, 프롬프트 초안 작성, 내부 도구 PoC에 비용을 쓸 이유가 없다. Meta의 Llama 계열이나 Google Gemma 계열 무료 버전이 여기에 해당한다.

프로덕션 저비용 구간은 DeepSeek이나 Mistral 계열이 강하다. 가격 대비 성능이 좋아 반복 호출이 많은 작업에 적합하다. 분류, 요약, 구조화 추출처럼 출력 품질의 절대치보다 처리량이 중요한 파이프라인에서 쓰인다.

고품질 추론 구간은 GPT-4o, Claude 상위 모델, Gemini 상위 모델이다. 복잡한 코드 생성, 다단계 추론, 사용자 대면 서비스에서 품질 차이가 체감된다. 비용이 높으므로 실제로 품질 차이가 유의미한 작업에만 투입하는 게 합리적이다.

같은 프롬프트로 여러 모델을 A/B 비교하는 패턴은 간단하다:

models = [
    "google/gemma-3-27b-it:free",
    "mistralai/mistral-7b-instruct",
    "anthropic/claude-3-haiku",
]

for model_id in models:
    resp = client.chat.completions.create(
        model=model_id,
        messages=[{"role": "user", "content": prompt}],
    )
    print(f"[{model_id}] {resp.choices[0].message.content[:200]}")

모델 ID만 바꾸면 동일 입력에 대한 결과를 나란히 비교할 수 있다. 품질과 비용을 함께 기록해 두면 작업별 최적 모델을 빠르게 찾을 수 있다.

텍스트 외 모달리티도 최근 추가됐다. Speech·Transcription API는 2026년 5월 1일, Video Generation 모델 지원은 4월 15일에 각각 추가됐다. 다만 이 모달리티를 지원하는 모델은 일부에 한정되므로, Models 페이지에서 Modality 필터로 먼저 호환 목록을 확인하고 호출해야 한다.

비용 최적화 핵심 기능: Response Caching과 Agent SDK

Response Caching은 2026년 4월 30일에 출시된 기능으로, 동일한 요청을 다시 호출할 때 캐싱 비용을 청구하지 않는다. 같은 시스템 프롬프트와 입력 조합이 반복되는 시나리오 — 고정된 컨텍스트를 가진 챗봇, 반복 배치 처리, 동일 문서를 여러 번 참조하는 에이전트 — 에서 실질적인 비용 절감이 생긴다. 공식 announcements에 따르면 캐시 적중 시 요금이 발생하지 않는 구조다.

Agent SDK는 2026년 4월 24일에 공개됐다. 멀티턴 에이전트 워크플로를 지원하는데, 단순 단발성 호출과 달리 대화 상태와 도구 호출 결과를 OpenRouter 레이어에서 관리할 수 있다. 복잡한 에이전트 파이프라인을 구현할 때 각 공급자 SDK의 tool use 스키마 차이를 신경 쓰지 않아도 된다는 장점이 있다.

요금 구조는 pay-as-you-go 방식이다. 크레딧을 선구매할 때 5.5% 플랫폼 수수료가 붙는다. 무료 모델은 크레딧 차감이 없으므로 수수료도 없다. 유료 모델을 쓸 때는 공급자 직접 요금에 5.5%가 추가된다는 점을 염두에 두고 예산을 잡아야 한다.

실전 멀티모델 패턴: 폴백 라우팅과 모델 스위칭

OpenRouter의 핵심 가치 중 하나는 자동 폴백 라우팅이다. 호출 시 route 파라미터나 모델 ID에 여러 모델을 지정하면, 기본 모델이 레이트 리밋에 걸리거나 장애 상태일 때 다음 모델로 자동 전환된다. 프로덕션에서 단일 공급자에 의존하다 장애를 맞는 상황을 피할 수 있다.

폴백 배열은 models 파라미터로 전달한다:

response = client.chat.completions.create(
    model="anthropic/claude-3.5-sonnet",
    extra_body={
        "models": [
            "anthropic/claude-3.5-sonnet",
            "openai/gpt-4o",
            "google/gemini-1.5-pro",
        ]
    },
    messages=[{"role": "user", "content": prompt}],
)

리스트 앞쪽이 우선순위가 높다. 첫 번째 모델 호출에 실패하면 두 번째, 세 번째 순으로 시도한다.

저비용 우선 에스컬레이션 패턴도 자주 쓰인다. 작업 난이도에 따라 먼저 저렴한 모델로 시도하고, 결과 품질이 기준 이하일 때만 상위 모델을 호출하는 방식이다:

def call_with_escalation(prompt: str) -> str:
    for model_id in ["mistralai/mistral-7b-instruct", "anthropic/claude-3-haiku", "anthropic/claude-3.5-sonnet"]:
        resp = client.chat.completions.create(
            model=model_id,
            messages=[{"role": "user", "content": prompt}],
        )
        result = resp.choices[0].message.content
        if len(result) > 100 and "모르겠" not in result:
            return result
    return result

품질 기준은 작업에 따라 다르지만, 응답 길이나 특정 거절 패턴 감지로 간단하게 구현할 수 있다. 같은 모델 ID 교체 구조 덕분에 A/B 실험과 에스컬레이션 로직을 동일 코드에서 관리할 수 있다는 점이 OpenRouter 방식의 실용적 강점이다.

주의사항과 한계: 알고 쓰면 달라지는 함정

수수료 손익분기점을 먼저 계산해야 한다. 크레딧 구매마다 5.5%가 추가되므로, 단일 공급자 하나만 고정적으로 대량 호출하는 경우라면 직접 API가 더 저렴하다. 반면 여러 공급자를 번갈아 쓰거나 폴백 라우팅이 필요한 경우, SDK 유지 비용과 장애 대응 비용을 감안하면 5.5%가 충분히 합리적이다. 월 호출량과 공급자 다양성을 기준으로 판단하면 된다.

무료 모델의 가용성 변동은 프로덕션에서 조심해야 할 부분이다. 무료 모델은 레이트 리밋이 낮고, 공급자 정책에 따라 모델이 교체되거나 제한될 수 있다. 내부 테스트나 프로토타입 용도로는 문제없지만, 사용자 대면 서비스에 무료 모델을 그대로 투입하는 건 위험하다. 반드시 유료 폴백을 함께 설정해야 한다.

모델 간 파라미터 호환성 차이도 있다. temperature, top_p, max_tokens 같은 기본 파라미터는 대부분 지원하지만, 특정 공급자 고유 파라미터나 시스템 프롬프트 처리 방식이 모델마다 다를 수 있다. 응답 형식이 중요한 작업이라면 모델 교체 후 반드시 재검증이 필요하다. Models 페이지의 각 모델 상세에서 지원 파라미터를 확인할 수 있다.

API 키 보안은 반드시 서버 사이드에서 처리해야 한다. OpenRouter 키를 클라이언트 사이드 코드(브라우저 JS, 모바일 앱)에 하드코딩하면 키 노출로 이어진다. 프론트엔드에서 AI 기능이 필요하다면 자체 백엔드를 프록시로 두고, 백엔드가 OpenRouter를 호출하는 구조로 설계해야 한다.

자주 묻는 질문

Q. OpenRouter를 쓰면 각 공급자의 최신 모델을 바로 쓸 수 있나요?

대부분의 경우 그렇다. Anthropic, OpenAI, Google이 새 모델을 출시하면 OpenRouter도 비교적 빠르게 지원 목록에 추가한다. 다만 출시 직후 며칠간 지연이 있을 수 있고, 일부 실험적 모델은 공급자 직접 API에서만 먼저 제공되는 경우도 있다. 최신 모델 접근이 최우선이라면 공급자 직접 API와 병행하는 게 안전하다.

Q. OpenRouter와 LiteLLM은 어떻게 다른가요?

LiteLLM은 자체 서버에 설치해서 운영하는 오픈소스 프록시다. 인프라 제어권을 완전히 갖고 싶거나, 사내 보안 정책상 외부 프록시를 쓸 수 없는 경우에 적합하다. OpenRouter는 관리형 클라우드 서비스로, 직접 서버를 운영할 필요가 없는 대신 5.5% 수수료가 붙고 데이터가 OpenRouter 서버를 거친다. 빠르게 시작하려면 OpenRouter, 완전한 제어가 필요하면 LiteLLM이 낫다.

Q. 무료 티어는 어디까지 무료인가요?

신용카드 등록 없이 25개 이상의 무료 모델을 이용할 수 있다. 이 모델들은 레이트 리밋 내에서는 비용이 발생하지 않는다. 유료 모델을 쓰려면 크레딧을 충전해야 하며, 이때 5.5% 수수료가 붙는다. 무료 모델의 레이트 리밋은 분당 요청 수나 일일 토큰 한도 형태로 적용된다. 정확한 수치는 Models 페이지 각 모델의 상세 정보에서 확인할 수 있다.

Q. Response Caching은 어떻게 활성화하나요?

별도 설정 없이 동일한 요청이 반복되면 자동으로 캐시가 적용된다. 시스템 프롬프트와 사용자 입력이 완전히 일치할 때 캐시 적중이 발생한다. 대화형 멀티턴에서는 이전 메시지가 동일해야 캐시가 유효하므로, 고정 컨텍스트 부분을 앞쪽에 배치하는 프롬프트 구조가 캐시 히트율을 높인다.

단계별 실행 가이드

1단계. OpenRouter 계정 생성 및 API 키 발급

openrouter.ai에서 Google 또는 GitHub 계정으로 가입한다. 신용카드 없이 무료 티어가 즉시 활성화된다. 로그인 후 우측 상단 아바타 → Keys 메뉴로 이동해 “Create Key” 버튼을 누른다. 키 이름은 프로젝트명으로 지정해 두면 나중에 비용 추적이 편하다. 생성된 키는 sk-or-v1-으로 시작하며, 화면을 벗어나면 다시 볼 수 없으므로 즉시 안전한 곳에 저장한다.

2단계. 무료 모델로 첫 호출 테스트

터미널에서 아래 curl 명령으로 API가 동작하는지 확인한다:

export OPENROUTER_API_KEY="sk-or-v1-your-key"
curl https://openrouter.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $OPENROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"google/gemma-3-27b-it:free","messages":[{"role":"user","content":"테스트"}]}'

choices[0].message.content에 응답이 담겨 오면 설정이 완료된 것이다.

3단계. Python 프로젝트에 openai SDK 연동

pip install openai

기존 openai.OpenAI() 코드가 있다면 base_urlapi_key만 교체한다. 없다면 아래 템플릿으로 시작한다:

import os
from openai import OpenAI

client = OpenAI(
    base_url="https://openrouter.ai/api/v1",
    api_key=os.environ["OPENROUTER_API_KEY"],
)

model 파라미터는 환경변수 MODEL_ID로 빼두면 배포 환경마다 다른 모델을 지정할 수 있다.

4단계. 폴백 라우팅 설정으로 안정성 확보

유료 모델을 프로덕션에 투입할 때는 반드시 폴백 배열을 설정한다. extra_bodymodels 리스트에 우선순위 순서로 모델 ID를 나열한다. 첫 번째 모델이 실패하면 순서대로 다음 모델을 시도한다.

5단계. Response Caching 적용 구조 설계

고정된 시스템 프롬프트나 컨텍스트가 있다면 메시지 배열의 앞쪽에 배치한다. 동일한 prefix를 가진 요청이 반복될수록 캐시 적중률이 높아지고 비용이 줄어든다. 배치 처리나 동일 문서 반복 참조 작업에서 효과가 크다.

6단계. 비용 모니터링 및 모델 최적화

OpenRouter 대시보드의 Usage 탭에서 모델별 일별 비용과 토큰 사용량을 확인할 수 있다. 처음 2~3주간 데이터를 보면서 어떤 작업에 어떤 모델이 과잉 투입되고 있는지 파악한다. 고비용 모델 호출 중 품질 차이가 유의미하지 않은 작업을 저비용 구간으로 내리는 것만으로 전체 비용을 크게 줄일 수 있다.

RELATED · 관련 글

이어 읽기 좋은 글

테크 뉴스 가이드

AI 데이터센터 전력 위기와 핵융합 해법: Helion·Microsoft 투자 분석

2026.06.05 · 8분
테크 뉴스 가이드

AI 보이스피싱 탐지 완전 가이드: 딥페이크 음성 사기 방어 설정

2026.06.03 · 13분
테크 뉴스 가이드

Microsoft Scout 완전 해설: Copilot과 차이점·M365 실무 활용

2026.06.03 · 12분