diff --git a/backend/open_webui/apps/audio/main.py b/backend/open_webui/apps/audio/main.py index 486f63f93..0e5672013 100644 --- a/backend/open_webui/apps/audio/main.py +++ b/backend/open_webui/apps/audio/main.py @@ -493,18 +493,17 @@ def transcription( if ( os.path.getsize(file_path) > MAX_FILE_SIZE ): # Still larger than 25MB after compression - chunks = split_on_silence( - audio, min_silence_len=1000, silence_thresh=-40 + log.debug( + f"Compressed file size is still larger than {MAX_FILE_SIZE_MB}MB: {os.path.getsize(file_path)}" ) - texts = [] - for i, chunk in enumerate(chunks): - chunk_file_path = f"{file_dir}/{id}_chunk{i}.{ext}" - chunk.export(chunk_file_path, format=ext) - text = transcribe(chunk_file_path) - texts.append(text) - data = {"text": " ".join(texts)} - else: - data = transcribe(file_path) + raise HTTPException( + status_code=status.HTTP_400_BAD_REQUEST, + detail=ERROR_MESSAGES.FILE_TOO_LARGE( + size=f"{MAX_FILE_SIZE_MB}MB" + ), + ) + + data = transcribe(file_path) else: data = transcribe(file_path) diff --git a/backend/open_webui/constants.py b/backend/open_webui/constants.py index d55216bb5..98dbe32b2 100644 --- a/backend/open_webui/constants.py +++ b/backend/open_webui/constants.py @@ -90,6 +90,10 @@ class ERROR_MESSAGES(str, Enum): "The Ollama API is disabled. Please enable it to use this feature." ) + FILE_TOO_LARGE = ( + lambda size="": f"Oops! The file you're trying to upload is too large. Please upload a file that is less than {size}." + ) + class TASKS(str, Enum): def __str__(self) -> str: