[
  {
    "provider": "openai",
    "id": "gpt-5.4-nano",
    "display_name": "GPT-5.4 nano",
    "aliases": ["gpt-5.4-nano-latest"],
    "snapshots": ["gpt-5.4-nano-2026-03-17"],
    "family": "gpt-5.4",
    "status": ["DOCUMENTED", "LIVE_VERIFIED"],
    "context_window": 400000,
    "max_output": 128000,
    "modalities": {"input": ["text", "image"], "output": ["text"]},
    "capabilities": {
      "text_in": true, "image_in": true, "audio_in": false, "reasoning": true, "streaming": true,
      "structured_outputs": true, "function_calling": true, "prompt_caching": true, "batch": true,
      "fine_tuning": false, "extended_thinking": "unknown", "tool_web_search": true, "tool_mcp": true, "tool_computer_use": false
    },
    "endpoints": ["POST /v1/responses", "POST /v1/chat/completions", "POST /v1/batches"],
    "tools": ["function", "web_search", "mcp", "code_interpreter", "file_search"],
    "sources": [{"url": "https://developers.openai.com/api/docs/models/gpt-5.4-nano", "retrieved_at": "2026-09-18"}]
  },
  {
    "provider": "openai",
    "id": "gpt-5.4-nano-2026-03-17",
    "record_kind": "snapshot",
    "canonical_model": "gpt-5.4-nano",
    "aliases": [], "snapshots": [],
    "status": ["DOCUMENTED"],
    "capabilities": {},
    "endpoints": [], "tools": []
  },
  {
    "provider": "openai",
    "id": "ada",
    "aliases": [], "snapshots": [],
    "family": "legacy-retired",
    "status": ["RETIRED"],
    "capabilities": {"note": "no model page; capabilities unknown"},
    "endpoints": [], "tools": []
  },
  {
    "provider": "anthropic",
    "id": "claude-haiku-4-5-20251001",
    "display_name": "Claude Haiku 4.5",
    "aliases": ["claude-haiku-4-5"],
    "snapshots": [],
    "family": "claude-haiku",
    "status": ["DOCUMENTED", "LIVE_VERIFIED"],
    "context_window": 200000,
    "max_output": 64000,
    "modalities": {"input": ["text", "image"], "output": ["text"]},
    "capabilities": {
      "text_in": true, "image_in": true, "audio_in": false, "reasoning": true, "extended_thinking": true, "streaming": true,
      "structured_outputs": true, "function_calling": true, "prompt_caching": true, "batch": true, "fine_tuning": false,
      "tool_web_search": true, "tool_web_fetch": true, "tool_mcp": true, "tool_computer_use": true, "tool_code_execution": "unknown"
    },
    "endpoints": ["POST /v1/messages", "POST /v1/messages/count_tokens", "POST /v1/messages/batches"],
    "tools": ["custom", "web_search_20250305", "web_fetch_20250910", "code_execution_20250825", "computer_toolset_20260801", "mcp_toolset"],
    "beta_headers": [],
    "sources": [{"url": "https://platform.claude.com/docs/en/about-claude/models/overview", "retrieved_at": "2026-09-18"}]
  },
  {
    "provider": "anthropic",
    "id": "claude-opus-4-1-20250805",
    "aliases": ["claude-opus-4-1"],
    "snapshots": [],
    "family": "claude-opus",
    "status": ["DEPRECATED"],
    "capabilities": {"text_in": true, "function_calling": true, "extended_thinking": true, "structured_outputs": false},
    "endpoints": ["POST /v1/messages"],
    "tools": ["custom", "web_search_20250305"]
  },
  {
    "provider": "xai",
    "id": "grok-4.3",
    "kind": "model",
    "display_name": "Grok 4.3",
    "aliases": ["grok-4.3-latest"],
    "snapshots": ["grok-4.3"],
    "family": "Grok 4.x",
    "status": ["DOCUMENTED", "LIVE_VERIFIED"],
    "context_window": 2000000,
    "max_output": 128000,
    "modalities": {"input": ["text", "image"], "output": ["text"]},
    "capabilities": {
      "text_input": true, "image_input": true, "reasoning": true, "reasoning_effort_parameter": true, "reasoning_effort_levels": ["none", "low", "medium", "high", "xhigh"],
      "function_calling": true, "parallel_tool_calls": true, "structured_outputs": true, "streaming": true, "prompt_caching_automatic": true,
      "batch_api": true, "web_search": "unknown", "x_search": "unknown", "code_execution": "unknown", "remote_mcp": "unknown", "fine_tuning": false, "embeddings": false
    },
    "endpoints": ["POST /v1/chat/completions", "POST /v1/responses", "POST /v1/tokenize-text"],
    "tools": ["function", "web_search", "x_search", "code_execution", "code_interpreter", "file_search", "mcp"],
    "sources": [{"url": "https://docs.x.ai/developers/models/grok-4.3", "retrieved_at": "2026-09-19"}]
  },
  {
    "provider": "xai",
    "id": "grok-3",
    "kind": "retired_redirect",
    "display_name": "Grok 3",
    "aliases": [], "snapshots": [],
    "family": "Grok 3",
    "status": ["DOCUMENTED", "RETIRED"],
    "capabilities": {},
    "endpoints": [], "tools": [],
    "verification": {"method": "live_api", "verified_at": "2026-09-18", "result": "success", "http_status": 200,
                     "request_note": "GET /v1/models/grok-3 -> 200 with id 'grok-4.3' (redirect confirmed live 2026-09-19)"},
    "sources": [{"url": "https://docs.x.ai/developers/migration/may-15-retirement", "retrieved_at": "2026-09-19"}]
  },
  {
    "provider": "xai",
    "id": "grok-voice-think-fast-2.0",
    "kind": "model",
    "aliases": ["grok-voice-latest (routes here since 2026-08-05)"],
    "snapshots": [],
    "family": "Voice",
    "status": ["DOCUMENTED"],
    "capabilities": {"audio_input": true, "audio_output": true, "function_calling": true, "structured_outputs": false, "streaming": true},
    "endpoints": ["WS wss://api.x.ai/v1/realtime"],
    "tools": ["function", "web_search", "mcp"]
  },
  {
    "provider": "gemini",
    "id": "gemini-3.8-flash",
    "kind": "stable",
    "display_name": "Gemini 3.8 Flash",
    "aliases": ["gemini-flash-latest (observed 2026-09-19 via modelVersion)"],
    "snapshots": [],
    "family": "Gemini 3.8",
    "status": ["DOCUMENTED", "LIVE_VERIFIED"],
    "context_window": 1048576,
    "max_output": 65536,
    "modalities": {"input": ["text", "image", "audio", "video", "pdf"], "output": ["text"]},
    "capabilities": {
      "text_input": true, "image_input": true, "audio_input": true, "function_calling": true, "parallel_function_calling": true, "structured_output": true,
      "google_search_grounding": true, "url_context": true, "code_execution": true, "context_caching_implicit": true, "context_caching_explicit": true,
      "batch_api": true, "live_api": false, "image_generation": false, "computer_use": "unknown"
    },
    "endpoints": ["POST /v1beta/models/{model}:generateContent", "POST /v1beta/models/{model}:streamGenerateContent", "POST /v1beta/models/{model}:countTokens", "POST /v1beta/interactions"],
    "tools": [
      {"type": "google_search", "category": "server", "support": true},
      {"type": "url_context", "category": "server", "support": true},
      {"type": "code_execution", "category": "server", "support": true},
      {"type": "computer_use", "category": "server", "support": "Supported (Preview)"},
      {"type": "file_search", "category": "server", "support": false},
      {"type": "function_declarations", "category": "client", "support": true}
    ],
    "sources": [{"url": "https://ai.google.dev/gemini-api/docs/models/gemini-3.8-flash", "retrieved_at": "2026-09-19"}]
  },
  {
    "provider": "gemini",
    "id": "gemini-flash-latest",
    "kind": "alias",
    "display_name": "Gemini Flash (latest alias)",
    "aliases": [{"alias": "gemini-flash-latest", "resolves_to_live": "gemini-3.8-flash", "evidence": "generateContent modelVersion=gemini-3.8-flash (2026-09-19)",
                 "history": ["2026-01-21 -> gemini-3-flash-preview", "2026-05-19 -> gemini-3.5-flash", "observed 2026-09-19 -> gemini-3.8-flash"]}],
    "snapshots": [],
    "family": "Gemini (latest alias)",
    "status": ["DOCUMENTED", "LIVE_DISCOVERED", "LIVE_VERIFIED"],
    "capabilities": {"text_input": true, "text_output": true},
    "endpoints": ["POST /v1beta/models/{model}:generateContent"],
    "tools": []
  },
  {
    "provider": "gemini",
    "id": "gemini-3.5-flash-lite",
    "kind": "stable",
    "aliases": [], "snapshots": [],
    "family": "Gemini 3.5",
    "status": ["DOCUMENTED", "LIVE_VERIFIED"],
    "capabilities": {"text_input": true, "function_calling": true, "structured_output": true, "google_search_grounding": true, "context_caching_implicit": true, "code_execution": true, "live_api": false},
    "endpoints": ["POST /v1beta/models/{model}:generateContent", "POST /v1beta/models/{model}:streamGenerateContent"],
    "tools": [{"type": "google_search", "category": "server", "support": true}, {"type": "code_execution", "category": "server", "support": true}, {"type": "function_declarations", "category": "client", "support": true}]
  }
]
