Known Codex models and their defaults.
Summary
Functions
Coerces a reasoning effort to the nearest supported value for a model.
Returns the SDK default model, honoring environment overrides when present.
Returns the default reasoning effort for the given model (or the default model).
Returns the description for a model, if known.
Returns the display name for a model, if known.
Returns the upgrade information for a model, if available.
Returns the list of supported models visible for the inferred auth mode.
Returns models visible in the model picker.
Parses a reasoning effort value into its canonical atom form.
Renders a normalized reasoning effort as the CLI-friendly string value.
Lists the valid reasoning effort values understood by the SDK.
Returns true if a model is supported via API key authentication.
Returns the supported reasoning efforts for a model.
Returns true when the given model supports tool execution.
Types
@type apply_patch_tool_type() :: :freeform | :function
@type client_version() :: {non_neg_integer(), non_neg_integer(), non_neg_integer()}
@type model_info() :: %{ slug: String.t(), display_name: String.t(), description: String.t() | nil, default_reasoning_level: reasoning_effort(), supported_reasoning_levels: [reasoning_effort_preset()], shell_type: shell_tool_type(), visibility: model_visibility(), minimal_client_version: client_version(), supported_in_api: boolean(), priority: integer(), upgrade: String.t() | nil, base_instructions: String.t() | nil, supports_reasoning_summaries: boolean(), support_verbosity: boolean(), default_verbosity: verbosity() | nil, apply_patch_tool_type: apply_patch_tool_type() | nil, truncation_policy: truncation_policy(), supports_parallel_tool_calls: boolean(), context_window: non_neg_integer() | nil, reasoning_summary_format: reasoning_summary_format(), experimental_supported_tools: [String.t()] }
@type model_preset() :: %{ id: String.t(), model: String.t(), display_name: String.t(), description: String.t(), default_reasoning_effort: reasoning_effort(), supported_reasoning_efforts: [reasoning_effort_preset()], is_default: boolean(), upgrade: model_upgrade() | nil, show_in_picker: boolean(), supported_in_api: boolean() }
@type model_upgrade() :: %{ id: String.t(), reasoning_effort_mapping: %{required(reasoning_effort()) => reasoning_effort()} | nil, migration_config_key: String.t(), model_link: String.t() | nil, upgrade_copy: String.t() | nil }
@type model_visibility() :: :list | :hide | :none
@type reasoning_effort() :: :none | :minimal | :low | :medium | :high | :xhigh
@type reasoning_effort_preset() :: %{ effort: reasoning_effort(), description: String.t() }
@type reasoning_summary_format() :: :none | :experimental
@type shell_tool_type() ::
:default | :local | :unified_exec | :disabled | :shell_command
@type truncation_policy() :: %{mode: :bytes | :tokens, limit: non_neg_integer()}
@type verbosity() :: :low | :medium | :high
Functions
@spec coerce_reasoning_effort(String.t() | atom() | nil, reasoning_effort() | nil) :: reasoning_effort() | nil
Coerces a reasoning effort to the nearest supported value for a model.
Returns the input effort unchanged when the model is unknown or already supports it.
@spec default_model(:api | :chatgpt) :: String.t()
Returns the SDK default model, honoring environment overrides when present.
@spec default_reasoning_effort(String.t() | atom() | nil) :: reasoning_effort() | nil
Returns the default reasoning effort for the given model (or the default model).
Returns the description for a model, if known.
Returns the display name for a model, if known.
@spec get_upgrade(String.t()) :: model_upgrade() | nil
Returns the upgrade information for a model, if available.
@spec list() :: [model_preset(), ...]
Returns the list of supported models visible for the inferred auth mode.
@spec list_visible( :api | :chatgpt, keyword() ) :: [model_preset()]
Returns models visible in the model picker.
If auth_mode is :api, only include supported_in_api models.
@spec normalize_reasoning_effort(String.t() | atom() | nil) :: {:ok, reasoning_effort() | nil} | {:error, term()}
Parses a reasoning effort value into its canonical atom form.
@spec reasoning_effort_to_string(reasoning_effort()) :: String.t()
Renders a normalized reasoning effort as the CLI-friendly string value.
@spec reasoning_efforts() :: [reasoning_effort(), ...]
Lists the valid reasoning effort values understood by the SDK.
Returns true if a model is supported via API key authentication.
@spec supported_reasoning_efforts(String.t()) :: [reasoning_effort_preset()]
Returns the supported reasoning efforts for a model.
Returns true when the given model supports tool execution.