마이그레이션 가이드OpenRouter에서
OpenRouter에서, 원하면 OpenRouter도 유지한 채로
OpenRouter는 여러 벤더의 모델에 대해 계정 하나와 키 하나를 제공하며, 크레딧으로 지불하고 자체 공급자 키를 선택적으로 쓸 수 있습니다. INFRO는 그 반대입니다. 모든 요청이 고객이 보유한 공급자 계정에서 실행됩니다. OpenRouter는 INFRO가 연결하는 공급자 중 하나이므로 둘은 배타적이지 않습니다. 이 페이지는 두 가지 방법을 모두 보여 줍니다. 직접 계정 사이의 업스트림 하나로 OpenRouter를 두거나, 직접 계정만 쓰는 방법입니다.
Stripe가 인수에 합의(2026-08-19 발표). 2026-10-19 기준 인수 완료 공지 없음
INFRO 계정은 셀프 서비스입니다. 카탈로그, 문서, API 계약은 공개되어 있고, 게이트웨이는 배포되어 있으며, v1 이후의 기능은 Later로 표시됩니다. 요금제와 체험
현재 상황
소유
Stripe는 2026-08-19에 OpenRouter 인수에 합의했다고 발표했습니다. OpenRouter 자체 게시물에 따르면 이름, 제품, 로드맵은 유지되고 통합도 바뀌지 않습니다. 2026-10-19에 두 회사의 페이지를 확인했을 때 어느 쪽도 인수 완료 공지를 게시하지 않았습니다.
요청을 처리하는 계정
기본적으로 OpenRouter 자체 공급자 계정을 사용하며 선불 크레딧으로 지불합니다. BYOK를 쓰면 고객의 공급자 키를 먼저 시도합니다. OpenRouter 문서에 따르면 키별로 끄지 않는 한 실패 시 공유 용량으로 폴백할 수 있습니다.
옮겨 가는 것
base URL과 키, models는 fallbacks로, provider 라우팅은 라우트나 routing.providers로, user, session_id, trace는 metadata나 INFRO 헤더로. HTTP-Referer와 X-OpenRouter-Title은 제거합니다.
OpenRouter는 접근 문제를 해결합니다. 계정 하나로 여러 벤더. 그것이 지금의 문제라면 맞는 제품이며, 그 앞에 INFRO를 둘 수도 있습니다.
- 벤더마다 계정을 두고 싶지 않습니다. INFRO는 고객이 보유한 계정에서만 실행되므로, 호출하는 모든 모델 뒤에 공급자 계정이 필요합니다(OpenRouter 계정도 그중 하나가 될 수 있습니다).
- 요청마다 가격, 처리량, 지연 시간으로 여러 open-weight 모델 호스트 중에서 고릅니다(
provider.sort,max_price). INFRO에는 요청별 가격 또는 지연 시간 정렬이 없으며, 라우트가 순서를 정합니다. openrouter/auto나 시스템 프롬프트와 파라미터를 담은 프리셋에 의존합니다. INFRO에서 가장 가까운 것은 프롬프트 분류기가 있는 라우트로, 프롬프트가 아니라 대상을 고릅니다.- 지금 당장 EU 리전 내 라우팅이 필요합니다. INFRO의 데이터 상주는 로드맵에 있고 현재 제공되지 않습니다.
수정 사항을 한 행에 하나씩 정리했습니다. 여기에 없는 것은 그대로 유지됩니다.
| OpenRouter | INFRO | |
|---|---|---|
| 베이스 URL | https://openrouter.ai/api/v1 | https://api.infro.io/v1 |
| 키 | OpenRouter 키. 선택적으로 공급자 키를 BYOK로 추가. | INFRO 게이트웨이 키. 공급자 계정(유지한다면 OpenRouter 키도)은 콘솔의 연결이 됩니다. |
| 모델 ID | vendor/model, ~vendor/...-latest, openrouter/auto, @preset/name. | INFRO 카탈로그의 vendor/model 또는 라우트 이름. GET /v1/models가 연결이 제공하는 모델을 나열합니다. 일부 벤더 접두사는 OpenRouter와 다릅니다(INFRO는 xai/, OpenRouter는 x-ai/). |
| 본문 필드 | models, provider { order, only, ignore, sort, max_price }, user, session_id, trace. | fallbacks(최대 5개), routing.providers { allow, deny }, metadata { user_id, session_id, tags }. 트레이스 ID는 X-INFRO-Trace-Id. |
이전 · OpenRouter
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://openrouter.ai/api/v1",
apiKey: process.env.OPENROUTER_API_KEY,
defaultHeaders: { "X-OpenRouter-Title": "Example App" },
});
await client.chat.completions.create({
model: "anthropic/claude-sonnet-5.5",
messages: [{ role: "user", content: "Hello" }],
user: "user_123",
// @ts-expect-error OpenRouter extensions
models: ["anthropic/claude-sonnet-5.5", "openai/gpt-5.6-terra"],
provider: { order: ["anthropic", "google-vertex"] },
});이후 · INFRO
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.infro.io/v1",
apiKey: process.env.INFRO_API_KEY,
});
await client.chat.completions.create({
model: "anthropic/claude-sonnet-5.5",
messages: [{ role: "user", content: "Hello" }],
// @ts-expect-error INFRO extensions
fallbacks: ["openai/gpt-5.6-terra"],
routing: { providers: { allow: ["anthropic", "google-vertex"] } },
metadata: { user_id: "user_123" },
});순서는 라우트에 둡니다
routing.providers는 요청을 처리할 수 있는 공급자를 좁힐 뿐, 순서를 정하지 않습니다. 고정된 순서가 필요하면 대상을 차례로 담은 라우트(예: chat-default)를 만들고 model로 보내세요.
INFRO 뒤에 OpenRouter 유지하기
콘솔에서 OpenRouter 키를 공급자로 연결하세요. 그러면 요청이 직접 계정에서 OpenRouter로 페일오버할 수 있고, routing.providers의 allow나 deny에 openrouter를 넣어 요청별로 포함하거나 제외할 수 있습니다.
폴백 트리거
fallbacks는 model의 모든 연결이 실패한 후 시도됩니다. 응답 스트리밍이 시작된 후의 공급자 오류는 다시 라우팅하지 않고 반환합니다.
OpenRouter의 공개 문서(2026년 10월 19일에 읽음)를 바탕으로 OpenRouter의 객체를 INFRO의 객체와 대조하고, 게이트웨이가 구현한 내용과 비교해 확인했습니다. INFRO에 없다고 표시된 행이 2개입니다.
| OpenRouter | 그곳에서 하는 일 | INFRO에서 |
|---|---|---|
| OpenRouter 키와 크레딧다름 | 모든 모델에 키 하나, 선불 크레딧으로 지불. | 고객이 연결한 공급자 계정 위의 게이트웨이 키. 각 공급자가 직접 청구합니다. INFRO는 구독료를 청구하며 모델 지출에 0%를 더합니다. |
| BYOK다름 | 고객의 공급자 키를 먼저 시도. 키별로 끄지 않으면 공유 용량으로 폴백. | 유일한 방식입니다. 게이트웨이 뒤에 공유 용량은 없으며, 모든 연결이 실패하면 요청이 실패합니다. |
| `models` 폴백같은 구조 | 오류 시 시도하는 모델 우선순위 목록. | fallbacks, model의 모든 연결이 실패한 후 시도하는 최대 5개의 모델 ID. |
| `provider` order, only, ignore다름 | 요청마다 업스트림 공급자 선택, 정렬, 제외. | 요청별 routing.providers allow 또는 deny. 순서는 유형별 실패 규칙(429, 5xx, 타임아웃)과 함께 라우트에서 설정합니다. |
| `provider.sort`, `max_price`, 처리량 및 지연 시간 선호도해당 없음 | 가격, 처리량, 지연 시간으로 요청마다 호스트 선택. | 없음. INFRO는 가격이나 지연 시간으로 호스트를 고르지 않으며, 라우트의 순서나 가중치가 결정합니다. |
| Auto router다름 | openrouter/auto가 프롬프트마다 모델을 고릅니다. | 라우트는 고객의 연결에 있는 의사결정 모델로 각 프롬프트를 분류하고, 클래스마다 지정한 대상으로 보낼 수 있습니다. |
| 프리셋다름 | 이름 있는 서버 측 구성: 모델, 라우팅, 시스템 프롬프트, 파라미터. | 라우트가 모델과 대상을 가집니다. 시스템 프롬프트와 파라미터는 고객의 코드에 남습니다. |
| 응답 캐싱같은 구조 | X-OpenRouter-Cache 헤더로 키별 정확 일치 캐시. | chat completions용 선택형 정확 일치 캐시. 네임스페이스와 TTL 지정. |
| 가드레일(예산, 허용 목록)같은 구조 | 워크스페이스, 멤버, 키별 지출 한도와 모델 또는 공급자 허용 목록. | 조직, 프로젝트, 멤버, 키, 최종 고객 수준에서 호출 전에 402로 거부하는 예산. 조직, 프로젝트, 키별 허용 및 차단 목록. |
| Broadcast다름 | Langfuse, Datadog, OTel 수집기, S3, 웹훅으로 내보내는 트레이스. | OpenTelemetry 수집기로 보내는 스팬, 요청 내보내기, 요청 로그. 특정 벤더용 내장 대상은 없습니다. |
| 요청당 비용다름 | OpenRouter가 공시한 가격 기준의 생성당 비용. | 모든 응답에 공급자 청구액 추정치(usage.cost, usage.price_source): 입력한 경우 협상 요금, 그 외에는 벤더 정가, 둘 다 모르면 0이 아니라 unpriced. |
| EU 리전 내 라우팅, ZDR 엔드포인트해당 없음 | EU base URL과 데이터 무보관 엔드포인트 필터. | 제공하지 않습니다. 리전 고정은 로드맵에 있으며, 공급자의 데이터 보관은 고객과 공급자 간의 계약을 따릅니다. |
체험이나 벤치마크가 아니라 OpenRouter의 공개 문서를 저희가 읽은 결과입니다. 잘못 읽은 부분이 있으면 알려 주세요. 해당 행을 수정하겠습니다.
INFRO가 하지 않는 것
- 계정이 없는 벤더에 대한 접근 제공. 단, 고객이 보유한 애그리게이터 계정(OpenRouter 포함)에 대한 연결을 통한 경우는 예외입니다.
- 가격, 처리량, 지연 시간으로 요청마다 호스트 선택.
- 시스템 프롬프트와 파라미터를 서버 측에 저장(프리셋).
- 트래픽을 EU에 고정. 데이터 상주는 로드맵에 있습니다.
- OpenAI, Azure OpenAI, Mistral, OpenAI 호환 엔드포인트 외 공급자의 임베딩 제공.
이어지지 않는 것
- OpenRouter 활동 기록과 생성 로그. 가져오기 도구는 없습니다.
- 크레딧. OpenRouter 계정에 남으며, OpenRouter를 연결로 유지할 때만 사용됩니다.
- 프리셋, 워크스페이스, 가드레일. 라우트, 프로젝트, 예산, 허용 목록으로 다시 만드세요.
질문
- OpenRouter를 유지하면서 INFRO를 추가할 수 있나요?
- 네. OpenRouter는 INFRO의 공급자 유형입니다. OpenRouter 키를 연결하면 직접 계정 옆에서 요청을 처리하며, 그 사이에서 페일오버합니다.
- INFRO는 크레딧을 판매하거나 모델 접근을 재판매하나요?
- 아니요. INFRO는 모든 요청을 고객이 보유한 공급자 계정에서 실행하고, 공급자가 직접 청구하며, INFRO는 모델 지출에 0% 가산인 구독료를 청구합니다.
- `models`와 `provider` 필드는 무엇으로 대체되나요?
fallbacks가models를 대체하고,routing.providers의 allow와 deny가provider.only와provider.ignore를 대체하며, 이름 있는 라우트가 순서를 정합니다. 가격 및 지연 시간 정렬은 대응하는 기능이 없습니다.
저희와 함께, 또는 직접 옮기세요
마이그레이션 프로그램에서는 통화로 OpenRouter 설정을 INFRO 연결, 라우트, 예산에 매핑하고 첫 서비스를 함께 옮깁니다. 공급자는 계속 고객에게 직접 청구하며, INFRO는 구독이고 모델 지출에 0%를 더합니다.
출처
이 페이지에서 OpenRouter에 관한 모든 서술은 2026년 10월 19일에 읽은 다음 자료 중 하나에서 나왔습니다. 체험, 벤치마크, 대화에서 추론한 것은 없습니다.
- Stripe newsroom — Stripe agrees to acquire OpenRouter2026년 10월 19일에 읽음
- OpenRouter — OpenRouter is joining Stripe2026년 10월 19일에 읽음
- OpenRouter — announcements2026년 10월 19일에 읽음
- OpenRouter docs — Quickstart2026년 10월 19일에 읽음
- OpenRouter docs — BYOK2026년 10월 19일에 읽음
- OpenRouter docs — Provider routing2026년 10월 19일에 읽음
- OpenRouter docs — Model fallbacks2026년 10월 19일에 읽음
- OpenRouter docs — Auto router2026년 10월 19일에 읽음
- OpenRouter docs — Presets2026년 10월 19일에 읽음
- OpenRouter docs — Response caching2026년 10월 19일에 읽음
- OpenRouter docs — Guardrails2026년 10월 19일에 읽음
- OpenRouter docs — Broadcast2026년 10월 19일에 읽음
- OpenRouter docs — Zero data retention2026년 10월 19일에 읽음