PageSourceSearch

https://sprag.ai/pricing

html sprag.ai collected 2026-10-05 12:42:40 UTC 85,210 bytes, 131 lines download raw bytes

1<!doctype html>
2<html lang="en">
3  <head>
3<script>(function(w,i,g){w[g]=w[g]||[];if(typeof w[g].push=='function')w[g].push(i)})
4(window,'G-E4Z9TB6D0F','google_tags_first_party');</script>
4<script async src="/2x8g/"></script>
4
5			
5<script>
6				window.dataLayer = window.dataLayer || [];
7				function gtag(){dataLayer.push(arguments);}
8				gtag('js', new Date());
9				gtag('set', 'developer_id.dY2E1Nz', true);
10				
11			</script>
11
12			
13    <meta charset="UTF-8" />
14    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
15    <!-- Per-page metadata (title, description, robots, og:*, twitter:*,
16         canonical, alternate links, route JSON-LD) is owned by src/components/Seo.tsx
17         and hoisted into this head by React. Do not declare those tags here:
18         React appends rather than reconciling with markup it did not create, so
19         a copy here becomes a duplicate, and crawlers read whichever comes
20         first in document order. Only site-wide, route-invariant tags belong in
21         this file. `agentReadiness.test.ts` enforces the split. -->
22    <meta property="og:image:width" content="1216">
23    <meta property="og:image:height" content="640">
24    
24<script type="application/ld+json">
25      {"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://sprag.ai/#organization","name":"Sprag","url":"https://sprag.ai","logo":"https://sprag.ai/brand/sprag-mark.svg","sameAs":["https://github.com/the-sprag"]},{"@type":"WebSite","@id":"https://sprag.ai/#website","name":"Sprag","url":"https://sprag.ai","publisher":{"@id":"https://sprag.ai/#organization"}},{"@type":"SoftwareApplication","name":"Sprag","applicationCategory":"DeveloperApplication","operatingSystem":"Web","url":"https://sprag.ai","description":"Managed multimodal AI inference through one OpenAI-compatible API for text, image, audio, and video workloads.","offers":{"@type":"Offer","price":"0","priceCurrency":"USD","description":"Free starting usage with usage-based pricing."}}]}
26    </script>
26
27
28    <!-- Fonts -->
29    <link rel="preconnect" href="https://fonts.googleapis.com" />
30    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
31    <link href="https://fonts.googleapis.com/css2?family=Michroma&family=Public+Sans:wght@400;500;600;700&family=Schibsted+Grotesk:wght@500;600;700;800&family=JetBrains+Mono:ital,wght@0,400;0,500;1,400&display=swap" rel="stylesheet" />
32
33    <!-- Critical CSS inlined to avoid a flash before the main stylesheet
34         loads. Keep this scoped to the loading window only: no :root token
35         overrides (index.css owns those in @layer base), no hardcoded colors
36         on body that fight class-based theming. Body bg follows the system
37         preference so dark-mode users do not see a white flash. -->
38    <style>
39      html.dark body, html:not(.dark) body[data-theme="dark"] { background-color: #18182a; color: #f0eef5; }
40      body { margin: 0; background-color: #faf8fc; color: #1e1b4b; font-family: 'Public Sans', system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
41      @media (prefers-color-scheme: dark) {
42        html:not(.light) body { background-color: #18182a; color: #f0eef5; }
43      }
44      #root { min-height: 100vh; }
45    </style>
46    <link rel="icon" type="image/svg+xml" href="/favicon.svg?v=2">
47    <link rel="icon" type="image/x-icon" href="/favicon.ico?v=2" sizes="any">
48    <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=2">
49    <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png?v=2">
50    <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
51    <link rel="mask-icon" href="/safari-pinned-tab.svg" color="#0a0a0a">
52    <link rel="manifest" href="/site.webmanifest">
53    <meta name="theme-color" content="#faf8fc" media="(prefers-color-scheme: light)">
54    <meta name="theme-color" content="#18182a" media="(prefers-color-scheme: dark)">
55    <meta name="msapplication-TileColor" content="#ffffff">
56    <meta name="msapplication-TileImage" content="/mstile-150x150.png">
57    
57<script>
58      !function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.crossOrigin="anonymous",p.async=!0,p.src=s.api_host.replace(".i.posthog.com","-assets.i.posthog.com")+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],Object.defineProperty(u,"toString",{configurable:!0,enumerable:!0,writable:!0,value:function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e}}),Object.defineProperty(u.people,"toString",{configurable:!0,enumerable:!0,writable:!0,value:function(){return u.toString(1)+".people (stub)"}}),o="init capture register register_once register_for_session unregister unregister_for_session getFeatureFlag getFeatureFlagResult isFeatureEnabled reloadFeatureFlags updateEarlyAccessFeatureEnrollment getEarlyAccessFeatures on onFeatureFlags onSessionId getSurveys getActiveMatchingSurveys renderSurvey canRenderSurvey getNextSurveyStep identify setPersonProperties group resetGroups setPersonPropertiesForFlags resetPersonPropertiesForFlags setGroupPropertiesForFlags resetGroupPropertiesForFlags reset get_distinct_id getGroups get_session_id get_session_replay_url alias set_config startSessionRecording stopSessionRecording sessionRecordingStarted captureException loadToolbar get_property getSessionProperty createPersonProfile opt_in_capturing opt_out_capturing has_opted_in_capturing has_opted_out_capturing clear_opt_in_out_capturing debug".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]);
59      if (["sprag.ai", "www.sprag.ai", "sprag.com", "www.sprag.com"].indexOf(location.hostname) !== -1) {
60        posthog.init("phc_pEZweRSnbZF80SF8W9VRGk5TrlEpeHxB7LI48aTVpzE", {
61          api_host: "https://f.sprag.ai",
62          ui_host: "https://us.posthog.com",
63          defaults: "2026-08-30",
64          person_profiles: "identified_only",
65          opt_out_capturing_by_default: true
66        });
67      }
68    </script>
68
69  
69<script type="module" crossorigin src="/assets/index-B5NAFLmZ.js"></script>
69
70  <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-DWdDZTNf.js">
71  <link rel="modulepreload" crossorigin href="/assets/vendor-markdown-BIxMb5FY.js">
72  <link rel="modulepreload" crossorigin href="/assets/vendor-radix-BsK0AMKn.js">
73  <link rel="modulepreload" crossorigin href="/assets/vendor-react-B7-IZHn3.js">
74  <link rel="modulepreload" crossorigin href="/assets/QueryClientProvider-CQKm4I3f.js">
75  <link rel="modulepreload" crossorigin href="/assets/utils-Bcnzz4Mj.js">
76  <link rel="modulepreload" crossorigin href="/assets/models-BbSInryx.js">
77  <link rel="modulepreload" crossorigin href="/assets/voice-catalog-DAdwVrPW.js">
78  <link rel="modulepreload" crossorigin href="/assets/dist-txAq3RnJ.js">
79  <link rel="modulepreload" crossorigin href="/assets/createLucideIcon-CcbOaUyo.js">
80  <link rel="modulepreload" crossorigin href="/assets/arrow-right-DBBgu_jb.js">
81  <link rel="modulepreload" crossorigin href="/assets/arrow-up-right-Er4Z8div.js">
82  <link rel="modulepreload" crossorigin href="/assets/loader-circle-CD-3WgMA.js">
83  <link rel="modulepreload" crossorigin href="/assets/pause-C2ocRRhh.js">
84  <link rel="modulepreload" crossorigin href="/assets/play-CgnM6-co.js">
85  <link rel="modulepreload" crossorigin href="/assets/avatar-BGDHhY2o.js">
86  <link rel="modulepreload" crossorigin href="/assets/check-B2ou9MQF.js">
87  <link rel="modulepreload" crossorigin href="/assets/chevron-down-CrARRHUC.js">
88  <link rel="modulepreload" crossorigin href="/assets/chevron-up-BQHek0FG.js">
89  <link rel="modulepreload" crossorigin href="/assets/select-de5MD01j.js">
90  <link rel="modulepreload" crossorigin href="/assets/config-DdUAZnIP.js">
91  <link rel="modulepreload" crossorigin href="/assets/analytics-DTxWGg6e.js">
92  <link rel="modulepreload" crossorigin href="/assets/session-HFeFroCn.js">
93  <link rel="modulepreload" crossorigin href="/assets/gateway-C7e-aIV2.js">
94  <link rel="modulepreload" crossorigin href="/assets/TurnstileWidget-Cu9to3uh.js">
95  <link rel="modulepreload" crossorigin href="/assets/demo-Bg75DeV7.js">
96  <link rel="modulepreload" crossorigin href="/assets/errors-BYSP-Jff.js">
97  <link rel="modulepreload" crossorigin href="/assets/api-BGC-D756.js">
98  <link rel="modulepreload" crossorigin href="/assets/useSpeechGeneration-DYer_4mV.js">
99  <link rel="modulepreload" crossorigin href="/assets/useReducedMotion-ilyy5KXM.js">
100  <link rel="modulepreload" crossorigin href="/assets/audio-lines-CBuoca0Q.js">
101  <link rel="modulepreload" crossorigin href="/assets/captions-e8seqzJQ.js">
102  <link rel="modulepreload" crossorigin href="/assets/globe-BOrW_7Z9.js">
103  <link rel="modulepreload" crossorigin href="/assets/mic-DaNgm-Io.js">
104  <link rel="modulepreload" crossorigin href="/assets/x-BweyvzLK.js">
105  <link rel="modulepreload" crossorigin href="/assets/button-Dr024VLG.js">
106  <link rel="modulepreload" crossorigin href="/assets/benchmark-metrics-CNjShML9.js">
107  <link rel="modulepreload" crossorigin href="/assets/resolve-BBR0zDkv.js">
108  <link rel="stylesheet" crossorigin href="/assets/index-B6clayvC.css">
109    <title data-prerendered="1">Pricing | Sprag</title>
110    <meta data-prerendered="1" name="description" content="Sprag is free to start with usage-based pricing by request and model."/>
111    <meta data-prerendered="1" name="author" content="Sprag"/>
112    <meta data-prerendered="1" name="robots" content="index, follow"/>
113    <meta data-prerendered="1" name="twitter:card" content="summary_large_image"/>
114    <meta data-prerendered="1" name="twitter:title" content="Pricing | Sprag"/>
115    <meta data-prerendered="1" name="twitter:description" content="Sprag is free to start with usage-based pricing by request and model."/>
116    <meta data-prerendered="1" name="twitter:image" content="https://sprag.ai/og/sprag-default.png"/>
117    <meta data-prerendered="1" property="og:title" content="Pricing | Sprag"/>
118    <meta data-prerendered="1" property="og:description" content="Sprag is free to start with usage-based pricing by request and model."/>
119    <meta data-prerendered="1" property="og:type" content="website"/>
120    <meta data-prerendered="1" property="og:url" content="https://sprag.ai/pricing"/>
121    <meta data-prerendered="1" property="og:image" content="https://sprag.ai/og/sprag-default.png"/>
122    <link data-prerendered="1" rel="canonical" href="https://sprag.ai/pricing"/>
123    <link data-prerendered="1" rel="alternate" type="text/plain" href="https://sprag.ai/llms.txt" title="llms.txt"/>
124    <link data-prerendered="1" rel="alternate" type="application/json" href="https://sprag.ai/openapi.json" title="OpenAPI"/>
125    <link data-prerendered="1" rel="alternate" type="text/markdown" href="https://sprag.ai/pricing.md" title="Pricing Markdown"/>
126  
126<script defer src="/~flock.js" data-proxy-url="/~api/analytics"></script>
126</head>
127
128  <body>
129    <div id="root">
129<script>((e,i,s,u,m,a,l,h)=>{let d=document.documentElement,w=["light","dark"];function p(n){(Array.isArray(e)?e:[e]).forEach(y=>{let k=y==="class",S=k&&a?m.map(f=>a[f]||f):m;k?(d.classList.remove(...S),d.classList.add(a&&a[n]?a[n]:n)):d.setAttribute(y,n)}),R(n)}function R(n){h&&w.includes(n)&&(d.style.colorScheme=n)}function c(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}if(u)p(u);else try{let n=localStorage.getItem(i)||s,y=l&&n==="system"?c():n;p(y)}catch(n){}})("class","sprag-theme","system",null,["light","dark","system"],null,true,true)</script>
129<div class="min-h-screen bg-background flex flex-col overflow-x-clip page-frame"><a href="#main-content" class="sr-only focus:not-sr-only focus:fixed focus:left-4 focus:top-4 focus:z-[70] focus:rounded-md focus:bg-background focus:px-4 focus:py-2 focus:text-foreground focus:shadow-card">Skip to content</a><canvas class="absolute top-0 left-0 pointer-events-none" style="z-index:2" aria-hidden="true"></canvas>
129<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://sprag.ai/#organization","name":"Sprag","url":"https://sprag.ai","logo":"https://sprag.ai/brand/sprag-mark.svg","sameAs":["https://github.com/the-sprag"]},{"@type":"WebSite","@id":"https://sprag.ai/#website","name":"Sprag","url":"https://sprag.ai","publisher":{"@id":"https://sprag.ai/#organization"}},{"@type":"WebPage","@id":"https://sprag.ai/pricing#webpage","url":"https://sprag.ai/pricing","name":"Pricing","description":"Sprag is free to start with usage-based pricing by request and model.","isPartOf":{"@id":"https://sprag.ai/#website"},"dateModified":"2026-09-15"},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://sprag.ai"},{"@type":"ListItem","position":2,"name":"pricing","item":"https://sprag.ai/pricing"}]},{"@type":"Product","name":"Sprag","description":"Managed multimodal AI inference through one OpenAI-compatible API for text, image, audio, and video workloads.","url":"https://sprag.ai/pricing","brand":{"@type":"Brand","name":"Sprag"},"offers":{"@type":"Offer","price":"0","priceCurrency":"USD","description":"Free starting usage with usage-based pricing by request and model."}}]}</script>
129<nav class="fixed top-0 left-0 right-0 z-50 bg-background/95 backdrop-blur-xs border-b border-border"><div class="container mx-auto px-4 py-3 sm:px-6 sm:py-4"><div class="flex items-center justify-between"><a class="flex items-center gap-2.5 group" href="/" data-discover="true"><svg viewBox="260 245 504 580" class="overflow-visible h-7 w-6 shrink-0 text-foreground" aria-hidden="true" focusable="false"><g style="opacity:1;filter:blur(0px);transform:translate3d(0px, 0px, 0px);transform-origin:center;transition-property:opacity, filter, transform;transition-duration:0ms;transition-delay:0ms;transition-timing-function:cubic-bezier(0.22, 1, 0.36, 1)"><polygon points="512.00,253.74 475.45,317.05 548.55,317.05" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="475.45,317.05 438.90,380.35 512.00,380.35" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="548.55,317.05 512.00,380.35 585.10,380.35" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="475.45,317.05 548.55,317.05 512.00,380.35" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon></g><g style="opacity:1;filter:blur(0px);transform:translate3d(0px, 0px, 0px);transform-origin:center;transition-property:opacity, filter, transform;transition-duration:0ms;transition-delay:0ms;transition-timing-function:cubic-bezier(0.22, 1, 0.36, 1)"><polygon points="438.90,394.09 512.00,394.09 475.45,457.40" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="512.00,394.09 585.10,394.09 548.55,457.40" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="475.45,457.40 548.55,457.40 512.00,520.71" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="512.00,394.09 548.55,457.40 475.45,457.40" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon></g><g style="opacity:1;filter:blur(0px);transform:translate3d(0px, 0px, 0px);transform-origin:center;transition-property:opacity, filter, transform;transition-duration:0ms;transition-delay:0ms;transition-timing-function:cubic-bezier(0.22, 1, 0.36, 1)"><polygon points="427.00,400.97 390.45,464.27 463.55,464.27" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="390.45,464.27 353.90,527.58 427.00,527.58" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="463.55,464.27 427.00,527.58 500.10,527.58" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="390.45,464.27 463.55,464.27 427.00,527.58" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon></g><g style="opacity:1;filter:blur(0px);transform:translate3d(0px, 0px, 0px);transform-origin:center;transition-property:opacity, filter, transform;transition-duration:0ms;transition-delay:0ms;transition-timing-function:cubic-bezier(0.22, 1, 0.36, 1)"><polygon points="597.00,400.97 560.45,464.27 633.55,464.27" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="560.45,464.27 523.90,527.58 597.00,527.58" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="633.55,464.27 597.00,527.58 670.10,527.58" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="560.45,464.27 633.55,464.27 597.00,527.58" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon></g><g style="opacity:1;filter:blur(0px);transform:translate3d(0px, 0px, 0px);transform-origin:center;transition-property:opacity, filter, transform;transition-duration:0ms;transition-delay:0ms;transition-timing-function:cubic-bezier(0.22, 1, 0.36, 1)"><polygon points="353.90,541.32 427.00,541.32 390.45,604.63" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="427.00,541.32 500.10,541.32 463.55,604.63" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="390.45,604.63 463.55,604.63 427.00,667.93" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="427.00,541.32 463.55,604.63 390.45,604.63" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon></g><g style="opacity:1;filter:blur(0px);transform:translate3d(0px, 0px, 0px);transform-origin:center;transition-property:opacity, filter, transform;transition-duration:0ms;transition-delay:0ms;transition-timing-function:cubic-bezier(0.22, 1, 0.36, 1)"><polygon points="523.90,541.32 597.00,541.32 560.45,604.63" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="597.00,541.32 670.10,541.32 633.55,604.63" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon>
129<polygon points="560.45,604.63 633.55,604.63 597.00,667.93" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="597.00,541.32 633.55,604.63 560.45,604.63" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon></g><g style="opacity:1;filter:blur(0px);transform:translate3d(0px, 0px, 0px);transform-origin:center;transition-property:opacity, filter, transform;transition-duration:0ms;transition-delay:0ms;transition-timing-function:cubic-bezier(0.22, 1, 0.36, 1)"><polygon points="342.00,548.19 305.45,611.50 378.55,611.50" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="305.45,611.50 268.90,674.80 342.00,674.80" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="378.55,611.50 342.00,674.80 415.10,674.80" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="305.45,611.50 378.55,611.50 342.00,674.80" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon></g><g style="opacity:1;filter:blur(0px);transform:translate3d(0px, 0px, 0px);transform-origin:center;transition-property:opacity, filter, transform;transition-duration:0ms;transition-delay:0ms;transition-timing-function:cubic-bezier(0.22, 1, 0.36, 1)"><polygon points="682.00,548.19 645.45,611.50 718.55,611.50" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="645.45,611.50 608.90,674.80 682.00,674.80" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="718.55,611.50 682.00,674.80 755.10,674.80" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="645.45,611.50 718.55,611.50 682.00,674.80" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon></g><g style="opacity:1;filter:blur(0px);transform:translate3d(0px, 0px, 0px);transform-origin:center;transition-property:opacity, filter, transform;transition-duration:0ms;transition-delay:0ms;transition-timing-function:cubic-bezier(0.22, 1, 0.36, 1)"><polygon points="268.90,688.54 342.00,688.54 305.45,751.85" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="342.00,688.54 415.10,688.54 378.55,751.85" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="305.45,751.85 378.55,751.85 342.00,815.16" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="342.00,688.54 378.55,751.85 305.45,751.85" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon></g><g style="opacity:1;filter:blur(0px);transform:translate3d(0px, 0px, 0px);transform-origin:center;transition-property:opacity, filter, transform;transition-duration:0ms;transition-delay:0ms;transition-timing-function:cubic-bezier(0.22, 1, 0.36, 1)"><polygon points="438.90,688.54 512.00,688.54 475.45,751.85" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="512.00,688.54 585.10,688.54 548.55,751.85" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="475.45,751.85 548.55,751.85 512.00,815.16" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="512.00,688.54 548.55,751.85 475.45,751.85" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon></g><g style="opacity:1;filter:blur(0px);transform:translate3d(0px, 0px, 0px);transform-origin:center;transition-property:opacity, filter, transform;transition-duration:0ms;transition-delay:0ms;transition-timing-function:cubic-bezier(0.22, 1, 0.36, 1)"><polygon points="608.90,688.54 682.00,688.54 645.45,751.85" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="682.00,688.54 755.10,688.54 718.55,751.85" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="645.45,751.85 718.55,751.85 682.00,815.16" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="682.00,688.54 718.55,751.85 645.45,751.85" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon></g><g style="opacity:1;filter:blur(0px);transform:translate3d(0px, 0px, 0px);transform-origin:center;transition-property:opacity, filter, transform;transition-duration:0ms;transition-delay:0ms;transition-timing-function:cubic-bezier(0.22, 1, 0.36, 1)"><polygon points="427.00,695.41 390.45,758.72 463.55,758.72" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="390.45,758.72 353.90,822.03 427.00,822.03" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="463.55,758.72 427.00,822.03 500.10,822.03" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="390.45,758.72 463.55,758.72 427.00,822.03" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon></g><g style="opacity:1;filter:blur(0px);transform:translate3d(0px, 0px, 0px);transform-origin:center;transition-property:opacity, filter, transform;transition-duration:0ms;transition-delay:0ms;transition-timing-function:cubic-bezier(0.22, 1, 0.36, 1)">
129<polygon points="597.00,695.41 560.45,758.72 633.55,758.72" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="560.45,758.72 523.90,822.03 597.00,822.03" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="633.55,758.72 597.00,822.03 670.10,822.03" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="560.45,758.72 633.55,758.72 597.00,822.03" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon></g></svg><span class="type-wordmark text-foreground">Sprag</span></a><div class="hidden md:flex items-stretch self-stretch gap-5 lg:gap-8"><nav aria-label="Main" data-orientation="horizontal" dir="ltr" class="flex items-stretch self-stretch"><div style="position:relative"><ul data-orientation="horizontal" class="flex h-full items-stretch" dir="ltr"><li class="relative flex items-stretch"><a id="radix-_R_2k6_-trigger-studio" data-state="closed" aria-expanded="false" class="type-nav flex items-center outline-hidden transition-colors duration-150 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 group relative text-muted-foreground hover:text-foreground data-[state=open]:text-foreground" data-radix-collection-item="" href="/app/home" data-discover="true">Sprag Studio<span aria-hidden="true" class="absolute inset-x-0 top-[calc(100%+1rem)] z-10 h-px origin-left scale-x-0 bg-foreground transition-transform duration-[260ms] ease-[cubic-bezier(0.22,1,0.36,1)] motion-reduce:transition-none group-data-[state=open]:scale-x-100"></span></a></li></ul></div></nav><nav aria-label="Main" data-orientation="horizontal" dir="ltr" class="flex items-stretch self-stretch"><div style="position:relative"><ul data-orientation="horizontal" class="flex h-full items-stretch" dir="ltr"><li class="relative flex items-stretch"><button id="radix-_R_4k6_-trigger-api" data-state="closed" aria-expanded="false" class="type-nav flex items-center outline-hidden transition-colors duration-150 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 group relative text-muted-foreground hover:text-foreground data-[state=open]:text-foreground" data-radix-collection-item="">Sprag API<span aria-hidden="true" class="absolute inset-x-0 top-[calc(100%+1rem)] z-10 h-px origin-left scale-x-0 bg-foreground transition-transform duration-[260ms] ease-[cubic-bezier(0.22,1,0.36,1)] motion-reduce:transition-none group-data-[state=open]:scale-x-100"></span></button></li></ul></div></nav><nav aria-label="Main" data-orientation="horizontal" dir="ltr" class="flex items-stretch self-stretch"><div style="position:relative"><ul data-orientation="horizontal" class="flex h-full items-stretch" dir="ltr"><li class="relative flex items-stretch"><button id="radix-_R_6k6_-trigger-resources" data-state="closed" aria-expanded="false" class="type-nav flex items-center outline-hidden transition-colors duration-150 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 group relative text-muted-foreground hover:text-foreground data-[state=open]:text-foreground" data-radix-collection-item="">Resources<span aria-hidden="true" class="absolute inset-x-0 top-[calc(100%+1rem)] z-10 h-px origin-left scale-x-0 bg-foreground transition-transform duration-[260ms] ease-[cubic-bezier(0.22,1,0.36,1)] motion-reduce:transition-none group-data-[state=open]:scale-x-100"></span></button></li></ul></div></nav><a class="type-nav flex items-center rounded-xs focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 text-primary-ink" href="/pricing" data-discover="true">Pricing</a><a href="https://github.com/vllm-project/vllm-omni" target="_blank" rel="noopener noreferrer" aria-label="View vllm-project/vllm-omni on GitHub (7k stars)" class="type-nav items-center gap-1.5 rounded-xs text-muted-foreground transition-colors hover:text-foreground focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 hidden lg:inline-flex"><svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" class="h-3.5 w-3.5 shrink-0"><path d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z"></path></svg><span class="tabular-nums min-w-[2.25rem] text-left">7k</span></a></div><div class="hidden md:flex items-center gap-5 lg:gap-6"><a class="type-nav flex items-center rounded-xs transition-colors focus-visible:outline-hidden focu
129s-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 text-muted-foreground hover:text-foreground" href="/contact-sales" data-discover="true">Contact sales</a><div class="flex items-center gap-2"><a class="btn-motion inline-flex min-h-11 min-w-11 items-center justify-center gap-2 whitespace-nowrap rounded-[4px] text-[0.9375rem] font-semibold tracking-[-0.018em] ring-offset-background active:translate-y-px focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 border border-border bg-transparent text-foreground hover:border-primary/40 hover:bg-secondary h-10 px-4 py-2" href="/auth?redirect=/pricing" data-discover="true">Sign In</a><a class="btn-motion min-h-11 min-w-11 items-center justify-center gap-2 whitespace-nowrap rounded-[4px] text-[0.9375rem] font-semibold tracking-[-0.018em] ring-offset-background active:translate-y-px focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 btn-cut text-primary-foreground h-10 px-4 py-2 hero-cta hero-cta-primary hidden sm:inline-flex" href="/auth/signup" data-discover="true">Get started</a></div></div><div class="flex md:hidden items-center gap-2"><div class="flex min-w-[5.75rem] justify-end"><div class="flex items-center gap-2"><a class="btn-motion inline-flex min-h-11 items-center justify-center gap-2 whitespace-nowrap rounded-[4px] text-[0.9375rem] font-semibold tracking-[-0.018em] ring-offset-background active:translate-y-px focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 border border-border bg-transparent text-foreground hover:border-primary/40 hover:bg-secondary h-9 px-3 min-w-[5.75rem]" href="/auth?redirect=/pricing" data-discover="true">Sign In</a><a class="btn-motion min-h-11 min-w-11 items-center justify-center gap-2 whitespace-nowrap rounded-[4px] text-[0.9375rem] font-semibold tracking-[-0.018em] ring-offset-background active:translate-y-px focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 btn-cut text-primary-foreground h-9 px-3 hero-cta hero-cta-primary hidden sm:inline-flex" href="/auth/signup" data-discover="true">Get started</a></div></div><button class="btn-motion inline-flex min-h-11 min-w-11 items-center justify-center gap-2 whitespace-nowrap rounded-[4px] text-[0.9375rem] font-semibold tracking-[-0.018em] ring-offset-background active:translate-y-px focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 hover:bg-secondary hover:text-foreground h-11 w-11" aria-label="Open navigation menu" type="button" aria-haspopup="dialog" aria-expanded="false" aria-controls="radix-_R_546_" data-state="closed"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu w-5 h-5" aria-hidden="true"><path d="M4 5h16"></path><path d="M4 12h16"></path><path d="M4 19h16"></path></svg></button></div></div></div></nav><main id="main-content" class="flex-1 flex flex-col"><div class="pt-20"><section class="border-b border-border"><div class="container mx-auto px-4 sm:px-6 py-10 lg:py-14"><h1 class="type-page-title text-foreground pricing-enter" style="animation-delay:0ms">Pricing</h1><p class="type-body-lg text-muted-foreground mt-4 max-w-[52ch] text-pretty pricing-enter" style="animation-delay:70ms">Only pay for the audio you send us and the audio we generate.</p><p class="type-body text-muted-foreground mt-1 max-w-[52ch] text-pretty pricing-enter" style="animation-delay:90ms"><a class="underline hover:text-primary-ink" href="/contact-sales" data-discover="true">Chat with us</a> <!-- -->if you need an organization account for Enterprise use.</p><div class="mt-10 lg:mt-12 pricing-enter" style="animation-delay:140ms"><div class="border border-border bg-card"><div role="tablist" aria-label="Capability" class="flex border-b border-border"><button type="button" role="tab" id="calc-tab-stt-R8cm" aria-selected="true" aria-controls="calc-panel-R8cm" tabindex="0" class="group relative flex-1 px-5 py-4 text-left transition-colors sm:px-7 sm:py-5 border-r border-border last:border-r-0 cursor-pointer focus-visible:outline-hidden focu
129s-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset bg-card after:absolute after:inset-x-0 after:-bottom-px after:h-0.5 after:bg-foreground after:content-[&#x27;&#x27;]"><span class="type-label sm:type-subsection-title block transition-colors text-foreground">STT</span><span class="type-caption mt-1 hidden text-muted-foreground sm:block">Transcribe audio in 30 languages. Streaming and batch.</span></button><button type="button" role="tab" id="calc-tab-tts-R8cm" aria-selected="false" aria-controls="calc-panel-R8cm" tabindex="-1" class="group relative flex-1 px-5 py-4 text-left transition-colors sm:px-7 sm:py-5 border-r border-border last:border-r-0 cursor-pointer focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset bg-secondary hover:bg-foreground/[0.08]"><span class="type-label sm:type-subsection-title block transition-colors text-muted-foreground group-hover:text-foreground">TTS</span><span class="type-caption mt-1 hidden text-muted-foreground sm:block">Synthesize speech with a stock voice.</span></button></div><div role="tabpanel" id="calc-panel-R8cm" aria-labelledby="calc-tab-stt-R8cm" class="grid grid-cols-1 lg:grid-cols-[minmax(0,7fr)_minmax(0,5fr)]"><div class="border-b border-border p-5 sm:p-7 lg:border-b-0 lg:border-r lg:p-9"><h2 class="type-section-title text-foreground text-balance">What you would pay</h2><div class="type-subsection-title mt-4 flex flex-wrap items-center gap-x-3 gap-y-2 text-muted-foreground"><button type="button" role="combobox" aria-controls="radix-_R_56ocm_" aria-expanded="false" aria-autocomplete="none" dir="ltr" data-state="closed" class="flex items-center justify-between text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-hidden focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&amp;&gt;
129span]:line-clamp-1 type-subsection-title h-auto w-fit gap-1.5 rounded-none border-0 border-b border-dotted border-border bg-transparent px-0 py-0.5 text-primary-ink shadow-none transition-colors hover:border-primary focus:ring-0 focus:ring-offset-0 [&amp;&gt;svg]:h-4 [&amp;&gt;svg]:w-4 [&amp;&gt;svg]:opacity-60" aria-label="Sprag model"><span style="pointer-events:none"></span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down h-4 w-4 opacity-50" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></button><select aria-hidden="true" tabindex="-1" style="position:absolute;border:0;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;word-wrap:normal"></select><span>vs</span><button type="button" role="combobox" aria-controls="radix-_R_d6ocm_" aria-expanded="false" aria-autocomplete="none" dir="ltr" data-state="closed" class="flex items-center justify-between text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-hidden focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&amp;&gt;
129span]:line-clamp-1 type-subsection-title h-auto w-fit gap-1.5 rounded-none border-0 border-b border-dotted border-border bg-transparent px-0 py-0.5 text-foreground shadow-none transition-colors hover:border-foreground focus:ring-0 focus:ring-offset-0 [&amp;&gt;svg]:h-4 [&amp;&gt;svg]:w-4 [&amp;&gt;svg]:opacity-60" aria-label="Compare against"><span style="pointer-events:none"></span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down h-4 w-4 opacity-50" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></button><select aria-hidden="true" tabindex="-1" style="position:absolute;border:0;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;word-wrap:normal"></select></div><div class="mt-8 flex items-center gap-3"><span class="type-caption text-muted-foreground">Mode</span><div role="radiogroup" aria-label="Delivery mode" class="flex border border-border"><button type="button" role="radio" aria-checked="true" class="type-caption cursor-pointer px-3 py-1.5 capitalize transition-colors border-r border-border last:border-r-0 focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset bg-foreground text-background">batch</button><button type="button" role="radio" aria-checked="false" class="type-caption cursor-pointer px-3 py-1.5 capitalize transition-colors border-r border-border last:border-r-0 focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset text-muted-foreground hover:bg-foreground
129/[0.06] hover:text-foreground">realtime</button></div><span class="type-caption text-muted-foreground">Batch is the base rate.</span></div><div class="mt-8 lg:mt-10"><label for="volume-slider" class="type-label block text-foreground"><span class="tabular-nums">1,000</span> <!-- -->hours of audio<!-- --> per month</label><span dir="ltr" data-orientation="horizontal" aria-disabled="false" id="volume-slider" class="relative mt-5 flex w-full touch-none select-none items-center py-2" style="--radix-slider-thumb-transform:translateX(-50%)"><span data-orientation="horizontal" class="relative h-px w-full grow bg-border"><span data-orientation="horizontal" class="absolute h-full bg-foreground" style="left:0%;right:40%"></span></span><span style="transform:var(--radix-slider-thumb-transform);position:absolute;left:calc(0% + 0px)"><span role="slider" aria-label="Monthly hours of audio" aria-valuemin="0" aria-valuemax="10" aria-orientation="horizontal" data-orientation="horizontal" tabindex="0" aria-valuetext="1,000 hours of audio per month" class="relative block h-4 w-4 rounded-full border border-foreground bg-background transition-[box-shadow,transform] before:absolute before:-inset-2 before:content-[&#x27;&#x27;] hover:scale-110 focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2" style="display:none" data-radix-collection-item=""></span><input style="display:none"/></span></span><div class="relative mt-3 h-6"><button type="button" aria-hidden="true" tabindex="-1" style="left:0%" class="type-caption tabular-nums absolute top-0 -translate-x-1/2 transition-colors py-1 text-muted-foreground hover:text-foreground">10</button><button type="button" aria-hidden="true" tabindex="-1" style="left:10%" class="type-caption tabular-nums absolute top-0 -translate-x-1/2 transition-colors py-1 hidden sm:block text-muted-foreground hover:text-foreground">20</button><button type="button" aria-hidden="true" tabindex="-1" style="left:20%" class="type-caption tabular-nums absolute top-0 -translate-x-1/2 transition-colors py-1 hidden sm:block text-muted-foreground hover:text-foreground">50</button><button type="button" aria-hidden="true" tabindex="-1" style="left:30%" class="type-caption tabular-nums absolute top-0 -translate-x-1/2 transition-colors py-1 hidden sm:block text-muted-foreground hover:text-foreground">100</button><button type="button" aria-hidden="true" tabindex="-1" style="left:40%" class="type-caption tabular-nums absolute top-0 -translate-x-1/2 transition-colors py-1 hidden sm:block text-muted-foreground hover:text-foreground">250</button><button type="button" aria-hidden="true" tabindex="-1" style="left:50%" class="type-caption tabular-nums absolute top-0 -translate-x-1/2 transition-colors py-1 hidden sm:block text-muted-foreground hover:text-foreground">500</button><button type="button" aria-hidden="true" tabindex="-1" style="left:60%" class="type-caption tabular-nums absolute top-0 -translate-x-1/2 transition-colors py-1 text-foreground">1k</button><button type="button" aria-hidden="true" tabindex="-1" style="left:70%" class="type-caption tabular-nums absolute top-0 -translate-x-1/2 transition-colors py-1 hidden sm:block text-muted-foreground hover:text-foreground">5k</button><button type="button" aria-hidden="true" tabindex="-1" style="left:80%" class="type-caption tabular-nums absolute top-0 -translate-x-1/2 transition-colors py-1 hidden sm:block text-muted-foreground hover:text-foreground">10k</button><button type="button" aria-hidden="true" tabindex="-1" style="left:90%" class="type-caption tabular-nums absolute top-0 -translate-x-1/2 transition-colors py-1 hidden sm:block text-muted-foreground hover:text-foreground">100k</button><button type="button" aria-hidden="true" tabindex="-1" style="left:100%" class="type-caption tabular-nums absolute top-0 -translate-x-1/2 transition-colors py-1 text-muted-foreground hover:text-foreground">1M</button></div></div><p class="type-caption mt-10 max-w-[62ch] text-muted-foreground lg:mt-12">Competitor figures are public list prices for the closest comparable product, last checked <!-- -->June to September 2026<!-- -->. Where a provider sells capacity by subscription rather than by the hour, we use their best published tier. Committed use and enterprise agreements price differently on both sides.<!-- --> <!-- -->Speech to text compares against batch rates, which is the cheaper end of most of this field.</p></div><div class="flex flex-col p-5 sm:p-7 lg:p-9"><div class="border border-primary-ink/25 bg-primary/5 p-4 sm:p-5"><div class="flex items-baseline justify-between gap-4"><span class="flex items-center gap-2 min-w-0"><svg viewBox="260 245 504 580" class="overflow-visible h-7 w-6 shrink-0 text-foreground" aria-hidden="true" focusable="false"><g style="opacity:1;filter:blur(0px);transform:translate3d(0px, 0px, 0px);transform-origin:center;transition-property:opacity, filter, transform;transition-duration:0ms;transition-delay:0ms;transition-timing-function:cubic-bezier(0.22, 1, 0.36, 1)"><polygon points="512.00,253.74 475.45,317.05 548.55,317.05" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="475.45,317.05 438.90,380.35 512.00,380.35" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon>
129<polygon points="548.55,317.05 512.00,380.35 585.10,380.35" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="475.45,317.05 548.55,317.05 512.00,380.35" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon></g><g style="opacity:1;filter:blur(0px);transform:translate3d(0px, 0px, 0px);transform-origin:center;transition-property:opacity, filter, transform;transition-duration:0ms;transition-delay:0ms;transition-timing-function:cubic-bezier(0.22, 1, 0.36, 1)"><polygon points="438.90,394.09 512.00,394.09 475.45,457.40" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="512.00,394.09 585.10,394.09 548.55,457.40" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="475.45,457.40 548.55,457.40 512.00,520.71" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="512.00,394.09 548.55,457.40 475.45,457.40" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon></g><g style="opacity:1;filter:blur(0px);transform:translate3d(0px, 0px, 0px);transform-origin:center;transition-property:opacity, filter, transform;transition-duration:0ms;transition-delay:0ms;transition-timing-function:cubic-bezier(0.22, 1, 0.36, 1)"><polygon points="427.00,400.97 390.45,464.27 463.55,464.27" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="390.45,464.27 353.90,527.58 427.00,527.58" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="463.55,464.27 427.00,527.58 500.10,527.58" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="390.45,464.27 463.55,464.27 427.00,527.58" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon></g><g style="opacity:1;filter:blur(0px);transform:translate3d(0px, 0px, 0px);transform-origin:center;transition-property:opacity, filter, transform;transition-duration:0ms;transition-delay:0ms;transition-timing-function:cubic-bezier(0.22, 1, 0.36, 1)"><polygon points="597.00,400.97 560.45,464.27 633.55,464.27" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="560.45,464.27 523.90,527.58 597.00,527.58" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="633.55,464.27 597.00,527.58 670.10,527.58" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="560.45,464.27 633.55,464.27 597.00,527.58" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon></g><g style="opacity:1;filter:blur(0px);transform:translate3d(0px, 0px, 0px);transform-origin:center;transition-property:opacity, filter, transform;transition-duration:0ms;transition-delay:0ms;transition-timing-function:cubic-bezier(0.22, 1, 0.36, 1)"><polygon points="353.90,541.32 427.00,541.32 390.45,604.63" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="427.00,541.32 500.10,541.32 463.55,604.63" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="390.45,604.63 463.55,604.63 427.00,667.93" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="427.00,541.32 463.55,604.63 390.45,604.63" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon></g><g style="opacity:1;filter:blur(0px);transform:translate3d(0px, 0px, 0px);transform-origin:center;transition-property:opacity, filter, transform;transition-duration:0ms;transition-delay:0ms;transition-timing-function:cubic-bezier(0.22, 1, 0.36, 1)"><polygon points="523.90,541.32 597.00,541.32 560.45,604.63" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="597.00,541.32 670.10,541.32 633.55,604.63" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon>
129<polygon points="560.45,604.63 633.55,604.63 597.00,667.93" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="597.00,541.32 633.55,604.63 560.45,604.63" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon></g><g style="opacity:1;filter:blur(0px);transform:translate3d(0px, 0px, 0px);transform-origin:center;transition-property:opacity, filter, transform;transition-duration:0ms;transition-delay:0ms;transition-timing-function:cubic-bezier(0.22, 1, 0.36, 1)"><polygon points="342.00,548.19 305.45,611.50 378.55,611.50" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="305.45,611.50 268.90,674.80 342.00,674.80" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="378.55,611.50 342.00,674.80 415.10,674.80" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="305.45,611.50 378.55,611.50 342.00,674.80" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon></g><g style="opacity:1;filter:blur(0px);transform:translate3d(0px, 0px, 0px);transform-origin:center;transition-property:opacity, filter, transform;transition-duration:0ms;transition-delay:0ms;transition-timing-function:cubic-bezier(0.22, 1, 0.36, 1)"><polygon points="682.00,548.19 645.45,611.50 718.55,611.50" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="645.45,611.50 608.90,674.80 682.00,674.80" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="718.55,611.50 682.00,674.80 755.10,674.80" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="645.45,611.50 718.55,611.50 682.00,674.80" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon></g><g style="opacity:1;filter:blur(0px);transform:translate3d(0px, 0px, 0px);transform-origin:center;transition-property:opacity, filter, transform;transition-duration:0ms;transition-delay:0ms;transition-timing-function:cubic-bezier(0.22, 1, 0.36, 1)"><polygon points="268.90,688.54 342.00,688.54 305.45,751.85" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="342.00,688.54 415.10,688.54 378.55,751.85" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="305.45,751.85 378.55,751.85 342.00,815.16" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="342.00,688.54 378.55,751.85 305.45,751.85" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon></g><g style="opacity:1;filter:blur(0px);transform:translate3d(0px, 0px, 0px);transform-origin:center;transition-property:opacity, filter, transform;transition-duration:0ms;transition-delay:0ms;transition-timing-function:cubic-bezier(0.22, 1, 0.36, 1)"><polygon points="438.90,688.54 512.00,688.54 475.45,751.85" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="512.00,688.54 585.10,688.54 548.55,751.85" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="475.45,751.85 548.55,751.85 512.00,815.16" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="512.00,688.54 548.55,751.85 475.45,751.85" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon></g><g style="opacity:1;filter:blur(0px);transform:translate3d(0px, 0px, 0px);transform-origin:center;transition-property:opacity, filter, transform;transition-duration:0ms;transition-delay:0ms;transition-timing-function:cubic-bezier(0.22, 1, 0.36, 1)"><polygon points="608.90,688.54 682.00,688.54 645.45,751.85" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="682.00,688.54 755.10,688.54 718.55,751.85" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="645.45,751.85 718.55,751.85 682.00,815.16" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="682.00,688.54 718.55,751.85 645.45,751.85" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon></g><g style="opacity:1;filter:blur(0px);transform:translate3d(0px, 0px, 0px);transform-origin:center;transition-property:opacity, filter, transform;transition-duration:0ms;transition-delay:0ms;transition-timing-function:cubic-bezier(0.22, 1, 0.36, 1)"><polygon points="427.00,695.41 390.45,758.72 463.55,758.72" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="390.45,758.72 353.90,822.03 427.00,822.03" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="463.55,758.72 427.00,822.03 500.10,822.03" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="390.45,758.72 463.55,758.72 427.00,822.03" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon></g><g style="opacity:1;filter:blur(0px);transform:translate3d(0px, 0px, 0px);transform-origin:center;transition-property:opacity, filter, transform;transition-duration:0ms;transition-delay:0ms;transition-timing-function:cubic-bezier(0.22, 1, 0.36, 1)">
129<polygon points="597.00,695.41 560.45,758.72 633.55,758.72" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="560.45,758.72 523.90,822.03 597.00,822.03" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="633.55,758.72 597.00,822.03 670.10,822.03" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon><polygon points="560.45,758.72 633.55,758.72 597.00,822.03" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linejoin="round"></polygon></g></svg><span class="type-wordmark text-foreground">Sprag</span></span><span class="type-section-title tabular-nums text-foreground">$75</span></div><span aria-hidden="true" class="mt-2 block h-0.5 w-full"><span class="block h-0.5 bg-foreground/70 transition-[width] duration-500 ease-out" style="width:20.833333333333336%"></span></span><div class="mt-1.5 flex items-baseline justify-between gap-4"><span class="type-body-sm truncate text-muted-foreground">Rhythm</span><span class="type-body-sm shrink-0 tabular-nums text-muted-foreground">$0.075/hr</span></div></div><div class="mt-6 border-t border-border pt-6"><div class="flex items-baseline justify-between gap-4"><span class="min-w-0"><span class="font-heading text-[0.95rem] font-semibold tracking-[-0.018em] leading-none text-foreground">OpenAI</span></span><span class="type-subsection-title tabular-nums text-foreground">$360</span></div><span aria-hidden="true" class="mt-2 block h-0.5 w-full">
129<span class="block h-0.5 bg-foreground/70 transition-[width] duration-500 ease-out" style="width:100%"></span></span><div class="mt-1.5 flex items-baseline justify-between gap-4"><span class="type-caption truncate text-muted-foreground">gpt-4o-transcribe</span><span class="type-caption shrink-0 tabular-nums text-muted-foreground">$0.36/hr</span></div></div><div class="mt-8 flex-1 border-t border-border pt-8"><p class="type-kicker text-muted-foreground">You save</p><div class="mt-3 flex items-baseline justify-between gap-4"><span class="type-metric text-primary-ink">79<!-- -->%</span><span class="flex shrink-0 items-baseline gap-1"><span class="type-subsection-title tabular-nums text-foreground">$285</span><span class="type-caption text-muted-foreground">/mo</span></span></div><p class="type-body-sm mt-2 text-pretty text-muted-foreground">less than <!-- -->OpenAI<!-- --> at<!-- --> <!-- -->1,000<!-- --> <!-- -->hours of audio<!-- -->.</p></div><a class="btn-motion inline-flex min-h-11 min-w-11 items-center justify-center gap-2 whitespace-nowrap rounded-[4px] font-semibold ring-offset-background active:translate-y-px focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 btn-cut text-primary-foreground h-12 px-8 text-base tracking-[-0.022em] group mt-8 w-full" href="/auth/signup" data-discover="true">Start building<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right h-4 w-4 transition-transform group-hover:translate-x-0.5" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a></div></div></div></div></div></section><section id="rates" class="border-b border-border scroll-mt-[calc(var(--header-h)+1.5rem)]"><div class="container mx-auto px-4 sm:px-6 py-8 lg:py-12"><h2 class="type-section-title text-foreground mb-3 lg:mb-4">Rates</h2><p class="type-body-sm text-muted-foreground text-pretty max-w-prose mb-6 lg:mb-8">Batch rates. A realtime session over a WebSocket bills at<!-- --> <!-- -->25<!-- -->% over these rates on<!-- --> <!-- -->Rhythm and Symphony<!-- -->, except speech out, which costs the same either way.</p><div class="-mx-4 overflow-x-auto px-4 sm:mx-0 sm:px-0"><div role="table" aria-label="Rates: per-capability pricing" data-rt-id="R6km" class="min-w-[36rem] border-y border-border" style="--rt-grid:minmax(7rem, 1.05fr) minmax(6.5rem, 0.85fr) minmax(0, 2.1fr) minmax(0, 1.35fr)"><div role="row" class="grid gap-x-4 sm:gap-x-6 px-5 sm:px-6 py-3 border-b border-border" style="grid-template-columns:var(--rt-grid)"><span role="columnheader" class="type-kicker text-muted-foreground">Capability</span><span role="columnheader" class="type-kicker text-muted-foreground">Model</span><span role="columnheader" class="type-kicker text-muted-foreground">Description</span><span role="columnheader" class="type-kicker text-muted-foreground">Price</span></div><div role="row" class="grid gap-x-4 sm:gap-x-6 px-5 sm:px-6 py-5 items-baseline border-t border-border" style="grid-template-columns:var(--rt-grid)"><span role="cell" class="type-subsection-title text-foreground text-pretty">Multimodal</span><span role="cell" class="type-label text-foreground">Symphony</span><span role="cell" class="type-body-sm text-muted-foreground text-pretty">Realtime. Text, image, audio, and video in; text and speech out, with tool calling.</span><span role="cell" class="flex min-w-0 flex-col gap-0.5 tabular-nums"><span class="flex flex-wrap items-baseline gap-x-1.5"><span class="type-body-sm text-foreground">$0.09</span><span class="type-caption text-muted-foreground">/ hour of audio</span></span><span class="type-caption text-muted-foreground">$1.98 per 1M input audio tokens</span><span class="type-caption text-muted-foreground">$0.18 per 1M input text tokens</span><span class="type-caption text-muted-foreground">$1.26 per 1M output text tokens</span><span class="type-caption text-muted-foreground">$1.00 per hour of speech out</span></span></div><div role="row" class="grid gap-x-4 sm:gap-x-6 px-5 sm:px-6 py-5 items-baseline border-border border-t-0 pt-0" style="grid-template-columns:var(--rt-grid)">
129<span role="cell" class="type-subsection-title text-foreground text-pretty"></span><span role="cell" class="type-label text-foreground">Symphony Fast</span><span role="cell" class="type-body-sm text-muted-foreground text-pretty"></span><span role="cell" class="flex min-w-0 flex-col gap-0.5 tabular-nums"><a class="btn-motion inline-flex min-h-11 min-w-11 items-center justify-center gap-2 whitespace-nowrap rounded-[4px] text-[0.9375rem] font-semibold tracking-[-0.018em] ring-offset-background active:translate-y-px focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 border border-border bg-transparent text-foreground hover:border-primary/40 hover:bg-secondary h-9 px-3 group w-fit" href="/contact" data-discover="true">Contact us<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right h-3.5 w-3.5 transition-transform group-hover:translate-x-0.5" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a></span></div><div role="row" class="grid gap-x-4 sm:gap-x-6 px-5 sm:px-6 py-5 items-baseline border-t border-border" style="grid-template-columns:var(--rt-grid)"><span role="cell" class="type-subsection-title text-foreground text-pretty">STT</span><span role="cell" class="type-label text-foreground">Rhythm</span><span role="cell" class="type-body-sm text-muted-foreground text-pretty">Transcribe audio in 30 languages. Streaming and batch.</span><span role="cell" class="flex min-w-0 flex-col gap-0.5 tabular-nums"><span class="flex flex-wrap items-baseline gap-x-1.5"><span class="type-body-sm text-foreground">$0.075</span><span class="type-caption text-muted-foreground">/ hour of audio submitted</span></span><span class="type-caption text-muted-foreground">$2.08 per 1M audio tokens</span></span></div><div role="row" class="grid gap-x-4 sm:gap-x-6 px-5 sm:px-6 py-5 items-baseline border-t border-border" style="grid-template-columns:var(--rt-grid)"><span role="cell" class="type-subsection-title text-foreground text-pretty">TTS</span><span role="cell" class="type-label text-foreground">Chorus</span><span role="cell" class="type-body-sm text-muted-foreground text-pretty">Synthesize speech in a built-in, cloned, or designed voice.</span><span role="cell" class="flex min-w-0 flex-col gap-0.5 tabular-nums"></span></div><div role="row" class="grid gap-x-4 sm:gap-x-6 px-5 sm:px-6 py-5 items-baseline border-border border-t-0 pt-0" style="grid-template-columns:var(--rt-grid)"><span role="cell" class="type-subsection-title text-foreground text-pretty"></span><span role="cell" class="type-label text-foreground"></span><span role="cell" class="type-body-sm text-muted-foreground text-pretty">Built-in voice</span><span role="cell" class="flex min-w-0 flex-col gap-0.5 tabular-nums"><span class="flex flex-wrap items-baseline gap-x-1.5"><span class="type-body-sm text-foreground">$0.70</span><span class="type-caption text-muted-foreground">/ hour of speech generated</span></span><span class="type-caption text-muted-foreground">$19.44 per 1M audio tokens</span></span></div><div role="row" class="grid gap-x-4 sm:gap-x-6 px-5 sm:px-6 py-5 items-baseline border-border border-t-0 pt-0" style="grid-template-columns:var(--rt-grid)"><span role="cell" class="type-subsection-title text-foreground text-pretty"></span><span role="cell" class="type-label text-foreground"></span><span role="cell" class="type-body-sm text-muted-foreground text-pretty">Cloned voice</span><span role="cell" class="flex min-w-0 flex-col gap-0.5 tabular-nums"><span class="flex flex-wrap items-baseline gap-x-1.5"><span class="type-body-sm text-foreground">$4.50</span><span class="type-caption text-muted-foreground">/ 1M characters</span></span><span class="type-caption text-muted-foreground">$0.27 per hour of speech</span><span class="type-caption text-muted-foreground">+ $1.00 per hour of reference audio</span></span></div><div role="row" class="grid gap-x-4 sm:gap-x-6 px-5 sm:px-6 py-5 items-baseline border-border border-t-0 pt-0" style="grid-template-columns:var(--rt-grid)">
129<span role="cell" class="type-subsection-title text-foreground text-pretty"></span><span role="cell" class="type-label text-foreground"></span><span role="cell" class="type-body-sm text-muted-foreground text-pretty">Designed voice</span><span role="cell" class="flex min-w-0 flex-col gap-0.5 tabular-nums"><span class="flex flex-wrap items-baseline gap-x-1.5"><span class="type-body-sm text-foreground">$15.00</span><span class="type-caption text-muted-foreground">/ 1M characters</span></span></span></div><div role="row" class="grid gap-x-4 sm:gap-x-6 px-5 sm:px-6 py-5 items-baseline border-t border-border" style="grid-template-columns:var(--rt-grid)"><span role="cell" class="type-subsection-title text-foreground text-pretty">Audio Captioning</span><span role="cell" class="type-label text-foreground">Symphony Notes</span><span role="cell" class="type-body-sm text-muted-foreground text-pretty">Describe a clip in prose. Speech, speakers, emotion, and background sound.</span><span role="cell" class="flex min-w-0 flex-col gap-0.5 tabular-nums"><span class="flex flex-wrap items-baseline gap-x-1.5"><span class="type-body-sm text-foreground">$0.0019</span><span class="type-caption text-muted-foreground">/ minute</span></span><span class="type-caption text-muted-foreground">+ $2.03 per 1M output tokens</span></span></div></div></div><div class="mt-6 lg:mt-8 flex flex-wrap items-baseline justify-between gap-x-8 gap-y-4"><p class="type-caption text-muted-foreground max-w-[68ch] text-pretty">Audio is one token per 100 ms, so<!-- --> <!-- -->36,000<!-- --> tokens an hour, and an hour of transcribed speech returns roughly<!-- --> <!-- -->15,000<!-- --> output text tokens. An hour of synthesized speech consumes roughly<!-- --> <!-- -->60,000<!-- --> characters, on our models and on every provider priced per character. Token rates are only comparable between providers counting tokens the same way, which is why the hour leads.</p><a class="group inline-flex items-center gap-1.5 type-label text-muted-foreground transition-colors hover:text-foreground focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2" href="/models" data-discover="true">See all model details<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right h-3.5 w-3.5 transition-transform group-hover:translate-x-0.5" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a></div></div></section><section class="border-b border-border"><div class="container mx-auto px-4 sm:px-6 py-16 lg:py-20"><div class="grid grid-cols-1 lg:grid-cols-[minmax(0,4fr)_minmax(0,8fr)] gap-x-12 lg:gap-x-16 gap-y-8"><div><h2 class="type-section-title text-foreground text-balance">Accounts and limits</h2><p class="type-body-sm text-muted-foreground mt-4 max-w-[38ch] text-pretty">Everything that is not a per-request rate. If your answer is not here,<!-- --> <a class="text-foreground underline underline-offset-4 decoration-border transition-colors hover:decoration-foreground" href="/contact-sales" data-discover="true">talk to us</a>.</p></div><div class="border-t border-border" data-orientation="vertical"><div data-state="closed" data-orientation="vertical" class="border-b border-border"><h3 data-orientation="vertical" data-state="closed" class="flex"><button type="button" aria-controls="radix-_R_2d4m_" aria-expanded="false" data-state="closed" data-orientation="vertical" id="radix-_R_d4m_" class="flex flex-1 items-center justify-between py-4 font-medium transition-all [&amp;[data-state=open]&gt;svg]:rotate-180 type-subsection-title text-foreground text-left hover:no-underline" data-radix-collection-item="">What does it cost to start?<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></button></h3><div data-state="closed" id="radix-_R_2d4m_" hidden="" role="region" aria-labelledby="radix-_R_d4m_" data-orientation="vertical" class="overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down" style="--radix-accordion-content-height:var(--radix-collapsible-content-height);--radix-accordion-content-width:var(--radix-collapsible-content-width)"></div></div><div data-state="closed" data-orientation="vertical" class="border-b border-border"><h3 data-orientation="vertical" data-state="closed" class="flex"><button type="button" aria-controls="radix-_R_2l4m_" aria-expanded="false" data-state="closed" data-orientation="vertical" id="radix-_R_l4m_" class="flex flex-1 items-center justify-between py-4 font-medium transition-all [&amp;[data-state=open]&gt;
129svg]:rotate-180 type-subsection-title text-foreground text-left hover:no-underline" data-radix-collection-item="">How does billing work once I add a card?<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></button></h3><div data-state="closed" id="radix-_R_2l4m_" hidden="" role="region" aria-labelledby="radix-_R_l4m_" data-orientation="vertical" class="overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down" style="--radix-accordion-content-height:var(--radix-collapsible-content-height);--radix-accordion-content-width:var(--radix-collapsible-content-width)"></div></div><div data-state="closed" data-orientation="vertical" class="border-b border-border"><h3 data-orientation="vertical" data-state="closed" class="flex"><button type="button" aria-controls="radix-_R_2t4m_" aria-expanded="false" data-state="closed" data-orientation="vertical" id="radix-_R_t4m_" class="flex flex-1 items-center justify-between py-4 font-medium transition-all [&amp;[data-state=open]&gt;svg]:rotate-180 type-subsection-title text-foreground text-left hover:no-underline" data-radix-collection-item="">What are the rate limits?<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></button></h3><div data-state="closed" id="radix-_R_2t4m_" hidden="" role="region" aria-labelledby="radix-_R_t4m_" data-orientation="vertical" class="overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down" style="--radix-accordion-content-height:var(--radix-collapsible-content-height);--radix-accordion-content-width:var(--radix-collapsible-content-width)"></div></div><div data-state="closed" data-orientation="vertical" class="border-b border-border"><h3 data-orientation="vertical" data-state="closed" class="flex"><button type="button" aria-controls="radix-_R_354m_" aria-expanded="false" data-state="closed" data-orientation="vertical" id="radix-_R_154m_" class="flex flex-1 items-center justify-between py-4 font-medium transition-all [&amp;[data-state=open]&gt;svg]:rotate-180 type-subsection-title text-foreground text-left hover:no-underline" data-radix-collection-item="">What comes with an enterprise agreement?<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></button></h3><div data-state="closed" id="radix-_R_354m_" hidden="" role="region" aria-labelledby="radix-_R_154m_" data-orientation="vertical" class="overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down" style="--radix-accordion-content-height:var(--radix-collapsible-content-height);--radix-accordion-content-width:var(--radix-collapsible-content-width)"></div></div><div data-state="closed" data-orientation="vertical" class="border-b border-border"><h3 data-orientation="vertical" data-state="closed" class="flex"><button type="button" aria-controls="radix-_R_3d4m_" aria-expanded="false" data-state="closed" data-orientation="vertical" id="radix-_R_1d4m_" class="flex flex-1 items-center justify-between py-4 font-medium transition-all [&amp;[data-state=open]&gt;svg]:rotate-180 type-subsection-title text-foreground text-left hover:no-underline" data-radix-collection-item="">What counts as an hour?<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></button></h3><div data-state="closed" id="radix-_R_3d4m_" hidden="" role="region" aria-labelledby="radix-_R_1d4m_" data-orientation="vertical" class="overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down" style="--radix-accordion-content-height:var(--radix-collapsible-content-height);--radix-accordion-content-width:var(--radix-collapsible-content-width)"></div></div></div></div></div></section><section class="relative overflow-hidden border-y border-border bg-muted/20 py-24"><div aria-hidden="true" class="absolute left-1/2 top-1/2 h-[38rem] w-[38rem] -translate-x-1/2 -translate-y-1/2 cta-breath blur-3xl pointer-events-none"></div><canvas aria-hidden="true" class="absolute inset-0 pointer-events-none" style="z-index:1"></canvas><div class="container relative z-10 mx-auto px-4 sm:px-6"><div class="max-w-3xl mx-auto text-center"><h2 class="type-section-title text-balance mb-10"><span class="inline-block overflow-hidden mr-[0.28em] last:mr-0"><span class="inline-block  ">Make<!-- --> </span></span><span class="inline-block overflow-hidden mr-[0.28em] last:mr-0"><span class="inline-block  ">your<!-- --> </span></span><span class="inline-block overflow-hidden mr-[0.28em] last:mr-0"><span class="inline-block  ">first<!-- --> </span></span><span class="inline-block overflow-hidden mr-[0.28em] last:mr-0"><span class="inline-block text-primary-ink ">request.</span></span></h2><div class="flex flex-col items-stretch justify-center gap-4 sm:flex-row sm:items-center "><a class="btn-motion inline-flex min-h-11 min-w-11 items-center justify-center gap-2 whitespace-nowrap rounded-[4px] font-semibold ring-offset-background active:translate-y-
129px focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 btn-cut text-primary-foreground tracking-[-0.024em] group w-full sm:w-auto h-12 px-8 text-base sm:h-14 sm:px-10 sm:text-lg" href="/auth/signup" data-discover="true">Get started<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right w-5 h-5 group-hover:translate-x-1 transition-transform" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a><a class="btn-motion inline-flex min-h-11 min-w-11 items-center justify-center gap-2 whitespace-nowrap rounded-[4px] font-semibold ring-offset-background active:translate-y-px focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 border border-border bg-transparent text-foreground hover:border-primary/40 hover:bg-secondary tracking-[-0.024em] w-full sm:w-auto h-12 px-8 text-base sm:h-14 sm:px-10 sm:text-lg" href="/docs" data-discover="true">API reference</a></div></div></div></section></div></main><footer class="border-t border-border py-12"><div class="container mx-auto px-4 sm:px-6"><div class="grid gap-10 sm:grid-cols-5 sm:gap-8"><div class="sm:col-span-2"><a class="flex items-center gap-3 mb-4" href="/" data-discover="true"><img src="/assets/sprag-mark-BSBgs5Pu.svg" alt="Sprag" width="28" height="28" loading="lazy" decoding="async" style="width:28px;height:28px"/><span class="type-wordmark text-foreground">Sprag</span></a><p class="type-body-sm text-measure text-muted-foreground mb-6">Lightning-fast inference infrastructure for production-grade multimodality models.</p><div class="flex flex-wrap items-center gap-1"><a href="https://github.com/vllm-project/vllm-omni" target="_blank" rel="noopener noreferrer" aria-label="vLLM-Omni on GitHub" class="inline-flex h-11 w-11 items-center justify-center text-muted-foreground hover:text-foreground transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 rounded-xs"><svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" class="w-5 h-5"><path d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z"></path></svg></a><a href="https://x.com/SpragSocial" target="_blank" rel="noopener noreferrer" aria-label="Sprag on X (Twitter)" class="inline-flex h-11 w-11 items-center justify-center text-muted-foreground hover:text-foreground transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 rounded-xs"><svg class="w-5 h-5" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"></path></svg></a><a href="https://www.linkedin.com/company/113317158/" target="_blank" rel="noopener noreferrer" aria-label="Sprag on LinkedIn" class="inline-flex h-11 w-11 items-center justify-center text-muted-foreground hover:text-foreground transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 rounded-xs"><svg class="w-5 h-5" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.064 2.064 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"></path></svg></a><span class="type-body-sm text-muted-foreground">Built on<!-- --> <a href="https://github.com/vllm-project/vllm-omni" target="_blank" rel="noopener noreferrer" class="text-primary-ink hover:underline">vLLM-Omni</a></span></div></div><div class="grid grid-cols-2 gap-8 sm:col-span-3 sm:grid-cols-3"><div><p class="type-kicker text-primary-ink mb-5">Product</p><ul class="space-y-3"><li><a class="type-body-sm text-muted-foreground hover:text-foreground transition-colors" href="/studio" data-discover="true">Sprag Studio</a></li><li>
129<a class="type-body-sm text-muted-foreground/85 hover:text-foreground transition-colors pl-3" href="/speech" data-discover="true">Text-to-Speech</a></li><li><a class="type-body-sm text-muted-foreground/85 hover:text-foreground transition-colors pl-3" href="/voice-cloning" data-discover="true">Voice Cloning</a></li><li><a class="type-body-sm text-muted-foreground/85 hover:text-foreground transition-colors pl-3" href="/voice-design" data-discover="true">Voice Design</a></li><li><a class="type-body-sm text-muted-foreground hover:text-foreground transition-colors" href="/inference" data-discover="true">Hosted Inference</a></li><li><a class="type-body-sm text-muted-foreground hover:text-foreground transition-colors" href="/models" data-discover="true">Models</a></li><li><a class="type-body-sm text-muted-foreground hover:text-foreground transition-colors" href="/robotics" data-discover="true">Robotics</a></li></ul></div><div><p class="type-kicker text-primary-ink mb-5">Company</p><ul class="space-y-3"><li><a class="type-body-sm text-muted-foreground hover:text-foreground transition-colors" href="/about" data-discover="true">About Us</a></li><li><a class="type-body-sm text-muted-foreground hover:text-foreground transition-colors" href="/blog" data-discover="true">Blog</a></li><li><a class="type-body-sm text-muted-foreground hover:text-foreground transition-colors" href="/company/media/brand-assets" data-discover="true">Brand Assets</a></li></ul></div><div class="col-span-2 sm:col-span-1"><p class="type-kicker text-primary-ink mb-5">Resources</p><ul class="space-y-3"><li><a class="type-body-sm text-muted-foreground hover:text-foreground transition-colors" href="/docs" data-discover="true">Docs</a></li><li><a class="type-body-sm text-muted-foreground hover:text-foreground transition-colors" href="/contact" data-discover="true">Contact</a></li><li><a href="https://github.com/vllm-project/vllm-omni" target="_blank" rel="noopener noreferrer" class="type-body-sm text-muted-foreground hover:text-foreground transition-colors">GitHub</a></li></ul></div></div></div><div class="mt-12 flex flex-col gap-3 border-t border-border pt-6 sm:flex-row sm:items-center sm:justify-between"><p class="type-caption text-muted-foreground">© <!-- -->2026<!-- --> Sprag. All rights reserved.</p><div class="flex items-center gap-5 type-caption text-muted-foreground"><button type="button" aria-label="Toggle theme" class="inline-flex items-center gap-1.5 hover:text-foreground transition-colors rounded-xs focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sun-medium h-3.5 w-3.5" aria-hidden="true"><circle cx="12" cy="12" r="4"></circle><path d="M12 3v1"></path><path d="M12 20v1"></path><path d="M3 12h1"></path><path d="M20 12h1"></path><path d="m18.364 5.636-.707.707"></path><path d="m6.343 17.657-.707.707"></path><path d="m5.636 5.636.707.707"></path><path d="m17.657 17.657.707.707"></path></svg><span>Theme</span></button><nav class="flex items-center gap-5" aria-label="Legal"><a class="hover:text-foreground transition-colors" href="/privacy" data-discover="true">Privacy</a><a class="hover:text-foreground transition-colors" href="/terms" data-discover="true">Terms</a></nav></div></div></div></footer></div>
129<script>window.__staticRouterHydrationData = JSON.parse("{\"loaderData\":{},\"actionData\":null,\"errors\":null}");</script>
129<script>requestAnimationFrame(function(){$RT=performance.now()});</script>
129</div>
130  </body>
131</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.