Introducing Gradio Clients


New to Gradio? Start here: Getting Started

See the Release History




The main Client class for the Python client. This class is used to connect to a remote Gradio app and call its API endpoints.

Example usage

from gradio_client import Client

client = Client("abidlabs/whisper-large-v2")  # connecting to a Hugging Face Space
client.predict("test.mp4", api_name="/predict")
>> What a nice recording! # returns the result of the remote API call

client = Client("")  # connecting to a temporary Gradio share URL
job = client.submit("hello", api_name="/predict")  # runs the prediction in a background thread
>> 49 # returns the result of the remote API call (blocking call)



Event Listeners


Event listeners allow you to respond to user interactions with the UI components you've defined in a Gradio Blocks app. When a user interacts with an element, such as changing a slider value or uploading an image, a function is called.

Supported Event Listeners

The Client component supports the following event listeners. Each event listener takes the same parameters, which are listed in the Event Parameters table below.

Listener Description

Client.predict(fn, ยทยทยท)

Calls the Gradio API and returns the result (this is a blocking call). <br>

Client.submit(fn, ยทยทยท)

Creates and returns a Job object which calls the Gradio API in a background thread. The job can be used to retrieve the status and result of the remote API call. <br>

Client.view_api(fn, ยทยทยท)

Prints the usage info for the API. If the Gradio app has multiple API endpoints, the usage info for each endpoint will be printed separately. If return_format="dict" the info is returned in dictionary format, as shown in the example below. <br>

Client.duplicate(fn, ยทยทยท)

Duplicates a Hugging Face Space under your account and returns a Client object for the new Space. No duplication is created if the Space already exists in your account (to override this, provide a new name for the new Space using to_id). To use this method, you must provide an hf_token or be logged in via the Hugging Face Hub CLI. <br> The new Space will be private by default and use the same hardware as the original Space. This can be changed by using the private and hardware parameters. For hardware upgrades (beyond the basic CPU tier), you may be required to provide billing information on Hugging Face: <br>

Client.deploy_discord(fn, ยทยทยท)

Deploy the upstream app as a discord bot. Currently only supports gr.ChatInterface.

Event Parameters