其他

omni-models

cheaper-inference/omniroute

Query available AI models across all configured providers. List models, resolve model aliases, and browse the full model catalog including provider-specific variants.

  • 1115 次安装
  • 8.2万 星标
  • 收录于

安装命令

npx skills add https://github.com/cheaper-inference/omniroute --skill omni-models

SKILL.md

Overview

Query available AI models across all configured providers. List models, resolve model aliases, and browse the full model catalog including provider-specific variants.

Authentication

All requests require a valid Bearer token or session cookie. Obtain a token via POST /api/auth/login or configure REQUIRE_API_KEY=false for local development.

Endpoints

GET /api/v1/models

List available models

Returns all models available across configured providers. The discovery filters (capability, min_context, kind, q) are opt-in: without them the response is unchanged. They narrow the caller's own (key-filtered) catalog and run before limit/after paging.

curl http://localhost:20128/api/v1/models \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"

POST /api/v1/models/query

Query a model shortlist

Filtered shortlist over the same catalog as GET /v1/models (same auth and per-key visibility). Results are ordered by owned_by, then id, and capped by limit (default 20, maximum 100).

curl -X POST http://localhost:20128/api/v1/models/query \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'

GET /api/v1/models/health

Per-model pause state for the caller's key

Read-only liveness view over the in-memory model lockout store. ok means no pause observed by this instance (not a health verdict); connection-level pauses live outside the store read here. Additive: leaves GET /v1/models and its cache untouched. retry_after carries the shortest remaining lockout in seconds, rounded up, only when state is cooling. One documented difference from the dispatch 429 model_cooldown rule: a model with one lockout-covered connection and one connection-level cooldown still reads cooling here, while the 429 requires every connection to carry a model cooldown.

curl http://localhost:20128/api/v1/models/health \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"

GET /api/models

List models (management)

curl http://localhost:20128/api/models \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"

POST /api/models/alias

Create or update a model alias

curl -X POST http://localhost:20128/api/models/alias \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'

GET /api/models/catalog

Get full model catalog

curl http://localhost:20128/api/models/catalog \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"

GET /api/models/openrouter-catalog

GET models › openrouter catalog

curl http://localhost:20128/api/models/openrouter-catalog \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"

POST /api/models/test

POST models › test

curl -X POST http://localhost:20128/api/models/test \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'

POST /api/models/test-all

POST models › test all

curl -X POST http://localhost:20128/api/models/test-all \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'

GET /api/v1/models/{model}

GET models ›

curl http://localhost:20128/api/v1/models/{model} \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"

Payloads

See the full OpenAPI specification at GET /api/openapi/spec or docs/openapi.yaml for detailed request/response schemas.