Models

Browse and query 2000+ AI models from multiple providers

Overview

Access 2000+ models from multiple providers through one unified API:

  • Vercel AI Gateway - Chat models and the default provider (Claude, GPT, Gemini, Qwen, etc.)
  • OpenRouter - Chat models (GPT, Claude, Gemini, Llama, etc.)
  • Replicate - Image/video generation models
  • More coming soon

Authentication: Optional (public browsing allowed)
Required Scopes (OAuth): ai:models (recommended)

The Models API uses OpenAI-compatible format, so it works with the OpenAI SDK.


List All Models

Get all available models.

Endpoint: GET /api/v1/models

import OpenAI from 'openai'
 
const client = new OpenAI({
  apiKey: process.env.GATEWAY_API_KEY,
  baseURL: 'https://hypery.ai/api/v1'
})
 
const models = await client.models.list()
console.log(models.data)  // Array of models

Response:

{
  "object": "list",
  "data": [
    {
      "id": "anthropic/claude-3.5-sonnet",
      "object": "model",
      "owned_by": "anthropic",
      "name": "Claude Sonnet 4.5",
      "description": "Anthropic's most advanced Sonnet model…",
      "provider": "openrouter",
      "capabilities": {
        "function_calling": true,
        "vision": true
      },
      "context_length": 200000,
      "max_tokens": 4096
    }
  ],
  "has_more": true,
  "meta": { "total": 214, "offset": 0, "limit": 20, "hasMore": true, "returned": 20 }
}

Both response formats include pagination: the default (OpenAI) format adds has_more (OpenAI-style) plus a meta block, and format=custom returns the same meta. Use meta.total / has_more to decide whether to fetch the next offset — you don't need to switch formats to paginate.

Model Fields

FieldTypeDescription
idstringModel identifier (e.g., anthropic/claude-3.5-sonnet)
namestringHuman-readable display name (gateway extension — the OpenAI spec omits this)
descriptionstringShort model description (gateway extension)
owned_bystringModel creator/organization
providerstringWhich provider hosts it (vercel, openrouter, replicate)
capabilitiesobjectFeatures (function calling, vision, etc.)
context_lengthnumberMax context window in tokens
max_tokensnumberMax output tokens

name and description are gateway extensions. The base OpenAI /v1/models object is minimal (id, object, created, owned_by) — clients that want a display label should read name (falling back to id).

The unfiltered list is sorted by popularity, which is dominated by image/video models. If you want a specific kind of model — most commonly chat — filter with category (below) instead of scanning the full catalog.


Filter by Category (chat / image / video …)

The fastest way to get the models you actually want. category=chat returns the LLM chat models (from Vercel AI Gateway and OpenRouter) with no image/video noise.

// All chat models (the usual case) — bump the limit to get the whole set
const response = await fetch(
  'https://hypery.ai/api/v1/models?category=chat&limit=1000'
)
const { data } = await response.json()

Categories: chat · image · video · audio · embedding


Filter by Capabilities

Find models with specific features.

// Get models with function calling
const response = await fetch(
  'https://hypery.ai/api/v1/models?capabilities=function_calling',
  { headers: { 'Authorization': 'Bearer YOUR_API_KEY' } }
)
 
const models = await response.json()

Available capabilities:

  • function_calling - Can use tools
  • vision - Can analyze images
  • reasoning - Extended reasoning (o1 models)

Search Models

Find models by name or description.

const response = await fetch(
  'https://hypery.ai/api/v1/models?search=claude',
  { headers: { 'Authorization': 'Bearer YOUR_API_KEY' } }
)
 
const models = await response.json()

Searches in: model ID, name, and description.


Filter by Provider

Get models from a specific provider.

// Vercel AI Gateway — the DEFAULT chat provider (Claude, GPT, Gemini, Qwen, …)
const response = await fetch(
  'https://hypery.ai/api/v1/models?provider=vercel&limit=1000'
)
 
// OpenRouter chat models
const response = await fetch(
  'https://hypery.ai/api/v1/models?provider=openrouter&limit=1000'
)
 
// Replicate models (images/video)
const response = await fetch(
  'https://hypery.ai/api/v1/models?provider=replicate'
)

Filter by Context Length

Find models with large context windows.

// Models with at least 100K tokens
const response = await fetch(
  'https://hypery.ai/api/v1/models?minContextLength=100000'
)

Filter by pricing tier

By default, the public catalog exposes pricing tiers (free, budget, standard, premium) — not per-token unit costs. Use pricingTier to filter:

// Budget-tier models
const response = await fetch(
  'https://hypery.ai/api/v1/models?format=custom&pricingTier=budget'
)

Numeric minCost / maxCost filters (per 1M tokens) are only available when your OAuth app is configured for transparent pricing presentation. The default is tiered.


Pagination

Handle large result sets. Read has_more (or meta.total) from the response to decide whether to fetch the next offset. A single page can return up to limit=1000, so most filtered slices (e.g. ?category=chat) fit in one request.

// First page (50 results)
const page1 = await fetch(
  'https://hypery.ai/api/v1/models?limit=50&offset=0'
)
 
// Second page
const page2 = await fetch(
  'https://hypery.ai/api/v1/models?limit=50&offset=50'
)

Query Parameters

ParameterTypeDescriptionExample
categorystringFilter by model kind — chat, image, video, audio, embeddingchat
providerstringFilter by providervercel, openrouter, or replicate
capabilitiesstringFilter by features (comma-separated)function_calling,vision
inputModalitystringFilter by accepted input(s) (comma-separated)text,image
outputModalitystringFilter by produced output(s) (comma-separated)text
searchstringSearch query (id, name, description)claude
minContextLengthnumberMinimum context window100000
pricingTierstringFilter by tier (free, budget, standard, premium)budget
maxCostnumberMax cost per 1M tokens (transparent only)1.0
minCostnumberMin cost per 1M tokens (transparent only)0.5
limitnumberResults per page — default 20, max 1000 (values above are clamped)1000
offsetnumberSkip results (for pagination)100

limit is capped at 1000 per request, and the unfiltered catalog is sorted by popularity — so the first page is dominated by high-traffic image/video models. Always filter (e.g. ?category=chat) rather than paging the whole catalog to find a model kind. To enumerate a large slice, paginate with offset.


Model ID Format

Models use the format: organization/model-name

Examples:

  • anthropic/claude-3.5-sonnet
  • openai/gpt-4o
  • google/gemini-pro
  • meta-llama/llama-3-70b
  • black-forest-labs/flux-schnell

The first part is the creator/organization, NOT the provider. Provider is a separate field.


Chat Models

Model IDContextBest For
anthropic/claude-3.5-sonnet200KCoding, analysis
openai/gpt-4o128KGeneral purpose
openai/gpt-4o-mini128KFast, cheap
google/gemini-pro32KSpeed

Image Models

Model IDSpeedBest For
black-forest-labs/flux-schnell~15sHigh quality
stability-ai/stable-diffusion-3~20sGeneral purpose

View all models in dashboard →


Capabilities Reference

CapabilityWhat It Means
function_callingModel can use tools/functions
visionModel can analyze images
reasoningExtended thinking (o1 models)

Filter example:

# Get models that can see images AND call functions
GET /api/v1/models?capabilities=vision,function_calling

Next Steps