{
  "name": "GitHub Copilot",
  "id": "copilot",
  "api_endpoint": "https://api.githubcopilot.com",
  "type": "openai-compat",
  "default_large_model_id": "claude-sonnet-4.6",
  "default_small_model_id": "claude-haiku-4.5",
  "models": [
    {
      "id": "claude-haiku-4.5",
      "name": "Claude Haiku 4.5",
      "cost_per_1m_in": 0,
      "cost_per_1m_out": 0,
      "cost_per_1m_in_cached": 0,
      "cost_per_1m_out_cached": 0,
      "context_window": 200000,
      "default_max_tokens": 32000,
      "can_reason": false,
      "supports_attachments": true
    },
    {
      "id": "claude-opus-4.5",
      "name": "Claude Opus 4.5",
      "cost_per_1m_in": 0,
      "cost_per_1m_out": 0,
      "cost_per_1m_in_cached": 0,
      "cost_per_1m_out_cached": 0,
      "context_window": 200000,
      "default_max_tokens": 32000,
      "can_reason": false,
      "supports_attachments": true
    },
    {
      "id": "claude-opus-4.7",
      "name": "Claude Opus 4.7",
      "cost_per_1m_in": 0,
      "cost_per_1m_out": 0,
      "cost_per_1m_in_cached": 0,
      "cost_per_1m_out_cached": 0,
      "context_window": 200000,
      "default_max_tokens": 64000,
      "can_reason": false,
      "supports_attachments": true
    },
    {
      "id": "claude-sonnet-4",
      "name": "Claude Sonnet 4",
      "cost_per_1m_in": 0,
      "cost_per_1m_out": 0,
      "cost_per_1m_in_cached": 0,
      "cost_per_1m_out_cached": 0,
      "context_window": 216000,
      "default_max_tokens": 16000,
      "can_reason": false,
      "supports_attachments": true
    },
    {
      "id": "claude-sonnet-4.5",
      "name": "Claude Sonnet 4.5",
      "cost_per_1m_in": 0,
      "cost_per_1m_out": 0,
      "cost_per_1m_in_cached": 0,
      "cost_per_1m_out_cached": 0,
      "context_window": 200000,
      "default_max_tokens": 32000,
      "can_reason": false,
      "supports_attachments": true
    },
    {
      "id": "claude-sonnet-4.6",
      "name": "Claude Sonnet 4.6",
      "cost_per_1m_in": 0,
      "cost_per_1m_out": 0,
      "cost_per_1m_in_cached": 0,
      "cost_per_1m_out_cached": 0,
      "context_window": 200000,
      "default_max_tokens": 32000,
      "can_reason": false,
      "supports_attachments": true
    },
    {
      "id": "gemini-2.5-pro",
      "name": "Gemini 2.5 Pro",
      "cost_per_1m_in": 0,
      "cost_per_1m_out": 0,
      "cost_per_1m_in_cached": 0,
      "cost_per_1m_out_cached": 0,
      "context_window": 128000,
      "default_max_tokens": 64000,
      "can_reason": false,
      "supports_attachments": true
    },
    {
      "id": "gemini-3-flash-preview",
      "name": "Gemini 3 Flash (Preview)",
      "cost_per_1m_in": 0,
      "cost_per_1m_out": 0,
      "cost_per_1m_in_cached": 0,
      "cost_per_1m_out_cached": 0,
      "context_window": 128000,
      "default_max_tokens": 64000,
      "can_reason": false,
      "supports_attachments": true
    },
    {
      "id": "gemini-3.1-pro-preview",
      "name": "Gemini 3.1 Pro",
      "cost_per_1m_in": 0,
      "cost_per_1m_out": 0,
      "cost_per_1m_in_cached": 0,
      "cost_per_1m_out_cached": 0,
      "context_window": 128000,
      "default_max_tokens": 64000,
      "can_reason": false,
      "supports_attachments": true
    },
    {
      "id": "gpt-3.5-turbo",
      "name": "GPT 3.5 Turbo",
      "cost_per_1m_in": 0,
      "cost_per_1m_out": 0,
      "cost_per_1m_in_cached": 0,
      "cost_per_1m_out_cached": 0,
      "context_window": 16384,
      "default_max_tokens": 4096,
      "can_reason": false,
      "supports_attachments": false
    },
    {
      "id": "gpt-4",
      "name": "GPT 4",
      "cost_per_1m_in": 0,
      "cost_per_1m_out": 0,
      "cost_per_1m_in_cached": 0,
      "cost_per_1m_out_cached": 0,
      "context_window": 32768,
      "default_max_tokens": 4096,
      "can_reason": false,
      "supports_attachments": false
    },
    {
      "id": "gpt-4-0125-preview",
      "name": "GPT 4 Turbo",
      "cost_per_1m_in": 0,
      "cost_per_1m_out": 0,
      "cost_per_1m_in_cached": 0,
      "cost_per_1m_out_cached": 0,
      "context_window": 128000,
      "default_max_tokens": 4096,
      "can_reason": false,
      "supports_attachments": false
    },
    {
      "id": "gpt-4.1",
      "name": "GPT-4.1",
      "cost_per_1m_in": 0,
      "cost_per_1m_out": 0,
      "cost_per_1m_in_cached": 0,
      "cost_per_1m_out_cached": 0,
      "context_window": 128000,
      "default_max_tokens": 16384,
      "can_reason": false,
      "supports_attachments": true
    },
    {
      "id": "gpt-4o",
      "name": "GPT-4o",
      "cost_per_1m_in": 0,
      "cost_per_1m_out": 0,
      "cost_per_1m_in_cached": 0,
      "cost_per_1m_out_cached": 0,
      "context_window": 128000,
      "default_max_tokens": 4096,
      "can_reason": false,
      "supports_attachments": true
    },
    {
      "id": "gpt-4o-mini",
      "name": "GPT-4o mini",
      "cost_per_1m_in": 0,
      "cost_per_1m_out": 0,
      "cost_per_1m_in_cached": 0,
      "cost_per_1m_out_cached": 0,
      "context_window": 128000,
      "default_max_tokens": 4096,
      "can_reason": false,
      "supports_attachments": false
    },
    {
      "id": "gpt-5-mini",
      "name": "GPT-5 mini",
      "cost_per_1m_in": 0,
      "cost_per_1m_out": 0,
      "cost_per_1m_in_cached": 0,
      "cost_per_1m_out_cached": 0,
      "context_window": 264000,
      "default_max_tokens": 64000,
      "can_reason": false,
      "supports_attachments": true
    },
    {
      "id": "gpt-5.2",
      "name": "GPT-5.2",
      "cost_per_1m_in": 0,
      "cost_per_1m_out": 0,
      "cost_per_1m_in_cached": 0,
      "cost_per_1m_out_cached": 0,
      "context_window": 264000,
      "default_max_tokens": 64000,
      "can_reason": false,
      "supports_attachments": true
    },
    {
      "id": "gpt-5.2-codex",
      "name": "GPT-5.2-Codex",
      "cost_per_1m_in": 0,
      "cost_per_1m_out": 0,
      "cost_per_1m_in_cached": 0,
      "cost_per_1m_out_cached": 0,
      "context_window": 400000,
      "default_max_tokens": 128000,
      "can_reason": false,
      "supports_attachments": true
    },
    {
      "id": "gpt-5.3-codex",
      "name": "GPT-5.3-Codex",
      "cost_per_1m_in": 0,
      "cost_per_1m_out": 0,
      "cost_per_1m_in_cached": 0,
      "cost_per_1m_out_cached": 0,
      "context_window": 400000,
      "default_max_tokens": 128000,
      "can_reason": false,
      "supports_attachments": true
    },
    {
      "id": "gpt-5.4",
      "name": "GPT-5.4",
      "cost_per_1m_in": 0,
      "cost_per_1m_out": 0,
      "cost_per_1m_in_cached": 0,
      "cost_per_1m_out_cached": 0,
      "context_window": 400000,
      "default_max_tokens": 128000,
      "can_reason": false,
      "supports_attachments": true
    },
    {
      "id": "gpt-5.4-mini",
      "name": "GPT-5.4 mini",
      "cost_per_1m_in": 0,
      "cost_per_1m_out": 0,
      "cost_per_1m_in_cached": 0,
      "cost_per_1m_out_cached": 0,
      "context_window": 400000,
      "default_max_tokens": 128000,
      "can_reason": false,
      "supports_attachments": true
    },
    {
      "id": "gpt-5.5",
      "name": "GPT-5.5",
      "cost_per_1m_in": 0,
      "cost_per_1m_out": 0,
      "cost_per_1m_in_cached": 0,
      "cost_per_1m_out_cached": 0,
      "context_window": 400000,
      "default_max_tokens": 128000,
      "can_reason": false,
      "supports_attachments": true
    },
    {
      "id": "grok-code-fast-1",
      "name": "Grok Code Fast 1",
      "cost_per_1m_in": 0,
      "cost_per_1m_out": 0,
      "cost_per_1m_in_cached": 0,
      "cost_per_1m_out_cached": 0,
      "context_window": 128000,
      "default_max_tokens": 64000,
      "can_reason": false,
      "supports_attachments": false
    },
    {
      "id": "minimax-m2.5",
      "name": "MiniMax M2.5 (Fast)",
      "cost_per_1m_in": 0,
      "cost_per_1m_out": 0,
      "cost_per_1m_in_cached": 0,
      "cost_per_1m_out_cached": 0,
      "context_window": 131000,
      "default_max_tokens": 40000,
      "can_reason": false,
      "supports_attachments": false
    }
  ]
}
