Generate Text Advanced BETA (Venice)
Every knob, no chat memory
- image_for_vision
- response
Local text generation in ComfyUI usually means finding VRAM for a quantized LLM on top of everything else your workflow already has loaded. Generate Text Advanced BETA (Venice) sidesteps all of that: it hands your prompt to venice.ai's servers and returns the model's reply as a plain string. No weights, no VRAM, no GPU at all - just an API key and a working internet connection. If you already pay for Venice, this is the text node the pack author wants you using.
It's the "Advanced" version for a reason. Where the basic Generate Text (Venice) node gives you five sampling dials, this one exposes the full chat-completions control panel, plus a couple of Venice-specific extras. The README is unambiguous: use this node for "updated text generation experience," and bolt on the Textgen Parameters (Venice) node when you want the Venice-only stuff.
How it works
Mechanically it's simple. The node builds a chat request (a system message plus your prompt), POSTs it to https://api.venice.ai/api/v1/chat/completions, and pulls the text out of choices[0].message.content. Nothing runs locally. That also means the one thing to keep in mind: this node has no chat history or memory. Every run is a stateless single exchange. If you want a multi-turn conversation, you're scripting it yourself and feeding the transcript back into system_prompt.
The inputs that actually matter
- model - a dropdown auto-filled from your Venice account (things like
llama-3.1-405b). If it's stuck on the default, the model list fetch failed; that's a key problem, not a node problem. - prompt and system_prompt - your ask, and the optional persona/instructions.
enable_system_promptis a handy kill-switch when you're testing whether the system prompt is actually changing behavior. - temperature / top_p / top_k / min_p - the usual sampling knobs. The tooltip's advice is worth taking: tune temperature or top_p, not both, or you're fighting yourself.
- repetition_penalty - 1.0 means no penalty, and 1.2 (the default) is a gentle "please don't loop."
- max_completion_tokens - 420 by default, up to 131072. If replies are getting cut off, this is the first thing to raise.
- min_temp / max_temp - dynamic temperature scaling bounds, if you want the model to get more adventurous as it writes.
- enable_vision + image_for_vision - only works on vision-capable models, and only when both the flag and the image are present. The pack resizes your image down and base64-encodes it before sending.
- venice_parameters - the optional input you feed from
Textgen Parameters (Venice)for characters, web search, and thinking control.
Output
One output: response (STRING). It lands as text on the node and wires into anything that takes a string - a text display node, or straight into an image prompt field if you're chaining generation. If nothing seems to happen, remember there's no visual preview built in; the output shows in ComfyUI's outputs panel.
Installing it
This is one node in the seven-node ComfyUI-Venice-API pack, so you install them all at once - via ComfyUI Manager (search "ComfyUI-Venice-API" or "Venice"), or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/DraconicDragon/ComfyUI-Venice-API.git
pip install -r ComfyUI-Venice-API/requirements.txt
Then restart ComfyUI, grab a key from venice.ai, and drop it in Settings > VeniceAI > API Key. The dependencies are light (requests, Pillow, numpy, configparser), and there are no model files to download - everything runs on Venice's side. It's labeled BETA, and it shows: the author openly calls the project a weekend experiment, so treat API changes as par for the course.
Inputs (17)
| Name | Type | Default | Description |
|---|---|---|---|
| model | COMBO | llama-3.1-405b | The model to use for text generation. |
| prompt | STRING | The prompt to generate text from. Ask, command or chat with the model. | |
| system_prompt | STRING | Optional system prompt to guide the model's behavior. | |
| enable_system_prompt | BOOLEAN | true | Enable or disable system prompt being passed on. |
| frequency_penalty | FLOAT | 0.00-2–2 | Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim. |
| presence_penalty | FLOAT | 0.00-2–2 | Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics. |
| repetition_penalty | FLOAT | 1.200–2 | 1.0 means no penalty. Values > 1.0 discourage repetition. |
| max_temp | FLOAT | 1.500–2 | Maximum temperature value for dynamic temperature scaling. |
| min_temp | FLOAT | 0.100–2 | Minimum temperature value for dynamic temperature scaling. |
| max_completion_tokens | INT | 4201–131072 | An upper bound for the number of tokens that can be generated for a completion, including visible output tokens and reasoning tokens. |
| temperature | FLOAT | 0.500–2 | Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. We generally recommend altering this or top_p but not both. |
| top_k | INT | 40 | The number of highest probability vocabulary tokens to keep for top-k-filtering. |
| top_p | FLOAT | 0.800–2 | An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered. |
| min_p | FLOAT | 0.050–1 | Sets a minimum probability threshold for token selection. Tokens with probabilities below this value are filtered out. |
| enable_vision | BOOLEAN | false | Enable or disable vision tasks. Requires image_for_vision input to be populated and for the LLM to actually support vision tasks to process. |
| venice_parametersopt | STRING | Optional input. Use the Textgen Parameters (Venice) node to use extra, venice specific parameters for text generation. | |
| image_for_visionopt | IMAGE | Optional input. Add an image for vision-supported LLMs to process. Will only be processed if 'enable_vision' is 'True' and if the LLM actually supports vision tasks. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| response | STRING | — |