Files
librefang-registry/providers/openai.toml
T
Evan 396c88dc49 feat(openai): add GPT-5.4 and GPT-5.4-mini (#67)
Add the two GPT-5.4 variants exposed by OpenAI's API (source:
https://developers.openai.com/api/docs/models/gpt-5.4 and
https://developers.openai.com/api/docs/models/gpt-5.4-mini):

- **gpt-5.4** — frontier tier, 1,050,000 context window, 128k max output,
  $2.50 / input MTok, $15.00 / output MTok.
- **gpt-5.4-mini** — balanced tier (matching the naming convention used
  by `gpt-5-mini`, `gpt-4.1-mini`, etc.), 400,000 context window,
  128k max output, $0.75 / input MTok, $4.50 / output MTok.

Ordered right after the GPT-5.2 family and before the Codex variants
section to keep the frontier-GPT chain in release order.

Addresses librefang/librefang-registry#65 — the original request filed
these under the `codex-cli` provider, but Codex CLI's upstream
`models.json` doesn't list `gpt-5.4-mini` (only the full `gpt-5.4`
slug is list-visible there, and it's already tracked in
`providers/codex-cli.toml`). The correct home for OpenAI-API-direct
access is this file; users who want `gpt-5.4-mini` should configure
`provider = "openai"` rather than `provider = "codex-cli"`.
2026-04-20 14:15:20 +09:00

211 lines
4.2 KiB
TOML

# OpenAI — https://openai.com
# Models: 15 (including 2 Codex variants)
[provider]
id = "openai"
display_name = "OpenAI"
api_key_env = "OPENAI_API_KEY"
base_url = "https://api.openai.com/v1"
key_required = true
media_capabilities = ["image_generation", "text_to_speech"]
[[models]]
id = "gpt-4.1"
display_name = "GPT-4.1"
tier = "frontier"
context_window = 1047576
max_output_tokens = 32768
input_cost_per_m = 2.00
output_cost_per_m = 8.00
supports_tools = true
supports_vision = true
supports_streaming = true
aliases = []
[[models]]
id = "gpt-4.1-mini"
display_name = "GPT-4.1 Mini"
tier = "balanced"
context_window = 1047576
max_output_tokens = 32768
input_cost_per_m = 0.40
output_cost_per_m = 1.60
supports_tools = true
supports_vision = true
supports_streaming = true
aliases = []
[[models]]
id = "gpt-4.1-nano"
display_name = "GPT-4.1 Nano"
tier = "fast"
context_window = 1047576
max_output_tokens = 32768
input_cost_per_m = 0.10
output_cost_per_m = 0.40
supports_tools = true
supports_vision = false
supports_streaming = true
aliases = []
[[models]]
id = "o3"
display_name = "o3"
tier = "frontier"
context_window = 200000
max_output_tokens = 100000
input_cost_per_m = 2.0
output_cost_per_m = 8.0
supports_tools = true
supports_vision = true
supports_streaming = true
supports_thinking = true
aliases = []
[[models]]
id = "o4-mini"
display_name = "o4-mini"
tier = "smart"
context_window = 200000
max_output_tokens = 100000
input_cost_per_m = 1.1
output_cost_per_m = 4.4
supports_tools = true
supports_vision = true
supports_streaming = true
supports_thinking = true
aliases = []
[[models]]
id = "gpt-5"
display_name = "GPT-5"
tier = "frontier"
context_window = 400000
max_output_tokens = 128000
input_cost_per_m = 1.25
output_cost_per_m = 10.0
supports_tools = true
supports_vision = true
supports_streaming = true
aliases = []
[[models]]
id = "gpt-5-mini"
display_name = "GPT-5 Mini"
tier = "balanced"
context_window = 400000
max_output_tokens = 128000
input_cost_per_m = 0.25
output_cost_per_m = 2.0
supports_tools = true
supports_vision = true
supports_streaming = true
aliases = ["gpt5-mini"]
[[models]]
id = "gpt-5-nano"
display_name = "GPT-5 Nano"
tier = "fast"
context_window = 400000
max_output_tokens = 128000
input_cost_per_m = 0.05
output_cost_per_m = 0.40
supports_tools = true
supports_vision = false
supports_streaming = true
aliases = []
[[models]]
id = "gpt-5.1"
display_name = "GPT-5.1"
tier = "frontier"
context_window = 400000
max_output_tokens = 128000
input_cost_per_m = 1.25
output_cost_per_m = 10.0
supports_tools = true
supports_vision = true
supports_streaming = true
aliases = []
[[models]]
id = "gpt-5.2"
display_name = "GPT-5.2"
tier = "frontier"
context_window = 400000
max_output_tokens = 128000
input_cost_per_m = 1.75
output_cost_per_m = 14.0
supports_tools = true
supports_vision = true
supports_streaming = true
aliases = ["gpt5"]
[[models]]
id = "gpt-5.2-pro"
display_name = "GPT-5.2 Pro"
tier = "frontier"
context_window = 400000
max_output_tokens = 128000
input_cost_per_m = 21.0
output_cost_per_m = 168.0
supports_tools = true
supports_vision = true
supports_streaming = true
aliases = []
[[models]]
id = "gpt-5.4"
display_name = "GPT-5.4"
tier = "frontier"
context_window = 1050000
max_output_tokens = 128000
input_cost_per_m = 2.50
output_cost_per_m = 15.0
supports_tools = true
supports_vision = true
supports_streaming = true
aliases = []
[[models]]
id = "gpt-5.4-mini"
display_name = "GPT-5.4 Mini"
tier = "balanced"
context_window = 400000
max_output_tokens = 128000
input_cost_per_m = 0.75
output_cost_per_m = 4.50
supports_tools = true
supports_vision = true
supports_streaming = true
aliases = []
# Codex variants (same OpenAI driver & API key)
[[models]]
id = "codex/gpt-4.1"
display_name = "GPT-4.1 (Codex)"
tier = "frontier"
context_window = 1047576
max_output_tokens = 32768
input_cost_per_m = 2.00
output_cost_per_m = 8.00
supports_tools = true
supports_vision = true
supports_streaming = true
aliases = ["codex", "codex-4.1"]
[[models]]
id = "codex/o4-mini"
display_name = "o4-mini (Codex)"
tier = "smart"
context_window = 200000
max_output_tokens = 100000
input_cost_per_m = 1.10
output_cost_per_m = 4.40
supports_tools = true
supports_vision = true
supports_streaming = true
supports_thinking = true
aliases = ["codex-o4"]