Engine Model and Preset Resources
Download recognition model content and resolve the runtime audio and language configuration for a preset.
Internal API
The Desktop API is internal and must not be used for customer integrations. Compatibility is not guaranteed, and these endpoints may change without notice.
Download Model Content
GET /api/v1/models/{name}/content
Requires Authentication - Scopes: speech:models:download
Stream a model archive. Downloads support one HTTP byte range and ETag-based cache validation.
Path Parameters
Parameter
Type
Required
Description
name
string
Yes
Model name. Matching is case-insensitive. URL-encode reserved characters.
Header
Required
Default
Description
Range
No
Entire archive
One byte range, for example bytes=1048576-2097151 or bytes=-1048576. Multiple ranges are not supported.
If-None-Match
No
-
Return 304 Not Modified when *, the current ETag, or its weak form matches.
If-Range
No
-
Apply Range only when this value exactly matches the current ETag; otherwise return the complete archive.
Binary Response
Header
Present
Description
Content-Type
Always
application/gzip.
Content-Disposition
Always
Attachment file name: {modelName}.tar.gz.
Content-Length
200/206
Bytes returned. Also present on a successful HEAD response.
ETag
Always
Current content validator.
Last-Modified
When available
Last modification time.
Cache-Control
Always
no-cache, must-revalidate.
Accept-Ranges
Always
bytes.
Content-Range
206/416
Selected range for 206; bytes */{totalLength} for 416.
X-Content-Type-Options
Always
nosniff.
Status
Description
200 OK
Complete archive returned.
206 Partial Content
Requested byte range returned.
304 Not Modified
If-None-Match matched; no body is returned.
401 Unauthorized
Access token is missing or invalid.
403 Forbidden
Token does not include speech:models:download.
404 Not Found
Model was not found.
416 Range Not Satisfiable
Range is malformed, contains multiple ranges, or falls outside the archive. Content-Range is bytes */{totalLength}.
500 Internal Server Error
Model metadata or content could not be read.
Inspect Model Content
HEAD /api/v1/models/{name}/content
Requires Authentication - Scopes: speech:models:download
Return the same metadata headers as a complete GET request without sending archive bytes. If-None-Match is supported. Range is ignored for HEAD.
Status
Description
200 OK
Model metadata headers returned with no body.
304 Not Modified
If-None-Match matched.
401 Unauthorized
Access token is missing or invalid.
403 Forbidden
Token does not include speech:models:download.
404 Not Found
Model was not found.
Get Preset Runtime Configuration
GET /api/v1/presets/{name}/runtime-config
Requires Authentication - Scopes: speech:presets:read
Resolve recognition readiness, model audio format, and language direction for one preset.
Path Parameters
Parameter
Type
Required
Description
name
string
Yes
Preset name. URL-encode reserved characters.
PresetRuntimeConfigResponse
Field
Type
Nullable
Description
name
string
No
Stable preset name.
displayName
string
No
User-facing preset name.
description
string
Yes
Preset description.
ready
boolean
No
Whether the preset is currently available for recognition. Default when unavailable: false.
model
PresetRuntimeModel
Yes
Model audio and language configuration. null when no model is resolved.
PresetRuntimeConfigResponse {
"name" : "general-he" ,
"displayName" : "General Hebrew" ,
"description" : "General-purpose Hebrew recognition" ,
"ready" : true ,
"model" : { "..." : "..." }
}
PresetRuntimeModel
Field
Type
Nullable
Description
name
string
No
Model name.
displayName
string
No
User-facing model name.
sampleRate
integer
No
PCM sample rate in hertz. Default when the model has no explicit rate: 16000.
language
PresetRuntimeLanguage
No
Model language metadata.
PresetRuntimeLanguage
Field
Type
Nullable
Description
name
string
No
Stable language name or code. Default when unknown: unknown.
localDisplayName
string
Yes
Language name in that language.
globalDisplayName
string
Yes
Language name for a general-language UI.
rtl
boolean
No
Whether recognized text should be presented right-to-left. Defaults to true when no language metadata is available.
Status
Description
200 OK
Runtime configuration returned.
401 Unauthorized
Access token is missing or invalid.
403 Forbidden
Token does not include speech:presets:read.
404 Not Found
Preset was not found.