{
  "id": "openai",
  "enabledByDefault": true,
  "providers": [
    "openai",
    "openai-codex"
  ],
  "modelSupport": {
    "modelPrefixes": [
      "gpt-",
      "o1",
      "o3",
      "o4"
    ]
  },
  "modelPricing": {
    "providers": {
      "openai-codex": {
        "openRouter": {
          "provider": "openai"
        },
        "liteLLM": {
          "provider": "openai"
        }
      }
    }
  },
  "providerEndpoints": [
    {
      "endpointClass": "openai-public",
      "hosts": [
        "api.openai.com"
      ]
    },
    {
      "endpointClass": "openai-codex",
      "hosts": [
        "chatgpt.com"
      ]
    },
    {
      "endpointClass": "azure-openai",
      "hostSuffixes": [
        ".openai.azure.com"
      ]
    }
  ],
  "providerRequest": {
    "providers": {
      "openai": {
        "family": "openai-family"
      },
      "openai-codex": {
        "family": "openai-family"
      }
    }
  },
  "modelCatalog": {
    "aliases": {
      "azure-openai-responses": {
        "provider": "openai",
        "api": "azure-openai-responses"
      }
    },
    "suppressions": [
      {
        "provider": "openai",
        "model": "gpt-5.3-codex-spark",
        "reason": "gpt-5.3-codex-spark is no longer exposed by the OpenAI or Codex catalogs. Use openai/gpt-5.5."
      },
      {
        "provider": "azure-openai-responses",
        "model": "gpt-5.3-codex-spark",
        "reason": "gpt-5.3-codex-spark is no longer exposed by the OpenAI or Codex catalogs. Use openai/gpt-5.5."
      },
      {
        "provider": "openai-codex",
        "model": "gpt-5.3-codex-spark",
        "reason": "gpt-5.3-codex-spark is no longer exposed by the OpenAI or Codex catalogs. Use openai/gpt-5.5."
      }
    ]
  },
  "cliBackends": [
    "codex-cli"
  ],
  "providerAuthEnvVars": {
    "openai": [
      "OPENAI_API_KEY"
    ]
  },
  "providerAuthChoices": [
    {
      "provider": "openai-codex",
      "method": "oauth",
      "choiceId": "openai-codex",
      "deprecatedChoiceIds": [
        "codex-cli",
        "openai-codex-import"
      ],
      "choiceLabel": "OpenAI Codex Browser Login",
      "choiceHint": "Sign in with OpenAI in your browser",
      "assistantPriority": -30,
      "groupId": "openai-codex",
      "groupLabel": "OpenAI Codex",
      "groupHint": "ChatGPT/Codex sign-in"
    },
    {
      "provider": "openai-codex",
      "method": "device-code",
      "choiceId": "openai-codex-device-code",
      "choiceLabel": "OpenAI Codex Device Pairing",
      "choiceHint": "Pair in browser with a device code",
      "assistantPriority": -10,
      "groupId": "openai-codex",
      "groupLabel": "OpenAI Codex",
      "groupHint": "ChatGPT/Codex sign-in"
    },
    {
      "provider": "openai",
      "method": "api-key",
      "choiceId": "openai-api-key",
      "choiceLabel": "OpenAI API Key",
      "assistantPriority": -40,
      "groupId": "openai",
      "groupLabel": "OpenAI",
      "groupHint": "Direct API key",
      "optionKey": "openaiApiKey",
      "cliFlag": "--openai-api-key",
      "cliOption": "--openai-api-key <key>",
      "cliDescription": "OpenAI API Key"
    }
  ],
  "contracts": {
    "speechProviders": [
      "openai"
    ],
    "realtimeTranscriptionProviders": [
      "openai"
    ],
    "realtimeVoiceProviders": [
      "openai"
    ],
    "memoryEmbeddingProviders": [
      "openai"
    ],
    "mediaUnderstandingProviders": [
      "openai",
      "openai-codex"
    ],
    "imageGenerationProviders": [
      "openai"
    ],
    "videoGenerationProviders": [
      "openai"
    ]
  },
  "mediaUnderstandingProviderMetadata": {
    "openai": {
      "capabilities": [
        "image",
        "audio"
      ],
      "defaultModels": {
        "image": "gpt-5.4-mini",
        "audio": "gpt-4o-transcribe"
      },
      "autoPriority": {
        "image": 10,
        "audio": 10
      }
    },
    "openai-codex": {
      "capabilities": [
        "image"
      ],
      "defaultModels": {
        "image": "gpt-5.5"
      }
    }
  },
  "configSchema": {
    "type": "object",
    "additionalProperties": false,
    "properties": {
      "personality": {
        "type": "string",
        "enum": [
          "friendly",
          "on",
          "off"
        ],
        "default": "friendly",
        "description": "Legacy compatibility fallback for the shared GPT-5 friendly interaction-style overlay. Prefer agents.defaults.promptOverlays.gpt5.personality. `friendly` and `on` enable the style overlay; `off` disables only that style layer."
      }
    }
  }
}
