Integrate the SDK › Implementation
Prerequisites and technical requirements
Before you write a line of code, the workspace has to hold what the integration will name, and your stack has to meet a few technical requirements. Access to the Speechineer service is either unauthenticated or authenticated, and the prerequisites and technical requirements differ accordingly — the items that apply to one of them only say so.
| Unauthenticated | Authenticated | ||
|---|---|---|---|
| Fit | public pages and development | anything behind a login | |
| Who can use Speechineer in your form | anyone who can open the form | only users your backend issues a token to | |
| API key | Mode | Unsigned | Signed |
| Location | your frontend — the client passes it in its apiKey option | your backend — the token carries it in its api_key claim | |
| Account | Location | your frontend — the client names it in its account option | your backend — the token carries it in its account_key claim |
| Signing key | not needed | needed — its private half signs every token | |
Prerequisites
- A form to fill — either one configured in the workspace with a published version, as described in Configure the form › In the workspace, or one you configure in code, as described in Configure the form › In code.
- An API key — in Unsigned mode for an unauthenticated client, in Signed mode for an authenticated one, as described in Authentication and usage › API keys › Auth mode.
- A signing key pair (authenticated only) — its private half kept in your backend and its Key ID at hand, as described in Authentication and usage › Signing keys.
- A stable key per end user — your own user id works well, as described in Authentication and usage › Accounts. Unauthenticated, you pass it as the account; authenticated, your backend signs it into the token.
Warning

Technical requirements
- Compatible frontend framework:
- React: 18 or newer.
- Angular: 17 or newer.
- JavaScript: any, with a bundler that handles ES modules.
- Node.js 18 or newer — to install the package.
- A secure origin — the page served over HTTPS (or
localhost), since browsers only hand out the microphone there. - A backend that signs tokens (authenticated only) — one your users already log in to, since the token endpoint sits behind that login, with a library that signs PS256 tokens:
josein Node.js,PyJWTwith thecryptographyextra in Python, or your platform's equivalent. - The package for your framework:
bash
npm install @speechineer/reactbash
npm install @speechineer/angularbash
npm install @speechineer/js