Ino Http Call
Make a REST call from inside a workflow — no API key, no extra install
- success
- status_code
- message
- response
Need to ping a health endpoint, post a result to a webhook, or talk to some random REST service from the middle of a ComfyUI workflow? That's Ino Http Call. It's a full HTTP client as a node - GET, POST, PUT, DELETE, PATCH - returning status code, message, and the response body as strings. No API key to configure, no external tool to install, just the aiohttp library the pack already depends on.
It's the single node in the pack's InoHttpHelper category, and it's the connective tissue for the whole ComfyUI-InoNodes automation philosophy: this pack wants you to build pipelines that reach out to the world, not just generate pixels.
The inputs that matter
url- the endpoint. Defaults to a local health-check URL.request_type- dropdown:get,post,put,delete,patch.headers- a JSON string of headers. Default is{"Connection": "keep-alive"}.json_payload- a JSON string body for POST/PUT/PATCH. Leave empty for a bodyless request.
Three optional toggles refine the behavior: trust_env (let the request honor environment proxy settings), allow_redirects (off by default - worth knowing if your URL 302s), and max_retries (default 10, capped at 50).
Outputs: success (boolean), status_code (int), message (a summary), and response - the body as a string, ready to be parsed by the pack's JSON nodes.
How it works
It builds an async HTTP client from the shared inopyutils library with your retry and proxy settings, parses headers and json_payload (they're JSON strings on the node; invalid JSON just becomes an empty dict rather than crashing), fires the request, and returns the result. If you get a non-2xx response, success reflects whether the request succeeded - which is a subtlety worth internalizing: the node reports transport success, and the status_code + response are there for you to judge the application's answer yourself.
Where it fits
- Webhooks. Post a "batch finished, files here" payload to your automation service at the end of a run.
- Health checks / monitoring. Hit a service and branch on
successto decide whether the workflow proceeds. - Talking to local tools. The default URL is a localhost health endpoint - plenty of people run a second service on their box and want the graph to check on it.
- Handing data to an API. Build a JSON body with
Ino Json Set Field, POST it, and parse the response withIno Json Get Field.
Gotchas
The response is returned as a string, so if it's JSON you'll want to run it through a parse node before using it. Remember allow_redirects defaults to false - if your endpoint redirects (HTTP→HTTPS, or a CDN bounce), the call fails until you flip it. And this node is async: it won't freeze the UI on a slow endpoint, but that also means you get no progress feedback for a long call. Also, max_retries with a dead endpoint means waiting - set it lower for quick health checks.
Installation
Part of ComfyUI-InoNodes:
- ComfyUI Manager: search "ComfyUI Ino Nodes", install, restart.
- Manual:
cd ComfyUI/custom_nodes && git clone https://github.com/nobandegani/comfyui_ino_nodes && cd comfyui_ino_nodes && pip install -r requirements.txt, restart.
Python 3.10+, ComfyUI 0.18.1+ (V3 schema). No model files, no API keys for the node itself (the endpoint you call may want one, and that goes in headers). aiohttp comes with the pack's dependencies.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| enabled | BOOLEAN | true | — |
| url | STRING | http://127.0.0.1:3313/health | — |
| request_type | COMBO | 5 options: get, post, put, delete, patch | |
| headers | STRING | {"Connection": "keep-alive"} | — |
| json_payload | STRING | — | |
| trust_envopt | BOOLEAN | false | — |
| allow_redirectsopt | BOOLEAN | false | — |
| max_retriesopt | INT | 101–50 | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| success | BOOLEAN | — |
| status_code | INT | — |
| message | STRING | — |
| response | STRING | — |