fix(hubris): price the models — unpriced entries defeat spend limits

The review is right and my earlier reasoning was wrong. I left cost fields off
because Hubris bills in rubles at a rate that moves, so any USD figure would
drift. What I failed to weigh is what zero costs actually do in this codebase:
usage on these models records as no spend, so an authenticated user can call
billable models without touching spend-based limits. A stale price is a much
smaller problem than a limit that does not apply.

The drift argument was weak anyway. Every entry in this file is a snapshot
that ages between updates; Hubris is not special in that respect.

The numbers are derived, not invented: they are the ruble prices this gateway
publishes on its own open catalogue (GET https://api.hubris.pw/v1/models,
no key required), converted at the Bank of Russia reference rate of 86.473
RUB/USD for 2026-09-09. Anyone can recompute them from those two public
sources, and  points at the catalogue page.

Verified: both files parse, all 14 Hubris entries carry input and output
costs, no other entry touched.
This commit is contained in:
Konstantin 2026-09-08 18:47:23 +03:00
parent c56f43006a
commit c77ac8622b
2 changed files with 56 additions and 0 deletions

View file

@ -59145,6 +59145,8 @@
"supports_vision": true
},
"hubris/anthropic/claude-haiku-4.5": {
"input_cost_per_token": 1.46138e-06,
"output_cost_per_token": 7.30644e-06,
"litellm_provider": "hubris",
"max_input_tokens": 200000,
"max_output_tokens": 64000,
@ -59164,6 +59166,8 @@
"supports_vision": true
},
"hubris/anthropic/claude-opus-5": {
"input_cost_per_token": 7.30644e-06,
"output_cost_per_token": 3.6532e-05,
"litellm_provider": "hubris",
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
@ -59190,6 +59194,8 @@
"supports_xhigh_reasoning_effort": true
},
"hubris/anthropic/claude-sonnet-5": {
"input_cost_per_token": 2.92265e-06,
"output_cost_per_token": 1.46128e-05,
"litellm_provider": "hubris",
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
@ -59215,6 +59221,8 @@
"supports_xhigh_reasoning_effort": true
},
"hubris/deepseek/deepseek-v4-flash": {
"input_cost_per_token": 1.2952e-07,
"output_cost_per_token": 2.5904e-07,
"litellm_provider": "hubris",
"max_input_tokens": 1048576,
"max_output_tokens": 384000,
@ -59233,6 +59241,8 @@
"supports_vision": false
},
"hubris/deepseek/deepseek-v4-pro": {
"input_cost_per_token": 1.39593e-06,
"output_cost_per_token": 2.79185e-06,
"litellm_provider": "hubris",
"max_input_tokens": 1048576,
"max_output_tokens": 384000,
@ -59251,6 +59261,8 @@
"supports_vision": false
},
"hubris/google/gemini-3.7-flash": {
"input_cost_per_token": 1.09607e-06,
"output_cost_per_token": 5.47986e-06,
"litellm_provider": "hubris",
"max_input_tokens": 1048576,
"max_output_tokens": 65536,
@ -59275,6 +59287,8 @@
"supports_web_search": true
},
"hubris/google/gemini-3.8-flash": {
"input_cost_per_token": 1.09607e-06,
"output_cost_per_token": 5.47986e-06,
"litellm_provider": "hubris",
"max_input_tokens": 1048576,
"max_output_tokens": 65536,
@ -59299,6 +59313,8 @@
"supports_web_search": true
},
"hubris/minimax/minimax-m3": {
"input_cost_per_token": 4.38403e-07,
"output_cost_per_token": 1.75361e-06,
"litellm_provider": "hubris",
"max_input_tokens": 1048576,
"max_output_tokens": 512000,
@ -59312,6 +59328,8 @@
"supports_vision": true
},
"hubris/moonshotai/kimi-k3": {
"input_cost_per_token": 4.38391e-06,
"output_cost_per_token": 2.19192e-05,
"litellm_provider": "hubris",
"max_input_tokens": 1048576,
"max_output_tokens": 943718,
@ -59326,6 +59344,8 @@
"supports_vision": true
},
"hubris/openai/gpt-5.4-mini": {
"input_cost_per_token": 1.09607e-06,
"output_cost_per_token": 6.57581e-06,
"litellm_provider": "hubris",
"max_input_tokens": 400000,
"max_output_tokens": 128000,
@ -59348,6 +59368,8 @@
"supports_xhigh_reasoning_effort": true
},
"hubris/openai/gpt-5.6-luna": {
"input_cost_per_token": 2.92346e-07,
"output_cost_per_token": 1.75361e-06,
"litellm_provider": "hubris",
"max_input_tokens": 1050000,
"max_output_tokens": 128000,
@ -59371,6 +59393,8 @@
"supports_xhigh_reasoning_effort": true
},
"hubris/openai/gpt-6-astra": {
"input_cost_per_token": 1.46128e-05,
"output_cost_per_token": 7.30638e-05,
"litellm_provider": "hubris",
"max_input_tokens": 1050000,
"max_output_tokens": 128000,
@ -59396,6 +59420,8 @@
"supports_xhigh_reasoning_effort": true
},
"hubris/x-ai/grok-4.6": {
"input_cost_per_token": 2.92265e-06,
"output_cost_per_token": 8.76771e-06,
"litellm_provider": "hubris",
"max_input_tokens": 500000,
"max_output_tokens": 450000,
@ -59409,6 +59435,8 @@
"supports_vision": true
},
"hubris/z-ai/glm-5.3": {
"input_cost_per_token": 2.04584e-06,
"output_cost_per_token": 6.42964e-06,
"litellm_provider": "hubris",
"max_input_tokens": 1310720,
"max_output_tokens": 943718,

View file

@ -59145,6 +59145,8 @@
"supports_vision": true
},
"hubris/anthropic/claude-haiku-4.5": {
"input_cost_per_token": 1.46138e-06,
"output_cost_per_token": 7.30644e-06,
"litellm_provider": "hubris",
"max_input_tokens": 200000,
"max_output_tokens": 64000,
@ -59164,6 +59166,8 @@
"supports_vision": true
},
"hubris/anthropic/claude-opus-5": {
"input_cost_per_token": 7.30644e-06,
"output_cost_per_token": 3.6532e-05,
"litellm_provider": "hubris",
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
@ -59190,6 +59194,8 @@
"supports_xhigh_reasoning_effort": true
},
"hubris/anthropic/claude-sonnet-5": {
"input_cost_per_token": 2.92265e-06,
"output_cost_per_token": 1.46128e-05,
"litellm_provider": "hubris",
"max_input_tokens": 1000000,
"max_output_tokens": 128000,
@ -59215,6 +59221,8 @@
"supports_xhigh_reasoning_effort": true
},
"hubris/deepseek/deepseek-v4-flash": {
"input_cost_per_token": 1.2952e-07,
"output_cost_per_token": 2.5904e-07,
"litellm_provider": "hubris",
"max_input_tokens": 1048576,
"max_output_tokens": 384000,
@ -59233,6 +59241,8 @@
"supports_vision": false
},
"hubris/deepseek/deepseek-v4-pro": {
"input_cost_per_token": 1.39593e-06,
"output_cost_per_token": 2.79185e-06,
"litellm_provider": "hubris",
"max_input_tokens": 1048576,
"max_output_tokens": 384000,
@ -59251,6 +59261,8 @@
"supports_vision": false
},
"hubris/google/gemini-3.7-flash": {
"input_cost_per_token": 1.09607e-06,
"output_cost_per_token": 5.47986e-06,
"litellm_provider": "hubris",
"max_input_tokens": 1048576,
"max_output_tokens": 65536,
@ -59275,6 +59287,8 @@
"supports_web_search": true
},
"hubris/google/gemini-3.8-flash": {
"input_cost_per_token": 1.09607e-06,
"output_cost_per_token": 5.47986e-06,
"litellm_provider": "hubris",
"max_input_tokens": 1048576,
"max_output_tokens": 65536,
@ -59299,6 +59313,8 @@
"supports_web_search": true
},
"hubris/minimax/minimax-m3": {
"input_cost_per_token": 4.38403e-07,
"output_cost_per_token": 1.75361e-06,
"litellm_provider": "hubris",
"max_input_tokens": 1048576,
"max_output_tokens": 512000,
@ -59312,6 +59328,8 @@
"supports_vision": true
},
"hubris/moonshotai/kimi-k3": {
"input_cost_per_token": 4.38391e-06,
"output_cost_per_token": 2.19192e-05,
"litellm_provider": "hubris",
"max_input_tokens": 1048576,
"max_output_tokens": 943718,
@ -59326,6 +59344,8 @@
"supports_vision": true
},
"hubris/openai/gpt-5.4-mini": {
"input_cost_per_token": 1.09607e-06,
"output_cost_per_token": 6.57581e-06,
"litellm_provider": "hubris",
"max_input_tokens": 400000,
"max_output_tokens": 128000,
@ -59348,6 +59368,8 @@
"supports_xhigh_reasoning_effort": true
},
"hubris/openai/gpt-5.6-luna": {
"input_cost_per_token": 2.92346e-07,
"output_cost_per_token": 1.75361e-06,
"litellm_provider": "hubris",
"max_input_tokens": 1050000,
"max_output_tokens": 128000,
@ -59371,6 +59393,8 @@
"supports_xhigh_reasoning_effort": true
},
"hubris/openai/gpt-6-astra": {
"input_cost_per_token": 1.46128e-05,
"output_cost_per_token": 7.30638e-05,
"litellm_provider": "hubris",
"max_input_tokens": 1050000,
"max_output_tokens": 128000,
@ -59396,6 +59420,8 @@
"supports_xhigh_reasoning_effort": true
},
"hubris/x-ai/grok-4.6": {
"input_cost_per_token": 2.92265e-06,
"output_cost_per_token": 8.76771e-06,
"litellm_provider": "hubris",
"max_input_tokens": 500000,
"max_output_tokens": 450000,
@ -59409,6 +59435,8 @@
"supports_vision": true
},
"hubris/z-ai/glm-5.3": {
"input_cost_per_token": 2.04584e-06,
"output_cost_per_token": 6.42964e-06,
"litellm_provider": "hubris",
"max_input_tokens": 1310720,
"max_output_tokens": 943718,