Skip to content

[Feature Request] Add GET /v1/models endpoint to list available LLM Gateway models #160

@ccomiti

Description

@ccomiti

Is your feature request related to a problem?

Yes. Currently, there is no programmatic way to retrieve the list of available LLM models from the LLM Gateway API. Developers must manually maintain a static list of models based on the documentation, which leads to:

  1. Maintenance burden: Applications must be updated manually when AssemblyAI adds, deprecates, or removes models
  2. Sync issues: No way to detect when the local model list is outdated
  3. Missing metadata: No access to dynamic information like model status, pricing changes, or capabilities

Describe the solution you'd like

Add a GET /v1/models endpoint (similar to OpenAI's /v1/models) that returns the list of available LLM Gateway models with their metadata.

Proposed endpoint:

GET https://llm-gateway.assemblyai.com/v1/models
Authorization: <API_KEY>

Expected response:

{
  "object": "list",
  "data": [
    {
      "id": "claude-sonnet-4-5-20250929",
      "object": "model",
      "created": 1727568000,
      "owned_by": "anthropic",
      "provider": "anthropic",
      "display_name": "Claude 4.5 Sonnet",
      "description": "Claude's best model for complex agents and coding",
      "pricing": {
        "input_per_million_tokens": 3.00,
        "output_per_million_tokens": 15.00,
        "currency": "USD"
      },
      "capabilities": {
        "max_context_tokens": 200000,
        "max_output_tokens": 16000,
        "supports_tools": true,
        "supports_vision": false
      },
      "status": "active",
      "deprecated_at": null
    },
    {
      "id": "gpt-5.2",
      "object": "model",
      "created": 1735689600,
      "owned_by": "openai",
      "provider": "openai",
      "display_name": "GPT-5.2",
      "description": "OpenAI's best model for coding and agentic tasks",
      "pricing": {
        "input_per_million_tokens": 5.00,
        "output_per_million_tokens": 15.00,
        "currency": "USD"
      },
      "capabilities": {
        "max_context_tokens": 128000,
        "max_output_tokens": 16384,
        "supports_tools": true,
        "supports_vision": true
      },
      "status": "active",
      "deprecated_at": null
    }
    // ... other models
  ]
}

SDK Integration

Add a corresponding method to the Python SDK:

import assemblyai as aai

aai.settings.api_key = "your-api-key"

# List all available models
models = aai.LlmGateway.list_models()

for model in models:
    print(f"{model.id}: {model.display_name}")
    print(f"  Provider: {model.provider}")
    print(f"  Pricing: ${model.pricing.input_per_million_tokens}/M input")
    print(f"  Status: {model.status}")

Use Cases

  1. Dynamic model selection: Applications can present users with the current list of available models
  2. Automated sync: Backend systems can automatically detect new models or deprecations
  3. Pricing transparency: Display accurate, up-to-date pricing to users before API calls
  4. Capability filtering: Filter models by features (tool support, context length, etc.)

Alternatives Considered

Currently, we maintain a static list of models in our codebase and manually sync it with the documentation. This is error-prone and requires constant monitoring of the AssemblyAI changelog.

Additional Context

This feature would bring the LLM Gateway API in line with other major LLM providers:

  • OpenAI: GET /v1/models
  • Anthropic: Model list in API responses
  • Google AI: GET /v1/models

Thank you for considering this feature request!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions