feat: add provider interface and registry

This commit is contained in:
leonardotrapani
2026-01-31 20:34:33 +01:00
parent 5a4d99538f
commit 933bb6fc32
8 changed files with 392 additions and 1 deletions
+41
View File
@@ -0,0 +1,41 @@
package provider
// ElevenLabsProvider implements Provider for ElevenLabs services (transcription only)
type ElevenLabsProvider struct{}
func (p *ElevenLabsProvider) Name() string {
return "elevenlabs"
}
func (p *ElevenLabsProvider) RequiresAPIKey() bool {
return true
}
func (p *ElevenLabsProvider) ValidateAPIKey(key string) bool {
// ElevenLabs API keys don't have a consistent prefix, just check non-empty
return len(key) > 0
}
func (p *ElevenLabsProvider) SupportsTranscription() bool {
return true
}
func (p *ElevenLabsProvider) SupportsLLM() bool {
return false
}
func (p *ElevenLabsProvider) DefaultTranscriptionModel() string {
return "scribe_v1"
}
func (p *ElevenLabsProvider) DefaultLLMModel() string {
return ""
}
func (p *ElevenLabsProvider) TranscriptionModels() []string {
return []string{"scribe_v1", "scribe_v2"}
}
func (p *ElevenLabsProvider) LLMModels() []string {
return nil
}