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. | |