Skip to content

Commit cb74204

Browse files
committed
docs(providers/openai): note OpenAI Realtime requires Platform credits, not Codex/ChatGPT subscription (#76498)
Realtime voice (Voice Call realtime.provider: openai and Control UI Talk with talk.provider: openai) goes through the public OpenAI Platform Realtime API and needs an OPENAI_API_KEY whose organization has funded Platform credits. Codex/ChatGPT subscription quota does not cover this route, so an install whose openai-codex/* chat works fine can still hit insufficient_quota / 'You exceeded your current quota' on the first Realtime turn. Adds an inline note next to the Realtime row of the OpenAI capability matrix and a follow-up Note block that explains the symptom, the fix (top up Platform credits + configure OPENAI_API_KEY), and why openai-codex is not registered as a realtime voice provider. This was the central confusion in #76498. Documenting it inline prevents the same fail-then-discover loop for the next user.
1 parent 5fae1c3 commit cb74204

2 files changed

Lines changed: 33 additions & 13 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ Docs: https://docs.openclaw.ai
1010

1111
### Changes
1212

13+
- Docs/providers/openai: clarify that OpenAI Realtime voice goes through the OpenAI Platform Realtime API and requires Platform credits — Codex/ChatGPT subscription quota does not cover this route. Fixes #76498. Thanks @lonexreb.
1314
- Docker/Gateway: harden the gateway container by dropping `NET_RAW` and `NET_ADMIN` capabilities and enabling `no-new-privileges` in the bundled `docker-compose.yml`. Thanks @VintageAyu.
1415
- Telegram: accept plugin-owned numeric forum-topic targets in the agent message tool and keep reply-dispatch provider chunks behind a real stable runtime alias during in-place package updates. Fixes #77137. Thanks @richardmqq.
1516
- Channels/WhatsApp: support explicit WhatsApp Channel/Newsletter `@newsletter` outbound message targets with channel session metadata instead of DM routing. Fixes #13417; carries forward the narrow outbound target idea from #13424. Thanks @vincentkoc and @agentz-manfred.

docs/providers/openai.md

Lines changed: 32 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -73,19 +73,38 @@ through PI, `openclaw doctor` warns and leaves the route unchanged.
7373

7474
## OpenClaw feature coverage
7575

76-
| OpenAI capability | OpenClaw surface | Status |
77-
| ------------------------- | ---------------------------------------------------------- | ------------------------------------------------------ |
78-
| Chat / Responses | `openai/<model>` model provider | Yes |
79-
| Codex subscription models | `openai-codex/<model>` with `openai-codex` OAuth | Yes |
80-
| Codex app-server harness | `openai/<model>` with `agentRuntime.id: codex` | Yes |
81-
| Server-side web search | Native OpenAI Responses tool | Yes, when web search is enabled and no provider pinned |
82-
| Images | `image_generate` | Yes |
83-
| Videos | `video_generate` | Yes |
84-
| Text-to-speech | `messages.tts.provider: "openai"` / `tts` | Yes |
85-
| Batch speech-to-text | `tools.media.audio` / media understanding | Yes |
86-
| Streaming speech-to-text | Voice Call `streaming.provider: "openai"` | Yes |
87-
| Realtime voice | Voice Call `realtime.provider: "openai"` / Control UI Talk | Yes |
88-
| Embeddings | memory embedding provider | Yes |
76+
| OpenAI capability | OpenClaw surface | Status |
77+
| ------------------------- | ---------------------------------------------------------- | -------------------------------------------------------------------------- |
78+
| Chat / Responses | `openai/<model>` model provider | Yes |
79+
| Codex subscription models | `openai-codex/<model>` with `openai-codex` OAuth | Yes |
80+
| Codex app-server harness | `openai/<model>` with `agentRuntime.id: codex` | Yes |
81+
| Server-side web search | Native OpenAI Responses tool | Yes, when web search is enabled and no provider pinned |
82+
| Images | `image_generate` | Yes |
83+
| Videos | `video_generate` | Yes |
84+
| Text-to-speech | `messages.tts.provider: "openai"` / `tts` | Yes |
85+
| Batch speech-to-text | `tools.media.audio` / media understanding | Yes |
86+
| Streaming speech-to-text | Voice Call `streaming.provider: "openai"` | Yes |
87+
| Realtime voice | Voice Call `realtime.provider: "openai"` / Control UI Talk | Yes (requires OpenAI Platform API credits, not Codex/ChatGPT subscription) |
88+
| Embeddings | memory embedding provider | Yes |
89+
90+
<Note>
91+
OpenAI Realtime voice (used by Voice Call's `realtime.provider: "openai"` and
92+
Control UI Talk with `talk.provider: "openai"`) goes through the public
93+
**OpenAI Platform Realtime API** — it requires an `OPENAI_API_KEY` whose
94+
organization has funded Platform credits. Codex/ChatGPT subscription quota
95+
does **not** apply: an account with healthy Codex OAuth that runs
96+
`openai-codex/*` chat models without issue can still hit
97+
`insufficient_quota` / "You exceeded your current quota" on the first
98+
Realtime turn if the same OpenAI organization has no Platform billing set
99+
up. The `openai-codex` provider is not registered as a realtime voice
100+
provider for the same reason.
101+
102+
Fix: top up Platform credits at
103+
[platform.openai.com/account/billing](https://platform.openai.com/account/billing)
104+
and configure `OPENAI_API_KEY` (or `talk.providers.openai.apiKey` for Control UI Talk, or `plugins.entries.voice-call.config.realtime.providers.openai.apiKey` for Voice Call) with a key from that organization. For chat
105+
turns you can still use `openai-codex/*` against the same OpenClaw install —
106+
Realtime is the one route that needs Platform billing.
107+
</Note>
89108

90109
## Memory embeddings
91110

0 commit comments

Comments
 (0)