Skip to content

Sync prices from the vendors' own sources - #11

Closed
john2ai wants to merge 3 commits into
mainfrom
automation/sync
Closed

john2ai wants to merge 3 commits into
mainfrom
automation/sync

Conversation

@john2ai

@john2ai john2ai commented Oct 17, 2026

Copy link
Copy Markdown
Contributor

The scheduled run found changes in the vendors' published prices.

Each commit below is one entry, so every diff is the change to that
vendor alone. The last is the global.json version bump — the
published table is version-gated, so without it the app never sees any
of this.

Read it the way the checklist asks: in / out / cache_read against
the vendor's own page. A correct reading reports no change, so
anything here is a source disagreeing with what the entry carries.

Sources this runner could not read

Nothing here says anything about the vendor's prices — these entries were compared
against nothing, so a change in them would not have shown up:

Not reachable from this network

A host refusing this network is an environment fact, not a broken page — the
other observation point reads these:

Commits

  • 4e37ee8 Bump the version for 3 price(s), 3 new
  • 2b68846 Sync openrouter from its source — 3 price(s), 2 new
  • 38f7d1d Sync deepinfra from its source — 1 new
Full run log

azure-foundry  (https://prices.azure.com/api/retail/prices)
  ! not this entry's pricing (other tier, modality or family): 3335 row(s)
  ! billed by 1/Hour: 620 row(s)
  ! another region's meter (swedencentral): 6 row(s)
  ! another region's meter (germanywestcentral): 6 row(s)
  ! another region's meter (spaincentral): 6 row(s)
  ! another region's meter (westeurope): 6 row(s)
  ! another region's meter (southcentralus): 6 row(s)
  ! another region's meter (italynorth): 6 row(s)
  ! another region's meter (polandcentral): 6 row(s)
  ! another region's meter (southeastasia): 6 row(s)
  ! another region's meter (northcentralus): 6 row(s)
  ! another region's meter (eastus2): 6 row(s)
  ! another region's meter (westus3): 6 row(s)
  ! another region's meter (centralus): 6 row(s)
  ! another region's meter (westcentralus): 6 row(s)
  ! another region's meter (westus2): 6 row(s)
  ! another region's meter (westus): 6 row(s)
  ! another region's meter (francecentral): 6 row(s)

✗ azure-openai  (https://prices.azure.com/api/retail/prices)
  https://prices.azure.com:443/api/retail/prices?currencyCode=USD&$filter=startswith%28productName%2C%27Azure%20OpenAI%27%29&$skip=20000: HTTP 429
  Skipped. Check the source, then update its adapter in scripts/sources/.

vertex  (https://cloud.google.com/vertex-ai/generative-ai/pricing)
  ! a model the id table lacks: 27 row(s), e.g. Gemini 4 Argon* through November 30, 2026, Gemini 4 Argon (Starting December 1, 2026), Gemini 4 Argon Cyber Permissive, Gemini 3.8 Live API
  ! the "Priority" tab: 4 row(s), e.g. Gemini 4, Gemini 3, Gemini 2.5
  ! the "Batch" tab: 1 row(s), e.g. Gemini 4
  ! a future-dated rate: 6 row(s), e.g. Gemini 3.8 Flash Starting January 1, 2027, Gemini 3.8 Flash Starting January 1, 2027, Gemini 3.7 Flash starting January 1, 2027
  ! the "Flex/Batch" tab: 3 row(s), e.g. Gemini 3, Gemini 2.5, Nano Banana
  ! the "Modality-based pricing" tab: 2 row(s), e.g. Gemini 2.0, Context Cache Storage price for Explicit Caching
  ! the "Deferred" tab: 1 row(s), e.g. Agents
  ! the "US Multi-Region (US)" tab: 1 row(s), e.g. Anthropic’s Claude models
  ! the "EU Multi-Region (EU)" tab: 1 row(s), e.g. Anthropic’s Claude models
  ! the "us-east5" tab: 1 row(s), e.g. Anthropic’s Claude models
  ! the "europe-west 1" tab: 1 row(s), e.g. Anthropic’s Claude models
  ! the "asia-southeast1" tab: 1 row(s), e.g. Anthropic’s Claude models
  ! the "asia-east1" tab: 1 row(s), e.g. Anthropic’s Claude models

baidu-qianfan  (https://cloud.baidu.com/doc/qianfan/s/wmh4sv6ya)
  ! batch prices ignored (a different billed mode); 搜索增强 per-call rows skipped: 0
  ! 即将下线 versions skipped: 3

bedrock  (https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonBedrock/current/index.json + https://calculator.aws/pricing/2.0/meteredUnitMaps/bedrockfoundationmodels/USD/current/bedrockfoundationmodels.json)
  ! another region's rate: 12232 row(s)
  ! a discounted or routed tier: 642 row(s)
  ! not a token rate (cache/provisioned/training): 219 row(s)
  ! a model the id table lacks (Llama 3.1 70B Latency Optimized): 2 row(s)
  ! a model the id table lacks (Gemma 3 27B): 4 row(s)
  ! a model the id table lacks (Ministral 3B 3.0): 4 row(s)
  ! a model the id table lacks (Mistral Large): 2 row(s)
  ! a model the id table lacks (?): 9 row(s)
  ! a model the id table lacks (Voxtral Small 1.0): 4 row(s)
  ! a model the id table lacks (Gemma 3 12B): 4 row(s)
  ! a model the id table lacks (Voxtral Mini 1.0): 4 row(s)
  ! a model the id table lacks (Writer Palmyra Vision 7B): 4 row(s)
  ! a model the id table lacks (Nova Pro Latency Optimized): 2 row(s)
  ! a model the id table lacks (google.gemma-4-26b-a4b): 2 row(s)
  ! a model the id table lacks (Gemma 3 4B): 4 row(s)
  ! a model the id table lacks (Grok 4.7): 2 row(s)
  ! a model the id table lacks (google.gemma-4-31b): 2 row(s)
  ! a model the id table lacks (google.gemma-4-e2b): 2 row(s)
  ! a Claude model the page map lacks (Claude Haiku 5.5): 2 row(s)
  ! a Claude model the page map lacks (Claude Haiku 5.5 - Long Context): 2 row(s)
  ! a Claude model the page map lacks (Claude Sonnet 5.5): 2 row(s)
  ! a Claude model the page map lacks (Claude Mythos 5.1**): 2 row(s)
  ! a Claude model the page map lacks (Claude Opus 5): 2 row(s)
  ! a Claude model the page map lacks (Claude Sonnet 4): 2 row(s)
  ! a Claude model the page map lacks (Claude Mythos 5**): 1 row(s)
  ! a Claude model the page map lacks (Claude Mythos Preview**): 1 row(s)
  ! a Claude model the page map lacks (Claude 4.5 Haiku): 1 row(s)
  ! a Claude model the page map lacks (Claude Opus 4.1): 1 row(s)
  ! a Claude model the page map lacks (Claude Opus 4): 1 row(s)
  ! a Claude model the page map lacks (Claude 3.7 Sonnet): 1 row(s)
  ! a Claude model the page map lacks (Claude 3.5 Sonnet): 1 row(s)
  ! a Claude model the page map lacks (Claude 3.5 Haiku): 1 row(s)
  ! a Claude model the page map lacks (Claude 3.5 Sonnet v2): 1 row(s)
  ! a Claude model the page map lacks (Claude 3 Opus): 1 row(s)
  ! a Claude model the page map lacks (Claude 3 Haiku): 1 row(s)
  ! a Claude model the page map lacks (Claude 3 Sonnet): 1 row(s)
  ! a Claude model the page map lacks (Claude 2.1): 1 row(s)
  ! a Claude model the page map lacks (Claude 2.0): 1 row(s)
  ! a Claude model the page map lacks (Claude Instant): 1 row(s)

cerebras  (https://inference-docs.cerebras.ai/llms.txt)
  ! 2 model pages read from the vendor's own docs index

deepinfra  (https://api.deepinfra.com/v1/openai/models + https://api.deepinfra.com/models/list)
  ! not token-billed (audio/seconds/images): 84 row(s), e.g. black-forest-labs/FLUX-2-klein-4b, Bria/expand, Bria/blur_background

deepinfra  (https://api.deepinfra.com/v1/openai/models + https://api.deepinfra.com/models/list)
  + deepseek-ai/DeepSeek-V4.1-Flash-1017 is new

friendli  (https://friendli.ai/api/public/model-apis)
  ! 1 row(s) skipped — non-text output or not token-billed

google-gemini  (https://aistudio.google.com/docs/pricing.md)
  ! 28 models with a Standard table, 5 of them in the entry
  ! not on the page: gemini-3.7-flash, gemini-3.5-flash

kimi  (https://platform.kimi.com/docs/pricing/chat.md)
  ! the vendor marks these retired: kimi-k2.5, moonshot-v1-8k, moonshot-v1-32k, moonshot-v1-128k, moonshot-v1-auto, moonshot-v1-8k-vision-preview, moonshot-v1-32k-vision-preview, moonshot-v1-128k-vision-preview, kimi-k2-0905-preview, kimi-k2-0711-preview, kimi-k2-turbo-preview, kimi-k2-thinking, kimi-k2-thinking-turbo

novita  (https://api.novita.ai/v3/openai/models)
  ! 3 row(s) skipped — non-chat or unpriced

perplexity  (https://docs.perplexity.ai/docs/router/models.md)
  ! 3 rows from the vendor's own rate card
  ! cache writes billed at each row's input rate (the page lists no dedicated write rate)
  ! except perplexity/glm-5.3-flash, which supports no cache writes

siliconflow-cn  (https://siliconflow.cn/pricing + https://siliconflow.com/pricing)
  ! input-only rows skipped (embeddings/rerankers): 0
  ! zero-priced (free-tier) rows skipped: 0

↯ stepfun  (https://platform.stepfun.com/docs/zh/guides/pricing/details.md + https://platform.stepfun.ai/docs/en/guides/pricing/details.md)
  https://platform.stepfun.com/docs/zh/guides/pricing/details.md: fetch failed
  Unreachable from this network, not read. The entry is unchanged.

stepfun-intl  (https://platform.stepfun.com/docs/zh/guides/pricing/details.md + https://platform.stepfun.ai/docs/en/guides/pricing/details.md)
  ! 3/3 rows priced from the vendor's international page

togetherai  (https://docs.together.ai/docs/serverless-models.md)
  ! 6/6 rows priced from the vendor's own docs table

openai  (https://developers.openai.com/api/docs/pricing.md)
  ! 40 priced models in the Standard table, 4 of them in the entry

openrouter  (https://openrouter.ai/api/v1/models + /{id}/endpoints)
  ! 336 of 419 models priced from their upstreams; 419 text-out models enumerated (:free mirrors excluded)
  ! priced differently per upstream: deepseek/deepseek-v4.1-flash-1017 (2 endpoints, 2 prices), nvidia/nemotron-3.5-super-vl (5 endpoints, 3 prices), google/gemini-4-argon (6 endpoints, 4 prices), anthropic/claude-haiku-5.5 (10 endpoints, 2 prices), inclusionai/ling-3.1-flash (2 endpoints, 2 prices), mistralai/mistral-large-4-0 (3 endpoints, 2 prices), openai/gpt-6.1-sol-pro (7 endpoints, 5 prices), openai/gpt-6.1-sol (8 endpoints, 5 prices), anthropic/claude-sonnet-5.5 (8 endpoints, 2 prices), openai/gpt-6-luna (7 endpoints, 4 prices), openai/gpt-6-sol-pro (6 endpoints, 4 prices), openai/gpt-6-sol (7 endpoints, 4 prices)
  ! left unpriced this run (rows keep their numbers): nvidia/nemotron-3.5-super-vl (no agreed price among 5 upstreams — left as is), google/gemini-4-argon (no agreed price among 6 upstreams — left as is), inclusionai/ling-3.1-flash (no agreed price among 2 upstreams — left as is), typesafe/jev-router (no endpoints), nvidia/switchyard (no endpoints), x-ai/grok-4.7 (no agreed price among 5 upstreams — left as is), deepseek/deepseek-v4.1-flash:batch (no agreed price among 2 upstreams — left as is), google/gemini-3.8-flash (no agreed price among 7 upstreams — left as is), ibm-granite/granite-4.2-8b (no agreed price among 2 upstreams — left as is), qwen/qwen3.8-flash (no agreed price among 2 upstreams — left as is), z-ai/glm-5.3-flash:batch (no agreed price among 2 upstreams — left as is), deepseek/deepseek-v4-flash-vision-exp (no agreed price among 3 upstreams — left as is)

openrouter  (https://openrouter.ai/api/v1/models + /{id}/endpoints)
  ~ deepseek-v4-flash.in: "0.14" -> "0.0191"
  ~ deepseek-v4-flash.out: "0.28" -> "0.6992"
  ~ deepseek-v4-flash.cache_read: "0.028" -> "0.0038"
  + deepseek/deepseek-v4.1-flash-1017 is new
  + elorian/glimpse is new

qianwenai  (https://help.aliyun.com/zh/model-studio/billing-for-model-studio)
  ! cache rates are not read: these models are excepted from every published percentage (20% implicit, 10% explicit-hit) and the vendor points at the console instead

xiaomi-mimo  (https://mimo.mi.com/static/docs/price/pay-as-you-go.md)
  ! billed by duration, no field for it: mimo-v2.6-pro
  ! billed by duration, no field for it: mimo-v2.6-flash

xiaomi-mimo-token-plan  (https://mimo.mi.com/static/docs/price/pay-as-you-go.md)
  ! billed by duration, no field for it: mimo-v2.6-pro
  ! billed by duration, no field for it: mimo-v2.6-flash

2 entr(ies) to change: 3 price(s), 3 new
1 entr(ies) skipped — see the ✗ above
1 entr(ies) unreachable from this network — see the ↯ above; nothing is wrong with their pages
no source, still hand-maintained: ai21, baichuan, baidu-qianfan-token-plan, baseten, cloudflare-workers-ai, cohere, databricks, digitalocean, fireworks, groq, huggingface, kimi-for-coding, meta, mistral, nebius, oci, ovhcloud, qianwenai-token-plan, sakana, sap-ai-core, siliconflow, tencent-token-plan, tencent-tokenhub, upstage, xfyun-token-plan, xunfei
✓ wrote entries/deepinfra/models.json
✓ wrote entries/openrouter/models.json
✓ bumped global.json version 89 -> 90
✓ committed entries/deepinfra/models.json
✓ committed entries/openrouter/models.json
✓ committed global.json

commits are local; nothing was pushed

Opened by the sync workflow at the vendors' own sources. Price-only
runs merge themselves; a run that adds or leaves a model waits for
a person.

github-actions Bot and others added 3 commits October 17, 2026 11:11
Read from https://api.deepinfra.com/v1/openai/models + https://api.deepinfra.com/models/list.

+ deepseek-ai/DeepSeek-V4.1-Flash-1017 is new

Co-Authored-By: Claude Code <noreply@anthropic.com>
Read from https://openrouter.ai/api/v1/models + /{id}/endpoints.

~ deepseek-v4-flash.in: "0.14" -> "0.0191"
~ deepseek-v4-flash.out: "0.28" -> "0.6992"
~ deepseek-v4-flash.cache_read: "0.028" -> "0.0038"
+ deepseek/deepseek-v4.1-flash-1017 is new
+ elorian/glimpse is new

Co-Authored-By: Claude Code <noreply@anthropic.com>
The published table is version-gated, so a price that moved without this
is a price the app never sees.

Co-Authored-By: Claude Code <noreply@anthropic.com>
@landoyjx

Copy link
Copy Markdown
Contributor

Superseded by direct commits to main (v90): the same new models (deepseek/deepseek-v4.1-flash-1017, elorian/glimpse, deepseek-ai/DeepSeek-V4.1-Flash-1017) are already there, and the price this PR carried for deepseek-v4-flash was the unstable modal pick that the new upstream rule fixes. Closing rather than merging so the row does not carry that value.

@landoyjx landoyjx closed this Oct 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants