feat: register Eleven Labs as transcription provider

This commit is contained in:
Mateus Nobre
2026-01-06 22:51:16 -03:00
parent cfb4f990c8
commit 51bde05bff
2 changed files with 36 additions and 0 deletions
+6
View File
@@ -57,6 +57,12 @@ func NewTranscriber(config Config) (Transcriber, error) {
} }
adapter = NewMistralAdapter(config) adapter = NewMistralAdapter(config)
case "elevenlabs":
if config.APIKey == "" {
return nil, fmt.Errorf("ElevenLabs API key required")
}
adapter = NewElevenLabsAdapter(config)
default: default:
return nil, fmt.Errorf("unsupported provider: %s", config.Provider) return nil, fmt.Errorf("unsupported provider: %s", config.Provider)
} }
+30
View File
@@ -95,6 +95,36 @@ func TestNewTranscriber(t *testing.T) {
}, },
wantErr: true, wantErr: true,
}, },
{
name: "valid elevenlabs config with scribe_v1",
config: Config{
Provider: "elevenlabs",
APIKey: "test-key",
Language: "en",
Model: "scribe_v1",
},
wantErr: false,
},
{
name: "valid elevenlabs config with scribe_v2",
config: Config{
Provider: "elevenlabs",
APIKey: "test-key",
Language: "pt",
Model: "scribe_v2",
},
wantErr: false,
},
{
name: "elevenlabs config without api key",
config: Config{
Provider: "elevenlabs",
APIKey: "",
Language: "en",
Model: "scribe_v1",
},
wantErr: true,
},
{ {
name: "unsupported provider", name: "unsupported provider",
config: Config{ config: Config{