Add GreenPT provider - #3726
Conversation
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Reference existing models/ metadata via base_model instead of re-declaring provider-agnostic facts inline, per review feedback. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Upstream schema now requires a non-empty description on models; base_model entries inherit it, so add it to the self-contained ones. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Reconciles every GreenPT entry with the live production catalog and addresses the data-accuracy review: - Context limits: add provider-specific limit.context where GreenPT serves a smaller window than the base metadata (gemma-3-27b-it 40k, devstral-2 200k, llama-3.3-70b 100k, qwen3-coder-30b 128k). - Speech-to-text: reprice green-s / green-s-pro to the current EUR 0.12/hour pre-recorded rate, with the standard EUR 0.23/hour noted inline. - Modalities: override attachment and modalities.input so each entry advertises exactly what GreenPT serves. Adds image input to gpt-oss-120b, green-r, green-r-raw, green-l, green-l-raw and mistral-small-3.2; drops the inherited video/audio modalities from qwen3.6-35b-a3b, qwen3.5-397b-a17b and the Kimi entries. - Reasoning controls: reasoning_options now lists the full accepted effort set (none, minimal, low, medium, high) on every reasoning model. - Token costs: refresh prices, including glm-5.2, glm-5.1, minimax-m2.5 and the three Kimi entries.
The GreenPT API serves this model under the id `gemma4`; the previous filename did not resolve against the live endpoint. The upstream weights are still referenced through base_model.
Action items
|
- Add the required top-of-file cost-conversion comment (rate 1.14 USD/EUR, captured 2026-07-24, with sources) to every EUR-sourced file, per the AGENTS.md cost schema rule. - Scope reasoning_options to the GreenPT-hosted models whose reasoning control is documented first-party (gemma4, green-r, green-r-raw). The third-party pass-through endpoints forward reasoning_effort upstream unchanged and their per-model accepted values are not verified, so they now declare [] rather than an assumed effort enum. - Publish the standard EUR 0.23/hour speech-to-text rate (USD 0.00437/minute) instead of the temporary promotional rate, so the catalog stays correct after the promotion ends on 2026-08-31. The promotion is documented in the header.
|
Thanks, this was a useful pass. All four items are addressed in c004f2c. 1. [high] # reasoning_effort: thinking is enabled by default, "none" disables it, and
# minimal/low/medium/high are accepted. See https://docs.greenpt.ai/chat-completionThe other eleven entries are third-party pass-through endpoints: GreenPT forwards 2. [medium] Promotional speech-to-text price. Agreed, and changed. 3. [medium] Missing conversion comment. Fixed on every EUR-sourced file, above the first key as the AGENTS.md cost schema requires: # Cost: converted from GreenPT's EUR list price at 1.14 USD/EUR (rate captured 2026-07-24).
# Sources: https://docs.greenpt.ai/pricing and https://docs.greenpt.ai/model-cards4. [low] Evidence. Added an Evidence section to the PR description mapping each class of claim to its source.
|
Action items
|
|
Thanks, the fourth point was a real miss on my side and the first three were worth asking about. I have rewritten the PR description to match the final data exactly, including a per-model modality table with the supporting model-card capability tags. On the three modality questions, the TOMLs are correct and the old description was the inaccurate part, so I kept the data and fixed the text:
Image on the gpt-oss-derived ids. GreenPT serves these with image input even though the base metadata is text-only. The I also went the other way where our deployment is narrower than the base: Sources for each claim are in the Evidence table at the bottom of the description. |
Adds GreenPT (https://greenpt.ai) as a provider: 24 chat models plus 2 speech-to-text models, served through an OpenAI-compatible endpoint at
https://api.greenpt.ai/v1.This supersedes #2963, which a stale bot closed while I was preparing an update. GitHub would not let me reopen it, so this is the same branch with all review feedback applied. Every model that reuses existing metadata goes through
base_modeland carries only GreenPT-specific overrides.Pricing
Costs are USD per million tokens, converted from GreenPT's EUR list price at 1.14 USD/EUR (rate captured 2026-07-24). Every EUR-sourced file carries that rate and its sources in a top-of-file comment.
Speech-to-text is billed per hour and published here as the standard EUR 0.23/hour pre-recorded rate (USD 0.00437/minute). A 50% promotion runs through 31 August 2026, but the durable standard rate is published so the catalog stays correct after it ends. Live and multilingual tiers are priced higher and cannot be represented in the single-rate field.
Context limits
Provider-specific
limit.contextoverrides where GreenPT serves a smaller window than the base metadata:gemma-3-27b-itdevstral-2-123b-instruct-2512llama-3.3-70b-instructqwen3-coder-30b-a3b-instructModalities
Each entry declares exactly what the GreenPT endpoint serves, per the capability tags on the model cards. Both directions occur:
gpt-oss-120bgreen-r,green-r-rawgreen-l,green-l-rawmistral-small-3.2-24b-instruct-2506kimi-k2.6,kimi-k2.6-fastkimi-k2.7-codeqwen3.6-35b-a3bqwen3.5-397b-a17bllama-3.3-70b-instructattachment = falsekimi-k2.7-codeandqwen3.5-397b-a17bare deliberately text-only: GreenPT serves them as text endpoints and their model cards carry no vision capability, unlike theirkimi-k2.6andqwen3.6siblings.Reasoning controls
The documented effort enum is declared only on the GreenPT-hosted models whose control is documented first-party and implemented in the proxy itself:
Thinking is enabled by default,
"none"disables it, and the OpenAI-spec levels are accepted for compatibility.The other eleven reasoning entries are third-party pass-through endpoints: GreenPT forwards
reasoning_effortupstream unchanged and does not verify accepted values per model, so they declarereasoning_options = []rather than an assumed enum.Also
Renamed
gemma-4-26b-a4b-ittogemma4to match the id the API actually serves. The upstream weights are still referenced viabase_model.Rebased onto current
dev.bun validateis green.bun testshows no failures beyond the 3 pre-existingpackages/sdk/src/snapshot.jsmodule-resolution errors that also fail on a cleandevcheckout.Evidence
reasoning_effortvalues on GreenPT-hosted modelsgemma4)