Table of Contents

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

request TranscriptionRequest

The transcription request (validated before sending).

cancellationToken CancellationToken

Cancellation token.

Returns

Task<TranscriptionResult>

The transcription result.

Exceptions

AudioCppException

The request failed.

TranscribeBatchAsync(BatchTranscriptionRequest, Func<BatchTranscriptionEvent, Task>, CancellationToken)

public Task TranscribeBatchAsync(BatchTranscriptionRequest request, Func<BatchTranscriptionEvent, Task> onEvent, CancellationToken cancellationToken = default)

Parameters

request BatchTranscriptionRequest

The batch request.

onEvent Func<BatchTranscriptionEvent, Task>

Callback invoked for each event; iteration stops if it throws.

cancellationToken CancellationToken

Cancellation 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

request BatchTranscriptionRequest

The batch request (validated before sending).

cancellationToken CancellationToken

Cancellation 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

request TranscriptionDetailsRequest

The details request (validated before sending).

cancellationToken CancellationToken

Cancellation token.

Returns

Task<TranscriptionDetailsResult>

The transcription result with detail arrays.

Exceptions

AudioCppException

The request failed.

TranscribeLiveAsync(LiveTranscriptionRequest, Stream, Func<TranscriptEvent, Task>, CancellationToken)

public Task TranscribeLiveAsync(LiveTranscriptionRequest request, Stream pcmInput, Func<TranscriptEvent, Task> onEvent, CancellationToken cancellationToken = default)

Parameters

request LiveTranscriptionRequest

The live request.

pcmInput Stream

The PCM stream to upload; EOF marks end-of-speech.

onEvent Func<TranscriptEvent, Task>

Callback invoked for each event; iteration stops if it throws.

cancellationToken CancellationToken

Cancellation 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

request LiveTranscriptionRequest

The live request; all fields travel as query parameters.

pcmInput Stream

The PCM stream to upload; EOF marks end-of-speech.

cancellationToken CancellationToken

Cancellation 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)

public Task TranscribeStreamAsync(TranscriptionRequest request, Func<TranscriptEvent, Task> onEvent, CancellationToken cancellationToken = default)

Parameters

request TranscriptionRequest

The transcription request.

onEvent Func<TranscriptEvent, Task>

Callback invoked for each event; iteration stops if it throws.

cancellationToken CancellationToken

Cancellation 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

request TranscriptionRequest

The transcription request (validated before sending).

cancellationToken CancellationToken

Cancellation 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.