Nodes/ComfyUI-WJNodes/load_EasyOCR_model
ComfyUI Node

load_EasyOCR_model

Load OCR weights once, reuse them across every OCR call

By 807502278·Created 2 years ago·Updated 11 months ago· 20
load_EasyOCR_model
    • EasyOCR_model
    gputrue
    detectchoose
    language_listEnglish
    language_namech_sim,en,Español

    This node is a deliberate rework of prodogape's ComfyUI-EasyOCR pack: the original bundles model loading and text detection into one node, so every OCR call reloads the model from scratch. This pack splits that in two - load_EasyOCR_model here just loads the model once, and a separate node, ApplyEasyOCR_batch, does the actual detection using whatever model this one hands it. If you're OCR-ing more than a handful of images, that split is the entire point: load once, reuse across every call in your workflow instead of paying the model-load cost every single time.

    The inputs and outputs that matter

    Four inputs, and they all matter. gpu (on by default) runs detection on your GPU rather than CPU - leave it on if you have one; EasyOCR's underlying CRAFT text-detection model is noticeably faster with it. detect switches between two ways of picking languages: choose uses the dropdown (language_list), which has 44 language options built in; input ignores the dropdown and reads whatever you typed into language_name instead - a comma-separated string, defaulting to ch_sim,en,Español as a working example of the format. input mode is the one to reach for if you need a language combination that isn't a single dropdown pick, since EasyOCR genuinely supports recognizing multiple languages in one pass.

    The single output, EasyOCR_model, is a custom type - it only plugs into ApplyEasyOCR_batch, so this node on its own does nothing visible. It exists purely to be the upstream half of a two-node pair.

    Installing it

    This node needs two things beyond the base ComfyUI-WJNodes install: the pack itself, and the EasyOCR Python package, which the README calls out explicitly as a hard requirement for this section - "To use the following nodes, you must install EasyOCR." Get the pack first:

    cd ComfyUI/custom_nodes
    git clone https://github.com/807502278/ComfyUI-WJNodes.git
    

    then pip install easyocr (or run the pack's requirements.txt if you want everything the pack's optional integrations need at once). The first time you actually run this node, EasyOCR auto-downloads whichever language models you selected into ComfyUI's models/EasyOCR/ folder - files like craft_mlt_25k.pth (the text detector, needed regardless of language) plus per-language recognition weights such as latin_g2.pth or zh_sim_g2.pth land there on first use. That download happens once per language and gets reused after.

    Where people get burned

    If the node errors on load with an import failure, EasyOCR itself isn't installed - that's a pip install easyocr away, not a ComfyUI-WJNodes problem. If it hangs the first time you run a workflow with this node, that's very likely the language model download in progress rather than a freeze - check your console output before restarting anything. And if detect is set to choose but you swear you typed a custom language combo into language_name, that's expected: the dropdown wins in choose mode, and language_name is only read when detect is set to input.

    CategoryWJNode/Other-plugins/EasyOCR

    Inputs (4)

    NameTypeDefaultDescription
    gpuBOOLEANtrue
    detectCOMBOchoose2 options: choose, input
    language_listCOMBOEnglish44 options: English, 简体中文, 繁體中文, العربية, Azərbaycan, Euskal, +38
    language_nameSTRINGch_sim,en,Español

    Outputs (1)

    NameTypeDescription
    EasyOCR_modelEasyOCR_model