(language, vertical, optimize_for) and fails over automatically.
Signature
Parameters
Raw audio bytes. Providers handle resampling and format conversion — any sample rate works. Wrap
bytearray / memoryview with bytes(...) at the call site.BCP-47 language tag, e.g.
"en", "es-MX", "ja-JP".Domain bucket the router uses when scoring provider candidates.
Preset that biases the weighted score. Server default is
balanced.MIME type for the request body.
Allow-list constraints. The router still ranks by score but only considers listed providers.
Returns — TranscribeResult
Transcribed text.
Upstream provider that ran the request.
Provider-specific model identifier.
Model-reported confidence when available.
Number of providers tried before this one succeeded.
ID of the scoring run that selected this provider — useful for joining to benchmark data.
Example — non-default MIME + allow-list
Wire format
The audio ships as the raw HTTP body. The routing intent and constraints travel in two headers so no server-side re-parsing of the body is needed:Content-Type: value ofcontent_type(defaultaudio/wav).X-Speko-Intent: compact JSON{"language", "vertical", "optimizeFor"?}.X-Speko-Constraints: compact JSON whenconstraintsis set.
TranscribeResult.