Skip to main content
All query parameters are optional and supported on:
  • GET /api/v1/models
  • GET /api/v1/models/top
  • GET /api/v1/models/{name}

Pagination

integer
default:"unlimited for /models, 5 for /models/top"
Maximum number of models to return.Alias: n (shorthand)Examples:
  • limit=10 - Return top 10 models
  • n=5 - Same as limit=5
  • No limit specified - /models returns all matching, /models/top returns 5

Fit Filtering

boolean
default:"false"
When true, return only models with perfect fit level (100% GPU, optimal quantization).Overrides min_fit when set.Valid values: true, falseExample:
string
default:"marginal"
Minimum fit level to include. Excludes models below this threshold.Valid values:
  • perfect - Only models that fit entirely in VRAM with optimal quant
  • good - Models that fit comfortably with reasonable performance
  • marginal - Models that barely fit or require heavy quantization
  • too_tight - Unrunnable models (usually filtered out)
Fit level hierarchy: perfect > good > marginal > too_tightExamples:
boolean
default:"true for /models, false for /models/top"
Include models with too_tight fit level (unrunnable due to insufficient memory).Use cases:
  • Set to false for production scheduling (exclude unrunnable models)
  • Set to true for exploratory analysis (see what’s close to runnable)
Example:

Runtime Filtering

string
default:"any"
Filter by inference runtime/backend.Valid values:
  • any - All runtimes (default)
  • mlx - Apple MLX (Apple Silicon only)
  • llamacpp - llama.cpp (CUDA, ROCm, Metal, CPU)
Aliases: llama.cpp, llama_cpp all map to llamacppExamples:

Use Case Filtering

string
Filter by model use case specialization.Valid values:
  • general - General-purpose models
  • coding - Code generation and completion
  • reasoning - Complex reasoning and problem-solving
  • chat - Conversational/instruction-following
  • multimodal - Vision + language models
  • embedding - Text embedding models
Aliases:
  • codecoding
  • reasonreasoning
  • visionmultimodal
  • embedembedding
Examples:

Text Filtering

string
Filter by model provider (case-insensitive substring match).Matches against: Model provider fieldExamples:
Free-text search across multiple fields (case-insensitive substring match).Searches:
  • Model name
  • Provider name
  • Parameter count (e.g., “7B”, “70B”)
  • Use case
  • Category label
Examples:

Sorting

string
default:"score"
Sort order for returned models.Valid values:
  • score - Overall fit score (default, descending)
  • tps - Estimated tokens per second (descending)
  • params - Parameter count (descending)
  • mem - Memory utilization percentage (ascending)
  • ctx - Context length (descending)
  • date - Release date (newest first)
  • use_case - Use case category (alphabetical)
Aliases:
  • tokens, throughputtps
  • parametersparams
  • memory, mem_pct, utilizationmem
  • contextctx
  • release, releaseddate
  • use, usecaseuse_case
Examples:

Context Configuration

integer
Maximum context length to use for memory estimation (in tokens).Overrides the global --max-context flag for this request.Use cases:
  • Query “what if” scenarios with different context requirements
  • Find models suitable for specific context window needs
  • Per-request memory budget constraints
Effect: Models are re-scored with the specified context limit, affecting:
  • Memory requirements
  • Fit levels
  • Score calculations
  • Quantization recommendations
Examples:

Common Combinations

Production Scheduling

Conservative defaults for reliable placement:

Coding Workload

Find top coding models:

High-Throughput Models

Sort by inference speed:

Large Context Requirements

Find models for long-context tasks:

Provider-Specific

All models from a specific provider:

Runtime-Constrained

llama.cpp only deployment:

Error Handling

Invalid parameter values return HTTP 400 with error details: Invalid min_fit:
Invalid runtime:
Invalid use_case:
Invalid sort:

Parameter Precedence

When multiple filters interact:
  1. perfect=true overrides min_fit
  2. include_too_tight=false removes too_tight models regardless of min_fit
  3. search parameter in path (/models/{name}) is added to query search filter
  4. max_context overrides global --max-context flag
  5. limit is applied after all filtering and sorting

Default Values by Endpoint