from key import KEY from openai import OpenAI from pathlib import Path client = OpenAI(api_key=KEY) audio_file = open(Path(__file__).parent / "saved_model" / "HELLO.mp3", "rb") transcript = client.audio.transcriptions.create( model="whisper-1", file=audio_file, response_format="verbose_json", timestamp_granularities=["word"] ) print(transcript) print(transcript.to_json()) # ❯ /Users/user/models/WhisperReproduction/.venv/bin/python /Users/user/models/WhisperReproduction/main.py # TranscriptionVerbose(duration=2.559999942779541, language='english', text='Hello, how are you?', segments=None, words=[TranscriptionWord(end=1.2799999713897705, start=0.800000011920929, word='Hello'), TranscriptionWord(end=1.7000000476837158, start=1.2799999713897705, word='how'), TranscriptionWord(end=1.7999999523162842, start=1.7000000476837158, word='are'), TranscriptionWord(end=2.0399999618530273, start=1.7999999523162842, word='you')], task='transcribe') # /Users/user/models/WhisperReproduction/.venv/lib/python3.10/site-packages/pydantic/main.py:477: UserWarning: Pydantic serializer warnings: # Expected `str` but got `float` with value `2.559999942779541` - serialized value may not be as expected # return self.__pydantic_serializer__.to_json( # { # "duration": 2.559999942779541, # "language": "english", # "text": "Hello, how are you?", # "words": [ # { # "end": 1.2799999713897705, # "start": 0.800000011920929, # "word": "Hello" # }, # { # "end": 1.7000000476837158, # "start": 1.2799999713897705, # "word": "how" # }, # { # "end": 1.7999999523162842, # "start": 1.7000000476837158, # "word": "are" # }, # { # "end": 2.0399999618530273, # "start": 1.7999999523162842, # "word": "you" # } # ], # "task": "transcribe" # } # audio_file = open(Path(__file__).parent / "saved_model" / "chatgpt_longest_ish.wav", "rb") # transcript = client.audio.transcriptions.create( # model="whisper-1", # file=audio_file # ) # Transcription(text='Hello, how are you?') second or less # Transcription(text='...Of course, there's also computer animation, which has opened up endless possibilities for creativity. What's your favorite type of animation?') 4m 9s # ❯ /Users/user/models/WhisperReproduction/.venv/bin/python /Users/user/models/WhisperReproduction/main.py # Traceback (most recent call last): # File "/Users/user/models/WhisperReproduction/main.py", line 8, in # transcript = client.audio.transcriptions.create( # File "/Users/user/models/WhisperReproduction/.venv/lib/python3.10/site-packages/openai/resources/audio/transcriptions.py", line 188, in create # return self._post( # type: ignore[return-value] # File "/Users/user/models/WhisperReproduction/.venv/lib/python3.10/site-packages/openai/_base_client.py", line 1283, in post # return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls)) # File "/Users/user/models/WhisperReproduction/.venv/lib/python3.10/site-packages/openai/_base_client.py", line 960, in request # return self._request( # File "/Users/user/models/WhisperReproduction/.venv/lib/python3.10/site-packages/openai/_base_client.py", line 1049, in _request # return self._retry_request( # File "/Users/user/models/WhisperReproduction/.venv/lib/python3.10/site-packages/openai/_base_client.py", line 1098, in _retry_request # return self._request( # File "/Users/user/models/WhisperReproduction/.venv/lib/python3.10/site-packages/openai/_base_client.py", line 1049, in _request # return self._retry_request( # File "/Users/user/models/WhisperReproduction/.venv/lib/python3.10/site-packages/openai/_base_client.py", line 1098, in _retry_request # return self._request( # File "/Users/user/models/WhisperReproduction/.venv/lib/python3.10/site-packages/openai/_base_client.py", line 1064, in _request # raise self._make_status_error_from_response(err.response) from None # openai.APIStatusError: Error code: 413 - {'error': {'message': '413: Maximum content size limit (26214400) exceeded (26293319 bytes read)', 'type': 'server_error', 'param': None, 'code': None}} # ~/models/WhisperReproduction main* 2m 5s # print(transcript)