Repository navigation
Conversation
…default (cheaper-inference#18418) NVIDIA retired the free endpoints for openai/gpt-oss-120b (2026-09-03), deepseek-ai/deepseek-v4-pro-0813 (2026-09-14), deepseek-ai/deepseek-v4-flash-0731 (2026-09-21) and moonshotai/kimi-k3 (2026-10-15). integrate.api.nvidia.com now answers 410 "reached its end of life" for each of them, and build.nvidia.com marks their free endpoint as deprecated. The budget emergency fallback still pointed at nvidia/openai/gpt-oss-120b, so a budget-exhausted request was redirected to a dead model. It now targets nvidia/nemotron-3.5-super-vl-120b-a12b, which build.nvidia.com lists with a free endpoint and which is already in the nvidia registry and the free catalog. The NVIDIA EOL catalog test now asserts the fallback target is a registered, free, non-retired nvidia model. The four ids are removed from the nvidia registry, the hosted-model snapshot and the free catalog (484 to 483 entries; README count and budget SVGs regenerated). gpt-oss-120b on other providers is untouched. Closes cheaper-inference#18418
…eaper-inference#18418) The previous commit moved the budget emergency fallback to nvidia/nemotron-3.5-super-vl-120b-a12b, which had no pricing row. calculateCostDetailed then reported its usage as unpriced, and getApiKeyUsageLimitStatus failed closed (cheaper-inference#12341): one served fallback put every API key with a daily or weekly USD limit over its limit for the rest of the window. Add a zero-price row for the model in the nvidia pricing block, with the same shape as the gpt-oss rows. The endpoint is free, so zero is accurate. The NVIDIA EOL catalog test now checks the row and that calculateCostDetailed reports it priced, and the cheaper-inference#12341 fixture shows a USD-limited key stays under its limits after an emergency fallback. Also drop six NVIDIA ids that answer 410 end of life from the English USER_GUIDE NVIDIA line, and list only registry models that are still live.
…aper-inference#18418) Dropping openai/gpt-oss-120b also dropped the test's assertion that it kept tool calling disabled, so the test-masking check flagged a net assert removal (4 to 3). The replacement checks a capability of the model that took its place as the emergency fallback default: nvidia/nemotron-3.5-super-vl-120b-a12b must keep supportsVision. It fails if the flag is removed from the registry entry.
|
Pushed one small commit to clear the PR Test Policy check. The earlier assertion count dropped from 4 to 3 because the removed deprecated model had its own check. I added an assertion that the new emergency fallback model (Nemotron 3.5 Super VL) keeps vision support, so the count is 4 again and the new check tests a real capability. The boundary ratchet shows 776 against 774 on the current release tip, but it is 776 against 776 on this PR's own base, so the PR adds no edges and a merge of release should clear it. |
|
After syncing All four workflows passed for this head: CI, Quality Gates, API Route Typecheck, and semgrep. CI had 23 successful jobs and 10 skipped jobs; those skipped jobs were not tested. I also need to correct the claim that the EOL test will catch the next retirement: it checks the checked-in catalog and retired-ID list, so it cannot detect a future NVIDIA retirement on its own. A live NVIDIA completion is still unverified, including whether the 4096-token cap leaves enough room for the new model's reasoning and answer. |
Summary
When a request ran out of budget, OmniRoute's emergency fallback sent it to
nvidia/openai/gpt-oss-120b. NVIDIA retired that free endpoint on 2026-09-03. Since then every redirected request has come back as410 Gone ... has reached its end of life, so the safety net failed exactly when it was needed. The issue also asked us to check the rest of the NVIDIA list, and three more catalog entries turned out to be retired the same way.openai/gpt-oss-120b(2026-09-03)deepseek-ai/deepseek-v4-pro-0813(2026-09-14)deepseek-ai/deepseek-v4-flash-0731(2026-09-21)moonshotai/kimi-k3(2026-10-15)nvidiaHostedModels.snapshot.jsonand, for gpt-oss-120b, the free catalog. The free catalog goes from 484 to 483 entries, so the README count and the two budget SVGs were regenerated with the repo generators.EMERGENCY_FALLBACK_CONFIGnow defaults tonvidia+nvidia/nemotron-3.5-super-vl-120b-a12b.src/shared/constants/pricing/inference-hosts.ts, with the same shape as the existing gpt-oss rows, which stay as they were. Without it the fallback's usage counts as unpriced. A key with a daily or weekly USD limit then fails closed (fix(backend): API-key budget enforcement can compute $0 for routing alias auto #12341) after a single served fallback, and the rest of the window is rejected. Zero is the right price because the model is on NVIDIA's free endpoint.docs/guides/USER_GUIDE.mdlisted six ids that NVIDIA has shut down, besides gpt-oss:z-ai/glm-5.1,minimaxai/minimax-m2.7,mistralai/mistral-small-4-119b-2603,mistralai/mistral-large-3-675b-instruct-2512,qwen/qwen3.5-397b-a17banddeepseek-ai/deepseek-v4-pro. Each answers 410 with an end-of-life date between 2026-07-02 and 2026-08-07. The line now lists only registry ids that answered 401 on 2026-10-28:google/gemma-4-31b-it,nvidia/nemotron-3.5-super-vl-120b-a12b,nvidia/nemotron-3-ultra-550b-a55bandnvidia/nemotron-3.5-lightning-30b-a3b. This touches the English guide only.gpt-oss-120bon other providers (groq, requesty and the rest) is left alone. The canonicalization alias and the historical nvidia pricing rows are also unchanged.Why this model
OmniRoute's emergency fallback is there so a request still gets answered for free once the paid budget is gone. The default therefore has to be a model that a plain NVIDIA free key can actually call.
nvidia/nemotron-3.5-super-vl-120b-a12bwas the best fit among the live options:GET https://integrate.api.nvidia.com/v1/models, and an unauthenticated chat request to it answers 401 rather than 410 (retired). That only rules out a shutdown: a real completion was not verified.Alternatives I looked at:
google/gemma-4-31b-it: free and stable, but a much smaller model. It is the natural fallback if the Nemotron model is retired.nvidia/nemotron-3-ultra-550b-a55b: live, but not in the free catalog.openai/gpt-oss-20b: live, but not in the nvidia registry.Related Issues
Target Branch
release/v3.8.53branch (the highest openrelease/v*), notmainValidation
integrate.api.nvidia.com/v1/chat/completionsreturn 410 with an end-of-life date for all four removed ids and 401 for every id still in the registry./v1/modelsno longer lists any of the four removed ids, and it lists the new default.computeNvidiaCatalogDriftagainst that list reports no removed and no missing documented ids for the updated snapshot.api-key-budget-alias-auto-12341, the NVIDIA EOL catalog and every unit or integration test that imports the default pricing orinference-hosts, or that covers cost calculation (88 files, 575 pass). The two new pricing assertions fail when the row is removed.isFreeModelor the emergency fallback (284 files). Every failure there also fails on the base for environment reasons (missing@radix-ui/react-selectandsubset-fontpackages in my checkout, andplayground-model-qualify), or comes from vitest files that I then ran under vitest (67 pass).2c4e3ab7aa;git merge-tree --write-treeagainst the current tipffe4b52178is cleanTests Added Or Updated
tests/unit/nvidia-eol-catalog.test.ts: the four ids join the retired list, and a new test checks that the emergency fallback targets a model that is onnvidia, not retired, in the nvidia registry and in the nvidia free catalog. This fails on the base and catches the next time the default goes stale.tests/unit/nvidia-eol-catalog.test.ts, second new test: the emergency default has an all-zero nvidia pricing row, andcalculateCostDetailedreturnspriced: trueand$0for it.tests/unit/api-key-budget-alias-auto-12341.test.ts: a key with a $10 daily and $50 weekly limit records one large emergency fallback completion on the default model. The test asserts $0 spent, no unpriced usage, and neither window exceeded.moonshotai/kimi-k3as its live model and now usesgoogle/gemma-4-31b-it.Coverage Notes
nvidia/(the pricing row test fails);Reviewer Notes
OMNIROUTE_EMERGENCY_FALLBACK.nvidia/openai/gpt-oss-120b(or the other three ids) keep failing upstream, as they already do. I did not add an automatic alias because the deprecation aliases are not tied to a provider, and an alias foropenai/gpt-oss-120bwould also redirect groq and requesty users who can still use it./v1/modelslists it, and a chat request without a key answers 401. What was not verified: a real completion, because I have no NVIDIA key. If NVIDIA retires the model, the EOL catalog test fails, andgoogle/gemma-4-31b-itis the replacement I would use then.google/gemma-4-31b-itand the other Nemotron ids. That predates this PR. It matters only for keys with USD limits that call those models directly, so I left it for a separate change.ENVIRONMENT.md,USER_GUIDE.md,README.md). The locale mirrors, including the 484 count in the 66 localized READMEs and the shut-down ids in the localized USER_GUIDE NVIDIA line, are left for the post-merge translation refresh.