Issue while running FastAPI TTS(Text To Speech) Docker Image on Serverless
We have made a TTS model that converts text input into an audio file. To serve this model, we created a REST API using the FastAPI framework with multiple endpoints, each performing specific tasks based on the text input. After building the API, we created a Dockerfile, pushed the image to Docker Hub, and attempted to run it on a serverless platform. However, while the container works perfectly on a local setup, it fails to run on the serverless environment.
Could you assist with how to successfully run the RestAPI container on a serverless platform, and once the container is running, how to access the FastAPI endpoints to send text input and get audio responses?
Docker File:
2 Replies
You will need to write a handler using Python using the RunPod module. When you do this your handler will accept POST (JSON) requests to the RUN and RUNSYNC endpoints and returns JSON to the end user. Because of this you don't really need FastAPI. You can use the RunPod interface. If you do not want to remove the FastAPI you can code your handler to connect to it on 127.0.0.1 and act as a proxy between the user and the FastAPI. You can get started with this: https://docs.runpod.io/serverless/workers/handlers/overview
Overview | RunPod Documentation
Create and deploy serverless Handler Functions with RunPod, processing submitted inputs and generating output without managing server infrastructure, ideal for efficient, cost-effective, and rapid deployment of code.
Okay let me try this and get back to you , thanks for help