Summary
When calling https://opencode.ai/zen/v1/chat/completions with model deepseek-v4-flash-free using plain curl (or any non‑official HTTP client), every direct API request I tried returns HTTP 429:
{"type":"error","error":{"type":"FreeUsageLimitError","message":"Error from provider (Console): Rate limit exceeded. Please try again later."}}
However, the official OpenCode TUI (opencode CLI) works fine from the same network environment.
Environment
- opencode version: 1.18.16
- Platform: FedoraLinux-44 (WSL on Windows 11), terminal: Windows Terminal
- Provider:
opencode / model deepseek-v4-flash-free
Steps to reproduce
- POST to
https://opencode.ai/zen/v1/chat/completions (also /responses) with Authorization: Bearer <valid key>, model=deepseek-v4-flash-free.
- Observe
HTTP 429 with body:
{"type":"error","error":{"type":"FreeUsageLimitError","message":"Error from provider (Console): Rate limit exceeded. Please try again later."}}
- Repeat from different network origins and with official headers.
What I verified
- Tried three distinct exit IPs (AWS proxy, direct IPv4, direct IPv6) – all get 429 immediately, no IP‑based blocking.
- Also tested with OpenCode-related headers such as:
- x-opencode-client
- x-opencode-version
Key observation
The official OpenCode TUI succeeds while direct OpenAI-compatible API calls fail consistently.
This suggests that there may be a difference in:
- endpoint routing,
- authentication flow,
- request headers,
- or backend handling between the TUI and direct API usage.
Summary
When calling https://opencode.ai/zen/v1/chat/completions with model deepseek-v4-flash-free using plain curl (or any non‑official HTTP client), every direct API request I tried returns HTTP 429:
{"type":"error","error":{"type":"FreeUsageLimitError","message":"Error from provider (Console): Rate limit exceeded. Please try again later."}}However, the official OpenCode TUI (opencode CLI) works fine from the same network environment.
Environment
opencode/ modeldeepseek-v4-flash-freeSteps to reproduce
https://opencode.ai/zen/v1/chat/completions(also/responses) withAuthorization: Bearer <valid key>,model=deepseek-v4-flash-free.HTTP 429with body:{"type":"error","error":{"type":"FreeUsageLimitError","message":"Error from provider (Console): Rate limit exceeded. Please try again later."}}What I verified
Key observation
The official OpenCode TUI succeeds while direct OpenAI-compatible API calls fail consistently.
This suggests that there may be a difference in: