Nodes/ComfyUI-YogurtNodes/FreedomGPT Generate Text
ComfyUI Node

FreedomGPT Generate Text

The obscure 'unrestricted' LLM node, for when you need it

By yogurt7771·Created 2 years ago·Updated 9 days ago· 1
FreedomGPT Generate Text
  • history
  • text
  • history
  • payload
api_key
model_nameliberty
system_prompt
prompt
temperature1.00
top_p1.00
top_k40
max_tokens4096
retry_count1
chat_template<-system-> {{system_instruction}} <-/system-> <-user-> {{prompt}} <-/user->
seed-1
proxy_url
timeout0
extra{}

FreedomGPT Generate Text is the pack's LLM node for a niche provider: FreedomGPT, a cloud API that markets itself on being less filtered than mainstream chatbots. It's the least-known node in this pack's LLM family - search the community and you'll find almost nothing about it, which tells you it's a "I have a FreedomGPT account and want it in my graph" tool rather than a community staple. If you don't have a FreedomGPT API key, this node is easy to skip. If you do - or you specifically want the least-restricted generation you can bolt into a workflow - this is the way in.

Functionally it behaves like the pack's other text nodes: a prompt and system prompt go in, the model replies, and the result comes out as a STRING plus a HISTORY for chaining conversations. The pitch FreedomGPT itself makes is exactly what its name implies - it's the endpoint people reach for when they want the model to talk about things mainstream providers refuse. For prompt generation and workflow text that's rarely necessary, but for uncensored captioning or niche creative writing it's the differentiator.

How it works

It calls FreedomGPT's chat-completions endpoint (https://chat.freedomgpt.com/api/v1) with the default model liberty. The same chat_template machinery as the pack's other LLM nodes wraps system_prompt and prompt into the request - the <-system-> / <-user-> markers you can edit if the provider changes format. Sampling controls run a bit deeper than some peers: temperature, top_p, and top_k are all there, plus max_tokens, a seed for reproducible replies, retry_count, timeout, and proxy_url for socks/http proxies. The optional history input accepts the pack's HISTORY objects (build them with History Builder), and extra takes JSON for any new API parameters.

The inputs that matter

  • api_key - your FreedomGPT key; blank falls back to the pack's api_key.json ("freedomgpt" entry) or the FREEDOMGPT_API_KEY env var.
  • model_name - default liberty; check FreedomGPT's docs for current model names, they've changed before.
  • prompt / system_prompt - the content and the role framing.
  • top_k - the extra knob this node has that most peers don't; it caps the vocabulary to the top K tokens per step.

Three outputs: text, history, and payload (the raw API response).

Installing it

It's part of ComfyUI-YogurtNodes. Install via ComfyUI Manager (search "ComfyUI-YogurtNodes") or:

cd ComfyUI/custom_nodes
git clone https://github.com/yogurt7771/ComfyUI-YogurtNodes.git
cd ComfyUI-YogurtNodes
pip install -r requirements.txt

Restart ComfyUI; it's under "Yogurt Nodes". You'll need a FreedomGPT API key from freedomgpt.com.

Where people get burned

The honest warning is the model-name churn. FreedomGPT is a small provider and its model lineup has shifted; if the node suddenly returns errors or nonsense, model_name is the first thing to check against their docs. Second, this is a paid API with thin community validation - there aren't crowds of people posting "here's the right settings," so expect to tune temperature/top_k yourself. And third, if your use case doesn't actually need the "unrestricted" angle, the pack's Grok or OpenAI nodes have vastly more documentation and community support behind them. This node is for a specific itch, and it scratches it - just know the ecosystem around it is mostly empty.

CategoryYogurtNodes/LLM

Inputs (15)

NameTypeDefaultDescription
api_keySTRINGAPI key for accessing FreedomGPT API
model_nameSTRINGlibertyFreedomGPT model name
system_promptSTRINGSystem-level prompt that affects the overall conversation style
promptSTRINGMain prompt content input by the user
temperatureFLOAT1.000–2Sampling temperature, higher values produce more random outputs
top_pFLOAT1.000–1Sampling probability threshold, controls output diversity
top_kINT401–100Top-K sampling parameter, limits vocabulary to top K tokens
max_tokensINT40960–32768Maximum number of tokens in the generated text
retry_countINT11–10Number of retry attempts if the request fails
chat_templateSTRING<-system-> {{system_instruction}} <-/system-> <-user-> {{prompt}} <-/user->Content template for the generated text
seedINT-1-1–2147483647Random seed for reproducible results, -1 for random
proxy_urlSTRING代理URL,格式: protocol://user:pass@addr:port,支持http,https,socks5,socks5h
timeoutINT00–2147483647Timeout for the request in seconds, 0 means no timeout
historyoptHISTORY
extraoptSTRING{}Extra parameters for the request, in JSON format

Outputs (3)

NameTypeDescription
textSTRING
historyHISTORY
payload*