About Dictate
Dictate is an independent WebSocket relay for real-time speech-to-text. It exists so that an application can add live captions or dictation without ever handling an upstream speech API key.
Last updated: October 17, 2026
What Dictate actually does
A client authenticates with Dictate, asks for a short-lived WebSocket token, and opens
a connection to /ws. It then streams 16 kHz, 16-bit mono PCM audio frames
of 100-200 ms each. Dictate relays those frames frame-by-frame to an upstream
streaming speech recognition model and streams the incremental recognition text back
on the same connection.
Three things happen in that path, and only three:
- Credential isolation. The upstream key stays server-side and is stored encrypted at rest. It is never sent to a browser, a mobile app or a desktop client.
- Metered access. Usage is measured server-side as audio duration in milliseconds and decremented atomically per session, so parallel sessions cannot race past a quota.
- Protocol handling. Dictate manages the upstream streaming protocol, sequence numbers and session lifecycle so each client deals with one simple frame-in, text-out contract.
What Dictate does not do
Dictate does not train models, does not resell the recognition output as its own, and does not offer an offline mode. It is a relay with metering, credential isolation and an acceptable-use layer on top of a third-party recognition model.
The underlying recognition model
Dictate relays to the Volcano Engine Doubao streaming speech recognition
model (bigmodel), reached through the Volcano Engine Open
Speech Platform. Dictate is an independent service and is not an
official product of, or endorsed by, the model provider. Accuracy, supported
languages and model behaviour are properties of the upstream model, not of the relay.
Who it is for
- Developers building live captioning, meeting notes, call transcription or voice interfaces.
- Teams that need predictable, metered speech-to-text capacity without operating upstream credentials themselves.
- Desktop and mobile apps that want a single frame-in, text-out contract instead of an SDK per platform.
How we handle data
Audio frames are relayed and never decoded, recorded or written to disk. We keep usage metadata only - session id, duration, frame count, sample rate and timestamps - because quota accounting and abuse investigation require it. Neither your audio nor your transcripts are used to train anything. The Privacy Policy has the full list; the Data Processing Addendum covers processing terms for business customers.
Acceptable use
Speech recognition is a dual-use capability, so the Acceptable Use Policy sets hard limits: no sexual or NSFW content, no violence or gore, no hate speech, zero tolerance for child unsafe content, no deepfakes or impersonation, and no copyright or trademark infringement. Reports go to report@dictate.top and appeals to appeal@dictate.top. Enforcement runs from documentation requests up to account termination, and every termination can be appealed to a reviewer who was not involved in the original decision.
Billing
Subscriptions are recurring and self-serve. Payments run through Waffo as the default channel, with Creem retained as a fallback, so full card details never reach Dictate servers and invoices are issued by the processor. Plans are Free (30 minutes), Pro ($9/month, 10 hours) and Enterprise ($49/month, 50 hours); quota resets at the start of each billing period, cancellation takes effect at the end of the paid period, and the first payment carries a 7-day refund guarantee.
Editorial standards
The documentation on this site is written against the behaviour in the code, not against marketing goals. Every price, quota limit and audio format quoted on this site is asserted by an automated test, so copy cannot silently drift away from the product. If you find a discrepancy, tell us and we will correct the page or the code, whichever is actually wrong.
Contact
Support, security and legal all have published addresses on the contact page, each with a stated response time. There is no support portal to sign up for and no ticket queue to wait behind - it is email, and it is answered.