Skip to content

Sync prices from the HK observation point - #10

Closed
john2ai wants to merge 2 commits into
mainfrom
automation/sync-hk
Closed

john2ai wants to merge 2 commits into
mainfrom
automation/sync-hk

Conversation

@john2ai

@john2ai john2ai commented Oct 17, 2026

Copy link
Copy Markdown
Contributor

The HK observation point's daily 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:

Commits

  • a86a1da7 Bump the version for 4 price(s), 1 new
  • 40d91265 Sync openrouter from its source — 4 price(s), 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)
  ! not this entry's pricing (other tier or modality): 17055 row(s)
  ! billed by 1 Hour: 532 row(s)
  ! billed by 1: 167 row(s)
  ! another region's meter (westus): 31 row(s)
  ! another region's meter (usgovvirginia): 11 row(s)
  ! another region's meter (norwayeast): 3 row(s)
  ! another region's meter (usgovarizona): 12 row(s)
  ! another region's meter (eastus2): 31 row(s)
  ! billed by 1/Hour: 222 row(s)
  ! another region's meter (westus3): 31 row(s)
  ! another region's meter (swedencentral): 31 row(s)
  ! another region's meter (southcentralus): 31 row(s)
  ! another region's meter (northcentralus): 31 row(s)
  ! billed by 100: 38 row(s)
  ! another region's meter (northeurope): 28 row(s)
  ! billed by 1/Month: 27 row(s)
  ! another region's meter (westeurope): 3 row(s)
  ! another region's meter (centralus): 4 row(s)
  ! billed by 1 Second: 45 row(s)
  ! another region's meter (westus2): 7 row(s)
  ! billed by 1/Day: 52 row(s)
  ! another region's meter (uaenorth): 3 row(s)
  ! another region's meter (southindia): 6 row(s)
  ! another region's meter (switzerlandnorth): 9 row(s)
  ! another region's meter (francecentral): 6 row(s)
  ! another region's meter (southafricanorth): 5 row(s)
  ! another region's meter (uksouth): 6 row(s)
  ! another region's meter (southeastasia): 5 row(s)
  ! another region's meter (canadaeast): 6 row(s)
  ! another region's meter (australiaeast): 6 row(s)
  ! another region's meter (japaneast): 6 row(s)
  ! another region's meter (westcentralus): 3 row(s)

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. sentence-transformers/all-MiniLM-L12-v2, ByteDance/Seedream-4, Bria/remove_background

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)
  ! 3/3 rows priced from the vendor's China page

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)
  https://developers.openai.com/api/docs/pricing.md: HTTP 403
  Skipped. Check the source, then update its adapter in scripts/sources/.

openrouter  (https://openrouter.ai/api/v1/models + /{id}/endpoints)
  ! 335 of 418 models priced from their upstreams; 418 text-out models enumerated (:free mirrors excluded)
  ! priced differently per upstream: reflection/beam-1.0-501b-a23b (4 endpoints, 4 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 (8 endpoints, 5 prices), anthropic/claude-sonnet-5.5 (8 endpoints, 2 prices), openai/gpt-6.1-sol-pro (7 endpoints, 5 prices), openai/gpt-6-luna-pro (6 endpoints, 4 prices), openai/gpt-6-luna (7 endpoints, 4 prices), openai/gpt-6-sol-pro (6 endpoints, 4 prices)
  ! left unpriced this run (rows keep their numbers): reflection/beam-1.0-501b-a23b (no agreed price among 4 upstreams — left as is), 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), qwen/qwen3.8-max-0902 (no agreed price among 2 upstreams — left as is), google/gemini-3.8-flash (no agreed price among 7 upstreams — left as is), qwen/qwen3.8-flash (no agreed price among 2 upstreams — left as is), ibm-granite/granite-4.2-8b (no agreed price among 2 upstreams — left as is)

openrouter  (https://openrouter.ai/api/v1/models + /{id}/endpoints)
  ~ deepseek-v4-flash.in: "0.14" -> "0.0215"
  ~ deepseek-v4-flash.out: "0.28" -> "1.28"
  ~ deepseek-v4-flash.cache_read: "0.028" -> "0.0215"
  ~ glm-5.3-flash.max_output: 943718 -> 943717
  + 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

1 entr(ies) to change: 4 price(s), 1 new
1 entr(ies) skipped — see the ✗ above
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/openrouter/models.json
✓ bumped global.json version 89 -> 90
✓ committed entries/openrouter/models.json
✓ committed global.json

commits are local; nothing was pushed

Opened by scripts/sync-hk.sh on the HK box. Price-only runs merge
themselves; a run that adds or leaves a model waits for a person.

kiwano-sync-hk and others added 2 commits October 17, 2026 13:23
Read from https://openrouter.ai/api/v1/models + /{id}/endpoints.

~ deepseek-v4-flash.in: "0.14" -> "0.0215"
~ deepseek-v4-flash.out: "0.28" -> "1.28"
~ deepseek-v4-flash.cache_read: "0.028" -> "0.0215"
~ glm-5.3-flash.max_output: 943718 -> 943717
+ 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