2.0 KiB
2.0 KiB
OpenCode Zen /v1/models listing
Metadata
| Field | Value |
|---|---|
| Institute | Molodetz Institute — Research & Retrieval Division |
| Subject | free-model-discovery |
| Document type | Source Dossier |
| Tier | 1 |
| Source title | OpenCode Zen /v1/models listing |
| Source URL | https://opencode.ai/zen/v1/models |
| Source publisher / author | OpenCode (opencode.ai) |
| Source type | vendor docs |
| Source date (published) | Unknown — not stated |
| Date researched | 2026-10-12 |
| Researched by | tai (agent), model: Claude Sonnet 5, on behalf of retoor |
| Research method | direct page fetch |
| Confidence | Medium |
| Status | Active |
Summary
Unauthenticated GET returns an OpenAI-style model list. Plain urllib is refused with HTTP 403; the request only succeeds with opencode client headers (User-Agent and x-opencode-*), as curl's default agent was accepted but Python's was not.
Key findings
- 2026-10-12 listing held 80+ ids, of which these end in
-free: ling-3.1-flash-free, mimo-v2.6-flash-free, muse-spark-1.2-contributor-free, muse-spark-1.3-contributor-free, nemotron-3.5-lightning-free, jev-1.13-free, step-5-preview-free, longcat-2.5-preview-free, space-bunny-free. big-pickleis listed without a-freesuffix; its price was not verified.- tai's static list still named nemotron-3-ultra-free, exo-free, ling-3.0-flash-fin-free and fledge-alpha-free, none of which the endpoint listed.
Pros / strengths
Live, machine-readable, and the same endpoint tai calls at runtime, so what it reports is what a request will actually see.
Cons / limitations / caveats
The listing carries no price field, so freeness is inferred from the -free suffix only. Anti-bot behaviour (403 for default Python agent) may change.
Relevance to tai
Zen candidates used a hard-coded list that had drifted. Discovery now reads this endpoint (with opencode headers) and caches it.
Changelog
| Date | Change |
|---|---|
| 2026-10-12 | Initial dossier created. |