Polish: Transcript cleanup
Clean a speech-to-text transcript in the tab: drop fillers, resolve self-corrections, write numbers and emails, and apply punctuation. Pair it with Scribe, or paste any rough transcript.
Try Polish
Runs in this tab · nothing uploaded
What it does
Turn raw dictation into written text.
- S1-mini by Superwhisper. Its license is Apache-2.0 plus one term: any product that uses it must keep calling it "S1-mini" by "Superwhisper". Fine-tuned from Qwen3-0.6B to do one job: normalize English ASR output. It is not a chat model.
- Pass
styling(casual·semi-casual·semi-formal·formal),structure(prose·lists) andcontext(general·email). Defaults are semi-formal prose. - English only. Keep a single pass under ~1,000 tokens; chunk longer transcripts at sentence boundaries.
- Filler-only input (
um,uh) returns an empty string. That is a valid result, not a failure. - WebGPU prefers q4f16 (~365 MB) and falls back to q4 (~413 MB) if the session fails to start. WASM uses q4.
Specifications
- Package
- runonweb/clean
- Base model
- S1-mini · Superwhisper
- License
- Apache-2.0 + naming term
- Weights
- onnx-community/s1-mini-ONNX
- Download
- ~365 MB / ~413 MB
- Quantization
- q4f16 on WebGPUq4 on WASM
- Backend
- WebGPUWASM fallback
- Input
- Text
Get started with runonweb/clean
pnpm add runonwebimport { TranscriptCleaner } from 'runonweb/clean'
const cleaner = new TranscriptCleaner({
styling: 'semi-formal',
onProgress: (info) => console.log(info.status, info.progress),
})
await cleaner.load()
const { text } = await cleaner.clean(
'so um i need to like send the the report by uh friday no wait make that thursday',
{ onPartial: (partial) => console.log(partial) },
)
// "I need to send the report by Thursday."
cleaner.dispose()Same shape everywhere: construct, load(), run, dispose(). Pass onProgressto show download progress on first use.
Questions about Polish
Does Polish run on device?
Yes. Weights download once and stay in the browser. Nothing is sent to a server.
Which model does Polish use?
S1-mini by Superwhisper, under Apache-2.0 + naming term. runonweb loads the onnx-community/s1-mini-ONNX weights and runs q4f16 on WebGPU · q4 on WASM.
How big is the Polish download?
~365 MB / ~413 MB, fetched once on first use. The browser caches the weights, so later loads skip the network and keep working offline.
What does Polish cost?
Nothing. runonweb is free and MIT-licensed, with no device limits, tokens or sign-in. The weights keep their own license: Apache-2.0 + naming term.
Which browsers support Polish?
Chromium browsers use WebGPU. Firefox and Safari fall back to WebAssembly automatically, slower but identical output.
Can I use a different model with runonweb/clean?
Yes. See each module’s docs for the options it accepts (model, size, language…). Check the license and test both backends before shipping.