Nodes/ComfyUI-Ollama-Describer/πŸ¦™ Ollama Text Describer πŸ¦™
ComfyUI Node

πŸ¦™ Ollama Text Describer πŸ¦™

Run any text through a local LLM inside your graph

By alisson-anjosΒ·Created 2 years agoΒ·Updated 5 months agoΒ· 123
πŸ¦™ Ollama Text Describer πŸ¦™
    • result
    β—„modelβ–Ύβ–Ί
    β—„custom_modelβ–Ί
    β—„api_hosthttp://localhost:11434β–Ί
    β—„timeout300β–Ί
    β—„temperature0.2β–Ί
    β—„top_k40β–Ί
    β—„top_p0.9β–Ί
    β—„repeat_penalty1.1β–Ί
    β—„seed_number42β–Ί
    β—„num_ctx2048β–Ί
    β—„max_tokens1024β–Ί
    β—„keep_model_alive-1β–Ί
    β—„system_contextYou are a helpful AI assistant specialized in generating detailed and accurate textual descriptions. Your task is to analyze the input provided and create a clear, concise, and informative description. Focus on the key aspects of the input, and ensure the description is easy to understand and relevant to the context.β–Ί
    β—„promptDescribe the following input in detail, focusing on its key features and context. Provide a clear and concise description that highlights the most important aspects. Input:β–Ί
    β—„structured_output_formatβ€”β–Ί

    Strip away the "vision" part and this is just a text-in, text-out LLM call node - you give it some input text plus a prompt, it runs both through a local Ollama model (Qwen2.5, DeepSeek-R1, Mistral, whatever you've pulled) and hands back the model's response. No images involved at all, which is what separates it from its siblings OllamaImageDescriber and OllamaImageCaptioner.

    The obvious use in an image-gen graph is prompt engineering on autopilot: take a rough idea, run it through this node with a system prompt that says "expand this into a detailed Stable Diffusion prompt," and wire the result straight into your CLIPTextEncode. It's also handy as a generic text processor mid-graph - summarizing, reformatting, rewriting tone - anywhere you'd otherwise reach for an external LLM API but would rather keep it local and free.

    How it works

    Like every node in this pack, it's an HTTP client for your local Ollama server (default http://localhost:11434), so Ollama needs to already be running with the model pulled. There's no images input on this one at all - the node's job is purely text - so whatever text you want processed has to arrive as a widget or wired STRING input, not through the model itself.

    The inputs and outputs that matter

    There's no dedicated "input text" widget separate from prompt on this node - the model dropdown is where most of the decision-making happens, and it's a much bigger list than the vision nodes: 40 choices including the full DeepSeek-R1 family (1.5b through 32b), Qwen2/Qwen2.5 at multiple sizes, and more, because text-only models don't need multimodal training.

    • model / custom_model - pick a text model. Smaller models (1.5b–3b) are fast and fine for straightforward rewriting; reach for something like deepseek-r1:8b or bigger if you want actual reasoning quality.
    • prompt and system_context - this is where your actual instruction lives. Defaults are generic ("Describe the following input in detail…"); replace them with your real task.
    • temperature - this node caps it at 0–1 rather than 0–10 like the vision describers, so the practical range is narrower: near 0 for deterministic, factual output; toward 1 for more varied phrasing.

    The rest - top_k, top_p, repeat_penalty, seed_number, num_ctx, max_tokens, keep_model_alive - are standard sampling controls, same defaults as the rest of the pack. There's also an optional structured_output_format if you want the response constrained to a JSON schema, which you'd then pull apart with the JSON Property Extractor node.

    Output is a single result STRING - feed it into a CLIPTextEncode, a Save Text node, or chain it into another LLM node for multi-step processing.

    How to install it

    Needs Ollama installed and running, with at least one text model pulled (ollama pull qwen2.5:7b, for instance - no vision capability required for this node). Get the pack via ComfyUI Manager (search "ComfyUI-Ollama-Describer") or manually:

    cd ComfyUI/custom_nodes
    git clone https://github.com/alisson-anjos/ComfyUI-Ollama-Describer.git
    pip install -r requirements.txt   # or install.bat on Windows
    

    Restart ComfyUI afterward.

    Common issues & troubleshooting

    The connection-refused error on localhost:11434 is the same recurring problem across this whole pack - it means Ollama isn't running, so start it first. Beyond that, the biggest trap specific to this node is picking a large reasoning model (a 32b DeepSeek-R1, say) and being surprised it's slow or runs out of memory - those models genuinely need real VRAM or RAM if running on CPU, and Ollama will happily try and choke rather than warn you up front. If you're just doing light prompt rewriting, a small model in the 1.5b–7b range is almost always enough and dramatically faster.

    CategoryOllama

    Inputs (15)

    NameTypeDefaultDescription
    modelCOMBO40 options: deepscaler:1.5b (F16, 3.6GB), deepseek-r1:32b (Q4_K_M, 20.0GB), deepseek-r1:14b (Q4_K_M, 9.0GB), deepseek-r1:8b (Q4_K_M, 4.9GB), deepseek-r1:7b (Q4_K_M, 4.7GB), deepseek-r1:1.5b (Q4_K_M, 1.1GB), +34
    custom_modelSTRINGβ€”
    api_hostSTRINGhttp://localhost:11434β€”
    timeoutINT3000–18446744073709550000β€”
    temperatureFLOAT0.20–1β€”
    top_kINT400–100β€”
    top_pFLOAT0.90–10β€”
    repeat_penaltyFLOAT1.10–10β€”
    seed_numberINT42-1–18446744073709550000β€”
    num_ctxINT2048β€”
    max_tokensINT10241–18446744073709550000β€”
    keep_model_aliveINT-1-1–18446744073709550000β€”
    system_contextSTRINGYou are a helpful AI assistant specialized in generating detailed and accurate textual descriptions. Your task is to analyze the input provided and create a clear, concise, and informative description. Focus on the key aspects of the input, and ensure the description is easy to understand and relevant to the context.β€”
    promptSTRINGDescribe the following input in detail, focusing on its key features and context. Provide a clear and concise description that highlights the most important aspects. Input:β€”
    structured_output_formatoptSTRINGβ€”

    Outputs (1)

    NameTypeDescription
    resultSTRINGβ€”