Spaces:
Sleeping
Sleeping
# Using Gradio API with curl.exe on Windows | |
This guide explains how to interact with any Gradio app as an API using `curl.exe` from Windows PowerShell. It covers both public Hugging Face Spaces and local Gradio apps. | |
## Prerequisites | |
- Windows with PowerShell | |
- `curl.exe` (included in Windows 10+) | |
- The URL of your Gradio app (public or local, e.g., http://127.0.0.1:7860/) | |
## Step 1: Prepare Your Input | |
Create a file named `payload.json` in your working directory. For a local MCP Gradio app, the payload might look like: | |
```json | |
{ | |
"data": [ | |
"https://mcp.composio.dev/composio/server/ca1477ae-dffb-404c-9021-ef25ff440221/mcp", | |
"SALESFORCE_RETRIEVE_LEAD_BY_ID", | |
"{\"id\": \"00QgK0000005yjVUAQ\"}" | |
] | |
} | |
``` | |
## Step 2: Make the POST Request (Local Gradio) | |
Send your input to the local Gradio API endpoint using this command: | |
```powershell | |
curl.exe -X POST http://127.0.0.1:7860/gradio_api/call/predict -s -H "Content-Type: application/json" -d '@payload.json' | |
``` | |
This returns a JSON response with an `event_id`, e.g.: | |
```json | |
{"event_id":"YOUR_EVENT_ID"} | |
``` | |
## Step 3: Fetch the Result (Local Gradio) | |
Use the `event_id` from the previous step to fetch the result: | |
```powershell | |
curl.exe -N http://127.0.0.1:7860/gradio_api/call/predict/YOUR_EVENT_ID | |
``` | |
You will see output like: | |
``` | |
event: complete | |
data: [ ... ] | |
``` | |
## Example for Public Gradio Apps (Production) | |
For the production Gradio Space, use the following endpoint and adjust the payload as needed: | |
```powershell | |
curl.exe -X POST https://boardflare-mcp-client.hf.space/gradio_api/call/predict -s -H "Content-Type: application/json" -d '@payload.json' | |
``` | |
This returns a JSON response with an `event_id`, e.g.: | |
```json | |
{"event_id":"YOUR_EVENT_ID"} | |
``` | |
Then fetch the result with: | |
```powershell | |
curl.exe -N https://boardflare-mcp-client.hf.space/gradio_api/call/predict/YOUR_EVENT_ID | |
``` | |
You will see output like: | |
``` | |
event: complete | |
data: [ ... ] | |
``` | |
## Notes | |
- For Gradio apps with multiple inputs, adjust the `data` array in `payload.json` accordingly. | |
- For private Spaces, add your Hugging Face token with `-H "Authorization: Bearer YOUR_TOKEN"` to both requests. | |
- For file inputs, use a dictionary with a `path` key pointing to a file URL. | |
- If authentication is required, first POST to `/login` and use the returned cookies in subsequent requests. | |
## Troubleshooting | |
- Always use single quotes around `@payload.json` in PowerShell to avoid variable expansion errors. | |
- If you get JSON errors, check your `payload.json` formatting. | |
- If you get a 404 or "Not Found" error, check the endpoint path (e.g., `/gradio_api/call/predict` for local apps). | |
--- | |
This guide is based on the official Gradio documentation and adapted for both public and local Windows PowerShell use cases. | |