using AIStudio.Provider; using static AIStudio.Provider.Capability; namespace AIStudio.Models.OpenAI; /// /// Whisper, which listens and writes down what it heard. /// /// /// OpenAI built it and released the weights, so it turns up far beyond OpenAI's own API: Fireworks, /// the GWDG, and Groq all serve a Whisper. This family is bound to no provider for that reason -- /// it is the same model wherever it runs, and the previous rules answered for it at every one of /// those places with the global fallback, tool calling included. /// public sealed class WhisperFamily : ModelFamily { /// public override ModelVendor Vendor => ModelVendor.OPEN_AI; /// public override ModelSource Source => new("https://platform.openai.com/docs/guides/speech-to-text", new DateOnly(2026, 9, 11), "The app lists these under IProvider.GetTranscriptionModels, which is where the statement that they transcribe comes from."); /// protected override void Declare(ModelFamilyBuilder builder) => builder.Rule("whisper").AsSegment() .Capabilities(SPEECH_INPUT | TEXT_OUTPUT) .Kind(ModelKind.TRANSCRIPTION); }