자주 묻는 질문

가입·요금·모델·오류에 대한 짧은 답

시작하기

MyIP OpenRouter 는 무엇인가요?

OpenAI 호환 API 하나로 여러 언어 모델을 부를 수 있게 해 주는 게이트웨이입니다. 우리가 직접 운영하는 GPU 에서 돌아가는 모델과 외부 provider 의 모델을 같은 인터페이스로 제공하고, 요금은 원화 선불 크레딧으로 정산합니다.

어떻게 가입하나요?

네이버 또는 구글 계정으로 로그인하면 그대로 계정이 만들어집니다. 별도의 비밀번호를 만들지 않습니다. 가입 시 1,000원의 크레딧이 한 번 지급되므로 결제 정보를 넣지 않고도 바로 써 볼 수 있습니다.

API 키는 어디서 발급하나요?

로그인 후 /settings/keys 에서 만듭니다. 키는 만드는 순간 한 번만 화면에 표시되고 다시 볼 수 없습니다. 우리 서버에는 해시만 저장되므로 분실하면 새로 발급해야 합니다.

키에는 두 종류가 있습니다.

접두사종류용도
sk-mo-v1-추론 키채팅·완성 호출
sk-mo-mgmt-v1-관리 키키를 만들고 지우는 /keys 경로 전용

관리 키로 추론을 호출하면 401 invalid_api_key 가 납니다.

Base URL 이 무엇인가요?

https://openrouter.myip.co.kr/api/v1

OpenAI SDK 라면 base_url 만 이 값으로 바꾸면 됩니다. OpenAI SDK 를 보세요.

첫 요청은 어떻게 보내나요?

bash
curl https://openrouter.myip.co.kr/api/v1/chat/completions \
  -H "Authorization: Bearer $MYIP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "google/gemma-4-26b-a4b",
    "messages": [{"role": "user", "content": "안녕하세요"}]
  }'

요금

요금은 어떻게 계산되나요?

두 단계입니다. 먼저 모델별 판매 단가(원/토큰)를 구하고, 실제 사용한 토큰 수를 곱합니다.

판매 단가   = 관리자 지정가 ?? USD 원가 × 환율 × (1 + 마진)
요청 비용   = (프롬프트 토큰 - 캐시 토큰) × 프롬프트 단가
            + 캐시 토큰 × 캐시 읽기 단가
            + 완성 토큰 × 완성 단가

현재 환율은 1 USD = 1,350원, 기본 마진은 30% 입니다. 워크스루와 실제 숫자는 요금 계산 방식 에 있습니다.

크레딧 1개는 얼마인가요?

1크레딧 = 1원 입니다. 환산이 없습니다. 10,000원을 충전하면 잔액이 정확히 10000 이 됩니다.

최소·최대 충전 금액이 있나요?

최소 10,000원, 1회 최대 1,000,000원입니다. 부가세 10% 포함 금액이며, 충전한 금액 전액이 크레딧이 됩니다. 크레딧과 결제 참고.

금액이 달러인가요 원인가요?

전부 원(KRW) 입니다. GET /api/v1/modelspricing 값도 원/토큰이고, 응답에 "currency": "KRW" 가 들어 있습니다. 모든 응답 헤더에 X-MyIP-Currency: KRW 가 붙습니다.

openrouter.ai 용으로 만든 코드를 그대로 가져오면 이 숫자를 달러로 오해할 수 있으니 주의하세요.

월 기본료나 구독료가 있나요?

없습니다. 선불 크레딧만 있고, 쓰지 않으면 나가는 돈이 없습니다.

크레딧이 만료되나요?

만료되지 않습니다.

방금 쓴 요청이 얼마인지 어떻게 확인하나요?

비스트리밍이라면 응답 헤더에 바로 나옵니다.

X-MyIP-Cost-KRW: 3.001050
X-MyIP-Credit-Balance: 10996.998950

스트리밍이라면 마지막 usage 청크의 cost 를 보거나, 끝난 뒤 GET /api/v1/generation?id=gen-… 으로 조회하세요. 이 값은 원장에 기입된 금액과 정확히 같습니다.

실패한 요청도 과금되나요?

되지 않습니다. 업스트림 오류로 실패했거나 토큰이 하나도 오가지 않았으면 0원이고 원장에도 남지 않습니다.

다만 스트리밍을 중간에 끊은 경우에는 그때까지 생성된 토큰만큼 과금됩니다. 업스트림에서는 이미 계산이 끝난 부분이기 때문입니다.

환불

환불은 어떻게 받나요?

/settings/credits환불 문의 링크로 요청하시면 관리자가 확인 후 처리합니다. 버튼 하나로 즉시 환불되는 셀프 환불은 제공하지 않습니다.

환불 조건이 어떻게 되나요?

결제일로부터 7일 이내, 사용하지 않은 크레딧에 한해 전액 환불됩니다. 이미 사용한 크레딧은 환불 대상이 아닙니다. 환불이 실행되면 그만큼 크레딧 잔액도 함께 차감되므로, 잔액이 환불액보다 적으면 환불이 거절됩니다.

자세한 조건은 이용약관 에 있습니다.

세금계산서를 받을 수 있나요?

발행하지 않습니다. 카드매출전표(receipt_url)와 자체 영수증 화면(/settings/credits/receipt/{주문번호})을 제공합니다. 사업자 증빙이 필요하면 문의해 주세요.

오류

402 insufficient_credits 가 나옵니다

잔액이 부족합니다. 확인할 것이 몇 가지 있습니다.

  1. 잔액을 봅니다GET /api/v1/credits 또는 /settings/credits.
  2. 완충 구간을 다 썼는지 봅니다 — 잔액이 -5,000원 이하이면 새 요청이 막힙니다. 이 마이너스 허용치는 동시 스트리밍 정산이 잔액을 잠깐 넘길 수 있어서 두는 값입니다.
  3. 키가 자동 정지됐는지 봅니다 — 잔액이 0 이하가 되면 그 계정의 키가 suspended_no_credit 으로 자동 정지됩니다. 충전하면 자동으로 다시 활성화됩니다.
  4. 키별 한도인지 봅니다key_limit_exceeded 라면 계정 잔액이 아니라 그 키에 걸어둔 한도입니다. GET /api/v1/keylimit_remaining 을 확인하세요.

사용 한도와 402 에 전체 흐름이 있습니다.

충전했는데 여전히 막혀 있습니다

403 key_suspended 라면 관리자가 정지한 키입니다. 잔액과 무관하므로 충전으로 풀리지 않습니다. 문의해 주세요.

401 invalid_api_key 이고 키를 폐기한 적이 있다면, 폐기는 영구이므로 새 키를 발급하셔야 합니다.

400 model_not_found 가 나옵니다

모델 id 가 우리 카탈로그에 없습니다. 흔한 원인 둘입니다.

  • 도구가 gpt-4o 같은 자체 기본값을 넣었습니다. 모델명을 직접 지정하세요.
  • 모델 id 에 openrouter/ 같은 접두사를 붙였습니다. 우리 id 는 제작자/모델명 형태 그대로입니다.

사용 가능한 모델은 GET /api/v1/models 에서 확인하세요.

404 not_supported 가 나옵니다

우리가 구현하지 않은 엔드포인트입니다. 임베딩, 이미지·영상·음성, Responses API, Batch, Presets, Workspaces, BYOK 등은 제공하지 않습니다. 전체 목록은 지원하지 않는 엔드포인트 에 있습니다.

429 가 나옵니다

요청 빈도 제한입니다. IP 주소 단위로 걸리므로 키를 나눠도 완화되지 않습니다. Retry-After 헤더가 있으면 그 값을 존중해 지수 백오프로 재시도하세요.

오류 응답은 어떤 형식인가요?

항상 같은 형식이고, HTTP 상태 코드와 error.code 가 같습니다.

json
{
  "error": {
    "code": 402,
    "message": "크레딧이 부족합니다.",
    "metadata": { "error_type": "insufficient_credits" }
  }
}

프로그램은 error.metadata.error_type 으로 분기하세요. message 는 사람이 읽으라고 있는 것이라 문구가 바뀔 수 있습니다.

모델

어떤 모델을 쓸 수 있나요?

GET /api/v1/models 로 전체 목록을 받거나 사이트의 모델 카탈로그 를 보세요. 우리 GPU 에서 직접 돌아가는 모델로는 google/gemma-4-26b-a4blgai/exaone-4.0-32b 가 있습니다.

첫 요청이 유독 느립니다. 왜인가요?

로컬 GPU 모델의 콜드 스타트 때문입니다. GPU 슬롯이 내려가 있으면 요청이 들어온 순간에 모델을 메모리로 올려야 하고, 여기에 시간이 걸립니다.

  • 기동을 기다리는 예산은 기본 25초입니다.
  • 예산 안에 올라오면 그대로 응답합니다.
  • 예산을 넘기면 폴백 후보(다른 provider)로 넘어갑니다.
  • 폴백 후보가 없으면 503 model_loading 과 함께 metadata.retry_after_sec 를 돌려줍니다. 그만큼 기다렸다 다시 부르면 대개 성공합니다.

한 번 올라온 모델은 계속 떠 있으므로 두 번째 요청부터는 빠릅니다. 지연에 민감한 서비스라면 배포 직후 워밍업 요청을 한 번 보내 두는 방법이 있습니다.

어떤 모델이 툴 콜링을 지원하나요?

모델 카탈로그의 supported_parameterstools 가 있으면 지원합니다.

bash
curl -s "https://openrouter.myip.co.kr/api/v1/models" \
  | jq -r '.data[] | select(.supported_parameters | index("tools")) | .id'

로컬 GPU 모델도 툴 콜링을 지원하도록 구성돼 있습니다. 사용법은 툴 콜링 을 보세요.

모델을 지정하지 않으면 어떻게 되나요?

기본 모델인 google/gemma-4-26b-a4b 로 갑니다. 로컬 슬롯이라 외부 provider 키 없이도 동작합니다.

여러 모델을 순서대로 시도할 수 있나요?

models 배열을 보내면 앞에서부터 시도합니다. 배열 안에 우리가 모르는 id 가 섞여 있으면 조용히 건너뛰고 다음으로 넘어갑니다. 전부 모르는 id 일 때만 400 입니다. 모델 폴백 참고.

같은 모델을 로컬에서 돌릴지 외부로 보낼지 고를 수 있나요?

provider 객체의 onlyignore 로 후보를 제한할 수 있습니다. 로컬 후보는 기본적으로 체인의 맨 앞에 놓입니다. 로컬 우선 라우팅Provider 라우팅 을 보세요.

개인정보

제 프롬프트를 저장하나요?

API 로 보낸 프롬프트와 응답 본문은 저장하지 않습니다. 저장하는 것은 토큰 수·비용·모델·시각처럼 과금에 필요한 메타데이터뿐입니다.

웹사이트의 Chat 화면에서 나눈 대화는 예외이며, /settings/privacy 에서 저장을 끌 수 있습니다. 자세한 내용은 데이터 수집 에 있습니다.

제 데이터로 모델을 학습시키나요?

하지 않습니다. 제3자에게 판매하거나 제공하지도 않습니다.

외부 provider 로 나가는 요청은요?

그 provider 의 정책도 함께 적용됩니다. 프롬프트가 우리 인프라 밖으로 나가는 것 자체를 피하려면 로컬 GPU 모델만 쓰시면 됩니다. Provider 로깅 참고.

기타

openrouter.ai 와 같은 서비스인가요?

아닙니다. 별개의 서비스입니다. API 형상이 호환되도록 만들었기 때문에 클라이언트 코드를 거의 그대로 쓸 수 있지만, 계정·키·크레딧·모델 목록·요금은 전부 우리 것입니다. 통화도 원화입니다.

스트리밍을 지원하나요?

지원합니다. stream: true 를 주면 SSE 로 옵니다. stream_options.include_usage 는 우리가 항상 붙이므로 따로 지정할 필요가 없습니다.

스트리밍 도중의 오류는 HTTP 상태가 아니라 청크 안의 error 객체로 옵니다(finish_reason: "error"). 스트리밍 참고.

API 키를 프런트엔드에 넣어도 되나요?

안 됩니다. 브라우저에 넣으면 누구나 볼 수 있습니다. 항상 서버를 거쳐 호출하세요.

사용 내역은 어디서 보나요?

/settings/activity 에서 기간별 요청 수·토큰·비용과 모델별 내역을 볼 수 있습니다. 요청 하나의 상세는 GET /api/v1/generation?id=gen-… 입니다.

마지막 수정 2026. 9. 5.