diff --git a/src/huggingface_inference_toolkit/webservice_starlette.py b/src/huggingface_inference_toolkit/webservice_starlette.py index cf15a0d8..47662ef6 100644 --- a/src/huggingface_inference_toolkit/webservice_starlette.py +++ b/src/huggingface_inference_toolkit/webservice_starlette.py @@ -1,3 +1,4 @@ +import base64 import os from pathlib import Path from time import perf_counter @@ -95,6 +96,14 @@ async def predict(request): f"Body needs to provide a inputs key, received: {orjson.dumps(deserialized_body)}" ) + # Decode inputs conditioned on the task. + if "parameters" in deserialized_body and HF_TASK in { + "automatic-speech-recognition" + }: + deserialized_body["inputs"] = base64.b64decode( + deserialized_body["inputs"] + ) + # check for query parameter and add them to the body if request.query_params and "parameters" not in deserialized_body: deserialized_body["parameters"] = convert_params_to_int_or_bool(