Skip to content

Transcription Models

Transcription models are the core of Koldan's transcription engine. Each transcription model is trained for specific languages, use cases, and performance characteristics. When you create a transcription, you select a transcription model - and Koldan handles the rest.

Sentence verification (sentver) models are also Speech Services resources, but they are managed separately from transcription models. Sentver models verify that audio contains the expected sentence and are currently used by Speaker Services enrollment and verification pipelines.


How Transcription Models Work

Every transcription model you see in the API represents a stable identifier that resolves to a specific speech recognition engine version on the server. This means:

  • You always reference transcription models by name - e.g., general-v3, medical-en, telephony.
  • The server resolves your transcription model name to the best available engine version behind the scenes.
  • Transcription model updates are transparent - when a new engine version is deployed, your existing transcription model name automatically points to the improved version. No code changes needed.
flowchart LR
    A["Your API Request\n<code>model: general-v3</code>"] --> B["Koldan Server"]
    B --> C["Resolved Engine\nVersion"]
    C --> D["Transcription Result"]

Transcription Model Properties

Each transcription model exposes the following information:

Property Description
Name The stable identifier you use in API requests (e.g., general-v3)
Display Name A human-readable label (e.g., "General v3")
Description What the transcription model is designed for
Status Current availability - see Transcription Model Status below
Current Version The engine version this transcription model currently resolves to
Capabilities Supported languages, streaming, and auto-detection - see Capabilities

Transcription Model Status

Status Meaning
AVAILABLE The transcription model is ready for use
UNAVAILABLE The transcription model is not currently deployed on this server
MAINTENANCE Temporarily offline for updates - try again later
DEPRECATED Still functional but scheduled for removal - migrate to the suggested replacement

Deprecated Transcription Models

When a transcription model is deprecated, the API response includes a deprecationDate and a deprecationMessage with migration guidance. Deprecated transcription models continue to work until their sunset date, after which requests return 410 Gone. Plan your migration early.


Capabilities

Each transcription model declares what it can do. Check capabilities before using a transcription model to ensure it fits your use case.

Capability Description
Languages List of supported BCP-47 language codes (e.g., en, he, de, ar)
Auto-detect Whether the transcription model can automatically identify the spoken language
Streaming Whether the transcription model supports real-time streaming transcription
Inverse Text Normalization Whether the transcription model supports converting spoken-form entities (numbers, dates, etc.) into their written form. Some models apply this automatically; others support it on request via the inverseTextNormalization option.

Check Languages Before Transcribing

If you specify a language that the transcription model doesn't support, the transcription will fail. Use the transcription model languages endpoint to verify supported languages, or enable auto-detection if the model supports it.


Transcription Model Types

Transcription models are organized into three categories that determine how they resolve to engine versions:

Type Behavior Example
Family Always resolves to the latest version in the transcription model family. Automatically upgrades when new versions are deployed. general → currently resolves to general-v3-20240915
Pinned Points to a specific major version but may receive minor updates (patches, accuracy improvements). general-v3 → currently resolves to general-v3-20240915
Concrete Locked to an exact engine version. Never changes. Use when you need deterministic, reproducible results. general-v3-20240915 → always this exact version

Which Type Should I Use?

  • Use Family transcription models for most applications - you'll always get the best available version.
  • Use Pinned transcription models when you want a stable major version but still benefit from patches.
  • Use Concrete transcription models only when reproducibility is critical (e.g., compliance, benchmarking).

Default Transcription Model

Each Koldan deployment has a default transcription model. If you create a transcription without specifying a transcription model, the default is used automatically.

To find out which transcription model is the default, call the list transcription models endpoint and look for the model marked as default.


Role-Based Transcription Model Access

Not all transcription models are available to all users. Administrators can restrict which transcription models each role can access. When you call the list transcription models endpoint, you only see transcription models assigned to your role.

If you need access to a transcription model that isn't listed, contact your administrator.

→ See Roles and Permissions for more on how roles work.


Checking Available Transcription Models

Use the Transcription Models API to discover what's available to you:

What You Need Endpoint
List all transcription models you can access GET /api/v1/speech-services/models
Get details for a specific transcription model GET /api/v1/speech-services/models/{model}
Check supported languages for a transcription model GET /api/v1/speech-services/models/{model}/languages
List sentence verification models GET /api/v1/speech-services/sentence-verification/models

→ Full API details in the REST API Reference.