@@ -84,21 +84,29 @@ type Transcriber interface {
8484
8585// langLabels maps ISO-639-1 codes to display names.
8686var langLabels = map [string ]string {
87- "af" : "Afrikaans" , "ar" : "Arabic" , "hy" : "Armenian" , "az" : "Azerbaijani" ,
88- "be" : "Belarusian" , "bs" : "Bosnian" , "bg" : "Bulgarian" , "ca" : "Catalan" ,
89- "zh" : "Chinese" , "hr" : "Croatian" , "cs" : "Czech" , "da" : "Danish" ,
90- "nl" : "Dutch" , "en" : "English" , "et" : "Estonian" , "fi" : "Finnish" ,
91- "fr" : "French" , "gl" : "Galician" , "de" : "German" , "el" : "Greek" ,
87+ "af" : "Afrikaans" , "am" : "Amharic" , "ar" : "Arabic" , "hy" : "Armenian" ,
88+ "as" : "Assamese" , "az" : "Azerbaijani" , "be" : "Belarusian" , "bn" : "Bengali" ,
89+ "bs" : "Bosnian" , "bg" : "Bulgarian" , "my" : "Burmese" , "ca" : "Catalan" ,
90+ "ny" : "Chichewa" , "zh" : "Chinese" , "hr" : "Croatian" , "cs" : "Czech" ,
91+ "da" : "Danish" , "nl" : "Dutch" , "en" : "English" , "et" : "Estonian" ,
92+ "fi" : "Finnish" , "fr" : "French" , "gl" : "Galician" , "ka" : "Georgian" ,
93+ "de" : "German" , "el" : "Greek" , "gu" : "Gujarati" , "ha" : "Hausa" ,
9294 "he" : "Hebrew" , "hi" : "Hindi" , "hu" : "Hungarian" , "is" : "Icelandic" ,
93- "id" : "Indonesian" , "it" : "Italian" , "ja" : "Japanese" , "kn" : "Kannada" ,
94- "kk" : "Kazakh" , "ko" : "Korean" , "lv" : "Latvian" , "lt" : "Lithuanian" ,
95- "mk" : "Macedonian" , "ms" : "Malay" , "mr" : "Marathi" , "mi" : "Maori" ,
96- "ne" : "Nepali" , "no" : "Norwegian" , "fa" : "Persian" , "pl" : "Polish" ,
97- "pt" : "Portuguese" , "ro" : "Romanian" , "ru" : "Russian" , "sr" : "Serbian" ,
98- "sk" : "Slovak" , "sl" : "Slovenian" , "es" : "Spanish" , "sw" : "Swahili" ,
99- "sv" : "Swedish" , "tl" : "Tagalog" , "ta" : "Tamil" , "th" : "Thai" ,
100- "tr" : "Turkish" , "uk" : "Ukrainian" , "ur" : "Urdu" , "vi" : "Vietnamese" ,
101- "cy" : "Welsh" ,
95+ "ig" : "Igbo" , "id" : "Indonesian" , "ga" : "Irish" , "it" : "Italian" ,
96+ "ja" : "Japanese" , "jv" : "Javanese" , "kn" : "Kannada" , "kk" : "Kazakh" ,
97+ "km" : "Khmer" , "ko" : "Korean" , "ku" : "Kurdish" , "ky" : "Kyrgyz" ,
98+ "lo" : "Lao" , "lv" : "Latvian" , "ln" : "Lingala" , "lt" : "Lithuanian" ,
99+ "lb" : "Luxembourgish" , "mk" : "Macedonian" , "ms" : "Malay" , "ml" : "Malayalam" ,
100+ "mt" : "Maltese" , "mi" : "Maori" , "mr" : "Marathi" , "mn" : "Mongolian" ,
101+ "ne" : "Nepali" , "no" : "Norwegian" , "oc" : "Occitan" , "or" : "Odia" ,
102+ "ps" : "Pashto" , "fa" : "Persian" , "pl" : "Polish" , "pt" : "Portuguese" ,
103+ "pa" : "Punjabi" , "ro" : "Romanian" , "ru" : "Russian" , "sr" : "Serbian" ,
104+ "sn" : "Shona" , "sd" : "Sindhi" , "sk" : "Slovak" , "sl" : "Slovenian" ,
105+ "so" : "Somali" , "es" : "Spanish" , "sw" : "Swahili" , "sv" : "Swedish" ,
106+ "ta" : "Tamil" , "tg" : "Tajik" , "te" : "Telugu" , "th" : "Thai" ,
107+ "tl" : "Tagalog" , "tr" : "Turkish" , "uk" : "Ukrainian" , "ur" : "Urdu" ,
108+ "uz" : "Uzbek" , "vi" : "Vietnamese" , "cy" : "Welsh" , "wo" : "Wolof" ,
109+ "xh" : "Xhosa" , "zu" : "Zulu" ,
102110}
103111
104112func langsFromCodes (codes []string ) []Language {
@@ -170,6 +178,7 @@ func New() (Transcriber, error) {
170178 openaiKey := os .Getenv ("OPENAI_API_KEY" )
171179 groqKey := os .Getenv ("GROQ_API_KEY" )
172180 mistralKey := os .Getenv ("MISTRAL_API_KEY" )
181+ elevenLabsKey := os .Getenv ("ELEVENLABS_API_KEY" )
173182
174183 if dgKey != "" {
175184 return NewDeepgram (dgKey ), nil
@@ -183,6 +192,9 @@ func New() (Transcriber, error) {
183192 if mistralKey != "" {
184193 return NewMistral (mistralKey ), nil
185194 }
195+ if elevenLabsKey != "" {
196+ return NewElevenLabs (elevenLabsKey ), nil
197+ }
186198
187- return nil , fmt .Errorf ("set DEEPGRAM_API_KEY, OPENAI_API_KEY, GROQ_API_KEY, or MISTRAL_API_KEY environment variable" )
199+ return nil , fmt .Errorf ("set DEEPGRAM_API_KEY, OPENAI_API_KEY, GROQ_API_KEY, MISTRAL_API_KEY, or ELEVENLABS_API_KEY environment variable" )
188200}
0 commit comments