diff --git a/internal/transcriber/transcriber.go b/internal/transcriber/transcriber.go index 70a69b7..1dcfecb 100644 --- a/internal/transcriber/transcriber.go +++ b/internal/transcriber/transcriber.go @@ -57,6 +57,12 @@ func NewTranscriber(config Config) (Transcriber, error) { } adapter = NewMistralAdapter(config) + case "elevenlabs": + if config.APIKey == "" { + return nil, fmt.Errorf("ElevenLabs API key required") + } + adapter = NewElevenLabsAdapter(config) + default: return nil, fmt.Errorf("unsupported provider: %s", config.Provider) } diff --git a/internal/transcriber/transcriber_test.go b/internal/transcriber/transcriber_test.go index 700fd3c..fa552a6 100644 --- a/internal/transcriber/transcriber_test.go +++ b/internal/transcriber/transcriber_test.go @@ -95,6 +95,36 @@ func TestNewTranscriber(t *testing.T) { }, 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", config: Config{