Update LLM model pricing CSV from official provider pricing pages
Update src/data/llm_models.csv with the latest pricing information from each provider's official pricing page.
provider,model,input_price,output_price,max_input_tokens,max_output_tokens,pricing_url
input_price / output_price: USD per 1M tokensmax_input_tokens / max_output_tokens: integer token counts (no commas, no K/M suffix). Use - when not applicable (e.g., image-generation models) or when the spec cannot be confirmed from official docs.pricing_url: The provider's official pricing page URL- for output_price when it does not apply (e.g., image generation models)Read src/data/llm_models.csv to understand the current list of providers and models.
Use WebFetch to retrieve the latest pricing information from the following URLs in parallel:
OpenAI: https://platform.openai.com/docs/pricing
Anthropic: https://www.anthropic.com/pricing
Google: https://ai.google.dev/pricing
DeepSeek: https://api-docs.deepseek.com/quick_start/pricing (preferred; https://platform.deepseek.com/pricing requires login)
Pricing pages do not include token limits for OpenAI, Anthropic, or Google — fetch from each provider's model documentation. DeepSeek's pricing page already contains them.
https://developers.openai.com/api/docs/models/<model> (e.g. .../models/gpt-5.5, .../models/gpt-realtime-2). Each page has "Context Window" and "Max Output Tokens". Image-generation models (gpt-image-*) do not publish these — use -.https://docs.claude.com/en/docs/about-claude/models/overview (which redirects to https://platform.claude.com/docs/en/about-claude/models/overview). Read the "Context window" and "Max output" rows. Both the "Latest models comparison" and "Legacy models" tables are needed to cover all non-deprecated models.https://ai.google.dev/gemini-api/docs/models/<model-slug> (e.g. .../models/gemini-3.5-flash, .../models/gemini-2.5-pro). Each page has "Input token limit" and "Output token limit". Note that slug conventions are inconsistent — some Preview variants and Live/Native-Audio models do not have individual pages; use - if not found.max_input_tokens, "MAXIMUM" output → max_output_tokens.When a Preview variant lacks its own page, assume the same limits as the non-Preview variant of the same model family (and note this in the change report).
Based on the fetched information, perform the following:
input_price / output_price for models whose prices have changed.max_input_tokens / max_output_tokens when the spec changes.After the update is complete, report the following to the user:
