@@ -173,6 +173,32 @@ def transcribe_with_retry(
173173 f"AssemblyAI transcription error: { transcript .error } "
174174 )
175175 return transcript .text
176+
177+ elif model_name .startswith ("ganai/" ):
178+ url = 'https://os.gan.ai/v1/asr/transcribe'
179+ if use_url :
180+ ganai_api_key = os .getenv ("GANAI_API_KEY" )
181+ headers = {
182+ 'accept' : 'application/json' ,
183+ 'ganos-api-key' : ganai_api_key ,
184+ 'Content-Type' : 'application/json'
185+ }
186+
187+ data = {"input_audio_url" : sample ['row' ]['audio' ][0 ]['src' ]}
188+ response = requests .post (url , headers = headers , json = data )
189+ response = response .json ()
190+ else :
191+ url = 'https://os.gan.ai/v1/asr/transcribe'
192+ headers = {
193+ 'accept' : 'application/json' ,
194+ 'ganos-api-key' : 'Zrcn3NKDmQu8v6WIWG0X1eShZV_Q-adtSALJM8p5'
195+ }
196+ with open (audio_file_path , 'rb' ) as f :
197+ files = {'input_audio_file' : f }
198+ response = requests .post (url , headers = headers , files = files )
199+ response = response .json ()
200+
201+ return response ['results' ]['channels' ][0 ]['transcript' ]
176202
177203 elif model_name .startswith ("openai/" ):
178204 if use_url :
@@ -259,7 +285,7 @@ def transcribe_with_retry(
259285
260286 else :
261287 raise ValueError (
262- "Invalid model prefix, must start with 'assembly/', 'openai/', 'elevenlabs/' or 'revai/'"
288+ "Invalid model prefix, must start with 'assembly/', 'openai/', 'elevenlabs/', 'ganai/' or 'revai/'"
263289 )
264290
265291 except Exception as e :
@@ -416,7 +442,7 @@ def process_sample(sample):
416442 parser .add_argument (
417443 "--model_name" ,
418444 required = True ,
419- help = "Prefix model name with 'assembly/', 'openai/', 'elevenlabs/', 'revai/', or 'speechmatics/'" ,
445+ help = "Prefix model name with 'assembly/', 'openai/', 'elevenlabs/', 'revai/', 'ganai/' or 'speechmatics/'" ,
420446 )
421447 parser .add_argument ("--max_samples" , type = int , default = None )
422448 parser .add_argument (
0 commit comments