<?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: Musaw</title>
    <description>The latest articles on DEV Community by Musaw (@crowai).</description>
    <link>https://dev.to/crowai</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%2F4183097%2Fe75d8e37-e41d-4f06-bb39-16ee8e26b155.jpg</url>
      <title>DEV Community: Musaw</title>
      <link>https://dev.to/crowai</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/crowai"/>
    <language>en</language>
    <item>
      <title>I run CrowLLM: one OpenAI-compatible endpoint in front of every major AI provider</title>
      <dc:creator>Musaw</dc:creator>
      <pubDate>Tue, 13 Oct 2026 21:27:17 +0000</pubDate>
      <link>https://dev.to/crowai/i-run-crowllm-one-openai-compatible-endpoint-in-front-of-every-major-ai-provider-p8a</link>
      <guid>https://dev.to/crowai/i-run-crowllm-one-openai-compatible-endpoint-in-front-of-every-major-ai-provider-p8a</guid>
      <description>&lt;p&gt;I'm 18, I built this on my own, and I'll be upfront: this post introduces something I made, and the last line has a link. Everything above it is how it actually works.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I built it
&lt;/h2&gt;

&lt;p&gt;I started with one AI provider. Then another had a model I wanted, so I added a second SDK, a second key, a second billing page, and a second rate limit to get stuck behind. Then the first provider had a bad afternoon and my app noticed before I did.&lt;/p&gt;

&lt;p&gt;Meanwhile, free users and small builders get treated like an afterthought almost everywhere: slow replies, tiny limits, long waits. A lot of them are students and roleplayers who just want good models without a corporate budget. That's who I built this for.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it is
&lt;/h2&gt;

&lt;p&gt;One base URL. OpenAI-compatible format. You change the &lt;code&gt;model&lt;/code&gt; string, not your code.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl https://crowllm.com/v1/chat/completions &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer &lt;/span&gt;&lt;span class="nv"&gt;$CROWLLM_KEY&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "model": "deepseek-v4.1-flash",
    "messages": [{"role": "user", "content": "write the next line"}]
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The same key works for Claude-family, Gemini-family, GPT-family and DeepSeek models, plus the rest of the catalogue. Streaming works like you'd expect. There's also a &lt;code&gt;/v1/messages&lt;/code&gt; endpoint if your client speaks the Anthropic format, including &lt;code&gt;count_tokens&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;It works with Cursor, Cline, and the chat front-ends the roleplay community uses, like JanitorAI and SillyTavern. If it speaks the OpenAI format, it should work.&lt;/p&gt;

&lt;h2&gt;
  
  
  Three kinds of models
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Free.&lt;/strong&gt; Free forever, no card, no trial timer. Sign in with Discord and you can try them right away.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Earned.&lt;/strong&gt; Play games with the Crow bot in our Discord, bank credit, and spend it on models.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Paid.&lt;/strong&gt; Pay-as-you-go, token by token. I keep prices as low as I can, below the official provider rates wherever possible, and every rate is printed before you call it, so you can compare with the provider's own page instead of trusting me. I buy my API supply from official, trusted sources.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's different from calling providers one by one
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Failover is real, not a badge.&lt;/strong&gt; A request that fails upstream is retried on another channel serving the same model. You don't write that loop, and you don't pay twice for it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Retry cost is on me.&lt;/strong&gt; If an upstream returns a 429, that failed attempt never shows up on your bill.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cache reads are priced as cache reads.&lt;/strong&gt; If a provider discounts cached input, the discount reaches your bill.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No forced IP pinning.&lt;/strong&gt; A key should work from a train, not only from one machine at home.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Real numbers, publicly readable.&lt;/strong&gt; The status page at &lt;a href="https://crowllm.com/status" rel="noopener noreferrer"&gt;crowllm.com/status&lt;/a&gt; only shows real traffic. I'd rather show you a bad week than print a number I made up.&lt;/p&gt;

&lt;p&gt;If you're a heavy user, the monthly pass gives you about 5x the credit the same money buys on a top-up, with no request-rate limit.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where things stand
&lt;/h2&gt;

&lt;p&gt;We're at around +7k users, and we have a friendly community on Discord: &lt;a href="https://discord.gg/crow" rel="noopener noreferrer"&gt;discord.gg/crow&lt;/a&gt;. The site is still being built. There's no registered company yet, and I'm not planning one until we hit 100k users. :p&lt;/p&gt;

&lt;h2&gt;
  
  
  What I want from you
&lt;/h2&gt;

&lt;p&gt;Tell me what breaks. If a model behaves differently through the gateway than it does direct, that's a bug and I want the exact request shape. Issues and DMs both work. I'm one person, so I read everything.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://crowllm.com" rel="noopener noreferrer"&gt;crowllm.com&lt;/a&gt;&lt;/strong&gt; — sign in with Discord, try the free models, no card.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://crowllm.com/pricing" rel="noopener noreferrer"&gt;&lt;strong&gt;Pricing&lt;/strong&gt; &lt;/a&gt;&lt;/p&gt;

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