[
  {
    "id": "chat-latest",
    "displayName": "ChatGPT Instant (chat-latest)",
    "family": "chat-latest",
    "contextTokens": 400000,
    "maxOutputTokens": 128000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": false,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": null,
      "topP": null,
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "unsupported",
      "thinkingBudget": "unsupported",
      "stop": "conditional",
      "seed": "conditional",
      "frequencyPenalty": null,
      "presencePenalty": null,
      "verbosity": "supported"
    },
    "pricing": {
      "inputPerMillion": 5,
      "cachedInputPerMillion": 0.5,
      "outputPerMillion": 30
    },
    "status": "active",
    "notes": "Latest ChatGPT Instant model; non-reasoning (probe echoed reasoning.effort medium but 0 reasoning tokens). Max input 272,000. No Batch. Docs recommend GPT-6 Astra for production. Sampling params not probed. Verified by probe: basic. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": null,
    "defaultReasoningEffort": null,
    "apis": [
      "responses",
      "chat"
    ],
    "knowledgeCutoff": "2025-08-31",
    "shutdownDate": null,
    "snapshotOf": null
  },
  {
    "id": "gpt-3.5-turbo",
    "displayName": "GPT-3.5 Turbo",
    "family": "gpt-3.5",
    "contextTokens": 16385,
    "maxOutputTokens": 4096,
    "capabilities": {
      "text": true,
      "vision": false,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": false,
      "video": false,
      "reasoning": false,
      "tools": true,
      "structuredOutput": false,
      "streaming": true,
      "files": false,
      "webSearch": false
    },
    "parameters": {
      "temperature": "supported",
      "topP": "supported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "unsupported",
      "thinkingBudget": "unsupported",
      "stop": "conditional",
      "seed": "conditional",
      "frequencyPenalty": "supported",
      "presencePenalty": "supported",
      "verbosity": "unsupported"
    },
    "pricing": {
      "inputPerMillion": 0.5,
      "cachedInputPerMillion": null,
      "outputPerMillion": 1.5
    },
    "status": "deprecated",
    "notes": "Alias; currently resolves to gpt-3.5-turbo-0125. shutdown_date (from GET /v1/models): 2026-10-23. Alias -> gpt-3.5-turbo-0125 (verified). shutdown_date 2026-10-23 (-1106 and -instruct: 2026-09-28) -> gpt-5.6-terra. Text only, JSON mode only. Verified by probe: basic. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": null,
    "defaultReasoningEffort": null,
    "apis": [
      "responses",
      "chat",
      "batch",
      "fine-tuning"
    ],
    "knowledgeCutoff": null,
    "shutdownDate": "2026-10-23",
    "snapshotOf": null
  },
  {
    "id": "gpt-3.5-turbo-0125",
    "displayName": "GPT-3.5 Turbo (0125)",
    "family": "gpt-3.5",
    "contextTokens": 16385,
    "maxOutputTokens": 4096,
    "capabilities": {
      "text": true,
      "vision": false,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": false,
      "video": false,
      "reasoning": false,
      "tools": true,
      "structuredOutput": false,
      "streaming": true,
      "files": false,
      "webSearch": false
    },
    "parameters": {
      "temperature": "supported",
      "topP": "supported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "unsupported",
      "thinkingBudget": "unsupported",
      "stop": "conditional",
      "seed": "conditional",
      "frequencyPenalty": "supported",
      "presencePenalty": "supported",
      "verbosity": "unsupported"
    },
    "pricing": {
      "inputPerMillion": 0.5,
      "cachedInputPerMillion": null,
      "outputPerMillion": 1.5
    },
    "status": "deprecated",
    "notes": "Dated snapshot of gpt-3.5-turbo. shutdown_date (from GET /v1/models): 2026-10-23. Alias -> gpt-3.5-turbo-0125 (verified). shutdown_date 2026-10-23 (-1106 and -instruct: 2026-09-28) -> gpt-5.6-terra. Text only, JSON mode only. Verified by probe: basic. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": null,
    "defaultReasoningEffort": null,
    "apis": [
      "responses",
      "chat",
      "batch",
      "fine-tuning"
    ],
    "knowledgeCutoff": null,
    "shutdownDate": "2026-10-23",
    "snapshotOf": "gpt-3.5-turbo"
  },
  {
    "id": "gpt-3.5-turbo-1106",
    "displayName": "GPT-3.5 Turbo (1106)",
    "family": "gpt-3.5",
    "contextTokens": 16385,
    "maxOutputTokens": 4096,
    "capabilities": {
      "text": true,
      "vision": false,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": false,
      "video": false,
      "reasoning": false,
      "tools": true,
      "structuredOutput": false,
      "streaming": true,
      "files": false,
      "webSearch": false
    },
    "parameters": {
      "temperature": "supported",
      "topP": "supported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "unsupported",
      "thinkingBudget": "unsupported",
      "stop": "conditional",
      "seed": "conditional",
      "frequencyPenalty": "supported",
      "presencePenalty": "supported",
      "verbosity": "unsupported"
    },
    "pricing": {
      "inputPerMillion": 0.5,
      "cachedInputPerMillion": null,
      "outputPerMillion": 1.5
    },
    "status": "deprecated",
    "notes": "Dated snapshot of gpt-3.5-turbo. shutdown_date (from GET /v1/models): 2026-09-28. Alias -> gpt-3.5-turbo-0125 (verified). shutdown_date 2026-10-23 (-1106 and -instruct: 2026-09-28) -> gpt-5.6-terra. Text only, JSON mode only. Verified by probe: basic. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": null,
    "defaultReasoningEffort": null,
    "apis": [
      "responses",
      "chat",
      "batch",
      "fine-tuning"
    ],
    "knowledgeCutoff": null,
    "shutdownDate": "2026-09-28",
    "snapshotOf": "gpt-3.5-turbo"
  },
  {
    "id": "gpt-3.5-turbo-16k",
    "displayName": "GPT-3.5 Turbo (16k)",
    "family": "gpt-3.5",
    "contextTokens": 16385,
    "maxOutputTokens": 4096,
    "capabilities": {
      "text": true,
      "vision": false,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": false,
      "video": false,
      "reasoning": false,
      "tools": true,
      "structuredOutput": false,
      "streaming": true,
      "files": false,
      "webSearch": false
    },
    "parameters": {
      "temperature": "supported",
      "topP": "supported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "unsupported",
      "thinkingBudget": "unsupported",
      "stop": "conditional",
      "seed": "conditional",
      "frequencyPenalty": "supported",
      "presencePenalty": "supported",
      "verbosity": "unsupported"
    },
    "pricing": {
      "inputPerMillion": 0.5,
      "cachedInputPerMillion": null,
      "outputPerMillion": 1.5
    },
    "status": "deprecated",
    "notes": "Dated snapshot of gpt-3.5-turbo. Alias -> gpt-3.5-turbo-0125 (verified). shutdown_date 2026-10-23 (-1106 and -instruct: 2026-09-28) -> gpt-5.6-terra. Text only, JSON mode only. Verified by probe: basic. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": null,
    "defaultReasoningEffort": null,
    "apis": [
      "responses",
      "chat",
      "batch",
      "fine-tuning"
    ],
    "knowledgeCutoff": null,
    "shutdownDate": null,
    "snapshotOf": "gpt-3.5-turbo"
  },
  {
    "id": "gpt-4",
    "displayName": "GPT-4",
    "family": "gpt-4",
    "contextTokens": 8192,
    "maxOutputTokens": 8192,
    "capabilities": {
      "text": true,
      "vision": false,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": false,
      "video": false,
      "reasoning": false,
      "tools": true,
      "structuredOutput": false,
      "streaming": true,
      "files": false,
      "webSearch": false
    },
    "parameters": {
      "temperature": "supported",
      "topP": "supported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "unsupported",
      "thinkingBudget": "unsupported",
      "stop": "conditional",
      "seed": "conditional",
      "frequencyPenalty": "supported",
      "presencePenalty": "supported",
      "verbosity": "unsupported"
    },
    "pricing": {
      "inputPerMillion": 30,
      "cachedInputPerMillion": null,
      "outputPerMillion": 60
    },
    "status": "deprecated",
    "notes": "shutdown_date (from GET /v1/models): 2026-10-23. shutdown_date 2026-10-23 -> gpt-5.6-sol. Text only, no structured outputs (JSON mode only). Not probed. Verified by probe: none. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": null,
    "defaultReasoningEffort": null,
    "apis": [
      "responses",
      "chat",
      "batch",
      "assistants",
      "fine-tuning"
    ],
    "knowledgeCutoff": "2023-12-01",
    "shutdownDate": "2026-10-23",
    "snapshotOf": null
  },
  {
    "id": "gpt-4-0613",
    "displayName": "GPT-4 (0613)",
    "family": "gpt-4",
    "contextTokens": 8192,
    "maxOutputTokens": 8192,
    "capabilities": {
      "text": true,
      "vision": false,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": false,
      "video": false,
      "reasoning": false,
      "tools": true,
      "structuredOutput": false,
      "streaming": true,
      "files": false,
      "webSearch": false
    },
    "parameters": {
      "temperature": "supported",
      "topP": "supported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "unsupported",
      "thinkingBudget": "unsupported",
      "stop": "conditional",
      "seed": "conditional",
      "frequencyPenalty": "supported",
      "presencePenalty": "supported",
      "verbosity": "unsupported"
    },
    "pricing": {
      "inputPerMillion": 30,
      "cachedInputPerMillion": null,
      "outputPerMillion": 60
    },
    "status": "deprecated",
    "notes": "Dated snapshot of gpt-4. shutdown_date (from GET /v1/models): 2026-10-23. shutdown_date 2026-10-23 -> gpt-5.6-sol. Text only, no structured outputs (JSON mode only). Not probed. Verified by probe: none. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": null,
    "defaultReasoningEffort": null,
    "apis": [
      "responses",
      "chat",
      "batch",
      "assistants",
      "fine-tuning"
    ],
    "knowledgeCutoff": "2023-12-01",
    "shutdownDate": "2026-10-23",
    "snapshotOf": "gpt-4"
  },
  {
    "id": "gpt-4-turbo",
    "displayName": "GPT-4 Turbo",
    "family": "gpt-4",
    "contextTokens": 128000,
    "maxOutputTokens": 4096,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": false,
      "video": false,
      "reasoning": false,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": null,
      "webSearch": false
    },
    "parameters": {
      "temperature": "supported",
      "topP": "supported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "unsupported",
      "thinkingBudget": "unsupported",
      "stop": "conditional",
      "seed": "conditional",
      "frequencyPenalty": "supported",
      "presencePenalty": "supported",
      "verbosity": "unsupported"
    },
    "pricing": {
      "inputPerMillion": 10,
      "cachedInputPerMillion": null,
      "outputPerMillion": 30
    },
    "status": "deprecated",
    "notes": "shutdown_date (from GET /v1/models): 2026-10-23. shutdown_date 2026-10-23 -> gpt-5.6-sol. Still answers (verified). No prompt caching. Verified by probe: basic. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": null,
    "defaultReasoningEffort": null,
    "apis": [
      "responses",
      "chat",
      "batch",
      "assistants"
    ],
    "knowledgeCutoff": "2023-12-01",
    "shutdownDate": "2026-10-23",
    "snapshotOf": null
  },
  {
    "id": "gpt-4-turbo-2024-04-09",
    "displayName": "GPT-4 Turbo (2024-04-09)",
    "family": "gpt-4",
    "contextTokens": 128000,
    "maxOutputTokens": 4096,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": false,
      "video": false,
      "reasoning": false,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": null,
      "webSearch": false
    },
    "parameters": {
      "temperature": "supported",
      "topP": "supported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "unsupported",
      "thinkingBudget": "unsupported",
      "stop": "conditional",
      "seed": "conditional",
      "frequencyPenalty": "supported",
      "presencePenalty": "supported",
      "verbosity": "unsupported"
    },
    "pricing": {
      "inputPerMillion": 10,
      "cachedInputPerMillion": null,
      "outputPerMillion": 30
    },
    "status": "deprecated",
    "notes": "Dated snapshot of gpt-4-turbo. shutdown_date (from GET /v1/models): 2026-10-23. shutdown_date 2026-10-23 -> gpt-5.6-sol. Still answers (verified). No prompt caching. Verified by probe: basic. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": null,
    "defaultReasoningEffort": null,
    "apis": [
      "responses",
      "chat",
      "batch",
      "assistants"
    ],
    "knowledgeCutoff": "2023-12-01",
    "shutdownDate": "2026-10-23",
    "snapshotOf": "gpt-4-turbo"
  },
  {
    "id": "gpt-4.1",
    "displayName": "GPT-4.1",
    "family": "gpt-4.1",
    "contextTokens": 1047576,
    "maxOutputTokens": 32768,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": false,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "supported",
      "topP": "supported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "unsupported",
      "thinkingBudget": "unsupported",
      "stop": "conditional",
      "seed": "conditional",
      "frequencyPenalty": "supported",
      "presencePenalty": "supported",
      "verbosity": "unsupported"
    },
    "pricing": {
      "inputPerMillion": 2,
      "cachedInputPerMillion": 0.5,
      "outputPerMillion": 8
    },
    "status": "active",
    "notes": "Snapshot gpt-4.1-2025-04-14. Non-reasoning; classic sampling params; text.verbosity only 'medium'. Web search supported. Verified by probe: basic. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": null,
    "defaultReasoningEffort": null,
    "apis": [
      "responses",
      "chat",
      "batch",
      "assistants",
      "fine-tuning"
    ],
    "knowledgeCutoff": "2024-06-01",
    "shutdownDate": null,
    "snapshotOf": null
  },
  {
    "id": "gpt-4.1-2025-04-14",
    "displayName": "GPT-4.1 (2025-04-14)",
    "family": "gpt-4.1",
    "contextTokens": 1047576,
    "maxOutputTokens": 32768,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": false,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "supported",
      "topP": "supported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "unsupported",
      "thinkingBudget": "unsupported",
      "stop": "conditional",
      "seed": "conditional",
      "frequencyPenalty": "supported",
      "presencePenalty": "supported",
      "verbosity": "unsupported"
    },
    "pricing": {
      "inputPerMillion": 2,
      "cachedInputPerMillion": 0.5,
      "outputPerMillion": 8
    },
    "status": "active",
    "notes": "Dated snapshot of gpt-4.1. Snapshot gpt-4.1-2025-04-14. Non-reasoning; classic sampling params; text.verbosity only 'medium'. Web search supported. Verified by probe: basic. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": null,
    "defaultReasoningEffort": null,
    "apis": [
      "responses",
      "chat",
      "batch",
      "assistants",
      "fine-tuning"
    ],
    "knowledgeCutoff": "2024-06-01",
    "shutdownDate": null,
    "snapshotOf": "gpt-4.1"
  },
  {
    "id": "gpt-4.1-mini",
    "displayName": "GPT-4.1 mini",
    "family": "gpt-4.1",
    "contextTokens": 1047576,
    "maxOutputTokens": 32768,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": false,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "supported",
      "topP": "supported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "unsupported",
      "thinkingBudget": "unsupported",
      "stop": "conditional",
      "seed": "conditional",
      "frequencyPenalty": "supported",
      "presencePenalty": "supported",
      "verbosity": "unsupported"
    },
    "pricing": {
      "inputPerMillion": 0.4,
      "cachedInputPerMillion": 0.1,
      "outputPerMillion": 1.6
    },
    "status": "active",
    "notes": "temperature/top_p/frequency_penalty/presence_penalty/logprobs accepted; reasoning.effort rejected ('Unsupported parameter'); text.verbosity 'low' rejected ('Supported values are: medium'); seed/stop unknown_parameter in Responses (available in Chat Completions). web_search verified with url_citation annotations. Verified by probe: basic, stream, params, tools, structured, vision, web_search, chat completions. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": null,
    "defaultReasoningEffort": null,
    "apis": [
      "responses",
      "chat",
      "batch",
      "assistants",
      "fine-tuning"
    ],
    "knowledgeCutoff": "2024-06-01",
    "shutdownDate": null,
    "snapshotOf": null
  },
  {
    "id": "gpt-4.1-mini-2025-04-14",
    "displayName": "GPT-4.1 mini (2025-04-14)",
    "family": "gpt-4.1",
    "contextTokens": 1047576,
    "maxOutputTokens": 32768,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": false,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "supported",
      "topP": "supported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "unsupported",
      "thinkingBudget": "unsupported",
      "stop": "conditional",
      "seed": "conditional",
      "frequencyPenalty": "supported",
      "presencePenalty": "supported",
      "verbosity": "unsupported"
    },
    "pricing": {
      "inputPerMillion": 0.4,
      "cachedInputPerMillion": 0.1,
      "outputPerMillion": 1.6
    },
    "status": "active",
    "notes": "Dated snapshot of gpt-4.1-mini. temperature/top_p/frequency_penalty/presence_penalty/logprobs accepted; reasoning.effort rejected ('Unsupported parameter'); text.verbosity 'low' rejected ('Supported values are: medium'); seed/stop unknown_parameter in Responses (available in Chat Completions). web_search verified with url_citation annotations. Verified by probe: basic, stream, params, tools, structured, vision, web_search, chat completions. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": null,
    "defaultReasoningEffort": null,
    "apis": [
      "responses",
      "chat",
      "batch",
      "assistants",
      "fine-tuning"
    ],
    "knowledgeCutoff": "2024-06-01",
    "shutdownDate": null,
    "snapshotOf": "gpt-4.1-mini"
  },
  {
    "id": "gpt-4.1-nano",
    "displayName": "GPT-4.1 nano",
    "family": "gpt-4.1",
    "contextTokens": 1047576,
    "maxOutputTokens": 32768,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": false,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": false
    },
    "parameters": {
      "temperature": "supported",
      "topP": "supported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "unsupported",
      "thinkingBudget": "unsupported",
      "stop": "conditional",
      "seed": "conditional",
      "frequencyPenalty": "supported",
      "presencePenalty": "supported",
      "verbosity": "unsupported"
    },
    "pricing": {
      "inputPerMillion": 0.1,
      "cachedInputPerMillion": 0.025,
      "outputPerMillion": 0.4
    },
    "status": "deprecated",
    "notes": "shutdown_date (from GET /v1/models): 2026-10-23. shutdown_date 2026-10-23 (still answers, verified) -> replacement gpt-5.6-luna. No web_search tool. Verified by probe: basic. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": null,
    "defaultReasoningEffort": null,
    "apis": [
      "responses",
      "chat",
      "batch",
      "assistants",
      "fine-tuning"
    ],
    "knowledgeCutoff": "2024-06-01",
    "shutdownDate": "2026-10-23",
    "snapshotOf": null
  },
  {
    "id": "gpt-4.1-nano-2025-04-14",
    "displayName": "GPT-4.1 nano (2025-04-14)",
    "family": "gpt-4.1",
    "contextTokens": 1047576,
    "maxOutputTokens": 32768,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": false,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": false
    },
    "parameters": {
      "temperature": "supported",
      "topP": "supported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "unsupported",
      "thinkingBudget": "unsupported",
      "stop": "conditional",
      "seed": "conditional",
      "frequencyPenalty": "supported",
      "presencePenalty": "supported",
      "verbosity": "unsupported"
    },
    "pricing": {
      "inputPerMillion": 0.1,
      "cachedInputPerMillion": 0.025,
      "outputPerMillion": 0.4
    },
    "status": "deprecated",
    "notes": "Dated snapshot of gpt-4.1-nano. shutdown_date (from GET /v1/models): 2026-10-23. shutdown_date 2026-10-23 (still answers, verified) -> replacement gpt-5.6-luna. No web_search tool. Verified by probe: basic. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": null,
    "defaultReasoningEffort": null,
    "apis": [
      "responses",
      "chat",
      "batch",
      "assistants",
      "fine-tuning"
    ],
    "knowledgeCutoff": "2024-06-01",
    "shutdownDate": "2026-10-23",
    "snapshotOf": "gpt-4.1-nano"
  },
  {
    "id": "gpt-4o",
    "displayName": "GPT-4o",
    "family": "gpt-4o",
    "contextTokens": 128000,
    "maxOutputTokens": 16384,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": false,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "supported",
      "topP": "supported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "unsupported",
      "thinkingBudget": "unsupported",
      "stop": "conditional",
      "seed": "conditional",
      "frequencyPenalty": "supported",
      "presencePenalty": "supported",
      "verbosity": "unsupported"
    },
    "pricing": {
      "inputPerMillion": 2.5,
      "cachedInputPerMillion": 1.25,
      "outputPerMillion": 10
    },
    "status": "active",
    "notes": "Alias; currently resolves to gpt-4o-2024-08-06. Alias resolves to gpt-4o-2024-08-06 (verified). Snapshot 2024-05-13 shuts down 2026-10-23 -> gpt-5.6-sol. Cached input is only 50% (older cache pricing). Verified by probe: basic. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": null,
    "defaultReasoningEffort": null,
    "apis": [
      "responses",
      "chat",
      "batch",
      "assistants",
      "fine-tuning"
    ],
    "knowledgeCutoff": "2023-10-01",
    "shutdownDate": null,
    "snapshotOf": null
  },
  {
    "id": "gpt-4o-2024-05-13",
    "displayName": "GPT-4o (2024-05-13)",
    "family": "gpt-4o",
    "contextTokens": 128000,
    "maxOutputTokens": 16384,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": false,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "supported",
      "topP": "supported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "unsupported",
      "thinkingBudget": "unsupported",
      "stop": "conditional",
      "seed": "conditional",
      "frequencyPenalty": "supported",
      "presencePenalty": "supported",
      "verbosity": "unsupported"
    },
    "pricing": {
      "inputPerMillion": 2.5,
      "cachedInputPerMillion": 1.25,
      "outputPerMillion": 10
    },
    "status": "deprecated",
    "notes": "Dated snapshot of gpt-4o. shutdown_date (from GET /v1/models): 2026-10-23. Alias resolves to gpt-4o-2024-08-06 (verified). Snapshot 2024-05-13 shuts down 2026-10-23 -> gpt-5.6-sol. Cached input is only 50% (older cache pricing). Verified by probe: basic. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": null,
    "defaultReasoningEffort": null,
    "apis": [
      "responses",
      "chat",
      "batch",
      "assistants",
      "fine-tuning"
    ],
    "knowledgeCutoff": "2023-10-01",
    "shutdownDate": "2026-10-23",
    "snapshotOf": "gpt-4o"
  },
  {
    "id": "gpt-4o-2024-08-06",
    "displayName": "GPT-4o (2024-08-06)",
    "family": "gpt-4o",
    "contextTokens": 128000,
    "maxOutputTokens": 16384,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": false,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "supported",
      "topP": "supported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "unsupported",
      "thinkingBudget": "unsupported",
      "stop": "conditional",
      "seed": "conditional",
      "frequencyPenalty": "supported",
      "presencePenalty": "supported",
      "verbosity": "unsupported"
    },
    "pricing": {
      "inputPerMillion": 2.5,
      "cachedInputPerMillion": 1.25,
      "outputPerMillion": 10
    },
    "status": "active",
    "notes": "Dated snapshot of gpt-4o. Alias resolves to gpt-4o-2024-08-06 (verified). Snapshot 2024-05-13 shuts down 2026-10-23 -> gpt-5.6-sol. Cached input is only 50% (older cache pricing). Verified by probe: basic. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": null,
    "defaultReasoningEffort": null,
    "apis": [
      "responses",
      "chat",
      "batch",
      "assistants",
      "fine-tuning"
    ],
    "knowledgeCutoff": "2023-10-01",
    "shutdownDate": null,
    "snapshotOf": "gpt-4o"
  },
  {
    "id": "gpt-4o-2024-11-20",
    "displayName": "GPT-4o (2024-11-20)",
    "family": "gpt-4o",
    "contextTokens": 128000,
    "maxOutputTokens": 16384,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": false,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "supported",
      "topP": "supported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "unsupported",
      "thinkingBudget": "unsupported",
      "stop": "conditional",
      "seed": "conditional",
      "frequencyPenalty": "supported",
      "presencePenalty": "supported",
      "verbosity": "unsupported"
    },
    "pricing": {
      "inputPerMillion": 2.5,
      "cachedInputPerMillion": 1.25,
      "outputPerMillion": 10
    },
    "status": "active",
    "notes": "Dated snapshot of gpt-4o. Alias resolves to gpt-4o-2024-08-06 (verified). Snapshot 2024-05-13 shuts down 2026-10-23 -> gpt-5.6-sol. Cached input is only 50% (older cache pricing). Verified by probe: basic. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": null,
    "defaultReasoningEffort": null,
    "apis": [
      "responses",
      "chat",
      "batch",
      "assistants",
      "fine-tuning"
    ],
    "knowledgeCutoff": "2023-10-01",
    "shutdownDate": null,
    "snapshotOf": "gpt-4o"
  },
  {
    "id": "gpt-4o-mini",
    "displayName": "GPT-4o mini",
    "family": "gpt-4o",
    "contextTokens": 128000,
    "maxOutputTokens": 16384,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": false,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "supported",
      "topP": "supported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "unsupported",
      "thinkingBudget": "unsupported",
      "stop": "conditional",
      "seed": "conditional",
      "frequencyPenalty": "supported",
      "presencePenalty": "supported",
      "verbosity": "unsupported"
    },
    "pricing": {
      "inputPerMillion": 0.15,
      "cachedInputPerMillion": 0.075,
      "outputPerMillion": 0.6
    },
    "status": "active",
    "notes": "Snapshot gpt-4o-mini-2024-07-18. Verified by probe: basic. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": null,
    "defaultReasoningEffort": null,
    "apis": [
      "responses",
      "chat",
      "batch",
      "assistants",
      "fine-tuning"
    ],
    "knowledgeCutoff": "2023-10-01",
    "shutdownDate": null,
    "snapshotOf": null
  },
  {
    "id": "gpt-4o-mini-2024-07-18",
    "displayName": "GPT-4o mini (2024-07-18)",
    "family": "gpt-4o",
    "contextTokens": 128000,
    "maxOutputTokens": 16384,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": false,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "supported",
      "topP": "supported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "unsupported",
      "thinkingBudget": "unsupported",
      "stop": "conditional",
      "seed": "conditional",
      "frequencyPenalty": "supported",
      "presencePenalty": "supported",
      "verbosity": "unsupported"
    },
    "pricing": {
      "inputPerMillion": 0.15,
      "cachedInputPerMillion": 0.075,
      "outputPerMillion": 0.6
    },
    "status": "active",
    "notes": "Dated snapshot of gpt-4o-mini. Snapshot gpt-4o-mini-2024-07-18. Verified by probe: basic. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": null,
    "defaultReasoningEffort": null,
    "apis": [
      "responses",
      "chat",
      "batch",
      "assistants",
      "fine-tuning"
    ],
    "knowledgeCutoff": "2023-10-01",
    "shutdownDate": null,
    "snapshotOf": "gpt-4o-mini"
  },
  {
    "id": "gpt-4o-mini-search-preview",
    "displayName": "GPT-4o mini Search Preview",
    "family": "gpt-4o",
    "contextTokens": 128000,
    "maxOutputTokens": 16384,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": false,
      "video": false,
      "reasoning": false,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "supported",
      "topP": "supported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "unsupported",
      "thinkingBudget": "unsupported",
      "stop": "conditional",
      "seed": "conditional",
      "frequencyPenalty": "supported",
      "presencePenalty": "supported",
      "verbosity": "unsupported"
    },
    "pricing": {
      "inputPerMillion": null,
      "cachedInputPerMillion": null,
      "outputPerMillion": null
    },
    "status": "preview",
    "notes": "Chat Completions only (by analogy with gpt-4o-search-preview; not probed). Snapshot shutdown_date 2026-07-23. Pricing page not fetched -> null. Verified by probe: none. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": null,
    "defaultReasoningEffort": null,
    "apis": [
      "chat"
    ],
    "knowledgeCutoff": null,
    "shutdownDate": null,
    "snapshotOf": null
  },
  {
    "id": "gpt-4o-mini-search-preview-2025-03-11",
    "displayName": "GPT-4o mini Search Preview (2025-03-11)",
    "family": "gpt-4o",
    "contextTokens": 128000,
    "maxOutputTokens": 16384,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": false,
      "video": false,
      "reasoning": false,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "supported",
      "topP": "supported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "unsupported",
      "thinkingBudget": "unsupported",
      "stop": "conditional",
      "seed": "conditional",
      "frequencyPenalty": "supported",
      "presencePenalty": "supported",
      "verbosity": "unsupported"
    },
    "pricing": {
      "inputPerMillion": null,
      "cachedInputPerMillion": null,
      "outputPerMillion": null
    },
    "status": "deprecated",
    "notes": "Dated snapshot of gpt-4o-mini-search-preview. shutdown_date (from GET /v1/models): 2026-07-23 (already passed). Listed by /v1/models but no longer serves requests (404 model_not_found) or past shutdown. Chat Completions only (by analogy with gpt-4o-search-preview; not probed). Snapshot shutdown_date 2026-07-23. Pricing page not fetched -> null. Verified by probe: none. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": null,
    "defaultReasoningEffort": null,
    "apis": [
      "chat"
    ],
    "knowledgeCutoff": null,
    "shutdownDate": "2026-07-23",
    "snapshotOf": "gpt-4o-mini-search-preview"
  },
  {
    "id": "gpt-4o-search-preview",
    "displayName": "GPT-4o Search Preview",
    "family": "gpt-4o",
    "contextTokens": 128000,
    "maxOutputTokens": 16384,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": false,
      "video": false,
      "reasoning": false,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "supported",
      "topP": "supported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "unsupported",
      "thinkingBudget": "unsupported",
      "stop": "conditional",
      "seed": "conditional",
      "frequencyPenalty": "supported",
      "presencePenalty": "supported",
      "verbosity": "unsupported"
    },
    "pricing": {
      "inputPerMillion": 2.5,
      "cachedInputPerMillion": null,
      "outputPerMillion": 10
    },
    "status": "preview",
    "notes": "Chat Completions only (Responses -> 400 'not supported with the Responses API', verified). Snapshot 2025-03-11 has shutdown_date 2026-07-23. Legacy; use web_search tool instead. Verified by probe: responses -> 400. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": null,
    "defaultReasoningEffort": null,
    "apis": [
      "chat"
    ],
    "knowledgeCutoff": null,
    "shutdownDate": null,
    "snapshotOf": null
  },
  {
    "id": "gpt-4o-search-preview-2025-03-11",
    "displayName": "GPT-4o Search Preview (2025-03-11)",
    "family": "gpt-4o",
    "contextTokens": 128000,
    "maxOutputTokens": 16384,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": false,
      "video": false,
      "reasoning": false,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "supported",
      "topP": "supported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "unsupported",
      "thinkingBudget": "unsupported",
      "stop": "conditional",
      "seed": "conditional",
      "frequencyPenalty": "supported",
      "presencePenalty": "supported",
      "verbosity": "unsupported"
    },
    "pricing": {
      "inputPerMillion": 2.5,
      "cachedInputPerMillion": null,
      "outputPerMillion": 10
    },
    "status": "deprecated",
    "notes": "Dated snapshot of gpt-4o-search-preview. shutdown_date (from GET /v1/models): 2026-07-23 (already passed). Listed by /v1/models but no longer serves requests (404 model_not_found) or past shutdown. Chat Completions only (Responses -> 400 'not supported with the Responses API', verified). Snapshot 2025-03-11 has shutdown_date 2026-07-23. Legacy; use web_search tool instead. Verified by probe: responses -> 400. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": null,
    "defaultReasoningEffort": null,
    "apis": [
      "chat"
    ],
    "knowledgeCutoff": null,
    "shutdownDate": "2026-07-23",
    "snapshotOf": "gpt-4o-search-preview"
  },
  {
    "id": "gpt-5",
    "displayName": "GPT-5",
    "family": "gpt-5",
    "contextTokens": 400000,
    "maxOutputTokens": 128000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "unsupported",
      "topP": "unsupported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "unsupported",
      "presencePenalty": "unsupported",
      "verbosity": "supported"
    },
    "pricing": {
      "inputPerMillion": 1.25,
      "cachedInputPerMillion": 0.125,
      "outputPerMillion": 10
    },
    "status": "active",
    "notes": "Alias still active but snapshot gpt-5-2025-08-07 has shutdown_date 2026-12-11 -> replacement gpt-5.6-sol. Uses 'minimal' (not 'none'); temperature not supported at any effort (docs). Reasoning items appear in output by default. Verified by probe: basic. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": [
      "minimal",
      "low",
      "medium",
      "high"
    ],
    "defaultReasoningEffort": "medium",
    "apis": [
      "responses",
      "chat",
      "batch"
    ],
    "knowledgeCutoff": "2024-09-30",
    "shutdownDate": null,
    "snapshotOf": null
  },
  {
    "id": "gpt-5-2025-08-07",
    "displayName": "GPT-5 (2025-08-07)",
    "family": "gpt-5",
    "contextTokens": 400000,
    "maxOutputTokens": 128000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "unsupported",
      "topP": "unsupported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "unsupported",
      "presencePenalty": "unsupported",
      "verbosity": "supported"
    },
    "pricing": {
      "inputPerMillion": 1.25,
      "cachedInputPerMillion": 0.125,
      "outputPerMillion": 10
    },
    "status": "deprecated",
    "notes": "Dated snapshot of gpt-5. shutdown_date (from GET /v1/models): 2026-12-11. Alias still active but snapshot gpt-5-2025-08-07 has shutdown_date 2026-12-11 -> replacement gpt-5.6-sol. Uses 'minimal' (not 'none'); temperature not supported at any effort (docs). Reasoning items appear in output by default. Verified by probe: basic. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": [
      "minimal",
      "low",
      "medium",
      "high"
    ],
    "defaultReasoningEffort": "medium",
    "apis": [
      "responses",
      "chat",
      "batch"
    ],
    "knowledgeCutoff": "2024-09-30",
    "shutdownDate": "2026-12-11",
    "snapshotOf": "gpt-5"
  },
  {
    "id": "gpt-5-chat-latest",
    "displayName": "GPT-5 Chat",
    "family": "gpt-5",
    "contextTokens": 128000,
    "maxOutputTokens": 16384,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": false,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "supported",
      "topP": "supported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "unsupported",
      "thinkingBudget": "unsupported",
      "stop": "conditional",
      "seed": "conditional",
      "frequencyPenalty": "supported",
      "presencePenalty": "supported",
      "verbosity": "unsupported"
    },
    "pricing": {
      "inputPerMillion": 1.25,
      "cachedInputPerMillion": 0.125,
      "outputPerMillion": 10
    },
    "status": "deprecated",
    "notes": "shutdown_date (from GET /v1/models): 2026-07-23 (already passed). Listed by /v1/models but no longer serves requests (404 model_not_found) or past shutdown. shutdown_date 2026-07-23; 404 model_not_found (verified). Verified by probe: basic -> 404. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": null,
    "defaultReasoningEffort": null,
    "apis": [
      "responses",
      "chat"
    ],
    "knowledgeCutoff": null,
    "shutdownDate": "2026-07-23",
    "snapshotOf": null
  },
  {
    "id": "gpt-5-codex",
    "displayName": "GPT-5 Codex",
    "family": "gpt-5",
    "contextTokens": 400000,
    "maxOutputTokens": 128000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "unsupported",
      "topP": "unsupported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "unsupported",
      "presencePenalty": "unsupported",
      "verbosity": "supported"
    },
    "pricing": {
      "inputPerMillion": null,
      "cachedInputPerMillion": null,
      "outputPerMillion": null
    },
    "status": "deprecated",
    "notes": "shutdown_date (from GET /v1/models): 2026-07-23 (already passed). Listed by /v1/models but no longer serves requests (404 model_not_found) or past shutdown. shutdown_date 2026-07-23; 404 model_not_found (verified). Verified by probe: basic -> 404. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": null,
    "defaultReasoningEffort": null,
    "apis": [
      "responses"
    ],
    "knowledgeCutoff": null,
    "shutdownDate": "2026-07-23",
    "snapshotOf": null
  },
  {
    "id": "gpt-5-mini",
    "displayName": "GPT-5 mini",
    "family": "gpt-5",
    "contextTokens": 400000,
    "maxOutputTokens": 128000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "unsupported",
      "topP": "unsupported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "unsupported",
      "presencePenalty": "unsupported",
      "verbosity": "supported"
    },
    "pricing": {
      "inputPerMillion": 0.25,
      "cachedInputPerMillion": 0.025,
      "outputPerMillion": 2
    },
    "status": "active",
    "notes": "Snapshot gpt-5-mini-2025-08-07 shuts down 2026-12-11 -> gpt-5.6-terra. Verified by probe: basic. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": [
      "minimal",
      "low",
      "medium",
      "high"
    ],
    "defaultReasoningEffort": "medium",
    "apis": [
      "responses",
      "chat",
      "batch"
    ],
    "knowledgeCutoff": "2024-05-31",
    "shutdownDate": null,
    "snapshotOf": null
  },
  {
    "id": "gpt-5-mini-2025-08-07",
    "displayName": "GPT-5 mini (2025-08-07)",
    "family": "gpt-5",
    "contextTokens": 400000,
    "maxOutputTokens": 128000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "unsupported",
      "topP": "unsupported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "unsupported",
      "presencePenalty": "unsupported",
      "verbosity": "supported"
    },
    "pricing": {
      "inputPerMillion": 0.25,
      "cachedInputPerMillion": 0.025,
      "outputPerMillion": 2
    },
    "status": "deprecated",
    "notes": "Dated snapshot of gpt-5-mini. shutdown_date (from GET /v1/models): 2026-12-11. Snapshot gpt-5-mini-2025-08-07 shuts down 2026-12-11 -> gpt-5.6-terra. Verified by probe: basic. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": [
      "minimal",
      "low",
      "medium",
      "high"
    ],
    "defaultReasoningEffort": "medium",
    "apis": [
      "responses",
      "chat",
      "batch"
    ],
    "knowledgeCutoff": "2024-05-31",
    "shutdownDate": "2026-12-11",
    "snapshotOf": "gpt-5-mini"
  },
  {
    "id": "gpt-5-nano",
    "displayName": "GPT-5 nano",
    "family": "gpt-5",
    "contextTokens": 400000,
    "maxOutputTokens": 128000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "unsupported",
      "topP": "unsupported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "unsupported",
      "presencePenalty": "unsupported",
      "verbosity": "supported"
    },
    "pricing": {
      "inputPerMillion": 0.05,
      "cachedInputPerMillion": 0.005,
      "outputPerMillion": 0.4
    },
    "status": "active",
    "notes": "Snapshot gpt-5-nano-2025-08-07 shuts down 2026-12-11 -> gpt-5.6-luna. Probe at default effort burned all 200 output tokens on reasoning (status incomplete) -> set effort minimal/low for short answers. Verified by probe: basic (incomplete at 200 tokens). Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": [
      "minimal",
      "low",
      "medium",
      "high"
    ],
    "defaultReasoningEffort": "medium",
    "apis": [
      "responses",
      "chat",
      "batch"
    ],
    "knowledgeCutoff": "2024-05-31",
    "shutdownDate": null,
    "snapshotOf": null
  },
  {
    "id": "gpt-5-nano-2025-08-07",
    "displayName": "GPT-5 nano (2025-08-07)",
    "family": "gpt-5",
    "contextTokens": 400000,
    "maxOutputTokens": 128000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "unsupported",
      "topP": "unsupported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "unsupported",
      "presencePenalty": "unsupported",
      "verbosity": "supported"
    },
    "pricing": {
      "inputPerMillion": 0.05,
      "cachedInputPerMillion": 0.005,
      "outputPerMillion": 0.4
    },
    "status": "deprecated",
    "notes": "Dated snapshot of gpt-5-nano. shutdown_date (from GET /v1/models): 2026-12-11. Snapshot gpt-5-nano-2025-08-07 shuts down 2026-12-11 -> gpt-5.6-luna. Probe at default effort burned all 200 output tokens on reasoning (status incomplete) -> set effort minimal/low for short answers. Verified by probe: basic (incomplete at 200 tokens). Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": [
      "minimal",
      "low",
      "medium",
      "high"
    ],
    "defaultReasoningEffort": "medium",
    "apis": [
      "responses",
      "chat",
      "batch"
    ],
    "knowledgeCutoff": "2024-05-31",
    "shutdownDate": "2026-12-11",
    "snapshotOf": "gpt-5-nano"
  },
  {
    "id": "gpt-5-pro",
    "displayName": "GPT-5 Pro",
    "family": "gpt-5",
    "contextTokens": 400000,
    "maxOutputTokens": 272000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "unsupported",
      "topP": "unsupported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "unsupported",
      "presencePenalty": "unsupported",
      "verbosity": null
    },
    "pricing": {
      "inputPerMillion": 15,
      "cachedInputPerMillion": null,
      "outputPerMillion": 120
    },
    "status": "active",
    "notes": "Only reasoning.effort high. Snapshot gpt-5-pro-2025-10-06 shuts down 2026-12-11 -> gpt-5.6-sol with reasoning.mode pro. Not probed. Verified by probe: none. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": [
      "high"
    ],
    "defaultReasoningEffort": "high",
    "apis": [
      "responses",
      "batch"
    ],
    "knowledgeCutoff": "2024-09-30",
    "shutdownDate": null,
    "snapshotOf": null
  },
  {
    "id": "gpt-5-pro-2025-10-06",
    "displayName": "GPT-5 Pro (2025-10-06)",
    "family": "gpt-5",
    "contextTokens": 400000,
    "maxOutputTokens": 272000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "unsupported",
      "topP": "unsupported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "unsupported",
      "presencePenalty": "unsupported",
      "verbosity": null
    },
    "pricing": {
      "inputPerMillion": 15,
      "cachedInputPerMillion": null,
      "outputPerMillion": 120
    },
    "status": "deprecated",
    "notes": "Dated snapshot of gpt-5-pro. shutdown_date (from GET /v1/models): 2026-12-11. Only reasoning.effort high. Snapshot gpt-5-pro-2025-10-06 shuts down 2026-12-11 -> gpt-5.6-sol with reasoning.mode pro. Not probed. Verified by probe: none. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": [
      "high"
    ],
    "defaultReasoningEffort": "high",
    "apis": [
      "responses",
      "batch"
    ],
    "knowledgeCutoff": "2024-09-30",
    "shutdownDate": "2026-12-11",
    "snapshotOf": "gpt-5-pro"
  },
  {
    "id": "gpt-5-search-api",
    "displayName": "GPT-5 Search API (Chat Completions web search)",
    "family": "gpt-5",
    "contextTokens": null,
    "maxOutputTokens": null,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": false,
      "video": false,
      "reasoning": false,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "supported",
      "topP": "supported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "unsupported",
      "thinkingBudget": "unsupported",
      "stop": "conditional",
      "seed": "conditional",
      "frequencyPenalty": "supported",
      "presencePenalty": "supported",
      "verbosity": "unsupported"
    },
    "pricing": {
      "inputPerMillion": null,
      "cachedInputPerMillion": null,
      "outputPerMillion": null
    },
    "status": "preview",
    "notes": "Chat Completions ONLY: Responses returns 400 model_not_found 'not supported with the Responses API' (verified); chat.completions works (verified, resolves gpt-5-search-api-2025-10-14). Model page 404 -> context/pricing unknown. Prefer web_search tool on a normal model. Verified by probe: chat only. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": null,
    "defaultReasoningEffort": null,
    "apis": [
      "chat"
    ],
    "knowledgeCutoff": null,
    "shutdownDate": null,
    "snapshotOf": null
  },
  {
    "id": "gpt-5-search-api-2025-10-14",
    "displayName": "GPT-5 Search API (Chat Completions web search) (2025-10-14)",
    "family": "gpt-5",
    "contextTokens": null,
    "maxOutputTokens": null,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": false,
      "video": false,
      "reasoning": false,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "supported",
      "topP": "supported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "unsupported",
      "thinkingBudget": "unsupported",
      "stop": "conditional",
      "seed": "conditional",
      "frequencyPenalty": "supported",
      "presencePenalty": "supported",
      "verbosity": "unsupported"
    },
    "pricing": {
      "inputPerMillion": null,
      "cachedInputPerMillion": null,
      "outputPerMillion": null
    },
    "status": "preview",
    "notes": "Dated snapshot of gpt-5-search-api. Chat Completions ONLY: Responses returns 400 model_not_found 'not supported with the Responses API' (verified); chat.completions works (verified, resolves gpt-5-search-api-2025-10-14). Model page 404 -> context/pricing unknown. Prefer web_search tool on a normal model. Verified by probe: chat only. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": null,
    "defaultReasoningEffort": null,
    "apis": [
      "chat"
    ],
    "knowledgeCutoff": null,
    "shutdownDate": null,
    "snapshotOf": "gpt-5-search-api"
  },
  {
    "id": "gpt-5.1",
    "displayName": "GPT-5.1",
    "family": "gpt-5.1",
    "contextTokens": 400000,
    "maxOutputTokens": 128000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "conditional",
      "topP": "conditional",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "conditional",
      "presencePenalty": "conditional",
      "verbosity": "supported"
    },
    "pricing": {
      "inputPerMillion": 1.25,
      "cachedInputPerMillion": 0.125,
      "outputPerMillion": 10
    },
    "status": "active",
    "notes": "Snapshot gpt-5.1-2025-11-13. No xhigh. Verified by probe: basic. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": [
      "none",
      "low",
      "medium",
      "high"
    ],
    "defaultReasoningEffort": "none",
    "apis": [
      "responses",
      "chat",
      "batch"
    ],
    "knowledgeCutoff": "2024-09-30",
    "shutdownDate": null,
    "snapshotOf": null
  },
  {
    "id": "gpt-5.1-2025-11-13",
    "displayName": "GPT-5.1 (2025-11-13)",
    "family": "gpt-5.1",
    "contextTokens": 400000,
    "maxOutputTokens": 128000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "conditional",
      "topP": "conditional",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "conditional",
      "presencePenalty": "conditional",
      "verbosity": "supported"
    },
    "pricing": {
      "inputPerMillion": 1.25,
      "cachedInputPerMillion": 0.125,
      "outputPerMillion": 10
    },
    "status": "active",
    "notes": "Dated snapshot of gpt-5.1. Snapshot gpt-5.1-2025-11-13. No xhigh. Verified by probe: basic. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": [
      "none",
      "low",
      "medium",
      "high"
    ],
    "defaultReasoningEffort": "none",
    "apis": [
      "responses",
      "chat",
      "batch"
    ],
    "knowledgeCutoff": "2024-09-30",
    "shutdownDate": null,
    "snapshotOf": "gpt-5.1"
  },
  {
    "id": "gpt-5.1-chat-latest",
    "displayName": "GPT-5.1 Chat",
    "family": "gpt-5.1",
    "contextTokens": 128000,
    "maxOutputTokens": 16384,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": false,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "supported",
      "topP": "supported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "unsupported",
      "thinkingBudget": "unsupported",
      "stop": "conditional",
      "seed": "conditional",
      "frequencyPenalty": "supported",
      "presencePenalty": "supported",
      "verbosity": "unsupported"
    },
    "pricing": {
      "inputPerMillion": 1.25,
      "cachedInputPerMillion": 0.125,
      "outputPerMillion": 10
    },
    "status": "deprecated",
    "notes": "shutdown_date (from GET /v1/models): 2026-07-23 (already passed). Listed by /v1/models but no longer serves requests (404 model_not_found) or past shutdown. shutdown_date 2026-07-23; requests return 404 model_not_found (verified). Verified by probe: basic -> 404. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": null,
    "defaultReasoningEffort": null,
    "apis": [
      "responses",
      "chat"
    ],
    "knowledgeCutoff": null,
    "shutdownDate": "2026-07-23",
    "snapshotOf": null
  },
  {
    "id": "gpt-5.1-codex",
    "displayName": "GPT-5.1 Codex",
    "family": "gpt-5.1",
    "contextTokens": 400000,
    "maxOutputTokens": 128000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "unsupported",
      "topP": "unsupported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "unsupported",
      "presencePenalty": "unsupported",
      "verbosity": "supported"
    },
    "pricing": {
      "inputPerMillion": null,
      "cachedInputPerMillion": null,
      "outputPerMillion": null
    },
    "status": "deprecated",
    "notes": "shutdown_date (from GET /v1/models): 2026-07-23 (already passed). Listed by /v1/models but no longer serves requests (404 model_not_found) or past shutdown. shutdown_date 2026-07-23; 404 model_not_found (verified). Pricing unknown. Verified by probe: basic -> 404. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": null,
    "defaultReasoningEffort": null,
    "apis": [
      "responses"
    ],
    "knowledgeCutoff": null,
    "shutdownDate": "2026-07-23",
    "snapshotOf": null
  },
  {
    "id": "gpt-5.1-codex-max",
    "displayName": "GPT-5.1 Codex Max",
    "family": "gpt-5.1",
    "contextTokens": null,
    "maxOutputTokens": null,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "unsupported",
      "topP": "unsupported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "unsupported",
      "presencePenalty": "unsupported",
      "verbosity": "supported"
    },
    "pricing": {
      "inputPerMillion": null,
      "cachedInputPerMillion": null,
      "outputPerMillion": null
    },
    "status": "deprecated",
    "notes": "shutdown_date (from GET /v1/models): 2026-07-23 (already passed). Listed by /v1/models but no longer serves requests (404 model_not_found) or past shutdown. shutdown_date 2026-07-23 (passed). Not probed; context/pricing unknown. Verified by probe: none. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": null,
    "defaultReasoningEffort": null,
    "apis": [
      "responses"
    ],
    "knowledgeCutoff": null,
    "shutdownDate": "2026-07-23",
    "snapshotOf": null
  },
  {
    "id": "gpt-5.1-codex-mini",
    "displayName": "GPT-5.1 Codex Mini",
    "family": "gpt-5.1",
    "contextTokens": null,
    "maxOutputTokens": null,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "unsupported",
      "topP": "unsupported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "unsupported",
      "presencePenalty": "unsupported",
      "verbosity": "supported"
    },
    "pricing": {
      "inputPerMillion": null,
      "cachedInputPerMillion": null,
      "outputPerMillion": null
    },
    "status": "deprecated",
    "notes": "shutdown_date (from GET /v1/models): 2026-07-23 (already passed). Listed by /v1/models but no longer serves requests (404 model_not_found) or past shutdown. shutdown_date 2026-07-23 (passed). Not probed; context/pricing unknown. Verified by probe: none. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": null,
    "defaultReasoningEffort": null,
    "apis": [
      "responses"
    ],
    "knowledgeCutoff": null,
    "shutdownDate": "2026-07-23",
    "snapshotOf": null
  },
  {
    "id": "gpt-5.2",
    "displayName": "GPT-5.2",
    "family": "gpt-5.2",
    "contextTokens": 400000,
    "maxOutputTokens": 128000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "conditional",
      "topP": "conditional",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "conditional",
      "presencePenalty": "conditional",
      "verbosity": "supported"
    },
    "pricing": {
      "inputPerMillion": 1.75,
      "cachedInputPerMillion": 0.175,
      "outputPerMillion": 14
    },
    "status": "active",
    "notes": "Snapshot gpt-5.2-2025-12-11. Docs recommend GPT-6 Astra instead. Verified by probe: basic. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": [
      "none",
      "low",
      "medium",
      "high",
      "xhigh"
    ],
    "defaultReasoningEffort": "none",
    "apis": [
      "responses",
      "chat",
      "batch"
    ],
    "knowledgeCutoff": "2025-08-31",
    "shutdownDate": null,
    "snapshotOf": null
  },
  {
    "id": "gpt-5.2-2025-12-11",
    "displayName": "GPT-5.2 (2025-12-11)",
    "family": "gpt-5.2",
    "contextTokens": 400000,
    "maxOutputTokens": 128000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "conditional",
      "topP": "conditional",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "conditional",
      "presencePenalty": "conditional",
      "verbosity": "supported"
    },
    "pricing": {
      "inputPerMillion": 1.75,
      "cachedInputPerMillion": 0.175,
      "outputPerMillion": 14
    },
    "status": "active",
    "notes": "Dated snapshot of gpt-5.2. Snapshot gpt-5.2-2025-12-11. Docs recommend GPT-6 Astra instead. Verified by probe: basic. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": [
      "none",
      "low",
      "medium",
      "high",
      "xhigh"
    ],
    "defaultReasoningEffort": "none",
    "apis": [
      "responses",
      "chat",
      "batch"
    ],
    "knowledgeCutoff": "2025-08-31",
    "shutdownDate": null,
    "snapshotOf": "gpt-5.2"
  },
  {
    "id": "gpt-5.2-chat-latest",
    "displayName": "GPT-5.2 Chat",
    "family": "gpt-5.2",
    "contextTokens": 128000,
    "maxOutputTokens": 16384,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": false,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "supported",
      "topP": "supported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "unsupported",
      "thinkingBudget": "unsupported",
      "stop": "conditional",
      "seed": "conditional",
      "frequencyPenalty": "supported",
      "presencePenalty": "supported",
      "verbosity": "unsupported"
    },
    "pricing": {
      "inputPerMillion": 1.75,
      "cachedInputPerMillion": 0.175,
      "outputPerMillion": 14
    },
    "status": "deprecated",
    "notes": "shutdown_date (from GET /v1/models): 2026-08-10 (already passed). Listed by /v1/models but no longer serves requests (404 model_not_found) or past shutdown. shutdown_date 2026-08-10; requests return 404 model_not_found (verified). Verified by probe: basic -> 404. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": null,
    "defaultReasoningEffort": null,
    "apis": [
      "responses",
      "chat"
    ],
    "knowledgeCutoff": "2025-08-31",
    "shutdownDate": "2026-08-10",
    "snapshotOf": null
  },
  {
    "id": "gpt-5.2-codex",
    "displayName": "GPT-5.2 Codex",
    "family": "gpt-5.2",
    "contextTokens": 400000,
    "maxOutputTokens": 128000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "unsupported",
      "topP": "unsupported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "unsupported",
      "presencePenalty": "unsupported",
      "verbosity": "supported"
    },
    "pricing": {
      "inputPerMillion": null,
      "cachedInputPerMillion": null,
      "outputPerMillion": null
    },
    "status": "deprecated",
    "notes": "shutdown_date (from GET /v1/models): 2026-07-23 (already passed). Listed by /v1/models but no longer serves requests (404 model_not_found) or past shutdown. shutdown_date 2026-07-23 (passed). Not probed; siblings gpt-5-codex/gpt-5.1-codex return 404. Pricing unknown (page not fetched). Verified by probe: none. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": null,
    "defaultReasoningEffort": null,
    "apis": [
      "responses"
    ],
    "knowledgeCutoff": null,
    "shutdownDate": "2026-07-23",
    "snapshotOf": null
  },
  {
    "id": "gpt-5.2-pro",
    "displayName": "GPT-5.2 Pro",
    "family": "gpt-5.2",
    "contextTokens": 400000,
    "maxOutputTokens": 128000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": null,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "unsupported",
      "topP": "unsupported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "unsupported",
      "presencePenalty": "unsupported",
      "verbosity": "supported"
    },
    "pricing": {
      "inputPerMillion": 21,
      "cachedInputPerMillion": null,
      "outputPerMillion": 168
    },
    "status": "active",
    "notes": "Responses API only; docs recommend GPT-5.5 Pro. Not probed. Verified by probe: none. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": [
      "medium",
      "high",
      "xhigh"
    ],
    "defaultReasoningEffort": "medium",
    "apis": [
      "responses"
    ],
    "knowledgeCutoff": "2025-08-31",
    "shutdownDate": null,
    "snapshotOf": null
  },
  {
    "id": "gpt-5.2-pro-2025-12-11",
    "displayName": "GPT-5.2 Pro (2025-12-11)",
    "family": "gpt-5.2",
    "contextTokens": 400000,
    "maxOutputTokens": 128000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": null,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "unsupported",
      "topP": "unsupported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "unsupported",
      "presencePenalty": "unsupported",
      "verbosity": "supported"
    },
    "pricing": {
      "inputPerMillion": 21,
      "cachedInputPerMillion": null,
      "outputPerMillion": 168
    },
    "status": "active",
    "notes": "Dated snapshot of gpt-5.2-pro. Responses API only; docs recommend GPT-5.5 Pro. Not probed. Verified by probe: none. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": [
      "medium",
      "high",
      "xhigh"
    ],
    "defaultReasoningEffort": "medium",
    "apis": [
      "responses"
    ],
    "knowledgeCutoff": "2025-08-31",
    "shutdownDate": null,
    "snapshotOf": "gpt-5.2-pro"
  },
  {
    "id": "gpt-5.3-chat-latest",
    "displayName": "GPT-5.3 Chat (ChatGPT Instant)",
    "family": "gpt-5.3",
    "contextTokens": 128000,
    "maxOutputTokens": 16384,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": false,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": null,
      "topP": null,
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "unsupported",
      "thinkingBudget": "unsupported",
      "stop": "conditional",
      "seed": "conditional",
      "frequencyPenalty": null,
      "presencePenalty": null,
      "verbosity": null
    },
    "pricing": {
      "inputPerMillion": 1.75,
      "cachedInputPerMillion": 0.175,
      "outputPerMillion": 14
    },
    "status": "deprecated",
    "notes": "shutdown_date (from GET /v1/models): 2026-08-10 (already passed). Listed by /v1/models but no longer serves requests (404 model_not_found) or past shutdown. Listed by GET /v1/models with shutdown_date 2026-08-10 but requests return 404 model_not_found (verified). Docs: 'This model has been deprecated. We recommend GPT-6 Astra'. Use chat-latest instead. Verified by probe: basic -> 404. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": null,
    "defaultReasoningEffort": null,
    "apis": [
      "responses",
      "chat"
    ],
    "knowledgeCutoff": "2025-08-31",
    "shutdownDate": "2026-08-10",
    "snapshotOf": null
  },
  {
    "id": "gpt-5.3-codex",
    "displayName": "GPT-5.3 Codex",
    "family": "gpt-5.3",
    "contextTokens": 400000,
    "maxOutputTokens": 128000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": null,
      "topP": null,
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": null,
      "presencePenalty": null,
      "verbosity": "supported"
    },
    "pricing": {
      "inputPerMillion": 1.75,
      "cachedInputPerMillion": 0.175,
      "outputPerMillion": 14
    },
    "status": "active",
    "notes": "Agentic-coding model, Responses API only. Probe echoed reasoning.effort 'none' as default although docs list low..xhigh. Not a general chat model. Verified by probe: basic. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": [
      "low",
      "medium",
      "high",
      "xhigh"
    ],
    "defaultReasoningEffort": "none",
    "apis": [
      "responses"
    ],
    "knowledgeCutoff": "2025-08-31",
    "shutdownDate": null,
    "snapshotOf": null
  },
  {
    "id": "gpt-5.4",
    "displayName": "GPT-5.4",
    "family": "gpt-5.4",
    "contextTokens": 1050000,
    "maxOutputTokens": 128000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "conditional",
      "topP": "conditional",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "conditional",
      "presencePenalty": "conditional",
      "verbosity": "supported"
    },
    "pricing": {
      "inputPerMillion": 2.5,
      "cachedInputPerMillion": 0.25,
      "outputPerMillion": 15
    },
    "status": "active",
    "notes": "Snapshot gpt-5.4-2026-03-05. Default effort 'none' (verified echo) so sampling params work by default; assumed rejected once effort >= low (pattern verified on gpt-5.5/5.6). Verified by probe: basic. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": [
      "none",
      "low",
      "medium",
      "high",
      "xhigh"
    ],
    "defaultReasoningEffort": "none",
    "apis": [
      "responses",
      "chat",
      "batch"
    ],
    "knowledgeCutoff": "2025-08-31",
    "shutdownDate": null,
    "snapshotOf": null
  },
  {
    "id": "gpt-5.4-2026-03-05",
    "displayName": "GPT-5.4 (2026-03-05)",
    "family": "gpt-5.4",
    "contextTokens": 1050000,
    "maxOutputTokens": 128000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "conditional",
      "topP": "conditional",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "conditional",
      "presencePenalty": "conditional",
      "verbosity": "supported"
    },
    "pricing": {
      "inputPerMillion": 2.5,
      "cachedInputPerMillion": 0.25,
      "outputPerMillion": 15
    },
    "status": "active",
    "notes": "Dated snapshot of gpt-5.4. Snapshot gpt-5.4-2026-03-05. Default effort 'none' (verified echo) so sampling params work by default; assumed rejected once effort >= low (pattern verified on gpt-5.5/5.6). Verified by probe: basic. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": [
      "none",
      "low",
      "medium",
      "high",
      "xhigh"
    ],
    "defaultReasoningEffort": "none",
    "apis": [
      "responses",
      "chat",
      "batch"
    ],
    "knowledgeCutoff": "2025-08-31",
    "shutdownDate": null,
    "snapshotOf": "gpt-5.4"
  },
  {
    "id": "gpt-5.4-mini",
    "displayName": "GPT-5.4 mini",
    "family": "gpt-5.4",
    "contextTokens": 400000,
    "maxOutputTokens": 128000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "conditional",
      "topP": "conditional",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "conditional",
      "presencePenalty": "conditional",
      "verbosity": "supported"
    },
    "pricing": {
      "inputPerMillion": 0.75,
      "cachedInputPerMillion": 0.075,
      "outputPerMillion": 4.5
    },
    "status": "active",
    "notes": "Snapshot gpt-5.4-mini-2026-03-17. Default effort 'none': temperature, top_p, frequency_penalty, presence_penalty, logprobs all ACCEPTED at default (verified). 'minimal'/'max' rejected. PDF input (input_file file_data) verified. previous_response_id verified. service_tier 'flex' accepted. Verified by probe: basic, stream, params, tools(+previous_response_id), structured, vision, web_search, pdf, flex. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": [
      "none",
      "low",
      "medium",
      "high",
      "xhigh"
    ],
    "defaultReasoningEffort": "none",
    "apis": [
      "responses",
      "chat",
      "batch"
    ],
    "knowledgeCutoff": "2025-08-31",
    "shutdownDate": null,
    "snapshotOf": null
  },
  {
    "id": "gpt-5.4-mini-2026-03-17",
    "displayName": "GPT-5.4 mini (2026-03-17)",
    "family": "gpt-5.4",
    "contextTokens": 400000,
    "maxOutputTokens": 128000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "conditional",
      "topP": "conditional",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "conditional",
      "presencePenalty": "conditional",
      "verbosity": "supported"
    },
    "pricing": {
      "inputPerMillion": 0.75,
      "cachedInputPerMillion": 0.075,
      "outputPerMillion": 4.5
    },
    "status": "active",
    "notes": "Dated snapshot of gpt-5.4-mini. Snapshot gpt-5.4-mini-2026-03-17. Default effort 'none': temperature, top_p, frequency_penalty, presence_penalty, logprobs all ACCEPTED at default (verified). 'minimal'/'max' rejected. PDF input (input_file file_data) verified. previous_response_id verified. service_tier 'flex' accepted. Verified by probe: basic, stream, params, tools(+previous_response_id), structured, vision, web_search, pdf, flex. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": [
      "none",
      "low",
      "medium",
      "high",
      "xhigh"
    ],
    "defaultReasoningEffort": "none",
    "apis": [
      "responses",
      "chat",
      "batch"
    ],
    "knowledgeCutoff": "2025-08-31",
    "shutdownDate": null,
    "snapshotOf": "gpt-5.4-mini"
  },
  {
    "id": "gpt-5.4-nano",
    "displayName": "GPT-5.4 nano",
    "family": "gpt-5.4",
    "contextTokens": 400000,
    "maxOutputTokens": 128000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "conditional",
      "topP": "conditional",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "conditional",
      "presencePenalty": "conditional",
      "verbosity": "supported"
    },
    "pricing": {
      "inputPerMillion": 0.2,
      "cachedInputPerMillion": 0.02,
      "outputPerMillion": 1.25
    },
    "status": "active",
    "notes": "Snapshot gpt-5.4-nano-2026-03-17. Model page lists web_search among tools but computer use/tool_search absent. Verified by probe: basic. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": [
      "none",
      "low",
      "medium",
      "high",
      "xhigh"
    ],
    "defaultReasoningEffort": "none",
    "apis": [
      "responses",
      "chat",
      "batch"
    ],
    "knowledgeCutoff": "2025-08-31",
    "shutdownDate": null,
    "snapshotOf": null
  },
  {
    "id": "gpt-5.4-nano-2026-03-17",
    "displayName": "GPT-5.4 nano (2026-03-17)",
    "family": "gpt-5.4",
    "contextTokens": 400000,
    "maxOutputTokens": 128000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "conditional",
      "topP": "conditional",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "conditional",
      "presencePenalty": "conditional",
      "verbosity": "supported"
    },
    "pricing": {
      "inputPerMillion": 0.2,
      "cachedInputPerMillion": 0.02,
      "outputPerMillion": 1.25
    },
    "status": "active",
    "notes": "Dated snapshot of gpt-5.4-nano. Snapshot gpt-5.4-nano-2026-03-17. Model page lists web_search among tools but computer use/tool_search absent. Verified by probe: basic. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": [
      "none",
      "low",
      "medium",
      "high",
      "xhigh"
    ],
    "defaultReasoningEffort": "none",
    "apis": [
      "responses",
      "chat",
      "batch"
    ],
    "knowledgeCutoff": "2025-08-31",
    "shutdownDate": null,
    "snapshotOf": "gpt-5.4-nano"
  },
  {
    "id": "gpt-5.4-pro",
    "displayName": "GPT-5.4 Pro",
    "family": "gpt-5.4",
    "contextTokens": 1050000,
    "maxOutputTokens": 128000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": null,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "unsupported",
      "topP": "unsupported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "unsupported",
      "presencePenalty": "unsupported",
      "verbosity": "supported"
    },
    "pricing": {
      "inputPerMillion": 30,
      "cachedInputPerMillion": null,
      "outputPerMillion": 180
    },
    "status": "active",
    "notes": "Responses API only. Not probed (cost). Docs: no structured outputs listed for pro variants of 5.4? (page lists function calling, web search, MCP; structured outputs not listed) -> structuredOutput null. Verified by probe: none. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": [
      "medium",
      "high",
      "xhigh"
    ],
    "defaultReasoningEffort": "medium",
    "apis": [
      "responses"
    ],
    "knowledgeCutoff": "2025-08-31",
    "shutdownDate": null,
    "snapshotOf": null
  },
  {
    "id": "gpt-5.4-pro-2026-03-05",
    "displayName": "GPT-5.4 Pro (2026-03-05)",
    "family": "gpt-5.4",
    "contextTokens": 1050000,
    "maxOutputTokens": 128000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": null,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "unsupported",
      "topP": "unsupported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "unsupported",
      "presencePenalty": "unsupported",
      "verbosity": "supported"
    },
    "pricing": {
      "inputPerMillion": 30,
      "cachedInputPerMillion": null,
      "outputPerMillion": 180
    },
    "status": "active",
    "notes": "Dated snapshot of gpt-5.4-pro. Responses API only. Not probed (cost). Docs: no structured outputs listed for pro variants of 5.4? (page lists function calling, web search, MCP; structured outputs not listed) -> structuredOutput null. Verified by probe: none. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": [
      "medium",
      "high",
      "xhigh"
    ],
    "defaultReasoningEffort": "medium",
    "apis": [
      "responses"
    ],
    "knowledgeCutoff": "2025-08-31",
    "shutdownDate": null,
    "snapshotOf": "gpt-5.4-pro"
  },
  {
    "id": "gpt-5.5",
    "displayName": "GPT-5.5",
    "family": "gpt-5.5",
    "contextTokens": 1050000,
    "maxOutputTokens": 128000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "conditional",
      "topP": "conditional",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "conditional",
      "presencePenalty": "conditional",
      "verbosity": "supported"
    },
    "pricing": {
      "inputPerMillion": 5,
      "cachedInputPerMillion": 0.5,
      "outputPerMillion": 30
    },
    "status": "active",
    "notes": "Snapshot gpt-5.5-2026-04-23. 'minimal' and 'max' efforts rejected (400 unsupported_value). temperature/top_p/penalties rejected unless reasoning.effort='none' (verified both ways). >272K input tokens billed 2x/1.5x. Default top_p echoed as 0.98. Chat Completions: temperature other than 1 rejected ('Only the default (1) value is supported'). Verified by probe: basic, stream, params, tools(+round trip), structured, vision(effort none), web_search (url_citation annotations), encrypted reasoning round trip, chat completions. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": [
      "none",
      "low",
      "medium",
      "high",
      "xhigh"
    ],
    "defaultReasoningEffort": "medium",
    "apis": [
      "responses",
      "chat",
      "batch"
    ],
    "knowledgeCutoff": "2025-12-01",
    "shutdownDate": null,
    "snapshotOf": null
  },
  {
    "id": "gpt-5.5-2026-04-23",
    "displayName": "GPT-5.5 (2026-04-23)",
    "family": "gpt-5.5",
    "contextTokens": 1050000,
    "maxOutputTokens": 128000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "conditional",
      "topP": "conditional",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "conditional",
      "presencePenalty": "conditional",
      "verbosity": "supported"
    },
    "pricing": {
      "inputPerMillion": 5,
      "cachedInputPerMillion": 0.5,
      "outputPerMillion": 30
    },
    "status": "active",
    "notes": "Dated snapshot of gpt-5.5. Snapshot gpt-5.5-2026-04-23. 'minimal' and 'max' efforts rejected (400 unsupported_value). temperature/top_p/penalties rejected unless reasoning.effort='none' (verified both ways). >272K input tokens billed 2x/1.5x. Default top_p echoed as 0.98. Chat Completions: temperature other than 1 rejected ('Only the default (1) value is supported'). Verified by probe: basic, stream, params, tools(+round trip), structured, vision(effort none), web_search (url_citation annotations), encrypted reasoning round trip, chat completions. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": [
      "none",
      "low",
      "medium",
      "high",
      "xhigh"
    ],
    "defaultReasoningEffort": "medium",
    "apis": [
      "responses",
      "chat",
      "batch"
    ],
    "knowledgeCutoff": "2025-12-01",
    "shutdownDate": null,
    "snapshotOf": "gpt-5.5"
  },
  {
    "id": "gpt-5.5-pro",
    "displayName": "GPT-5.5 Pro",
    "family": "gpt-5.5",
    "contextTokens": 1050000,
    "maxOutputTokens": 128000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "unsupported",
      "topP": "unsupported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "unsupported",
      "presencePenalty": "unsupported",
      "verbosity": "supported"
    },
    "pricing": {
      "inputPerMillion": 30,
      "cachedInputPerMillion": null,
      "outputPerMillion": 180
    },
    "status": "active",
    "notes": "Responses API only (no Chat Completions). No cached-input price. Slow: docs recommend background:true. One tiny probe answered in 7.3 s. Docs: streaming listed but not verified. Verified by probe: basic. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": [
      "medium",
      "high",
      "xhigh"
    ],
    "defaultReasoningEffort": "high",
    "apis": [
      "responses",
      "batch"
    ],
    "knowledgeCutoff": "2025-12-01",
    "shutdownDate": null,
    "snapshotOf": null
  },
  {
    "id": "gpt-5.5-pro-2026-04-23",
    "displayName": "GPT-5.5 Pro (2026-04-23)",
    "family": "gpt-5.5",
    "contextTokens": 1050000,
    "maxOutputTokens": 128000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "unsupported",
      "topP": "unsupported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "unsupported",
      "presencePenalty": "unsupported",
      "verbosity": "supported"
    },
    "pricing": {
      "inputPerMillion": 30,
      "cachedInputPerMillion": null,
      "outputPerMillion": 180
    },
    "status": "active",
    "notes": "Dated snapshot of gpt-5.5-pro. Responses API only (no Chat Completions). No cached-input price. Slow: docs recommend background:true. One tiny probe answered in 7.3 s. Docs: streaming listed but not verified. Verified by probe: basic. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": [
      "medium",
      "high",
      "xhigh"
    ],
    "defaultReasoningEffort": "high",
    "apis": [
      "responses",
      "batch"
    ],
    "knowledgeCutoff": "2025-12-01",
    "shutdownDate": null,
    "snapshotOf": "gpt-5.5-pro"
  },
  {
    "id": "gpt-5.6-luna",
    "displayName": "GPT-5.6 Luna",
    "family": "gpt-5.6",
    "contextTokens": 1050000,
    "maxOutputTokens": 128000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "conditional",
      "topP": "conditional",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "conditional",
      "presencePenalty": "conditional",
      "verbosity": "supported"
    },
    "pricing": {
      "inputPerMillion": 0.2,
      "cachedInputPerMillion": 0.02,
      "outputPerMillion": 1.2
    },
    "status": "active",
    "notes": "Cheapest 5.6. Recommended replacement for gpt-5-nano and gpt-4.1-nano. Param matrix assumed identical to gpt-5.6-sol (not individually probed). Verified by probe: basic. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": [
      "none",
      "low",
      "medium",
      "high",
      "xhigh",
      "max"
    ],
    "defaultReasoningEffort": "medium",
    "apis": [
      "responses",
      "chat",
      "batch"
    ],
    "knowledgeCutoff": "2026-02-16",
    "shutdownDate": null,
    "snapshotOf": null
  },
  {
    "id": "gpt-5.6-sol",
    "displayName": "GPT-5.6 Sol",
    "family": "gpt-5.6",
    "contextTokens": 1050000,
    "maxOutputTokens": 128000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "conditional",
      "topP": "conditional",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "conditional",
      "presencePenalty": "conditional",
      "verbosity": "supported"
    },
    "pricing": {
      "inputPerMillion": 4,
      "cachedInputPerMillion": 0.4,
      "outputPerMillion": 20
    },
    "status": "active",
    "notes": "Alias 'gpt-5.6' resolves here (verified: response.model = gpt-5.6-sol). temperature/top_p/penalties rejected unless reasoning.effort='none' (verified). Supports reasoning.mode 'standard'|'pro' (pro = replacement for *-pro models, not probed), reasoning.context all_turns (default), prompt_cache_options.ttl '30m', explicit cache breakpoints. Recommended replacement for gpt-5, o3, gpt-4o, o1, gpt-4-turbo. Verified by probe: basic, stream (reasoning_summary events seen), params, tools, structured, vision(effort none). Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": [
      "none",
      "low",
      "medium",
      "high",
      "xhigh",
      "max"
    ],
    "defaultReasoningEffort": "medium",
    "apis": [
      "responses",
      "chat",
      "batch"
    ],
    "knowledgeCutoff": "2026-02-16",
    "shutdownDate": null,
    "snapshotOf": null
  },
  {
    "id": "gpt-5.6-terra",
    "displayName": "GPT-5.6 Terra",
    "family": "gpt-5.6",
    "contextTokens": 1050000,
    "maxOutputTokens": 128000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "conditional",
      "topP": "conditional",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "conditional",
      "presencePenalty": "conditional",
      "verbosity": "supported"
    },
    "pricing": {
      "inputPerMillion": 2,
      "cachedInputPerMillion": 0.2,
      "outputPerMillion": 12
    },
    "status": "active",
    "notes": "Max input 922,000 tokens. Recommended replacement for gpt-5-mini, o4-mini, gpt-3.5-turbo. Param matrix assumed identical to gpt-5.6-sol (not individually probed). Verified by probe: basic. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": [
      "none",
      "low",
      "medium",
      "high",
      "xhigh",
      "max"
    ],
    "defaultReasoningEffort": "medium",
    "apis": [
      "responses",
      "chat",
      "batch"
    ],
    "knowledgeCutoff": "2026-02-16",
    "shutdownDate": null,
    "snapshotOf": null
  },
  {
    "id": "gpt-6-astra",
    "displayName": "GPT-6 Astra",
    "family": "gpt-6",
    "contextTokens": 1050000,
    "maxOutputTokens": 128000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "unsupported",
      "topP": "unsupported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "unsupported",
      "presencePenalty": "unsupported",
      "verbosity": "supported"
    },
    "pricing": {
      "inputPerMillion": 10,
      "cachedInputPerMillion": 1,
      "outputPerMillion": 50
    },
    "status": "active",
    "notes": "Flagship. reasoning.effort 'none'/'minimal' rejected (400 unsupported_value). temperature/top_p/frequency_penalty/presence_penalty rejected ('Unsupported parameter ... is not supported with this model'); logprobs rejected. Cache write $12.50/M; >272K input tokens billed 2x input / 1.5x output. reasoning.context defaults to all_turns. prompt_cache_retention accepted but docs say use prompt_cache_options.ttl='30m'. Verified by probe: basic, stream, params, tools, structured, vision(detail high, effort low), chat completions. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": [
      "low",
      "medium",
      "high",
      "xhigh",
      "max"
    ],
    "defaultReasoningEffort": "medium",
    "apis": [
      "responses",
      "chat",
      "batch"
    ],
    "knowledgeCutoff": "2026-04-30",
    "shutdownDate": null,
    "snapshotOf": null
  },
  {
    "id": "o1",
    "displayName": "o1",
    "family": "o-series",
    "contextTokens": 200000,
    "maxOutputTokens": 100000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": false,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": false
    },
    "parameters": {
      "temperature": "unsupported",
      "topP": "unsupported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "unsupported",
      "presencePenalty": "unsupported",
      "verbosity": "unsupported"
    },
    "pricing": {
      "inputPerMillion": 15,
      "cachedInputPerMillion": 7.5,
      "outputPerMillion": 60
    },
    "status": "deprecated",
    "notes": "shutdown_date (from GET /v1/models): 2026-10-23. shutdown_date 2026-10-23 -> gpt-5.6-sol. Still answers (verified; 32-token probe came back incomplete because of reasoning). Verified by probe: basic (incomplete). Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": [
      "low",
      "medium",
      "high"
    ],
    "defaultReasoningEffort": "medium",
    "apis": [
      "responses",
      "chat",
      "batch",
      "assistants"
    ],
    "knowledgeCutoff": "2023-10-01",
    "shutdownDate": "2026-10-23",
    "snapshotOf": null
  },
  {
    "id": "o1-2024-12-17",
    "displayName": "o1 (2024-12-17)",
    "family": "o-series",
    "contextTokens": 200000,
    "maxOutputTokens": 100000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": false,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": false
    },
    "parameters": {
      "temperature": "unsupported",
      "topP": "unsupported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "unsupported",
      "presencePenalty": "unsupported",
      "verbosity": "unsupported"
    },
    "pricing": {
      "inputPerMillion": 15,
      "cachedInputPerMillion": 7.5,
      "outputPerMillion": 60
    },
    "status": "deprecated",
    "notes": "Dated snapshot of o1. shutdown_date (from GET /v1/models): 2026-10-23. shutdown_date 2026-10-23 -> gpt-5.6-sol. Still answers (verified; 32-token probe came back incomplete because of reasoning). Verified by probe: basic (incomplete). Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": [
      "low",
      "medium",
      "high"
    ],
    "defaultReasoningEffort": "medium",
    "apis": [
      "responses",
      "chat",
      "batch",
      "assistants"
    ],
    "knowledgeCutoff": "2023-10-01",
    "shutdownDate": "2026-10-23",
    "snapshotOf": "o1"
  },
  {
    "id": "o1-pro",
    "displayName": "o1-pro",
    "family": "o-series",
    "contextTokens": 200000,
    "maxOutputTokens": 100000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": false,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": false
    },
    "parameters": {
      "temperature": "unsupported",
      "topP": "unsupported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "unsupported",
      "presencePenalty": "unsupported",
      "verbosity": "unsupported"
    },
    "pricing": {
      "inputPerMillion": 150,
      "cachedInputPerMillion": null,
      "outputPerMillion": 600
    },
    "status": "deprecated",
    "notes": "shutdown_date (from GET /v1/models): 2026-10-23. shutdown_date 2026-10-23 -> gpt-5.6-sol with reasoning.mode pro. Responses only. Not probed (cost). Verified by probe: none. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": null,
    "defaultReasoningEffort": null,
    "apis": [
      "responses",
      "batch"
    ],
    "knowledgeCutoff": null,
    "shutdownDate": "2026-10-23",
    "snapshotOf": null
  },
  {
    "id": "o1-pro-2025-03-19",
    "displayName": "o1-pro (2025-03-19)",
    "family": "o-series",
    "contextTokens": 200000,
    "maxOutputTokens": 100000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": false,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": false
    },
    "parameters": {
      "temperature": "unsupported",
      "topP": "unsupported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "unsupported",
      "presencePenalty": "unsupported",
      "verbosity": "unsupported"
    },
    "pricing": {
      "inputPerMillion": 150,
      "cachedInputPerMillion": null,
      "outputPerMillion": 600
    },
    "status": "deprecated",
    "notes": "Dated snapshot of o1-pro. shutdown_date (from GET /v1/models): 2026-10-23. shutdown_date 2026-10-23 -> gpt-5.6-sol with reasoning.mode pro. Responses only. Not probed (cost). Verified by probe: none. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": null,
    "defaultReasoningEffort": null,
    "apis": [
      "responses",
      "batch"
    ],
    "knowledgeCutoff": null,
    "shutdownDate": "2026-10-23",
    "snapshotOf": "o1-pro"
  },
  {
    "id": "o3",
    "displayName": "o3",
    "family": "o-series",
    "contextTokens": 200000,
    "maxOutputTokens": 100000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "unsupported",
      "topP": "unsupported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "unsupported",
      "presencePenalty": "unsupported",
      "verbosity": "unsupported"
    },
    "pricing": {
      "inputPerMillion": 2,
      "cachedInputPerMillion": 0.5,
      "outputPerMillion": 8
    },
    "status": "active",
    "notes": "Alias active; snapshot o3-2025-04-16 shuts down 2026-12-11 -> gpt-5.6-sol. Docs: 'o3 is succeeded by GPT-5'. Verified by probe: basic. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": [
      "low",
      "medium",
      "high"
    ],
    "defaultReasoningEffort": "medium",
    "apis": [
      "responses",
      "chat",
      "batch"
    ],
    "knowledgeCutoff": "2024-06-01",
    "shutdownDate": null,
    "snapshotOf": null
  },
  {
    "id": "o3-2025-04-16",
    "displayName": "o3 (2025-04-16)",
    "family": "o-series",
    "contextTokens": 200000,
    "maxOutputTokens": 100000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "unsupported",
      "topP": "unsupported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "unsupported",
      "presencePenalty": "unsupported",
      "verbosity": "unsupported"
    },
    "pricing": {
      "inputPerMillion": 2,
      "cachedInputPerMillion": 0.5,
      "outputPerMillion": 8
    },
    "status": "deprecated",
    "notes": "Dated snapshot of o3. shutdown_date (from GET /v1/models): 2026-12-11. Alias active; snapshot o3-2025-04-16 shuts down 2026-12-11 -> gpt-5.6-sol. Docs: 'o3 is succeeded by GPT-5'. Verified by probe: basic. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": [
      "low",
      "medium",
      "high"
    ],
    "defaultReasoningEffort": "medium",
    "apis": [
      "responses",
      "chat",
      "batch"
    ],
    "knowledgeCutoff": "2024-06-01",
    "shutdownDate": "2026-12-11",
    "snapshotOf": "o3"
  },
  {
    "id": "o3-deep-research",
    "displayName": "o3 Deep Research",
    "family": "o-series",
    "contextTokens": 200000,
    "maxOutputTokens": 100000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": false,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "unsupported",
      "topP": "unsupported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "unsupported",
      "presencePenalty": "unsupported",
      "verbosity": "supported"
    },
    "pricing": {
      "inputPerMillion": null,
      "cachedInputPerMillion": null,
      "outputPerMillion": null
    },
    "status": "deprecated",
    "notes": "shutdown_date (from GET /v1/models): 2026-07-23 (already passed). Listed by /v1/models but no longer serves requests (404 model_not_found) or past shutdown. shutdown_date 2026-07-23; 404 model_not_found (verified). Agentic research model, not a chat model. Verified by probe: basic -> 404. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": null,
    "defaultReasoningEffort": null,
    "apis": [
      "responses"
    ],
    "knowledgeCutoff": null,
    "shutdownDate": "2026-07-23",
    "snapshotOf": null
  },
  {
    "id": "o3-deep-research-2025-06-26",
    "displayName": "o3 Deep Research (2025-06-26)",
    "family": "o-series",
    "contextTokens": 200000,
    "maxOutputTokens": 100000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": false,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "unsupported",
      "topP": "unsupported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "unsupported",
      "presencePenalty": "unsupported",
      "verbosity": "supported"
    },
    "pricing": {
      "inputPerMillion": null,
      "cachedInputPerMillion": null,
      "outputPerMillion": null
    },
    "status": "deprecated",
    "notes": "Dated snapshot of o3-deep-research. shutdown_date (from GET /v1/models): 2026-07-23 (already passed). Listed by /v1/models but no longer serves requests (404 model_not_found) or past shutdown. shutdown_date 2026-07-23; 404 model_not_found (verified). Agentic research model, not a chat model. Verified by probe: basic -> 404. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": null,
    "defaultReasoningEffort": null,
    "apis": [
      "responses"
    ],
    "knowledgeCutoff": null,
    "shutdownDate": "2026-07-23",
    "snapshotOf": "o3-deep-research"
  },
  {
    "id": "o3-mini",
    "displayName": "o3-mini",
    "family": "o-series",
    "contextTokens": 200000,
    "maxOutputTokens": 100000,
    "capabilities": {
      "text": true,
      "vision": false,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": false,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": false,
      "webSearch": false
    },
    "parameters": {
      "temperature": "unsupported",
      "topP": "unsupported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "unsupported",
      "presencePenalty": "unsupported",
      "verbosity": "unsupported"
    },
    "pricing": {
      "inputPerMillion": 1.1,
      "cachedInputPerMillion": 0.55,
      "outputPerMillion": 4.4
    },
    "status": "deprecated",
    "notes": "shutdown_date (from GET /v1/models): 2026-10-23. TEXT ONLY (no image input). shutdown_date 2026-10-23 -> gpt-5.6-sol. Still answers (verified). Verified by probe: basic. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": [
      "low",
      "medium",
      "high"
    ],
    "defaultReasoningEffort": "medium",
    "apis": [
      "responses",
      "chat",
      "batch",
      "assistants"
    ],
    "knowledgeCutoff": "2023-10-01",
    "shutdownDate": "2026-10-23",
    "snapshotOf": null
  },
  {
    "id": "o3-mini-2025-01-31",
    "displayName": "o3-mini (2025-01-31)",
    "family": "o-series",
    "contextTokens": 200000,
    "maxOutputTokens": 100000,
    "capabilities": {
      "text": true,
      "vision": false,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": false,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": false,
      "webSearch": false
    },
    "parameters": {
      "temperature": "unsupported",
      "topP": "unsupported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "unsupported",
      "presencePenalty": "unsupported",
      "verbosity": "unsupported"
    },
    "pricing": {
      "inputPerMillion": 1.1,
      "cachedInputPerMillion": 0.55,
      "outputPerMillion": 4.4
    },
    "status": "deprecated",
    "notes": "Dated snapshot of o3-mini. shutdown_date (from GET /v1/models): 2026-10-23. TEXT ONLY (no image input). shutdown_date 2026-10-23 -> gpt-5.6-sol. Still answers (verified). Verified by probe: basic. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": [
      "low",
      "medium",
      "high"
    ],
    "defaultReasoningEffort": "medium",
    "apis": [
      "responses",
      "chat",
      "batch",
      "assistants"
    ],
    "knowledgeCutoff": "2023-10-01",
    "shutdownDate": "2026-10-23",
    "snapshotOf": "o3-mini"
  },
  {
    "id": "o3-pro",
    "displayName": "o3-pro",
    "family": "o-series",
    "contextTokens": 200000,
    "maxOutputTokens": 100000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "unsupported",
      "topP": "unsupported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "unsupported",
      "presencePenalty": "unsupported",
      "verbosity": "unsupported"
    },
    "pricing": {
      "inputPerMillion": 20,
      "cachedInputPerMillion": null,
      "outputPerMillion": 80
    },
    "status": "active",
    "notes": "Responses only, background mode recommended; streaming not indicated in docs. Snapshot o3-pro-2025-06-10 shuts down 2026-12-11. Not probed. Verified by probe: none. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": null,
    "defaultReasoningEffort": null,
    "apis": [
      "responses",
      "batch"
    ],
    "knowledgeCutoff": null,
    "shutdownDate": null,
    "snapshotOf": null
  },
  {
    "id": "o3-pro-2025-06-10",
    "displayName": "o3-pro (2025-06-10)",
    "family": "o-series",
    "contextTokens": 200000,
    "maxOutputTokens": 100000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "unsupported",
      "topP": "unsupported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "unsupported",
      "presencePenalty": "unsupported",
      "verbosity": "unsupported"
    },
    "pricing": {
      "inputPerMillion": 20,
      "cachedInputPerMillion": null,
      "outputPerMillion": 80
    },
    "status": "deprecated",
    "notes": "Dated snapshot of o3-pro. shutdown_date (from GET /v1/models): 2026-12-11. Responses only, background mode recommended; streaming not indicated in docs. Snapshot o3-pro-2025-06-10 shuts down 2026-12-11. Not probed. Verified by probe: none. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": null,
    "defaultReasoningEffort": null,
    "apis": [
      "responses",
      "batch"
    ],
    "knowledgeCutoff": null,
    "shutdownDate": "2026-12-11",
    "snapshotOf": "o3-pro"
  },
  {
    "id": "o4-mini",
    "displayName": "o4-mini",
    "family": "o-series",
    "contextTokens": 200000,
    "maxOutputTokens": 100000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "unsupported",
      "topP": "unsupported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "unsupported",
      "presencePenalty": "unsupported",
      "verbosity": "unsupported"
    },
    "pricing": {
      "inputPerMillion": 1.1,
      "cachedInputPerMillion": 0.275,
      "outputPerMillion": 4.4
    },
    "status": "deprecated",
    "notes": "shutdown_date (from GET /v1/models): 2026-10-23. shutdown_date 2026-10-23 -> gpt-5.6-terra. Verified: effort none/minimal/xhigh/max rejected ('Supported values are: low, medium, and high'); temperature/top_p/penalties/logprobs rejected; text.verbosity only 'medium'. Heavy reasoner: at max_output_tokens 200 the tool-call, structured and vision probes all came back incomplete (all tokens spent on reasoning) -> give it >= 1-2k output tokens. Reasoning summaries stream (response.reasoning_summary_*). Verified by probe: basic, stream, params, structured/vision/tools (incomplete at 200 tokens), chat completions. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": [
      "low",
      "medium",
      "high"
    ],
    "defaultReasoningEffort": "medium",
    "apis": [
      "responses",
      "chat",
      "batch",
      "fine-tuning"
    ],
    "knowledgeCutoff": "2024-06-01",
    "shutdownDate": "2026-10-23",
    "snapshotOf": null
  },
  {
    "id": "o4-mini-2025-04-16",
    "displayName": "o4-mini (2025-04-16)",
    "family": "o-series",
    "contextTokens": 200000,
    "maxOutputTokens": 100000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "unsupported",
      "topP": "unsupported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "unsupported",
      "presencePenalty": "unsupported",
      "verbosity": "unsupported"
    },
    "pricing": {
      "inputPerMillion": 1.1,
      "cachedInputPerMillion": 0.275,
      "outputPerMillion": 4.4
    },
    "status": "deprecated",
    "notes": "Dated snapshot of o4-mini. shutdown_date (from GET /v1/models): 2026-10-23. shutdown_date 2026-10-23 -> gpt-5.6-terra. Verified: effort none/minimal/xhigh/max rejected ('Supported values are: low, medium, and high'); temperature/top_p/penalties/logprobs rejected; text.verbosity only 'medium'. Heavy reasoner: at max_output_tokens 200 the tool-call, structured and vision probes all came back incomplete (all tokens spent on reasoning) -> give it >= 1-2k output tokens. Reasoning summaries stream (response.reasoning_summary_*). Verified by probe: basic, stream, params, structured/vision/tools (incomplete at 200 tokens), chat completions. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": [
      "low",
      "medium",
      "high"
    ],
    "defaultReasoningEffort": "medium",
    "apis": [
      "responses",
      "chat",
      "batch",
      "fine-tuning"
    ],
    "knowledgeCutoff": "2024-06-01",
    "shutdownDate": "2026-10-23",
    "snapshotOf": "o4-mini"
  },
  {
    "id": "o4-mini-deep-research",
    "displayName": "o4-mini Deep Research",
    "family": "o-series",
    "contextTokens": 200000,
    "maxOutputTokens": 100000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": false,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "unsupported",
      "topP": "unsupported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "unsupported",
      "presencePenalty": "unsupported",
      "verbosity": "supported"
    },
    "pricing": {
      "inputPerMillion": null,
      "cachedInputPerMillion": null,
      "outputPerMillion": null
    },
    "status": "deprecated",
    "notes": "shutdown_date (from GET /v1/models): 2026-07-23 (already passed). Listed by /v1/models but no longer serves requests (404 model_not_found) or past shutdown. shutdown_date 2026-07-23 (passed). Not probed; sibling o3-deep-research returns 404. Verified by probe: none. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": null,
    "defaultReasoningEffort": null,
    "apis": [
      "responses"
    ],
    "knowledgeCutoff": null,
    "shutdownDate": "2026-07-23",
    "snapshotOf": null
  },
  {
    "id": "o4-mini-deep-research-2025-06-26",
    "displayName": "o4-mini Deep Research (2025-06-26)",
    "family": "o-series",
    "contextTokens": 200000,
    "maxOutputTokens": 100000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": false,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "unsupported",
      "topP": "unsupported",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "unsupported",
      "presencePenalty": "unsupported",
      "verbosity": "supported"
    },
    "pricing": {
      "inputPerMillion": null,
      "cachedInputPerMillion": null,
      "outputPerMillion": null
    },
    "status": "deprecated",
    "notes": "Dated snapshot of o4-mini-deep-research. shutdown_date (from GET /v1/models): 2026-07-23 (already passed). Listed by /v1/models but no longer serves requests (404 model_not_found) or past shutdown. shutdown_date 2026-07-23 (passed). Not probed; sibling o3-deep-research returns 404. Verified by probe: none. Param legend: supported | unsupported | conditional (sampling params only accepted when reasoning.effort='none'; stop/seed only via Chat Completions) | null = unknown. files = PDF via input_file (docs: any vision model); verified only on gpt-5.4-mini. audioInput/audioOutput false: Responses API rejects input_audio ('Audio input is not available', verified); audio requires gpt-audio-*/gpt-realtime-* via Chat Completions/Realtime. imageGeneration = via the built-in image_generation tool (gpt-image-2), not native output. video false everywhere (Sora/Videos API deprecated, shutdown 2026-09-24).",
    "reasoningEfforts": null,
    "defaultReasoningEffort": null,
    "apis": [
      "responses"
    ],
    "knowledgeCutoff": null,
    "shutdownDate": "2026-07-23",
    "snapshotOf": "o4-mini-deep-research"
  },
  {
    "id": "gpt-5.6",
    "displayName": "GPT-5.6 (alias -> gpt-5.6-sol)",
    "family": "gpt-5.6",
    "contextTokens": 1050000,
    "maxOutputTokens": 128000,
    "capabilities": {
      "text": true,
      "vision": true,
      "audioInput": false,
      "audioOutput": false,
      "imageGeneration": true,
      "video": false,
      "reasoning": true,
      "tools": true,
      "structuredOutput": true,
      "streaming": true,
      "files": true,
      "webSearch": true
    },
    "parameters": {
      "temperature": "conditional",
      "topP": "conditional",
      "topK": "unsupported",
      "maxTokens": "supported",
      "reasoningEffort": "supported",
      "thinkingBudget": "unsupported",
      "stop": "unsupported",
      "seed": "unsupported",
      "frequencyPenalty": "conditional",
      "presencePenalty": "conditional",
      "verbosity": "supported"
    },
    "pricing": {
      "inputPerMillion": 4,
      "cachedInputPerMillion": 0.4,
      "outputPerMillion": 20
    },
    "status": "active",
    "notes": "NOT returned by GET /v1/models for this key, but documented and verified: a request for 'gpt-5.6' returns response.model = 'gpt-5.6-sol'. Included so the registry can resolve it.",
    "reasoningEfforts": [
      "none",
      "low",
      "medium",
      "high",
      "xhigh",
      "max"
    ],
    "defaultReasoningEffort": "medium",
    "apis": [
      "responses",
      "chat",
      "batch"
    ],
    "knowledgeCutoff": "2026-02-16",
    "shutdownDate": null,
    "snapshotOf": "gpt-5.6-sol"
  }
]
