Class TranscriptionClient
- Namespace
- Mabs.AudioCpp
- Assembly
- AudioCpp.dll
Transcription against POST /v1/audio/transcriptions, its details/batch/live
siblings, and SSE streaming.
public sealed class TranscriptionClient
- Inheritance
-
TranscriptionClient
- Inherited Members
Methods
TranscribeAsync(TranscriptionRequest, CancellationToken)
Transcribe audio. The JSON body form uses AudioPath (server-local path); the multipart upload form uses AudioFile. Exactly one must be set.
public Task<TranscriptionResult> TranscribeAsync(TranscriptionRequest request, CancellationToken cancellationToken = default)
Parameters
requestTranscriptionRequestThe transcription request (validated before sending).
cancellationTokenCancellationTokenCancellation token.
Returns
- Task<TranscriptionResult>
The transcription result.
Exceptions
- AudioCppException
The request failed.
TranscribeBatchAsync(BatchTranscriptionRequest, Func<BatchTranscriptionEvent, Task>, CancellationToken)
Callback variant of TranscribeBatchAsync(BatchTranscriptionRequest, CancellationToken).
public Task TranscribeBatchAsync(BatchTranscriptionRequest request, Func<BatchTranscriptionEvent, Task> onEvent, CancellationToken cancellationToken = default)
Parameters
requestBatchTranscriptionRequestThe batch request.
onEventFunc<BatchTranscriptionEvent, Task>Callback invoked for each event; iteration stops if it throws.
cancellationTokenCancellationTokenCancellation token.
Returns
- Task
Completes when the stream terminates or the callback stops consuming events.
Exceptions
- AudioCppException
The response failed or an SSE error event arrives.
TranscribeBatchAsync(BatchTranscriptionRequest, CancellationToken)
Native transcription batch: several WAV uploads through one batched run of a native-batching model. Results stream per file as the model finishes it; Index maps a result back to its upload position.
public IAsyncEnumerable<BatchTranscriptionEvent> TranscribeBatchAsync(BatchTranscriptionRequest request, CancellationToken cancellationToken = default)
Parameters
requestBatchTranscriptionRequestThe batch request (validated before sending).
cancellationTokenCancellationTokenCancellation token observed while enumerating.
Returns
- IAsyncEnumerable<BatchTranscriptionEvent>
The event sequence; iteration ends at
[DONE]or connection close.
Exceptions
- AudioCppException
The response failed or an SSE error event arrives.
TranscribeDetailsAsync(TranscriptionDetailsRequest, CancellationToken)
Transcribe with the detail arrays (segments, speaker turns, words) the model produced.
Same inputs as TranscribeAsync(TranscriptionRequest, CancellationToken); the server rejects stream on
this route.
public Task<TranscriptionDetailsResult> TranscribeDetailsAsync(TranscriptionDetailsRequest request, CancellationToken cancellationToken = default)
Parameters
requestTranscriptionDetailsRequestThe details request (validated before sending).
cancellationTokenCancellationTokenCancellation token.
Returns
- Task<TranscriptionDetailsResult>
The transcription result with detail arrays.
Exceptions
- AudioCppException
The request failed.
TranscribeLiveAsync(LiveTranscriptionRequest, Stream, Func<TranscriptEvent, Task>, CancellationToken)
Callback variant of TranscribeLiveAsync(LiveTranscriptionRequest, Stream, CancellationToken).
public Task TranscribeLiveAsync(LiveTranscriptionRequest request, Stream pcmInput, Func<TranscriptEvent, Task> onEvent, CancellationToken cancellationToken = default)
Parameters
requestLiveTranscriptionRequestThe live request.
pcmInputStreamThe PCM stream to upload; EOF marks end-of-speech.
onEventFunc<TranscriptEvent, Task>Callback invoked for each event; iteration stops if it throws.
cancellationTokenCancellationTokenCancellation token.
Returns
- Task
Completes when the stream terminates or the callback stops consuming events.
Exceptions
- AudioCppException
The response failed or an SSE error event arrives.
TranscribeLiveAsync(LiveTranscriptionRequest, Stream, CancellationToken)
Live capture: raw PCM pulled from pcmInput as it produces data
(chunked request body), transcript events on the same connection. Requires
full-duplex HTTP; throws PlatformNotSupportedException on platforms
that cannot stream a request body while reading the response (browser/WASM). The
request ends — the model's end-of-speech signal — when pcmInput
reaches EOF.
public IAsyncEnumerable<TranscriptEvent> TranscribeLiveAsync(LiveTranscriptionRequest request, Stream pcmInput, CancellationToken cancellationToken = default)
Parameters
requestLiveTranscriptionRequestThe live request; all fields travel as query parameters.
pcmInputStreamThe PCM stream to upload; EOF marks end-of-speech.
cancellationTokenCancellationTokenCancellation token observed while enumerating.
Returns
- IAsyncEnumerable<TranscriptEvent>
The event sequence; iteration ends at
[DONE]or connection close.
Exceptions
- AudioCppException
The response failed or an SSE error event arrives.
TranscribeStreamAsync(TranscriptionRequest, Func<TranscriptEvent, Task>, CancellationToken)
Callback variant of TranscribeStreamAsync(TranscriptionRequest, CancellationToken).
public Task TranscribeStreamAsync(TranscriptionRequest request, Func<TranscriptEvent, Task> onEvent, CancellationToken cancellationToken = default)
Parameters
requestTranscriptionRequestThe transcription request.
onEventFunc<TranscriptEvent, Task>Callback invoked for each event; iteration stops if it throws.
cancellationTokenCancellationTokenCancellation token.
Returns
- Task
Completes when the stream terminates or the callback stops consuming events.
Exceptions
- AudioCppException
The response failed or an SSE error event arrives.
TranscribeStreamAsync(TranscriptionRequest, CancellationToken)
Stream a transcript as SSE events (requires a model configured with
mode: "streaming"). Uploads the file with the stream=true field when
AudioFile is set, or sends the JSON body with
stream=true when AudioPath is set.
public IAsyncEnumerable<TranscriptEvent> TranscribeStreamAsync(TranscriptionRequest request, CancellationToken cancellationToken = default)
Parameters
requestTranscriptionRequestThe transcription request (validated before sending).
cancellationTokenCancellationTokenCancellation token observed while enumerating.
Returns
- IAsyncEnumerable<TranscriptEvent>
The event sequence; iteration ends at
[DONE]or connection close.
Exceptions
- AudioCppException
The response failed or an SSE error event arrives.