Use when evaluating, extending, or writing C# code for conversational speech-to-text, Flux-style real-time transcription, or turn-taking streaming in the Deepgram .NET SDK. Identifies missing Flux request parameters (language_hint, eot_threshold), maps existing WebSocket response types, provides the closest supported LiveSchema code path, and guides adding TurnInfo models and Flux examples. Use `deepgram-dotnet-speech-to-text` for standard streaming transcription without turn awareness.
93
93%
Does it follow best practices?
Impact
94%
1.25xAverage score across 3 eval scenarios
Passed
No findings from the security scan
This repo does not currently expose a dedicated Flux / conversational STT API surface comparable to the Python SDK's listen.v2.connect(...) + TurnInfo flow.
Use a different skill when:
deepgram-dotnet-speech-to-text.deepgram-dotnet-voice-agent.What exists:
ClientFactory.CreateListenWebSocketClient() returns the latest WebSocket listen client.Deepgram.Models.Listen.v2.WebSocket.LiveSchema.OpenResponse, MetadataResponse, ResultResponse, SpeechStartedResponse, UtteranceEndResponse, CloseResponse, ErrorResponse, UnhandledResponse.SendKeepAlive(), SendFinalize(), SendClose(), Send(...).What is not present in the current repo search:
flux model constants or examples.TurnInfo / turn-aware event models.language_hint, eager_eot_threshold, eot_threshold, or similar Flux request properties.using Deepgram;
using Deepgram.Models.Listen.v2.WebSocket;
Library.Initialize(); // reads DEEPGRAM_API_KEY env var
var liveClient = ClientFactory.CreateListenWebSocketClient();
await liveClient.Subscribe(new EventHandler<ResultResponse>((sender, e) =>
{
var transcript = e.Channel.Alternatives[0].Transcript;
if (!string.IsNullOrWhiteSpace(transcript))
{
Console.WriteLine(transcript);
}
}));
await liveClient.Subscribe(new EventHandler<UtteranceEndResponse>((sender, e) =>
{
Console.WriteLine(e.Type);
}));
await liveClient.Connect(new LiveSchema()
{
Model = "nova-3",
Encoding = "linear16",
SampleRate = 16000,
InterimResults = true,
UtteranceEnd = "1000",
VadEvents = true,
});Treat this as standard live STT, not true Flux parity.
On LiveSchema: Model, Encoding, SampleRate, InterimResults, UtteranceEnd, VadEvents, Endpointing, NoDelay, Punctuate, SmartFormat, Keywords, Keyterm, Diarize, Redact.
If the task requires real Flux parity, follow these steps in order:
Deepgram/Models/Listen/v2/WebSocket/LiveSchema.cs with LanguageHint, EagerEotThreshold, EotThreshold, and other Flux-specific fields. Validate against the AsyncAPI spec.TurnInfo and any turn-aware event types under Deepgram/Models/Listen/v2/WebSocket/. Verify field names match the AsyncAPI spec.Deepgram/Clients/Listen/v2/WebSocket/Client.cs to deserialize and dispatch new event types.examples/speech-to-text/websocket/flux/Program.cs demonstrating a Flux session with turn-taking.TurnInfo-style .NET models or ConnectFluxAsync(...) helpers that are not backed by real implementation.Listen.v2.WebSocket naming is misleading for Python-parity expectations. It is the newest streaming client, but not a full conversational surface.DeepgramWsClientOptions defaults APIVersion to v1. Inspect connection URIs before assuming /v2/listen behavior.examples/speech-to-text/websocket/file/Program.csexamples/speech-to-text/websocket/http/Program.csexamples/speech-to-text/websocket/microphone/Program.csDeepgram/Clients/Listen/v2/WebSocket/Client.cs, Deepgram/Models/Listen/v2/WebSocket/*.csdeepgram/deepgram-dotnet-sdk
d954b5a
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.