1<!doctype html> 2<html lang="en"> 3 <head> 4 <meta charset="UTF-8" /> 5 <link rel="icon" type="image/svg+xml" href="/favicon.svg" /> 6 <link rel="icon" type="image/png" sizes="512x512" href="/brand/smouter-logo-512.png" /> 7 <link rel="apple-touch-icon" href="/brand/smouter-logo-256.png" /> 8 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 9 10 <meta name="theme-color" content="#ffffff" /> 11 12 <!-- Theme, before first paint. Mirrors src/theme.tsx: an explicit pick wins, 13 otherwise follow the OS. Runs here â not in the bundle â so the page never 14 flashes the wrong palette while the module loads. The theme-color meta is 15 declared above so this can repaint the mobile browser chrome too. --> 16
16<script> 17 ;(function () { 18 var t = 'light' 19 try { 20 var p = localStorage.getItem('smouter-theme') || localStorage.getItem('lv3-theme') 21 t = 22 p === 'light' || p === 'dark' 23 ? p 24 : matchMedia('(prefers-color-scheme: dark)').matches 25 ? 'dark' 26 : 'light' 27 } catch (e) { 28 /* storage blocked â fall back to light */ 29 } 30 document.documentElement.dataset.theme = t 31 if (t === 'dark') { 32 document.querySelector('meta[name="theme-color"]').setAttribute('content', '#05070c') 33 } 34 })() 35 </script>
35 36 <meta 37 name="description" 38 content="Smouter is an OpenAI- and Anthropic-compatible AI gateway. Access leading LLMs through one API and pay up to 50% less than OpenRouter." 39 /> 40 <link rel="canonical" href="https://smouter.ai/" /> 41 42 <!-- Google tag (gtag.js) â Google Ads conversion tracking (AW) + GA4 analytics (G) on one loader -->
vendor: 68 bytes, lines 42-43
42 43 <script async src="https://www.googletagmanager.com/gtag/js?id=
43AW-18223534235
vendor: 16 bytes, lines 43-44
43"></script> 44
44<script> 45 window.dataLayer = window.dataLayer || [] 46 function gtag() { 47 dataLayer.push(arguments) 48 } 49 gtag('js', new Date()) 50 gtag('config', 'AW-18223534235') 51 gtag('config', 'G-3M46GKL7GB') 52 </script>
52 53 54 <!-- Social --> 55 <meta property="og:title" content="Smouter â AI Gateway for Lower-Cost LLM APIs" /> 56 <meta 57 property="og:description" 58 content="Smouter is an OpenAI- and Anthropic-compatible AI gateway. Access leading LLMs through one API and pay up to 50% less than OpenRouter." 59 /> 60 <meta property="og:type" content="website" /> 61 <meta property="og:url" content="https://smouter.ai/" /> 62 <meta property="og:site_name" content="Smouter" /> 63 <meta property="og:image" content="https://smouter.ai/brand/og/home.5693110d.jpg" /> 64 <meta property="og:image:width" content="1200" /> 65 <meta property="og:image:height" content="630" /> 66 <meta property="og:image:alt" content="Smouter â AI Gateway for Lower-Cost LLM APIs" /> 67 <meta name="twitter:card" content="summary_large_image" /> 68 <meta name="twitter:title" content="Smouter â AI Gateway for Lower-Cost LLM APIs" /> 69 <meta 70 name="twitter:description" 71 content="Smouter is an OpenAI- and Anthropic-compatible AI gateway. Access leading LLMs through one API and pay up to 50% less than OpenRouter." 72 /> 73 <meta name="twitter:image" content="https://smouter.ai/brand/og/home.5693110d.jpg" /> 74
74<script type="application/ld+json"> 75 { 76 "@context": "https://schema.org", 77 "@graph": [ 78 { 79 "@type": "Organization", 80 "@id": "https://smouter.ai/#organization", 81 "name": "Smouter", 82 "url": "https://smouter.ai/", 83 "logo": { 84 "@type": "ImageObject", 85 "url": "https://smouter.ai/brand/smouter-logo-512.png", 86 "width": 512, 87 "height": 512 88 }, 89 "contactPoint": { 90 "@type": "ContactPoint", 91 "email": "[email protected]", 92 "contactType": "customer support", 93 "url": "https://smouter.ai/support" 94 } 95 }, 96 { 97 "@type": "WebSite", 98 "@id": "https://smouter.ai/#website", 99 "name": "Smouter", 100 "url": "https://smouter.ai/", 101 "inLanguage": "en", 102 "description": "OpenAI-compatible AI gateway that routes every request through four stacked layers of savings.", 103 "publisher": { "@id": "https://smouter.ai/#organization" } 104 } 105 ] 106 } 107 </script>
107 108 109 <link rel="preconnect" href="https://fonts.googleapis.com" /> 110 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> 111 <link 112 href="https://fonts.googleapis.com/css2?family=Archivo:wdth,[email protected],400..800&family=Azeret+Mono:wght@400;500;600;700&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&family=Space+Grotesk:wght@500;600;700&display=swap" 113 rel="stylesheet" 114 /> 115 <title>Smouter â AI Gateway for Lower-Cost LLM APIs</title> 116
116<script type="module" crossorigin src="/assets/index-ekCsyxOZ.js"></script>
116 117 <link rel="stylesheet" crossorigin href="/assets/index-iQbkkgbM.css"> 118
118<script type="application/json" id="route-metadata">{"/":{"title":"Smouter â AI Gateway for Lower-Cost LLM APIs","description":"Smouter is an OpenAI- and Anthropic-compatible AI gateway. Access leading LLMs through one API and pay up to 50% less than OpenRouter.","image":"https://smouter.ai/brand/og/home.5693110d.jpg"},"/models":{"title":"Models & pricing · Smouter","description":"50+ models behind one OpenAI-compatible key â live per-token prices, always routed to the cheapest healthy provider.","image":"https://smouter.ai/brand/og/models.940d78e5.jpg"},"/pricing":{"title":"Pricing · Smouter","description":"Pay per token with no seats and no lock-in â or pick a plan. Every tier gets the full savings stack.","image":"https://smouter.ai/brand/og/pricing.bb253f2a.jpg"},"/docs":{"title":"Documentation · Smouter","description":"Point your OpenAI or Anthropic SDK at api.smouter.ai and keep your code â endpoints, streaming, caching, routes.","image":"https://smouter.ai/brand/og/docs.072c6f0a.jpg"},"/docs/connect":{"title":"Connect your coding tool · Smouter","description":"Step-by-step guides for pointing Cursor, Claude Code, OpenCode, Codex, Cline, Aider, Zed and any OpenAI-compatible tool at Smouter.","image":"https://smouter.ai/brand/og/connect.62650340.jpg"},"/docs/connect/cursor":{"title":"Connect Cursor to Smouter · Smouter","description":"Override the OpenAI base URL in Cursor, add Smouter model ids as custom models, and verify â exact steps plus the gotchas that fail it.","image":"https://smouter.ai/brand/og/connect-cursor.73d0b66b.jpg"},"/docs/connect/claude-code":{"title":"Connect Claude Code to Smouter · Smouter","description":"Run Claude Code on the Anthropic-compatible Messages endpoint with two environment variables â base URL, auth token and model id.","image":"https://smouter.ai/brand/og/connect-claude-code.0dd967c2.jpg"},"/docs/connect/opencode":{"title":"Connect OpenCode to Smouter · Smouter","description":"Add Smouter as an OpenAI-compatible provider in opencode.json and pick any catalog model from the /models command.","image":"https://smouter.ai/brand/og/connect-opencode.94cf9b8e.jpg"},"/docs/connect/codex-cli":{"title":"Connect Codex CLI to Smouter · Smouter","description":"Point Codex CLI at Smouter with a model_providers entry in config.toml â chat wire, env key and a live model id.","image":"https://smouter.ai/brand/og/connect-codex-cli.d3a5b8eb.jpg"},"/docs/connect/cline":{"title":"Connect Cline to Smouter · Smouter","description":"Configure the Cline OpenAI Compatible provider with the Smouter base URL, an API key and an exact model id.","image":"https://smouter.ai/brand/og/connect-cline.e33f501b.jpg"},"/docs/connect/roo-code":{"title":"Connect Roo Code to Smouter · Smouter","description":"Configure the Roo Code OpenAI Compatible provider with Smouter values and point each mode profile at it.","image":"https://smouter.ai/brand/og/connect-roo-code.2bf62f58.jpg"},"/docs/connect/kilo-code":{"title":"Connect Kilo Code to Smouter · Smouter","description":"Configure the Kilo Code OpenAI Compatible provider with the Smouter base URL, key and model id.","image":"https://smouter.ai/brand/og/connect-kilo-code.8b92b247.jpg"},"/docs/connect/continue":{"title":"Connect Continue to Smouter · Smouter","description":"Add a Smouter model block to the Continue config.yaml with provider openai and apiBase â one block per model.","image":"https://smouter.ai/brand/og/connect-continue.5989e80d.jpg"},"/docs/connect/aider":{"title":"Connect Aider to Smouter · Smouter","description":"Run Aider against Smouter with OPENAI_API_BASE, OPENAI_API_KEY and the openai/ model prefix.","image":"https://smouter.ai/brand/og/connect-aider.c6ee2593.jpg"},"/docs/connect/zed":{"title":"Connect Zed to Smouter · Smouter","description":"Add Smouter as an openai_compatible provider in Zed settings.json and pick the model from the Agent panel.","image":"https://smouter.ai/brand/og/connect-zed.7576d16f.jpg"},"/docs/connect/desktop-chat-apps":{"title":"Connect desktop chat apps to Smouter · Smouter","description":"Add Smouter as an OpenAI-compatible provider in Jan, Chatbox, Msty, Cherry Studio, AnythingLLM, Open WebUI and similar desktop clients.","image":"https://smouter.ai/brand/og/connect-desktop-chat-apps.87310c32.jpg"},"/docs/connect/any-openai-client":{"title":"Connect any OpenAI-compatible tool to Smouter · Smouter","description":"The environment variables and SDK settings that connect any OpenAI-compatible or Anthropic-SDK tool to Smouter.","image":"https://smouter.ai/brand/og/connect-any-openai-client.98804064.jpg"},"/support":{"title":"Support · Smouter","description":"Search the Smouter knowledge base or open a ticket â setup, billing, routing and API answers.","image":"https://smouter.ai/brand/og/support.3107bc5c.jpg"},"/status":{"title":"Status · Smouter","description":"Live Smouter gateway health, probed from production â models, providers and routing in real time.","image":"https://smouter.ai/brand/og/status.bb55fb84.jpg"},"/models/kimi-k3":{"title":"Kimi K3 API â cheaper Kimi K3 · Smouter","description":"The same Kimi K3, OpenAI-compatible and priced from the live catalog â pay per token, below list price.","image":"https://smouter.ai/brand/og/kimi-k3.8b864afb.jpg"},"/models/deepseek-v4":{"title":"DeepSeek V4 API â cheaper V4 Pro & Flash · Smouter","description":"The same DeepSeek V4 Pro and Flash, OpenAI-compatible and priced from the live catalog â pay per token, below DeepSeek list.","image":"https://smouter.ai/brand/og/deepseek-v4.dd49a6a3.jpg"},"/models/glm-5":{"title":"GLM-5.2 API â cheaper GLM-5 · Smouter","description":"The same GLM-5.2, OpenAI-compatible and priced from the live catalog â pay per token, far below Z.ai list.","image":"https://smouter.ai/brand/og/glm-5.cf7d4e98.jpg"},"/models/qwen3-coder":{"title":"Qwen3 Coder API â cheaper Qwen coding models · Smouter","description":"The same Qwen3-Coder-Next with 262K context, OpenAI-compatible â one flat live per-token price, below Alibaba list.","image":"https://smouter.ai/brand/og/qwen3-coder.aa1e8086.jpg"},"/models/gpt-oss-120b":{"title":"gpt-oss-120b API â OpenAIâs open model for less · Smouter","description":"The official gpt-oss-120b weights, OpenAI-compatible and routed to the cheapest healthy host â live per-token pricing.","image":"https://smouter.ai/brand/og/gpt-oss-120b.be6215c4.jpg"},"/request-invite":{"title":"Get started · Smouter","description":"Create a key, point your SDK at api.smouter.ai and ship â free to start, pay per token.","image":"https://smouter.ai/brand/og/get-started.0048b129.jpg"},"/about":{"title":"About · Smouter","description":"Why we built Smouter â an OpenAI-compatible gateway that makes every token cheaper without changing your co
118de.","image":"https://smouter.ai/brand/og/about.e3331344.jpg"},"/contact":{"title":"Contact · Smouter","description":"Get in touch with the Smouter team â sales, support, partnerships and press.","image":"https://smouter.ai/brand/og/contact.d7b980a7.jpg"},"/blog":{"title":"Blog · Smouter","description":"Notes from the Smouter team on routing, model pricing and shipping cheaper AI.","image":"https://smouter.ai/brand/og/blog.e18966a8.jpg"},"/privacy":{"title":"Privacy · Smouter","description":"How Smouter handles your data â privacy policy.","image":"https://smouter.ai/brand/og/legal.826b9595.jpg"},"/terms":{"title":"Terms · Smouter","description":"Smouter terms of service.","image":"https://smouter.ai/brand/og/legal.826b9595.jpg"},"/data-processing":{"title":"Data processing · Smouter","description":"How Smouter processes request data across providers â data processing terms.","image":"https://smouter.ai/brand/og/legal.826b9595.jpg"},"/support/articles/create-api-key":{"title":"Create and manage API keys · Smouter support","description":"Mint a key, scope it with allowlists and caps, and rotate it safely.","image":"https://smouter.ai/brand/og/support.3107bc5c.jpg"},"/support/articles/value-vs-verified-lanes":{"title":"Value vs verified lanes · Smouter support","description":"What the two lanes mean, what they cost, and when to use each.","image":"https://smouter.ai/brand/og/support.3107bc5c.jpg"},"/support/articles/credits-and-top-ups":{"title":"Credits and top-ups · Smouter support","description":"Prepaid credits, per-token billing at live rates, and your ledger.","image":"https://smouter.ai/brand/og/support.3107bc5c.jpg"},"/support/articles/understand-your-usage":{"title":"Understand your usage and charges · Smouter support","description":"Reading the Usage page, request ids, and what to send support.","image":"https://smouter.ai/brand/og/support.3107bc5c.jpg"},"/support/articles/rate-limits-and-tpm":{"title":"Rate limits and TPM caps · Smouter support","description":"Platform limits, per-key tokens-per-minute caps, and handling 429s.","image":"https://smouter.ai/brand/og/support.3107bc5c.jpg"},"/support/articles/caching":{"title":"How response caching works · Smouter support","description":"Exact and prefix cache hits: lower latency and cost, visible per request.","image":"https://smouter.ai/brand/og/support.3107bc5c.jpg"},"/support/articles/batches":{"title":"Batch processing · Smouter support","description":"Submit asynchronous request batches at a discounted rate.","image":"https://smouter.ai/brand/og/support.3107bc5c.jpg"},"/support/articles/report-an-incident":{"title":"Is Smouter down? Reporting an incident · Smouter support","description":"Check live status first, then what to include so we can trace fast.","image":"https://smouter.ai/brand/og/support.3107bc5c.jpg"},"/support/articles/report-abuse":{"title":"Report abuse or misuse · Smouter support","description":"How to flag spam, fraud, or misuse of the platform.","image":"https://smouter.ai/brand/og/support.3107bc5c.jpg"},"/support/articles/security-disclosure":{"title":"Report a security vulnerability · Smouter support","description":"Responsible disclosure goes to [email protected], ahead of the queue.","image":"https://smouter.ai/brand/og/support.3107bc5c.jpg"},"/support/articles/organizations":{"title":"Organizations, members and roles · Smouter support","description":"Share Smouter with a team
118: invitations, roles, org keys and SSO.","image":"https://smouter.ai/brand/og/support.3107bc5c.jpg"}}</script>
118 119</head> 120 <body> 121 <div id="root"><div class="lv3" data-theme="light"><a class="site-skip" href="#book">Skip to content</a><header class="site-nav"><div class="site-nav__in"><a class="site-brand" aria-label="Smouter home" href="/"><svg width="28" height="28" viewBox="0 0 32 32" aria-hidden="true" class="lv3-mark"><mask id="lv3mark-R5a"><rect width="32" height="32" fill="#fff"></rect><circle cx="21" cy="11" r="1.1" fill="#000"></circle><circle cx="11" cy="21" r="1.1" fill="#000"></circle></mask><rect class="lv3-mark__tile" width="32" height="32" rx="8"></rect><rect class="lv3-mark__edge" x="0.5" y="0.5" width="31" height="31" rx="7.5" fill="none"></rect><g mask="url(#lv3mark-R5a)"><path class="lv3-mark__route" d="M21 11 C21 8 11 8 11 12 C11 15 21 17 21 20 C21 24 11 24 11 21" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"></path><circle class="lv3-mark__node" cx="21" cy="11" r="2.6"></circle><circle class="lv3-mark__node" cx="11" cy="21" r="2.6"></circle></g></svg><span>smouter</span></a><nav class="site-nav__links" aria-label="Primary"><a href="/models">Models</a><a href="/pricing">Pricing</a><a href="/docs">Docs</a><a href="/support">Support</a></nav><div class="site-nav__act"><button type="button" class="site-theme" aria-pressed="true" aria-label="Switch to the dark theme" title="Dark theme"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" aria-hidden="true"><circle cx="12" cy="12" r="4.4" stroke="currentColor" stroke-width="1.7"></circle><path d="M12 2.6v2.2M12 19.2v2.2M2.6 12h2.2M19.2 12h2.2M5.4 5.4l1.6 1.6M17 17l1.6 1.6M18.6 5.4 17 7M7 17l-1.6 1.6" stroke="currentColor" stroke-width="1.7" stroke-linecap="round"></path></svg></button><a class="site-nav__quiet" href="/app/login">Sign in</a><a class="site-btn site-btn--solid site-btn--sm" href="/app/signup">Start free <svg width="15" height="15" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="M5 12h13M13 6.5 18.5 12 13 17.5" stroke="currentColor" stroke-width="2.1" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></div></div><div class="site-nav__rule" aria-hidden="true"></div></header><main><section class="lv3-hero"><div class="lv3-hero__grid" aria-hidden="true"></div><div class="lv3-hero__glow" aria-hidden="true"></div><div class="site-wrap lv3-hero__in"><div class="lv3-hero__copy"><p class="lv3-eyebrow lv3-anim" style="--d:80ms"><span class="lv3-live"></span> AI gateway · one key · 50+ models</p><h1 class="lv3-hero__h1"><span class="lv3-anim" style="--d:160ms">Every model has</span><span class="lv3-anim" style="--d:240ms">a market price.</span><span class="lv3-anim lv3-hero__h1-b" style="--d:340ms">Youâve been paying list.</span></h1><p class="lv3-hero__sub lv3-anim" style="--d:440ms">Smouter is an OpenAI- and Anthropic-compatible AI gateway. Every request is shopped across a benchmarked pool of providers serving the same weights, then bought at the floor that actually holds â same models, same code, <strong>up to 50% under OpenRouter</strong>.</p><div class="lv3-hero__ctas lv3-anim" style="--d:540ms"><a class="site-btn site-btn--solid" href="/app/signup">Start free <svg width="15" height="15" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="M5 12h13M13 6.5 18.5 12 13 17.5" stroke="currentColor" stroke-width="2.1" stroke-linecap="round" stroke-linejoin="round"></path></svg></a><a href="#book" class="site-btn site-btn--line">Watch a request get priced</a></div><ul class="lv3-hero__ticks lv3-anim" style="--d:620ms"><li><svg width="13" height="13" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="m4 12 5.5 5.5L20 6.5" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"></path></svg>OpenAI & Anthropic SDKs</li><li><svg width="13" height="13" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="m4 12 5.5 5.5L20 6.5" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"></path></svg>50+ models, one key</li><li><svg width="13" height="13" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="m4 12 5.5 5.5L20 6.5" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"></path></svg>
121chat · image · audio · embeddings</li><li><svg width="13" height="13" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="m4 12 5.5 5.5L20 6.5" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"></path></svg>free to start</li></ul></div><div class="lv3-hero__side lv3-anim" style="--d:420ms"><div class="lv3-card lv3-diff"><div class="lv3-card__bar"><span class="lv3-dots" aria-hidden="true"><i></i><i></i><i></i></span><span class="lv3-card__file">app.py</span><span class="lv3-card__note">one line</span></div><pre class="lv3-diff__pre"><code><span class="lv3-l"><span class="lv3-k">from</span> openai <span class="lv3-k">import</span> <span class="lv3-fn">OpenAI</span></span><span class="lv3-l"></span><span class="lv3-l">client = <span class="lv3-fn">OpenAI</span>(</span><span class="lv3-l lv3-l--del"><span class="lv3-sign">-</span> base_url=<span class="lv3-str">"https://api.openai.com/v1"</span>,</span><span class="lv3-l lv3-l--add"><span class="lv3-sign">+</span> base_url=<span class="lv3-str">"https://api.smouter.ai/v1"</span>,</span><span class="lv3-l"> api_key=<span class="lv3-str">"sk-smouter-â¦"</span>,</span><span class="lv3-l">)</span></code></pre><div class="lv3-diff__foot"><span class="lv3-diff__model">gpt-5.5</span><span class="lv3-diff__was">$1.25</span><svg width="20" height="10" viewBox="0 0 20 10" fill="none" aria-hidden="true"><path d="M0 5h17M13 1.5 17 5l-4 3.5" stroke="currentColor" stroke-width="1.4"></path></svg><span class="lv3-diff__now">$0.61</span><span class="lv3-diff__unit">/ 1M in</span></div></div></div></div><a class="lv3-cue" href="#book" aria-label="Scroll to the order book"><span class="lv3-cue__line"></span>scroll</a></section><section class="lv3-scene lv3-scene--book" id="book"><div class="lv3-stage"><div class="site-wrap lv3-book"><header class="lv3-book__head"><p class="lv3-eyebrow">Scene one · the spread</p><h2 class="lv3-h2">The floor is not the cheapest quote.<br/>Itâs the cheapest one thatâs real.</h2></header><div class="lv3-book__body"><div class="lv3-ladder"><div class="lv3-ladder__bar"><span class="lv3-ladder__model">gpt-5.5</span><span class="lv3-ladder__unit">USD / 1M input tokens</span><span class="lv3-ladder__count">9<!-- --> quotes</span></div><div class="lv3-ladder__rows" style="--fillrow:6"><span class="lv3-scan" aria-hidden="true"></span><span class="lv3-fill" aria-hidden="true"><span class="lv3-fill__tag">fill</span></span><div class="lv3-row is-list" style="--i:0;--t:1.000;--w:1.000"><span class="lv3-row__who">model maker<em>list</em></span><span class="lv3-row__lat">0.9s</span><span class="lv3-row__bar"><i></i></span><span class="lv3-row__px">1.25</span></div><div class="lv3-row" style="--i:1;--t:0.789;--w:0.880"><span class="lv3-row__who">node A-17</span><span class="lv3-row__lat">1.1s</span><span class="lv3-row__bar"><i></i></span><span class="lv3-row__px">1.10</span></div><div class="lv3-row" style="--i:2;--t:0.563;--w:0.752"><span class="lv3-row__who">node C-04</span><span class="lv3-row__lat">1.0s</span><span class="lv3-row__bar"><i></i></span><span class="lv3-row__px">0.94</span></div><div class="lv3-row" style="--i:3;--t:0.479;--w:0.704"><span class="lv3-row__who">node K-22</span><span class="lv3-row__lat">1.4s</span><span class="lv3-row__bar"><i></i></span><span class="lv3-row__px">0.88</span></div><div class="lv3-row" style="--i:4;--t:0.254;--w:0.576"><span class="lv3-row__who">node F-09</span><span class="lv3-row__lat">1.2s</span><span class="lv3-row__bar"><i></i></span><span class="lv3-row__px">0.72</span></div><div class="lv3-row" style="--i:5;--t:0.211;--w:0.552"><span class="lv3-row__who">node B-31</span><span class="lv3-row__lat">0.9s</span><span class="lv3-row__bar"><i></i></span><span class="lv3-row__px">0.69</span></div><div class="lv3-row is-fill" style="--i:6;--t:0.099;--w:0.488"><span class="lv3-row__who">node M-06</span><span class="lv3-row__lat">1.0s</span><span class="lv3-row__bar"><i></i></span><span class="lv3-row__px">0.61</span></div><div class="lv3-row is-out" style="--i:7;--t:0.056;--w:0.464"><span class="lv3-row__who">node Q-13</span><span class="lv3-row__lat">2.8s</span><span class="lv3-row__bar"><i></i><span class="lv3-row__x">weights drifted</span></span><span class="lv3-row__px">0.58</span></div><div class="lv3-row is-out" style="--i:8;--t:0.000;--w:0.432"><span class="lv3-row__who">node Z-02</span><span class="lv3-row__lat">â</span><span class="lv3-row__bar"><i></i><span class="lv3-row__x">never served</span></span><span class="lv3-row__px">0.54</span></div></div></div><aside class="lv3-quote">
121<p class="lv3-quote__cap">You pay</p><p class="lv3-quote__px"><em>$</em><span>1.25</span></p><p class="lv3-quote__unit">per 1M input tokens · <!-- -->gpt-5.5</p><div class="lv3-quote__rule"></div><dl class="lv3-quote__meta"><div><dt>List price</dt><dd>$<!-- -->1.25</dd></div><div><dt>Quotes struck</dt><dd>2 of <!-- -->9</dd></div></dl><p class="lv3-quote__save"><span>0</span>% cheaper than list</p></aside></div><p class="lv3-book__foot">Prices illustrate a real spread. The two struck quotes are the reason Smouter is not a price-sorted list: one nodeâs weights no longer match the reference, the other advertises a price it has never served.</p></div></div></section><section class="lv3-band"><div class="site-wrap lv3-notes"><div class="lv3-note" data-rise="true" style="--d:0ms"><span class="lv3-note__n">01</span><h3>Probed, not trusted</h3><p>Every node is fingerprinted against the reference weights and benchmarked for latency and error rate â continuously, not at onboarding.</p></div><div class="lv3-note" data-rise="true" style="--d:90ms"><span class="lv3-note__n">02</span><h3>Bait priced out</h3><p>A quote nobody honours is not a price. Nodes that advertise low and fail to serve are demoted before they can anchor yours.</p></div><div class="lv3-note" data-rise="true" style="--d:180ms"><span class="lv3-note__n">03</span><h3>Re-shopped per request</h3><p>The floor moves through the day. Smouter re-quotes on every call, so you ride it down instead of pinning one contract.</p></div><p class="lv3-more" data-rise="true"><a href="/models">See every model and what it costs<!-- --> <svg width="15" height="15" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="M5 12h13M13 6.5 18.5 12 13 17.5" stroke="currentColor" stroke-width="2.1" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></p></div></section><section class="lv3-scene lv3-scene--layers" id="layers"><div class="lv3-stage"><div class="site-wrap lv3-layers"><header class="lv3-layers__head"><p class="lv3-eyebrow">Scene two · the stack</p><h2 class="lv3-h2">Four layers between your prompt and the bill.</h2></header><div class="lv3-layers__body"><div class="lv3-deck"><article class="lv3-lcard" style="--i:0;--s:0.080;--z:1"><div class="lv3-lcard__top"><span class="lv3-lcard__n">01</span><span class="lv3-lcard__badge">optional</span><span class="lv3-lcard__cut">â20%</span></div><h3>Route to the model that can actually do it</h3><p>Most prompts do not need your most expensive model. Smouter grades each one and sends it to the cheapest model that still nails it â or you name the model yourself and skip this entirely.</p></article><article class="lv3-lcard" style="--i:1;--s:0.280;--z:2"><div class="lv3-lcard__top"><span class="lv3-lcard__n">02</span><span class="lv3-lcard__badge">optional</span><span class="lv3-lcard__cut">â11%</span></div><h3>Send fewer tokens for the same answer</h3><p>Prompts are trimmed and compressed before they reach a model. You pay for the tokens that carried meaning, not the ones that carried habit.</p></article><article class="lv3-lcard" style="--i:2;--s:0.480;--z:3"><div class="lv3-lcard__top"><span class="lv3-lcard__n">03</span><span class="lv3-lcard__badge">always on</span><span class="lv3-lcard__cut">â27%</span></div><h3>Buy at the floor</h3><p>For whichever model you land on, the request goes to the lowest-cost node that passed its probe. This is the layer the order book above describes.</p></article><article class="lv3-lcard" style="--i:3;--s:0.680;--z:4"><div class="lv3-lcard__top"><span class="lv3-lcard__n">04</span><span class="lv3-lcard__badge">on by default</span><span class="lv3-lcard__cut">â13%</span></div><h3>Never pay twice for the same answer</h3><p>Exact and near-exact repeats return in milliseconds at a fraction of the price. Send one header when you need a genuinely fresh call.</p></article></div><aside class="lv3-meter"><p class="lv3-meter__cap">Monthly bill</p><p class="lv3-meter__was">was<!-- --> <em>$4,200<span></span></em></p><p class="lv3-meter__now"><span>$4,200</span></p><p class="lv3-meter__cut"><span>0</span>% off the same workload</p><p class="lv3-meter__fine">Illustrative. Layers 01 and 02 are opt-in; 03 and 04 run on every account.</p></aside></div></div></div></section><section class="lv3-scene lv3-scene--rail" id="surfaces"><div class="lv3-stage"><div class="lv3-rail"><div class="site-wrap lv3-rail__head"><p class="lv3-eyebrow">Scene three · one key</p><h2 class="lv3-h2">Everything youâd otherwise buy from four vendors, on one wallet.</h2></div><div class="lv3-rail__track" style="--n:8"><article class="lv3-scard" style="--i:0"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="M4 5h13a3 3 0 0 1 3 3v5a3 3 0 0 1-3 3H9l-5 4V8a3 3 0 0 1 3-3Z" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"></path></svg><h3>Chat & completions</h3><p class="lv3-scard__tag">openai · anthropic</p><p class="lv3-scard__body">Streaming, tool calls, JSON mode. Both SDKs, unchanged.</p></article><article class="lv3-scard" style="--i:1"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="M4 5h16v14H4ZM4 16l4.5-4.5 3 3L16 10l4 4" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"></path></svg><h3>Images</h3><p class="lv3-scard__tag">generate & edit</p><p class="lv3-scard__body">Text-to-image and edits on the same key and the same wallet.</p></article><article class="lv3-scard" style="--i:2"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="M4 10v4M8 6v12M12 3v18M16 7v10M20 10v4" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"></path></svg><h3>Audio</h3><p class="lv3-scard__tag">speech â text</p><p class="lv3-scard__body">Speech synthesis and transcription, billed by the second.</p></article><article class="lv3-scard" style="--i:3"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="M6 6h.01M12 6h.01M18 6h.01M6 12h.01M12 12h.01M18 12h.01M6 18h.01M12 18h.01M18 18h.01" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"></path></svg><h3>Embeddings</h3><p class="lv3-scard__tag">vectors</p><p class="lv3-scard__body">Batch-friendly embedding models for search and retrieval.</p></article><article class="lv3-scard" style="--i:4"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="M11 4a7 7 0 1 0 0 14 7 7 0 0 0 0-14ZM21 21l-4.35-4.35" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"></path></svg><h3>Web search</h3><p class="lv3-scard__tag">grounded</p><p class="lv3-scard__body">
121Ground any model in fresh results with one flag. No second vendor.</p></article><article class="lv3-scard" style="--i:5"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="M12 3 3 7.5 12 12l9-4.5ZM3 12l9 4.5L21 12M3 16.5 12 21l9-4.5" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"></path></svg><h3>Batch</h3><p class="lv3-scard__tag">async · cheaper</p><p class="lv3-scard__body">Queue large jobs at a lower rate and collect them when they land.</p></article><article class="lv3-scard" style="--i:6"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="M9 7V3M15 7V3M6 7h12v3a6 6 0 0 1-12 0ZM12 16v5" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"></path></svg><h3>MCP tools</h3><p class="lv3-scard__tag">your servers</p><p class="lv3-scard__body">Attach Model Context Protocol servers so models call your tools.</p></article><article class="lv3-scard" style="--i:7"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="M4.5 12h2.5M7 12c4.2 0 3.8-6 10-6M7 12h10M7 12c4.2 0 3.8 6 10 6" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"></path></svg><h3>Programmable routes</h3><p class="lv3-scard__tag">one model id</p><p class="lv3-scard__body">Compose several models into one id your code already calls.</p></article></div></div></div></section><section class="lv3-scene lv3-scene--routes" id="routes"><div class="lv3-stage"><div class="site-wrap lv3-routes"><header class="lv3-routes__head"><p class="lv3-eyebrow">Scene four · programmable routes</p><h2 class="lv3-h2">Wire several models into one id.<br/>Your code never learns about it.</h2></header><div class="lv3-routes__body"><ol class="lv3-pipe"><li class="lv3-pipe__cap lv3-pipe__cap--in"><code>model="@triage"</code><span>one id your code already calls</span></li><li class="lv3-step" style="--i:0"><span class="lv3-step__dot" aria-hidden="true"></span><span class="lv3-step__name">optimize</span><span class="lv3-step__body">trims the prompt before it costs you</span></li><li class="lv3-step" style="--i:1"><span class="lv3-step__dot" aria-hidden="true"></span><span class="lv3-step__name">guardrail</span><span class="lv3-step__body">stops what should never reach a model</span></li><li class="lv3-step" style="--i:2"><span class="lv3-step__dot" aria-hidden="true"></span><span class="lv3-step__name">fan out</span><span class="lv3-step__body">runs three models on the same input</span><span class="lv3-step__chips"><em style="--j:0">gpt-5.5</em><em style="--j:1">claude opus 4.8</em><em style="--j:2">gemini 3.1 pro</em></span></li><li class="lv3-step" style="--i:3"><span class="lv3-step__dot" aria-hidden="true"></span><span class="lv3-step__name">judge</span><span class="lv3-step__body">a blind judge returns the strongest answer</span></li><li class="lv3-pipe__cap lv3-pipe__cap--out"><code>one receipt</code><span>every stage metered per token â no platform fee on top</span></li></ol><div class="lv3-routes__notes"><div class="lv3-rnote" style="--i:0"><h3>Built in the dashboard</h3><p>Stages compose like chips. No orchestration framework, no second vendor, nothing new to deploy.</p></div><div class="lv3-rnote" style="--i:1"><h3>Metered like any call</h3><p>Each stage is a normal per-token request and the route settles as one receipt. No platform fee on top.</p></div><div class="lv3-rnote" style="--i:2"><h3>Rewired without a release</h3><p>Your code keeps calling the same id. Swap the judge or add a model and nothing ships on your side.</p></div></div></div></div></div></section><section class="lv3-scene lv3-scene--connect" id="connect"><div class="lv3-stage"><div class="site-wrap lv3-connect"><header class="lv3-connect__head"><p class="lv3-eyebrow">Scene five · connect with Smouter</p><h2 class="lv3-h2">Ship an AI app without funding everyone elseâs inference.</h2></header><div class="lv3-connect__body"><article class="lv3-panel lv3-panel--app"><div class="lv3-panel__head"><span class="lv3-panel__who">Your app</span><code>app.yourproduct.com</code></div><div class="lv3-oauth"><svg width="18" height="18" viewBox="0 0 32 32" aria-hidden="true" class="lv3-mark"><mask id="lv3mark-Rp9r"><rect width="32" height="32" fill="#fff"></rect><circle cx="21" cy="11" r="1.1" fill="#000"></circle><circle cx="11" cy="21" r="1.1" fill="#000"></circle></mask><rect class="lv3-mark__tile" width="32" height="32" rx="8"></rect><rect class="lv3-mark__edge" x="0.5" y="0.5" width="31" height="31" rx="7.5" fill="none"></rect><g mask="url(#lv3mark-Rp9r)"><path class="lv3-mark__route" d="M21 11 C21 8 11 8 11 12 C11 15 21 17 21 20 C21 24 11 24 11 21" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"></path><circle class="lv3-mark__node" cx="21" cy="11" r="2.6"></circle><circle class="lv3-mark__node" cx="11" cy="21" r="2.6"></circle></g></svg>Sign in with Smouter</div><dl class="lv3-ledger"><div><dt>You pay for inference</dt><dd class="lv3-ledger__zero">$<!-- -->0.00</dd></div><div class="lv3-ledger__earn"><dt>You earn <em>optional margin</em></dt><dd>+$<span>0.00</span></dd></div></dl></article><div class="lv3-wire" aria-hidden="true"><span class="lv3-wire__line"></span><span class="lv3-wire__out"></span><span class="lv3-wire__back"></span><span class="lv3-wire__tag">oauth + pkce</span></div><article class="lv3-panel lv3-panel--user"><div class="lv3-panel__head"><span class="lv3-panel__who">Your user</span><code>their Smouter wallet</code></div><div class="lv3-consent"><span class="lv3-consent__cap">Spend cap <strong>$25.00 / month</strong></span><span class="lv3-consent__allow"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="m4 12 5.5 5.5L20 6.5" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"></path></svg> Allowed</span></div><dl class="lv3-ledger"><div><dt>Requests this month</dt><dd><span>0</span></dd></div><div><dt>They pay</dt><dd class="lv3-ledger__spend">$<span>0.00</span></dd></div></dl></article></div><div class="lv3-connect__points"><div class="lv3-cpoint" style="--i:0"><h3>OAuth 2.0 + PKCE</h3><p>The âsign in withâ flow your users already trust. Your code keeps using any OpenAI SDK, unchanged.</p></div><div class="lv3-cpoint" style="--i:1"><h3>You pay nothing</h3><p>Inference bills the user who made the call. Set an optional margin and you earn on every one.</p></div><div class="lv3-cpoint" style="--i:2"><h3>Users stay in control</h3><p>They set a spend cap at consent and revoke your access in one click, instantly.</p></div></div><p class="lv3-more" data-rise="true"><a href="/docs/connect">Set it up in your tool â every guide<!-- --> <svg width="15" height="15" viewBox="0 0 24 24" fill="none" aria-hidden="true">
121<path d="M5 12h13M13 6.5 18.5 12 13 17.5" stroke="currentColor" stroke-width="2.1" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></p></div></div></section><section class="lv3-band lv3-band--lanes" id="lanes"><div class="site-wrap"><header class="lv3-bhead" data-rise="true"><p class="lv3-eyebrow">Two lanes</p><h2 class="lv3-h2">Cheapest by default. First-party on demand.</h2></header><div class="lv3-lanes"><article class="lv3-lane" data-rise="true" style="--d:0ms"><div class="lv3-lane__top"><h3>Value</h3><span>default</span></div><p class="lv3-lane__body">The sourcing pool â many nodes serving the same weights, picked per request on price and health. This is where the discounts live.</p><ul><li><svg width="13" height="13" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="m4 12 5.5 5.5L20 6.5" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"></path></svg>Up to 50% under OpenRouter</li><li><svg width="13" height="13" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="m4 12 5.5 5.5L20 6.5" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"></path></svg>Caching and optimization eligible</li><li><svg width="13" height="13" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="m4 12 5.5 5.5L20 6.5" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"></path></svg>Nodes probed continuously</li></ul><code class="lv3-lane__hdr">x-smouter-lane: value</code></article><article class="lv3-lane is-verified" data-rise="true" style="--d:110ms"><div class="lv3-lane__top"><h3>Verified</h3><span>when it has to be first-party</span></div><p class="lv3-lane__body">The model makerâs own endpoint under a zero-retention contract. Nothing stored, cached or replayed; every response carries cache-control: no-store.</p><ul><li><svg width="13" height="13" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="m4 12 5.5 5.5L20 6.5" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"></path></svg>Official supply only</li><li><svg width="13" height="13" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="m4 12 5.5 5.5L20 6.5" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"></path></svg>Zero retention</li><li><svg width="13" height="13" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="m4 12 5.5 5.5L20 6.5" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"></path></svg>Flip per key or per request</li></ul><code class="lv3-lane__hdr">x-smouter-lane: verified</code></article></div></div></section><section class="lv3-band lv3-band--proof"><div class="site-wrap"><div class="lv3-proof"><div class="lv3-stat" data-rise="true" style="--d:0ms"><p class="lv3-stat__v">50<em>+</em></p><p class="lv3-stat__k">models behind one key</p></div><div class="lv3-stat" data-rise="true" style="--d:80ms"><p class="lv3-stat__v">1<em></em></p><p class="lv3-stat__k">line of code to change</p></div><div class="lv3-stat" data-rise="true" style="--d:160ms"><p class="lv3-stat__v">50<em>%</em></p><p class="lv3-stat__k">up to, under OpenRouter</p></div><div class="lv3-stat" data-rise="true" style="--d:240ms"><p class="lv3-stat__v">0<em></em></p><p class="lv3-stat__k">subscription, minimum or seat fee</p></div></div><ul class="lv3-guar" data-rise="true"><li><svg width="13" height="13" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="m4 12 5.5 5.5L20 6.5" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"></path></svg>Global edge routing, sub-50ms gateway overhead</li><li><svg width="13" height="13" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="m4 12 5.5 5.5L20 6.5" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"></path></svg>Automatic failover the moment a node degrades</li><li><svg width="13" height="13" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="m4 12 5.5 5.5L20 6.5" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"></path></svg>Per-key spend caps, model allowlists and rate limits</li><li><svg width="13" height="13" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="m4 12 5.5 5.5L20 6.5" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"></path></svg>Guardrails on prompts and responses, inbound and outbound</li></ul></div></section><section class="lv3-band lv3-band--price" id="pricing"><div class="site-wrap"><header class="lv3-bhead" data-rise="true"><p class="lv3-eyebrow">Pricing</p><h2 class="lv3-h2">Subscribe, or just pay for the tokens.</h2></header><div class="lv3-plans"><article class="lv3-plan is-hot" data-rise="true" style="--d:0ms"><span class="lv3-plan__flag">Most popular</span><h3>Plus</h3><p class="lv3-plan__px">$20<em>/mo</em></p><p class="lv3-plan__sub">Billed monthly</p><ul><li><svg width="13" height="13" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="m4 12 5.5 5.5L20 6.5" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"></path></svg>Every frontier model â GPT, Claude, Gemini, Grok, DeepSeek</li><li><svg width="13" height="13" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="m4 12 5.5 5.5L20 6.5" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"></path></svg>More usage per dollar than a single-vendor plan</li><li><svg width="13" height="13" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="m4 12 5.5 5.5L20 6.5" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"></path></svg>Runs in any coding agent or IDE</li><li><svg width="13" height="13" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="m4 12 5.5 5.5L20 6.5" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"></path></svg>Chat, image and research included</li></ul><a class="site-btn site-btn--solid" href="/pricing">Subscribe<!-- --> <svg width="15" height="15" viewBox="0 0 24 24" fill="none" aria-hidden="true">
121<path d="M5 12h13M13 6.5 18.5 12 13 17.5" stroke="currentColor" stroke-width="2.1" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></article><article class="lv3-plan" data-rise="true" style="--d:90ms"><h3>Pro</h3><p class="lv3-plan__px">$50<em>/mo</em></p><p class="lv3-plan__sub">For heavy builders</p><ul><li><svg width="13" height="13" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="m4 12 5.5 5.5L20 6.5" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"></path></svg>Everything in Plus</li><li><svg width="13" height="13" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="m4 12 5.5 5.5L20 6.5" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"></path></svg>About 3à the usage</li><li><svg width="13" height="13" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="m4 12 5.5 5.5L20 6.5" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"></path></svg>Priority routing on busy models</li><li><svg width="13" height="13" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="m4 12 5.5 5.5L20 6.5" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"></path></svg>Verified-lane access</li></ul><a class="site-btn site-btn--line" href="/pricing">Subscribe<!-- --> <svg width="15" height="15" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="M5 12h13M13 6.5 18.5 12 13 17.5" stroke="currentColor" stroke-width="2.1" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></article><article class="lv3-plan" data-rise="true" style="--d:180ms"><h3>API</h3><p class="lv3-plan__px">Per token<em></em></p><p class="lv3-plan__sub">No subscription</p><ul><li><svg width="13" height="13" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="m4 12 5.5 5.5L20 6.5" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"></path></svg>OpenAI- and Anthropic-compatible</li><li><svg width="13" height="13" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="m4 12 5.5 5.5L20 6.5" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"></path></svg>Chat, image, audio, embeddings and search</li><li><svg width="13" height="13" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="m4 12 5.5 5.5L20 6.5" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"></path></svg>No minimums, no seats</li><li><svg width="13" height="13" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="m4 12 5.5 5.5L20 6.5" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"></path></svg>Build your own routes</li></ul><a class="site-btn site-btn--line" href="/models">See model pricing<!-- --> <svg width="15" height="15" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="M5 12h13M13 6.5 18.5 12 13 17.5" stroke="currentColor" stroke-width="2.1" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></article></div></div></section><section class="lv3-close"><div class="lv3-close__glow" aria-hidden="true"></div><div class="site-wrap lv3-close__in" data-rise="true"><h2 class="lv3-close__h">Change one line. Keep the rest.</h2><code class="lv3-close__code">base_url=<span>"https://api.smouter.ai/v1"</span></code><div class="lv3-close__ctas"><a class="site-btn site-btn--solid site-btn--lg" href="/app/signup">Start free <svg width="15" height="15" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="M5 12h13M13 6.5 18.5 12 13 17.5" stroke="currentColor" stroke-width="2.1" stroke-linecap="round" stroke-linejoin="round"></path></svg></a><a class="site-btn site-btn--line site-btn--lg" href="/models">See every model and price</a></div><p class="lv3-close__fine">No card to start. Your first credit is on us, and nothing renews on its own.</p></div></section></main><footer class="site-foot"><div class="site-wrap site-foot__in"><div class="site-foot__brand"><a class="site-brand" href="/"><svg width="26" height="26" viewBox="0 0 32 32" aria-hidden="true" class="lv3-mark"><mask id="lv3mark-Rlc"><rect width="32" height="32" fill="#fff"></rect><circle cx="21" cy="11" r="1.1" fill="#000"></circle><circle cx="11" cy="21" r="1.1" fill="#000"></circle></mask><rect class="lv3-mark__tile" width="32" height="32" rx="8"></rect><rect class="lv3-mark__edge" x="0.5" y="0.5" width="31" height="31" rx="7.5" fill="none"></rect><g mask="url(#lv3mark-Rlc)"><path class="lv3-mark__route" d="M21 11 C21 8 11 8 11 12 C11 15 21 17 21 20 C21 24 11 24 11 21" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"></path><circle class="lv3-mark__node" cx="21" cy="11" r="2.6"></circle><circle class="lv3-mark__node" cx="11" cy="21" r="2.6"></circle></g></svg><span>smouter</span></a><p>The smarter router. One key, every major model, bought at the floor.</p></div><nav aria-label="Product"><h3>Product</h3><ul><li><a href="/models">Models</a></li><li><a href="/pricing">Pricing</a></li><li><a href="/docs/connect">Connect</a></li><li><a href="/status">Status</a></li></ul></nav><nav aria-label="Developers"><h3>Developers</h3><ul><li><a href="/docs">Docs</a></li><li><a href="/docs">API reference</a></li><li><a href="/support">Support</a></li><li><a href="/blog">Changelog</a></li></ul></nav><nav aria-label="Company"><h3>Company</h3><ul><li><a href="/about">About</a></li><li><a href="/blog">Blog</a></li><li><a href="/contact">Contact</a></li><li><a href="/privacy">Privacy</a></li></ul></nav></div><div class="site-wrap site-foot__base"><span>© <!-- -->2026<!-- --> Smouter</span><span><a href="/terms">Terms</a><a href="/privacy">Privacy</a><a href="/status">Status</a></span></div></footer></div></div> 122 </body> 123</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.