TipTap guide
Your writers dictate, the editor writes
A TipTap extension and a server route: text lands at the cursor, without the “ums”, never rephrased. The secret key stays on your side.
What you need≈ 10 min to set up
- TipTap 3
- A server that can relay a request (Next.js, Express, Hono…)
- A Vokyt plan with dictation minutes
Step 1 of 4 · Copy the secret key
Step by step
01
Get the secret key
sk_live_…
Dashboard → Sites and integration → your site → secret key. Put it in a server environment variable (VOKYT_SECRET_KEY). It must never reach the browser.
envVOKYT_SECRET_KEY=sk_live_…02
Install the extension
@vokyt/tiptap
The package will be published on npm; email bonjour@vokyt.cc for early access.
shpnpm add @vokyt/tiptap03
Add the relay route
relayDictation
The browser sends audio to your server, which relays it to Vokyt with the secret key. Check here that the user is signed in.
tsimport { relayDictation } from "@vokyt/tiptap/server"; export async function POST(req: Request) { // Vérifiez ici que l'utilisateur est connecté return relayDictation(req, { secretKey: process.env.VOKYT_SECRET_KEY! }); }04
Add the extension to the editor
Dictation.configure
Ctrl/Cmd + Shift + D starts and stops dictation. Commands: startDictation(), stopDictation(), toggleDictation(), cancelDictation().
tsimport { Dictation } from "@vokyt/tiptap"; new Editor({ extensions: [ StarterKit, Dictation.configure({ endpoint: "/api/vokyt/dictation", language: "fr", onStateChange: (state) => console.log(state), // idle | recording | transcribing }), ], });
Frequently asked questions
How many dictation minutes?
Those of your Vokyt plan (15 min on Free, 2 h on Blogger, 5 h on Creator, 15 h on Pro per month), shared with the dashboard, WordPress and voice drafts. 10 minutes max per take.
Is the audio kept?
No: it is transcribed then discarded. Only the duration and character count are kept to count minutes.
Other platforms
Ready to let readers hear you?
Create your account, record a first voice note and follow the steps: it's free to start.