本文档尚未翻译成简体中文,现显示英文原文。

GET /models

Listing and filtering the catalog

Returns every model you can currently call. No authentication required.

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

The response shape matches openrouter — field names, nesting, and the convention of encoding decimals as strings — and the only difference is that the numbers in pricing are KRW per token rather than USD per token. That is why there is a pricing.currency field and an X-MyIP-Currency: KRW header. Parsers written for openrouter ignore unknown fields, so they keep working.

Query parameters

qstring

Full-text search over model id, name and description.

categorystring

Narrows by modality family (text, image, …). Our catalog has no openrouter category column, so we match on architecture.modality and input_modalities.

input_modalitiesstring

Comma-separated. Keeps only models that accept all the listed input modalities, e.g. text,image.

output_modalitiesstring

Comma-separated, same rule applied to output modalities.

supported_parametersstring

Comma-separated. Keeps only models supporting all the listed parameters, e.g. tools,response_format.

contextinteger

Keeps models whose context_length is at least this value.

min_pricenumber

Lower bound on the prompt sell rate, in KRW per token.

max_pricenumber

Upper bound on the prompt sell rate, in KRW per token, e.g. max_price=0.00005.

model_authorsstring

Comma-separated. This is the part of the model id before the /, e.g. google,lgai.

providersstring

Comma-separated provider slugs. Keeps only models that provider actually serves.

sortstring

price (= pricing-low-to-high), pricing-high-to-low, context (= context-high-to-low), newest (= created), top-weekly. Any other value is ignored and the default model-id ordering is kept.

offsetinteger

How many to skip. Defaults to 0.

limitinteger

How many to return. Omitted, everything is returned.

Request examples

bash
# Tool-calling models with at least 32k context, cheapest first
curl "https://openrouter.myip.co.kr/api/v1/models?supported_parameters=tools&context=32768&sort=price"

# Only certain authors
curl "https://openrouter.myip.co.kr/api/v1/models?model_authors=google,lgai"

# Only models served by our GPU farm, second page
curl "https://openrouter.myip.co.kr/api/v1/models?providers=local-gpu&limit=20&offset=20"

Response

dataobject[]

An array of model objects. The total count is not in this response; /models/count provides it separately.

data[].idstring

The model id, in author/slug form. This is what goes in a request's model.

data[].canonical_slugstring

Canonical slug; falls back to id.

data[].hugging_face_idstring | null

Hugging Face repository id, or null when unknown.

data[].namestring

Display name.

data[].createdinteger

Unix seconds.

data[].descriptionstring

Description, or an empty string.

data[].context_lengthinteger | null

Context length in tokens.

data[].architectureobject

modality, input_modalities, output_modalities, tokenizer, instruct_type.

data[].pricingobject

Sell rates in KRW per token. Every value is a string. Fields: prompt, completion, request, image, web_search, internal_reasoning, input_cache_read, input_cache_write, and currency.

request, image, web_search and internal_reasoning are always "0" because we do not charge for those. currency is our addition, absent from openrouter, and is always "KRW".

data[].top_providerobject

context_length, max_completion_tokens, is_moderated.

data[].supported_parametersstring[]

The request parameter names this model accepts.

data[].default_parametersobject

Model defaults; an empty object when there are none.

data[].per_request_limitsobject | null

Per-request limits. We do not use these, so usually null.

data[].supported_voicesnull

null — we do not support speech synthesis.

data[].knowledge_cutoffstring | null

Training data cutoff.

data[].expiration_datestring | null

Planned retirement date.

data[].reasoningobject | null

Reasoning-token metadata, or null when unknown.

data[].weekly_tokensnumber | null

Recent weekly token volume.

data[].links.detailsstring

The endpoints path for this model: /api/v1/models/<id>/endpoints.

Response example

json
{
  "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 active, QAT AWQ-INT4). Default MyIP local GPU slot. Supports 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" means 0.00003 won per token — 30 won per million tokens. How rates are derived is explained in How costs are calculated.

GET /models/count

Counts public models only, and takes no query parameters.

bash
curl https://openrouter.myip.co.kr/api/v1/models/count
json
{ "data": { "total": 12 } }

GET /models/user

Requires an inference key. Returns the models that key can actually call. It differs from /models in two ways: private models are included, and models with no provider mapping — which therefore cannot be called — are excluded. Query parameters and response shape are the same as /models.

bash
curl https://openrouter.myip.co.kr/api/v1/models/user \
  -H "Authorization: Bearer $MYIP_API_KEY"

Errors

Statuserror_typeRaised when
401invalid_api_key/models/user called with no key or a bad key
429rate_limit_exceededRequest rate limit exceeded
500serverServer error

/models and /models/count are unauthenticated, so they never return 401. Unknown query parameters and unparseable values are ignored rather than rejected.

最后更新于 2026年9月5日