first-result.png. This sample creates a 512 × 512 solid blue image using two built-in nodes. It verifies authentication, workflow execution, and output download without requiring a model, an input image, or custom nodes.
To generate an image by calling a hosted model directly, start with the Comfy Router quickstart.
Before you start
- A Comfy API key.
- A paid Comfy Cloud subscription. Cloud workflow API access is not included in the free tier.
- Python 3.10 or newer, or Node.js 22.18 or newer for the TypeScript example.
COMFY_BASE_URL, unset it to use Cloud. For an existing Comfy API deployment or a self-hosted instance, see Choosing a base URL.
1. Download the sample
Create a folder for the example. Download workflow_api.json and the script for your language into that folder: The workflow is already in API format. Node"1" creates the blue image and node "2" saves it. The scripts read outputs from that exact SaveImage node, so you do not need to find or edit a node ID.
2. Install the SDK and set your key
Open a terminal in the folder where you saved the files..venv\Scripts\Activate.ps1 in PowerShell.
Set your key in the same terminal:
3. Run and view the result
Saved followed by a path, open first-result.png from that location. You should see a solid blue square. Running the sample again replaces that local file.
This is a workflow connection check. It does not use a generative model. The same submit, wait, and download steps work with your own generation workflows.
If the request fails
- Missing key or unauthorized: check that
COMFY_API_KEYis set in the terminal running the script and contains an active key. - Access or credit error: check your Cloud subscription and available credits before retrying.
- Workflow file not found: keep
workflow_api.jsonnext to the downloaded script. - Unexpected endpoint: check
COMFY_BASE_URL. Unset it for this Cloud example.
4. Run your own generation workflow
Build or choose a workflow in the ComfyUI editor, run it successfully there, and export it in API format. Replaceworkflow_api.json with your export and update get_outputs("2") in Python or getOutputs("2") in TypeScript to use your workflow’s SaveImage node ID. Check that the target environment has the models and custom nodes your workflow uses.
To host workflows with your own models and custom nodes, create a Comfy API deployment. To change workflow inputs, upload files, or watch progress, continue to Comfy SDKs.