GET /models
카탈로그 조회와 필터
지금 부를 수 있는 모델 전부를 돌려줍니다. 인증이 필요 없습니다.
GET https://openrouter.myip.co.kr/api/v1/models응답 형상은 openrouter 와 같습니다. 필드 이름, 중첩 구조, 소수를 문자열로 인코딩하는 규칙까지 같고 다른 것은 pricing 의 숫자가 USD/토큰이 아니라 KRW/토큰이라는 사실 하나뿐입니다. 그래서 pricing.currency 필드와 X-MyIP-Currency: KRW 헤더를 둡니다. openrouter 용 파서는 미지 필드를 무시하므로 그대로 동작합니다.
쿼리 파라미터
qstring모델 id·이름·설명 전문 검색.
categorystring모달리티 계열로 좁힙니다(text, image 등). 우리 카탈로그에는 openrouter 의 category 열이 없어 architecture.modality 와 input_modalities 로 매칭합니다.
input_modalitiesstring쉼표 구분. 나열한 모달리티를 전부 입력으로 받는 모델만. 예: text,image.
output_modalitiesstring쉼표 구분. 위와 같은 방식으로 출력 모달리티를 봅니다.
supported_parametersstring쉼표 구분. 나열한 파라미터를 전부 지원하는 모델만. 예: tools,response_format.
contextintegercontext_length 가 이 값 이상인 모델만.
min_pricenumber프롬프트 판매 단가(KRW/토큰)의 하한.
max_pricenumber프롬프트 판매 단가(KRW/토큰)의 상한. 예: max_price=0.00005.
model_authorsstring쉼표 구분. 모델 id 의 / 앞부분입니다. 예: google,lgai.
providersstring쉼표 구분 provider slug. 그 provider 가 실제로 서빙하는 모델만.
sortstringprice(= pricing-low-to-high), pricing-high-to-low, context(= context-high-to-low), newest(= created), top-weekly. 그 밖의 값은 무시하고 모델 id 순서를 유지합니다.
offsetinteger건너뛸 개수. 기본 0.
limitinteger가져올 개수. 생략하면 전부 돌려줍니다.
요청 예제
# 툴 콜링이 되고 컨텍스트가 32k 이상인 모델을 싼 순으로
curl "https://openrouter.myip.co.kr/api/v1/models?supported_parameters=tools&context=32768&sort=price"
# 특정 제작자만
curl "https://openrouter.myip.co.kr/api/v1/models?model_authors=google,lgai"
# 우리 GPU 팜이 서빙하는 모델만, 두 번째 페이지
curl "https://openrouter.myip.co.kr/api/v1/models?providers=local-gpu&limit=20&offset=20"응답
dataobject[]모델 객체 배열. 총 개수는 이 응답에 없고 /models/count가 따로 줍니다.
data[].idstringauthor/slug 형식의 모델 id. 요청의 model 에 넣는 값입니다.
data[].canonical_slugstring정규 slug. 없으면 id 와 같습니다.
data[].hugging_face_idstring | nullHugging Face 저장소 id. 모르면 null.
data[].namestring표시용 이름.
data[].createdinteger유닉스 초.
data[].descriptionstring설명. 없으면 빈 문자열.
data[].context_lengthinteger | null컨텍스트 길이(토큰).
data[].architectureobjectmodality, input_modalities, output_modalities, tokenizer, instruct_type.
data[].pricingobjectKRW/토큰 판매 단가. 값은 전부 문자열입니다. 필드는 prompt, completion, request, image, web_search, internal_reasoning, input_cache_read, input_cache_write, 그리고 currency.
request·image·web_search·internal_reasoning 은 우리가 해당 과금을 하지 않아 항상 "0" 입니다. currency 는 openrouter 에 없는 우리 추가 필드로 항상 "KRW" 입니다.
data[].top_providerobjectcontext_length, max_completion_tokens, is_moderated.
data[].supported_parametersstring[]그 모델이 받는 요청 파라미터 이름 목록.
data[].default_parametersobject모델 기본 파라미터. 없으면 빈 객체입니다.
data[].per_request_limitsobject | null요청당 제한. 우리는 쓰지 않아 보통 null 입니다.
data[].supported_voicesnull음성 합성을 지원하지 않으므로 null 입니다.
data[].knowledge_cutoffstring | null학습 데이터 기준일.
data[].expiration_datestring | null서비스 종료 예정일.
data[].reasoningobject | null추론 토큰 관련 메타. 모르면 null.
data[].weekly_tokensnumber | null최근 주간 토큰 사용량.
data[].links.detailsstring그 모델의 endpoints 경로. /api/v1/models/<id>/endpoints 입니다.
응답 예제
{
"data": [
{
"id": "google/gemma-4-26b-a4b",
"canonical_slug": "google/gemma-4-26b-a4b",
"hugging_face_id": null,
"name": "Google: Gemma 4 26B A4B",
"created": 1786924800,
"description": "Gemma 4 26B (MoE 활성 4B, QAT AWQ-INT4). MyIP 로컬 GPU 기본 슬롯. tool calling 지원.",
"context_length": 32768,
"architecture": {
"modality": "text+image->text",
"input_modalities": ["text", "image"],
"output_modalities": ["text"],
"tokenizer": "Other",
"instruct_type": null
},
"pricing": {
"prompt": "0.000030",
"completion": "0.000150",
"request": "0",
"image": "0",
"web_search": "0",
"internal_reasoning": "0",
"input_cache_read": "0.000003",
"input_cache_write": null,
"currency": "KRW"
},
"top_provider": {
"context_length": 32768,
"max_completion_tokens": 32768,
"is_moderated": false
},
"per_request_limits": null,
"supported_parameters": [
"max_tokens", "temperature", "top_p", "top_k", "stop", "seed",
"frequency_penalty", "presence_penalty", "repetition_penalty",
"logit_bias", "response_format", "tools", "tool_choice"
],
"default_parameters": {},
"supported_voices": null,
"knowledge_cutoff": null,
"expiration_date": null,
"reasoning": null,
"weekly_tokens": null,
"links": { "details": "/api/v1/models/google/gemma-4-26b-a4b/endpoints" }
}
]
}"prompt": "0.000030" 은 토큰당 0.00003원, 즉 100만 토큰에 30원입니다. 단가가 어떻게 정해지는지는 요금 계산 방식에 있습니다.
관련 엔드포인트
GET /models/count
공개 모델 수만 셉니다. 쿼리 파라미터는 받지 않습니다.
curl https://openrouter.myip.co.kr/api/v1/models/count{ "data": { "total": 12 } }GET /models/user
추론 키가 필요합니다. 그 키로 실제로 호출할 수 있는 모델을 돌려줍니다. /models 와 두 가지가 다릅니다 — 비공개 모델도 포함하고, provider 매핑이 없어 실제로는 부를 수 없는 모델은 뺍니다. 쿼리 파라미터와 응답 형상은 /models 와 같습니다.
curl https://openrouter.myip.co.kr/api/v1/models/user \
-H "Authorization: Bearer $MYIP_API_KEY"오류
| 상태 | error_type | 발생 조건 |
|---|---|---|
| 401 | invalid_api_key | /models/user 를 키 없이·잘못된 키로 부름 |
| 429 | rate_limit_exceeded | 요청 빈도 제한 초과 |
| 500 | server | 서버 오류 |
/models 와 /models/count 는 인증이 없으므로 401 이 나지 않습니다. 알 수 없는 쿼리 파라미터나 값은 오류가 아니라 무시됩니다.
마지막 수정 2026. 9. 5.