Lunos logoLunos

Models API

The GET /v1/models endpoint returns model metadata used by Lunos routing: model IDs, providers, modalities, parameter support, pricing hints, and optional free-tier configuration. Use it to populate model pickers and validate model IDs before sending requests.

Public listing: Listing models does not require authentication on many deployments. If your environment requires a key, send Authorization like any other route.

Endpoint

GET /v1/models

Optional query parameters:

Parameter Type Required Description
input string No Filter models by supported input modalities. Use comma-separated values for multiple modalities.
output string No Filter models by supported output modalities. Use comma-separated values for multiple modalities.

Examples:

# Output can generate image
curl -s "https://api.lunos.tech/v1/models?output=image"

# Supports text or image input and text output
curl -s "https://api.lunos.tech/v1/models?input=text,image&output=text"

Full URL:

GET https://api.lunos.tech/v1/models

Response

The endpoint returns a top-level JSON array of model objects (not wrapped in data).

[
  {
    "id": "openai/gpt-4o",
    "modelId": "openai/gpt-4o",
    "permaslug": "openai-gpt-4o",
    "name": "GPT-4o",
    "provider": "openai",
    "parameters": {
      "context": 128000,
      "max_output_tokens": 4096,
      "size": "4B"
    },
    "pricePerMillionTokens": {
      "input": 5.0,
      "output": 15.0,
      "discountPercentage": 0
    },
    "supportedParameters": ["temperature", "max_tokens"],
    "inputModalities": ["text", "image"],
    "outputModalities": ["text"],
    "description": "OpenAI multimodal flagship model.",
    "freeConfig": {
      "maxTokens": 1000,
      "isPremium": false
    },
    "isEnabled": true,
    "avgThroughput": 0,
    "supportReasoning": true,
    "maxCompletionTokens": 4096,
    "releaseDate": "2024-05-13",
    "createdAt": "2026-01-10T10:00:00.000Z",
    "updatedAt": "2026-01-10T10:00:00.000Z"
  }
]

Common fields

Field Meaning
id Use this string as model in API calls.
modelId Canonical model ID from catalog.
name Human-readable model label.
parameters.context Context window size in tokens.
parameters.max_output_tokens Upper bound for a single completion.
provider Upstream vendor slug.
pricePerMillionTokens Indicative USD pricing per million tokens.
supportedParameters Parameters accepted by the model route (for example temperature, max_tokens).
inputModalities Input types accepted by this model (for example text, image, audio).
outputModalities Output types produced by this model (usually text).
freeConfig Optional gifted daily quota metadata.
isEnabled true if currently enabled for public listing, false otherwise.
supportReasoning true when reasoning mode is supported, false otherwise.
maxCompletionTokens Additional completion cap metadata from catalog.

Example request

curl -s https://api.lunos.tech/v1/models

Example response (truncated)

[
  {
    "id": "openai/gpt-4o",
    "modelId": "openai/gpt-4o",
    "name": "GPT-4o",
    "provider": "openai",
    "supportedParameters": ["temperature", "max_tokens"],
    "inputModalities": ["text", "image"],
    "outputModalities": ["text"]
  },
  {
    "id": "openai/text-embedding-3-small",
    "modelId": "openai/text-embedding-3-small",
    "name": "Text Embedding 3 Small",
    "provider": "openai",
    "supportedParameters": ["input"],
    "inputModalities": ["text"],
    "outputModalities": ["embedding"]
  }
]

Usage tips

  • Use id exactly as returned — casing and prefix matter.
  • Check inputModalities and outputModalities before assuming text, image, audio, or embedding behavior.
  • Check supportedParameters before sending optional tuning fields.
  • Compare pricePerMillionTokens when routing by cost.
  • Treat pricing as indicative; billing uses the authoritative rate attached to your workspace at request time.

For interactive discovery, also browse the Models page in the dashboard.