<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: FUSR.ai</title>
    <description>The latest articles on DEV Community by FUSR.ai (@fusr_ai).</description>
    <link>https://dev.to/fusr_ai</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4217479%2F88da7b1a-1e30-4b9f-baa9-cc9f9970a4c1.png</url>
      <title>DEV Community: FUSR.ai</title>
      <link>https://dev.to/fusr_ai</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/fusr_ai"/>
    <language>en</language>
    <item>
      <title>How to reduce your LLM API costs</title>
      <dc:creator>FUSR.ai</dc:creator>
      <pubDate>Fri, 30 Oct 2026 14:28:30 +0000</pubDate>
      <link>https://dev.to/fusr_ai/how-to-reduce-your-llm-api-costs-4900</link>
      <guid>https://dev.to/fusr_ai/how-to-reduce-your-llm-api-costs-4900</guid>
      <description>&lt;p&gt;Six things that lower an OpenAI, Claude, or xAI API bill: know where the money goes, send easy requests to a cheaper model, keep prompt caching working, cap every key, batch what can wait, and send less. Plus when routing does not help at all.&lt;/p&gt;

&lt;p&gt;Last updated October 27, 2026&lt;/p&gt;

&lt;h2&gt;
  
  
  Find out where the money goes
&lt;/h2&gt;

&lt;p&gt;Before you change anything, split last month's bill by model, by key, and by tool. Most bills have one or two lines that matter: an agent that loops, a script that sends a whole file every time, or a top model answering questions a small one would get right.&lt;/p&gt;

&lt;p&gt;Two things surprise people. Output tokens cost far more than input tokens: GPT-5.5 lists $5 per million in and $30 per million out. And long chats send the whole conversation again with every message, so the tenth message in a chat costs much more than the first.&lt;/p&gt;

&lt;h2&gt;
  
  
  Send easy requests to a cheaper model
&lt;/h2&gt;

&lt;p&gt;Not every request needs the top model. A quick question, a rename, or a short summary is often answered just as well by a cheaper one. List prices per million tokens, input then output, show how wide the gap is:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Model&lt;/th&gt;
&lt;th&gt;Input&lt;/th&gt;
&lt;th&gt;Output&lt;/th&gt;
&lt;th&gt;Good for&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Claude Opus 5.5&lt;/td&gt;
&lt;td&gt;$4&lt;/td&gt;
&lt;td&gt;$20&lt;/td&gt;
&lt;td&gt;Hard coding and reasoning&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Claude Sonnet 5.5&lt;/td&gt;
&lt;td&gt;$2&lt;/td&gt;
&lt;td&gt;$10&lt;/td&gt;
&lt;td&gt;Most coding and writing&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GPT-5.5&lt;/td&gt;
&lt;td&gt;$5&lt;/td&gt;
&lt;td&gt;$30&lt;/td&gt;
&lt;td&gt;Writing, images, long documents&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Grok 4.7&lt;/td&gt;
&lt;td&gt;$2&lt;/td&gt;
&lt;td&gt;$6&lt;/td&gt;
&lt;td&gt;Quick questions, long documents&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GPT-4o mini&lt;/td&gt;
&lt;td&gt;$0.15&lt;/td&gt;
&lt;td&gt;$0.60&lt;/td&gt;
&lt;td&gt;Small, simple jobs&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;You can do this by hand: pick a cheap default and switch up when a task is hard. A router does it per request. FUSR.ai's fusr/auto sorts each request by task and sends quick questions to the cheapest connected model first. Turn on cheapest-good-enough and every task goes to the cheapest model rated good enough for it. &lt;a href="https://fusr.ai/ai-router" rel="noopener noreferrer"&gt;How the AI router works&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  When routing does not help
&lt;/h2&gt;

&lt;p&gt;Routing is not magic, and sometimes it saves nothing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Your work is already on a cheap model.&lt;/li&gt;
&lt;li&gt;Almost every request is hard, so it all belongs on the top model anyway.&lt;/li&gt;
&lt;li&gt;Switching models in the middle of a chat throws away the prompt cache, which can cost more than the cheaper model saves.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A well chosen pair, one strong model and one cheap one, gets most people a long way. Caching, caps, and trimming what you send often matter as much as clever routing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Keep prompt caching working
&lt;/h2&gt;

&lt;p&gt;When the start of a request is the same as a recent one (a system prompt, a file, the earlier part of a chat), providers can read it from a cache for much less than full price. Anthropic charges a tenth of the input price for cache reads, and a twentieth on Sonnet 5.5 and Opus 5.5, but a quarter more to write the cache. OpenAI and xAI cache on their own: GPT-5.5 lists cached input at $0.50 against $5, and Grok 4.7 at $0.50 against $2.&lt;/p&gt;

&lt;p&gt;Habits that break caching:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Switching models mid chat. Each model has its own cache.&lt;/li&gt;
&lt;li&gt;Putting something that changes, like the time, at the top of a system prompt.&lt;/li&gt;
&lt;li&gt;Long pauses. Cache entries expire after a few minutes without use.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;FUSR.ai marks Anthropic requests for caching, keeps a chat on the model whose cache is warm, and shows what caching saved in your report, from your real token counts.&lt;/p&gt;

&lt;h2&gt;
  
  
  Put a cap on every key
&lt;/h2&gt;

&lt;p&gt;One runaway script or agent loop can spend a month's budget overnight. Provider consoles offer budgets and alerts for an organization or project. A cap per key is tighter: each tool or teammate gets its own limit, and hitting it stops only that key.&lt;/p&gt;

&lt;p&gt;FUSR.ai Free has one monthly cap on your FUSR.ai key. Pro and Team set daily and monthly caps on every key, with an alert at the dollar amount you choose.&lt;/p&gt;

&lt;h2&gt;
  
  
  Use batch for work that can wait
&lt;/h2&gt;

&lt;p&gt;OpenAI and Anthropic both offer a batch API for jobs that can wait up to a day, such as tagging a backlog or running evals, at half the normal price. FUSR.ai does not route batch jobs, so send those to the provider directly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Send less
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Start a new chat when the topic changes, instead of dragging the old context along.&lt;/li&gt;
&lt;li&gt;Send the part of a file that matters, not the whole repository.&lt;/li&gt;
&lt;li&gt;Set a max output length for jobs that only need a short answer.&lt;/li&gt;
&lt;li&gt;Keep system prompts short and stable, so they cache well.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  If most of your bill is OpenAI
&lt;/h2&gt;

&lt;p&gt;GPT-5.5 is the priciest of the default models, at $30 per million output tokens. Keep it for the work it is best at, let quick questions go to a cheaper model, keep the start of your prompts stable so OpenAI's automatic caching kicks in, and set a max output length. The same key can reach Claude and xAI models through FUSR.ai if you connect them.&lt;/p&gt;

&lt;h2&gt;
  
  
  What FUSR.ai does and doesn't do
&lt;/h2&gt;

&lt;h3&gt;
  
  
  It does
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Sends each request on your FUSR.ai key to a model that fits, by rules you can read and change.&lt;/li&gt;
&lt;li&gt;Keeps prompt caching working and shows what it saved, from your real token counts and list prices.&lt;/li&gt;
&lt;li&gt;Stops a key at the cap you set.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  It doesn't
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Add anything to token prices. Your providers bill your keys directly.&lt;/li&gt;
&lt;li&gt;Promise a saving. Your report shows what happened with your own requests.&lt;/li&gt;
&lt;li&gt;Route batch jobs, embeddings, or image endpoints.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://fusr.ai/reduce-llm-api-costs" rel="noopener noreferrer"&gt;fusr.ai/reduce-llm-api-costs&lt;/a&gt;. I work on FUSR.ai.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>llm</category>
      <category>ai</category>
      <category>openai</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
