Install the nodes#
Use Python 3.10+ and a current ComfyUI with native V3 DynamicCombo and Save Video. Install from Comfy Registry or use the manual download below.
Install from Comfy Registry#
Activate ComfyUI's Python environment and install comfy-cli. Replace /path/to/ComfyUI with the folder containing main.py.
python -m pip install -U comfy-cliWith ComfyUI-Manager installed in that workspace, run the following command to refresh its node directory and install CheaperGen.
comfy --workspace "/path/to/ComfyUI" node install comfyui-cheapergen --mode remoteThe --mode remote option refreshes Manager's directory before installation. The first refresh can take several minutes and requires access to Comfy Registry. Restart ComfyUI after installation; no ZIP download is needed.
To install directly from Comfy Registry without ComfyUI-Manager, use this command instead.
comfy --workspace "/path/to/ComfyUI" node registry-install comfyui-cheapergenManual installation#
Download the ZIP, extract the ComfyUI-CheaperGen folder into custom_nodes, and install requirements.txt using ComfyUI’s Python. The folder must directly contain __init__.py. Restart ComfyUI after installation.
unzip ~/Downloads/ComfyUI-CheaperGen-Unified-0.5.0.zip -d /path/to/ComfyUI/custom_nodes
/path/to/ComfyUI/.venv/bin/python -m pip install -r /path/to/ComfyUI/custom_nodes/ComfyUI-CheaperGen/requirements.txtReplace example paths with your actual installation paths. Desktop may use a separate custom_nodes directory; check its startup log. Keep the user/cheapergen state directory across updates.
Connect your account#
Create an API key and add credits in your dashboard. Set CHEAPERGEN_API_KEY in the environment that launches the backend, then restart. Never put keys in workflow JSON. Everyone using one backend shares its key and balance.
export CHEAPERGEN_API_KEY='your-api-key'Image and Video nodes#
CheaperGen · Image#
Select Model and Generation mode to reveal the matching parameters and IMAGE inputs. Connect images to Save Image or Preview Image. Image results keep their original dimensions.
CheaperGen · Video#
Select a model and mode, then connect video to Save Video. For image-to-video, connect Load Image or Image.images to image_url. The native VIDEO output preserves audio.
image_urls_json, video_url and generation_id are text outputs. Optionally connect them to Preview as Text to inspect or copy them. Leave them unconnected when saving media through images or video.
Example workflows#
Download a JSON example and open or drag it into ComfyUI. Choose your own file for image inputs. End the workflow with Save Image, Preview Image or Save Video so ComfyUI has an output node.
CheaperGen · Image → Save Image
CheaperGen · Video → Save Video
CheaperGen · Image (images) → CheaperGen · Video (image_url) → Save VideoBudget and task identity#
Set max_cost_usd to your spending ceiling, not a price quote. Video examples use Seedance 2.0 Mini, 480p, 4 seconds and a $0.50 limit. Run checks the price and may spend credits. allow_fallback_price is off by default.
Unchanged inputs and request_token reuse the existing task to avoid duplicate charges. Changing settings identifies a separate request. Click New paid generation only to request another paid attempt with identical settings; the button itself does not submit.
Current generation ID appears after submission, with a copy button. Normal output ports become available only after the node finishes generating and downloading. No submitted task means no new ID.
Interrupt and wait_timeout stop local waiting only. Server execution and billing may continue. Check your dashboard before starting another attempt, and keep the user/cheapergen state directory across upgrades.