Voice input for your website.
One script tag.
Whisper-accurate dictation in any text field on your site. No backend, no audio code, no browser quirks. Live in 60 seconds.
Running on the shared demo key (3 min/day). Your key removes the limits.
Free tier included — no credit card required.
Quickstart
Paste this before </body>. A mic appears in every text field on the page.
Add the script tag with your publishable key.
Your users click the mic and speak — in any of 20+ languages.
Accurate text lands in the field, with real input events your framework understands.
Prefer a package? It's on npm with TypeScript types and a React component:
Or let your AI do it
Using Cursor, Claude, Copilot or ChatGPT? Copy the setup instructions below and paste them into your assistant — it has everything needed for a correct integration (swap in your key after you create one).
No-code sites: WordPress, Shopify, Webflow, Wix, Squarespace
No plugin needed — every one of these has a “paste custom code” box, and the script tag is exactly what it's for. Here's where it lives:
| Platform | Where to paste the script tag |
|---|---|
| WordPress | Plugins → add “WPCode” (or any headers-and-footers plugin) → paste into the Footer box. (Or Appearance → Theme File Editor → footer.php, before </body>.) |
| Shopify | Online Store → Themes → ⋯ → Edit code → theme.liquid → paste just before </body>. |
| Webflow | Project Settings → Custom Code → Footer Code → paste → Save, then Publish. |
| Squarespace | Settings → Advanced → Code Injection → Footer → paste. |
| Wix | Settings → Custom Code → + Add Custom Code → paste, place it in “Body – end”, apply to all pages. |
Note: free tiers on Wix, Squarespace and Webflow usually block custom code — you'll need any paid plan on those. WordPress (self-hosted) and Shopify work on any plan.
Configuration
Everything is a data-attribute on the script tag. No JavaScript required.
| Attribute | Default | What it does |
|---|---|---|
data-key | — (required) | Your publishable key (pk_live_…). Safe to expose — protected by your domain allowlist. |
data-target | all text fields | CSS selector(s) for which fields get a mic, e.g. "textarea, .voice". |
data-theme | light | light or dark — match your site. |
data-position | inside-right | inside-right or inside-left — where the mic sits in the field (RTL-friendly). |
data-language | auto | ISO code (en, es, fr, yi, …) or auto to detect. 20+ languages. |
data-api | https://sleekio.io/api | Override if you proxy requests through your own domain. |
Works with your stack
Text is inserted through native setters + synthetic input events — the trick that makes React and Vue controlled inputs update correctly (plain .value = breaks them).
The annoying parts, handled
You could wire a speech API yourself in a day. This is everything else you'd be maintaining for years — full breakdown in build vs. buy: voice input for websites.
Cross-browser audio
Chrome/Firefox WebM-Opus, iOS Safari MP4 — codecs detected and handled automatically, including MediaRecorder quirks.
Framework-safe insertion
Native prototype setters + synthetic events, inserted at the cursor. React, Vue, Svelte and plain HTML all just work.
20+ languages, auto-detected
Whisper-class accuracy with automatic language detection, or pin a language per page.
Never breaks your page
Shadow-DOM isolated UI, graceful failure states, provider fallbacks behind the API. Under 15 KB, zero dependencies.
Privacy: your users' audio is processed in memory, transcribed, and immediately discarded — never stored, never used for training. Transparency: the widget client is open source — read it on GitHub before you add it. It runs on the same production backend as the Sleekio Chrome extension (4.6★ on the Chrome Web Store), where the codec and insertion handling was battle-tested first.
Pricing for websites
Plans are metered in credits: 1 credit = up to 30 seconds of speech, so a typical dictation costs one credit. Generous free tier to start.
Basic
- ✓1,000 credits / mo
- ✓2 domains
- ✓Badge removed
Starter
- ✓3,000 credits / mo
- ✓3 domains
- ✓Badge removed
Growth
- ✓15,000 credits / mo
- ✓10 domains
- ✓Priority processing