Unmute Dictation API Docs

Sign in

Enter your work email. We'll send you a one-time sign-in link.

New here? Request access

Request access

Add dictation to your web or Electron app in two calls. Tell us who you are; we review every request and email you as soon as you're approved, with free minutes to start.

Already have an account? Sign in

Finish signing in

Continue to the Unmute Dictation API console.

Request received

Access request


Your account

This month's usage, and the keys your servers use.

Minutes left
 
Audio this month
minutes
Dictations this month
 

Get set up

  1. Create an API key

    Below, under API keys. It stays on your server; never put it in your app.

  2. Add a token endpoint to your server

    Your server swaps the secret key for a short-lived token for each user.

    // Node / Express
    import { createClientToken } from '@unmute/dictation/server'
    app.post('/api/dictation-token', requireLogin, async (req, res) => {
      const { token } = await createClientToken({ apiKey: process.env.UNMUTE_SECRET_KEY, endUserId: req.user.id })
      res.json({ token })
    })
    
    # any language
    curl -X POST /v1/tokens -H "Authorization: Bearer $UNMUTE_SECRET_KEY"
  3. Add dictation to your app

    Web or Electron. Two calls: start() and stop().

    import { Dictation } from '@unmute/dictation'
    const dictation = new Dictation({
      token: () => fetch('/api/dictation-token', { method: 'POST' }).then(r => r.json()).then(j => j.token),
      mode: 'clean',
    })
    await dictation.start()                 // on press
    const { text } = await dictation.stop()  // on release

    No bundler? <script src="/sdk/unmute-dictation.min.js"> then new UnmuteDictation.Dictation(…). Full guide: docs.

  4. Make your first dictation

    From your app, or right here:

Audio minutes per day

Show as table
DayMinutesDictations

API keys

NameKeyCreatedLast used

Top end users this month

by audio, from end_user_id
End userMinutesDictations

Team

EmailRoleLast sign-in