FreedomGPT Generate Image
Generate images from a cloud API, no local GPU required
- image
- image1
- image2
- image3
- image4
- history
- images
- text
- history
FreedomGPT Generate Image is one of the pack's "cloud generation" nodes: instead of loading a model locally, it fires your prompt off to the FreedomGPT API and brings back the generated images as a normal ComfyUI IMAGE tensor. If you're on a machine without a decent GPU - a laptop, a shared box, a rental - this is how you keep a full image pipeline running anyway, at the cost of an API key and a network round-trip.
FreedomGPT is a real third-party provider (the API base is https://chat.freedomgpt.com/api/v1), and this node is a thin client for its image endpoint. It's worth a moment of honesty: the FreedomGPT / this-pack pairing is niche enough that there's essentially no community chatter about it - you won't find a wall of forum posts. What you get instead is a straightforward API wrapper: set a key, type a prompt, and images come back as tensors you can preview, save, or feed into local post-processing. Given ComfyUI's ecosystem is heavily local-first, treat this as a "when you have no GPU or want a specific cloud model" play rather than a replacement for local sampling.
How it works
The node converts your input images (optional image through image4 ports) to PIL, builds an OpenAI-style message payload, and calls the FreedomGPT API with the Bearer key. The response - a batch of images plus a text field - comes back converted into a [N, H, W, C] tensor. Notably it supports image input, so this isn't text-to-image only: feed it a starting image and you're doing img2img or multi-image editing, depending on what the model supports. If the API returns nothing, you get a blank 512×512 tensor rather than a crash.
Inputs that matter
api_key- paste it here, or rely on the pack's shared key file /FREEDOMGPT_API_KEYenv var.prompt- the actual image description.system_promptsets overall style.model_name- defaults toliberty; that's the current default model name, and it's worth checking FreedomGPT's docs for what's actually available before you assume it.number_of_images- 1–10, how many to generate.seed--1for random, or a fixed value for reproducible results.proxy_url- for users behind a proxy (formatprotocol://user:pass@addr:port, http/https/socks5 supported). Useful if you're not in a region where the API is reachable.timeout- seconds;0means no timeout.
Outputs
images- the IMAGE batch, ready for any local node.text- the API's response text, in case it says something useful (like a refusal or metadata).history- conversation history for chaining into another call.
Install & key setup
Part of ComfyUI-YogurtNodes:
cd ComfyUI/custom_nodes
git clone https://github.com/yogurt7771/ComfyUI-YogurtNodes.git
cd ComfyUI-YogurtNodes
pip install -r requirements.txt
Restart ComfyUI and find it under "Yogurt Nodes" → LLM. Keys can be set three ways (priority order): the node's api_key field, an api_key.json file in custom_nodes/ComfyUI-YogurtNodes/yogurt_nodes/llm/ containing {"freedomgpt": "YOUR_KEY"}, or the FREEDOMGPT_API_KEY environment variable.
Common issues
- "Authentication failed" - the key isn't resolving. Check the field, the
api_key.json, and the env var in that order. - "Request times out" - set
timeoutto a nonzero value, or if you're in a region where the API is blocked, configureproxy_url. - "Blank image came back" - the API returned nothing; check the
textoutput for the actual reason. - "The model name is wrong" -
libertyis the shipped default; verify against FreedomGPT's current model list.
If you have a working local GPU, you don't need this node. If you don't, it's the difference between running the workflow and not running it at all.
Inputs (16)
| Name | Type | Default | Description |
|---|---|---|---|
| api_key | STRING | API key for accessing FreedomGPT API | |
| model_name | STRING | liberty | FreedomGPT image generation model name |
| system_prompt | STRING | System-level prompt that affects the overall image generation style | |
| prompt | STRING | Main prompt content for image generation | |
| number_of_images | INT | 11–10 | Number of images to generate |
| retry_count | INT | 11–10 | Number of retry attempts if the request fails |
| seed | INT | -1-1–2147483647 | Random seed for reproducible results, -1 for random |
| proxy_url | STRING | 代理URL,格式: protocol://user:pass@addr:port,支持http,https,socks5,socks5h | |
| timeout | INT | 00–2147483647 | Timeout for the request in seconds, 0 means no timeout |
| imageopt | IMAGE | — | |
| image1opt | IMAGE | — | |
| image2opt | IMAGE | — | |
| image3opt | IMAGE | — | |
| image4opt | IMAGE | — | |
| historyopt | HISTORY | — | |
| extraopt | STRING | {} | Extra parameters for the request, in JSON format |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| text | STRING | — |
| history | HISTORY | — |