Documentation Index

Fetch the complete documentation index at: https://docs.sestek.com/llms.txt

Use this file to discover all available pages before exploring further.

Quickstart: How To Test SR

Prev Next

This guide walks you through testing the SESTEK Speech Recognition (SR) API using the official Postman collection. It only uses one request from that collection, Model Based Dictation (under the collection's Dictation folder), which submits an audio file for file-based transcription and returns the recognized text.

The full collection also covers other SR capabilities beyond dictation; this guide keeps things simple and sticks to the basic file-transcription flow.

SR has two categories of endpoints. Service endpoints (recognition, dictation, the ones this guide tests) use the collection's {{ADDR_SERVICE}} variable. Management endpoints (grammar and model management, diagnostics, pronunciations, reports) use the collection's {{ADDR_UTIL}} variable instead. On-premises deployments can call management endpoints directly over HTTP as well. On cloud, management endpoints are not exposed as a direct API at all; the same operations are only available through the Core Web web application, for tenants provisioned there. Core Web usage is documented separately.

This walkthrough covers both deployment types. Cloud and on-premises use the exact same request body and endpoint for the service API; only the base address ({{ADDR_SERVICE}}) and authentication differ. On-premises deployments skip the token step entirely. See Authentication for both flows.

Prerequisites

  • Postman installed.
  • Cloud: a valid Client ID and Client Secret for the SR service. If you don't have these yet, contact your SESTEK Sales Operations contact.
  • On-premises: no credentials needed; the host machine is licensed via the License Service application instead. See Authentication for details on both.

Step 1: Download and Import the Collection

To get started, ensure you have Postman installed. If not, download it here:

Download Postman

Once Postman is installed, download the SESTEK Speech Recognition Postman collection below and import it:

SESTEK Speech Recognition Postman Collection

SR_REST_API_Postman_Collection.json

After importing, open the Dictation folder and select Model Based Dictation, that's the only request this guide needs.

Step 2: Generate an Access Token

On-premises: skip this step entirely. On-premises deployments do not use tokens, so there is nothing to generate here; continue directly to Step 3 with no Authorization header at all.

Token generation is not part of this collection, since the identity service is separate from SR itself. Send the following request (in Postman as a new request, or directly with cURL) to obtain one:

Endpoint

POST https://identity.ldm.knovvu.com/connect/token

Body parameters (x-www-form-urlencoded)

Key Value Description
client_id your Client ID Provided when your subscription was activated.
client_secret your Client Secret Provided when your subscription was activated.
grant_type client_credentials Fixed value, do not change.
scope Ldm_Integration Fixed value, do not change.

Replace the placeholder values [client_id] and [client_secret] with your own credentials, then click Send.

Example response

{
  "access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
  "expires_in": 31536000,
  "token_type": "Bearer",
  "scope": "Ldm_Integration"
}

Copy the access_token value. You'll need it in the next step. It is valid for 365 days; see Authentication for renewal recommendations.

Step 3: Configure the Model Based Dictation Request

Open the Model Based Dictation request under Dictation.

Endpoint

POST {{ADDR_SERVICE}}/v1/speech/dictation/request

{{ADDR_SERVICE}} is a collection variable, the base address of SR's service API (not the management API mentioned above). Set it once under the collection's Variables tab rather than editing the URL on every request:

  • Cloud: your assigned region's URL, e.g. https://srapi.knovvu.com for Paris. See API Region URLs.
  • On-premises: the address of the machine running your licensed SR service.

Authorization: cloud deployments use the Authorization tab set to Bearer Token, paste the access_token from Step 2 into the token field. On-premises deployments need no Authorization at all, set the tab to No Auth instead.

Headers

Header Description
Content-Type Must match the format of the audio file you attach: audio/wav, audio/wave, or audio/opus.
ModelName The language model to use. The imported request defaults to SestekSystemTestModel, replace it with your actual assigned model name from Language Models.
ModelVersion The model version to use, or 0 to always use the latest available version.
Tenant Your tenant name. Use Default unless you were given a specific tenant.
SendAudioDownloadLink Optional. If true, the response includes a temporary download link for the submitted audio.
MinioAudioLogMode Present in the imported request; leave it at its default value unless SESTEK support instructs otherwise.

Body

The body mode is set to file. Click Select File and choose the audio file you want to transcribe.

Click Send. The response contains the recognized text along with confidence scores and timing information. See Transcribe a File for the full response schema.

Equivalent cURL Commands

If you prefer not to use Postman:

Get token (cloud only)

curl -X POST https://identity.ldm.knovvu.com/connect/token \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "client_id=[client_id]" \
  -d "client_secret=[client_secret]" \
  -d "grant_type=client_credentials" \
  -d "scope=Ldm_Integration"

Model Based Dictation

curl -X POST {{ADDR_SERVICE}}/v1/speech/dictation/request \
  -H "Authorization: Bearer <access_token>" \
  -H "Content-Type: audio/wav" \
  -H "ModelName: <your model name>" \
  -H "ModelVersion: 1" \
  -H "Tenant: Default" \
  -H "SendAudioDownloadLink: true" \
  --data-binary "@/path/to/your/audio.wav"

Replace {{ADDR_SERVICE}} with your region's URL (cloud) or your machine's address (on-premises). On-premises requests drop the Authorization header entirely, everything else stays the same.

Related Documentation