comfyui-mixlab-nodes: turning ComfyUI workflows into web apps, screenshare inputs and LLM nodes
Workflow-to-APP、ScreenShare&FloatingVideo、GPT & 3D、SpeechRecognition&TTS
At a glance
- What is it?
- MixLabPro's node pack adds AppInfo-driven web apps, ScreenShare and FloatingVideo nodes, GPT and local LLM connectors, and speech nodes to ComfyUI. It is broad, dependency-heavy, and best judged node by node.
- Who is it for?
- Adopt comfyui-mixlab-nodes if you already run ComfyUI and want to publish a workflow as a small web app, capture a screen stream as an image source, or wire an LLM into a graph without writing a custom node. Skip it if you only need image generation, because the dependency list (rembg[gpu], clip-interrogator, trimesh, faster_whisper, swarm from git) is far larger than a plain ComfyUI install and every extra package is another failure point at startup.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 104 days ago.
- What is it written in?
- Mainly JavaScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
What comfyui-mixlab-nodes adds to a stock ComfyUI install
ComfyUI gives you a graph editor and an API. It does not give you a shareable front end, a way to pull a live screen capture into a graph, or a built-in path to an LLM. comfyui-mixlab-nodes is a collection of custom nodes that fills those three gaps and several smaller ones. The README groups the work under headings that map closely to the node names: Workflow-to-APP, Real-time Design (ScreenShareNode and FloatingVideoNode), SpeechRecognition and SpeechSynthesis, GPT, Prompt helpers, and 3D.
The intended user is someone who already builds ComfyUI graphs and wants to hand one to a non-technical person, or to feed it something other than a file on disk. The AppInfo node is the clearest example: the README states that a simple configuration turns a workflow into a web app, that multiple web apps can be switched between, and that a published workflow can be re-edited from the right-click menu. That is a product decision, not a model decision, and it is the part of this pack with the fewest equivalents in the ComfyUI ecosystem.
The scope is also the risk. A pack that ships LLM clients, speech recognition, background removal, 3D mesh handling and a web app layer is not one tool with one failure mode. It is a bundle, and you should evaluate the nodes you actually plan to run rather than the pack as a whole.
How the Workflow-to-APP layer maps nodes to interface controls
The mechanism is a whitelist. The README lists exactly nine node types that can appear as inputs in the generated interface: Load Image, VHS_LoadVideo, CLIPTextEncode, PromptSlide, TextInput, Color, FloatSlider, IntNumber, CheckpointLoaderSimple and LoraLoader. Outputs are a separate, shorter list: PreviewImage, SaveImage, ShowTextForGPT, VHS_VideoCombine and PromptImage. Seed is handled as a unified control across SamplerCustom and KSampler.
That whitelist is the whole design. Anything outside it stays in the graph and is not exposed to the app user. If your workflow depends on a node the pack does not recognise, the app will render but the control will not exist, and the user has no way to change that value. The README does not describe what happens in that case, so treat the list as a hard boundary and check your graph against it before you build anything.
The pack also supports dynamic prompts and batch prompts in app mode, and it can draw output onto the ComfyUI background in what the README calls a TouchDesigner style. Apps can be assigned categories, and the right-click menu is where you edit and update them. The example JSON files in the repository (example/Text-to-Image_3.json, example/Image-to-Image_2.json) show the shape of a published app, and workflow/Text-to-Image-app.json is the workflow side of the same example.
Installing comfyui-mixlab-nodes and publishing a first app
The pack installs like most ComfyUI custom node packs: clone it into custom_nodes and let ComfyUI pick up the dependencies. The README does not spell out a single install command, so the steps below follow the standard ComfyUI layout and the repository's own requirements.txt.
The directory name matters. The README warns that if a web app opens blank, you should check that the plugin folder is named comfyui-mixlab-nodes, because a zip download adds a -main suffix that must be removed.
cd ComfyUI/custom_nodes
git clone https://github.com/shadowcz007/comfyui-mixlab-nodes.git
cd comfyui-mixlab-nodes
pip install -r requirements.txtrequirements.txt also lists two dependencies that are installed from git URLs rather than from a package index.
git+https://github.com/shadowcz007/SenseVoice-python.git
git+https://github.com/openai/swarm.gitAfter restarting ComfyUI, build or load a simple text-to-image graph and add an AppInfo node. The README's example workflow is workflow/Text-to-Image-app.json, and the corresponding app JSON is example/Text-to-Image_3.json. Configure the AppInfo node, then open the app from the ComfyUI interface. If the page is blank, check the folder name first.
One operational detail from the README applies to anyone running this on a LAN or a cloud host: image uploads can fail, and the fix given is to use HTTPS on port 8189. The README credits this to a user report, which suggests it is a real deployment problem rather than a theoretical one.
ScreenShare, FloatingVideo and the HTTPS requirement
The Real-time Design section covers ScreenShareNode and FloatingVideoNode. The README states that ComfyUI can capture screen pixel streams from any software and that this can be combined with LCM-Lora. The example workflow is workflow/3-FloatVideo-workflow.json.
The constraint is blunt and repeated: the README says to use the address with HTTPS (https://127.0.0.1). Browser screen capture APIs generally require a secure context, so this is not a quirk of the pack but a property of the platform it depends on. If you run ComfyUI over plain HTTP on a LAN address, expect the capture to fail. The same HTTPS guidance reappears in the upload troubleshooting note about port 8189, which suggests the pack's browser-facing features share one security assumption.
There is a second, less obvious cost. A screen stream is a continuous input, and the README pairs it with LCM-Lora, a fast sampling approach. If your graph uses a slower sampler, the capture still works but the loop will not feel live. The pack does not change how ComfyUI schedules work, so responsiveness is a function of your model and sampler choice, not of the node.
LLM, speech and 3D nodes and what they pull in
The GPT section covers ChatGPTOpenAI, SiliconflowLLM, ChatGLM3 and ChatGLM4, and the README gives the endpoint formats: https://api.openai.com/v1 for OpenAI, http://127.0.0.1:xxxx/v1 for a local LLM service, and https://xxxx.openai.azure.com for Azure OpenAI. The example workflow is workflow/LLM_base_workflow.json. An API Key Input node manages keys, which the README frames as groundwork for an agent mode.
Speech recognition uses SenseVoice and faster_whisper, both present in requirements.txt. Speech synthesis is not self-contained: the README's SimulateDevDesignDiscussions node requires the separate Comfyui-ChatTTS project, and the workflow is workflow/swarm制作的播客节点workflow.json. That is a real dependency chain, not a footnote. A podcast-style node that needs a second custom node pack and the swarm package is three installs away from a working demo.
The 3D and vision side is similarly assembled from third parties. pyproject.toml lists trimesh, rembg[gpu], clip-interrogator==0.6.0, simple-lama-inpainting and scikit-image. rembg[gpu] in particular is a large install with its own model downloads. The README also documents MiniCPM-V 2.6 int4, noting that the int4 version uses about 7GB of GPU memory. That figure is the README's, not a measured result, but it is the kind of number you need before deciding whether a node fits on your card.
Where comfyui-mixlab-nodes is the wrong tool and what to use instead
The clearest wrong-tool case is a plain image generation setup. If your graph is checkpoint, prompt, sampler, save, then none of the pack's differentiating features apply, and you have taken on rembg[gpu], clip-interrogator, trimesh, faster_whisper and two git-sourced packages for nothing. Every one of those is a chance for a version conflict at startup, and the requirements file pins almost nothing except clip-interrogator==0.6.0 and a minimum transformers version.
For the web app layer specifically, the honest alternative is to use ComfyUI's own API directly and write a small front end against it. The pack's advantage is that the mapping from graph to interface is declarative and limited to nine input node types and five output node types. A hand-written front end has no such limit, but you own the prompt plumbing, the file upload, and the queue handling. The README itself points to a related project, comfyui-js-sdk, for using ComfyUI from a front-end project, which is the path to take if the whitelist is too narrow for your graph.
For LLM work, the alternative is to keep the model call outside ComfyUI entirely. The pack's value is that the call happens inside the graph and its output can feed a ShowTextForGPT or PromptImage node. If you do not need that coupling, a separate script is simpler and easier to test.
Maintenance, licence and upgrade cost
The repository is not archived, and the last push was on 2026-06-04. The most recent tagged release is v0.46.0 from 2024-10-14, and pyproject.toml still declares version 0.46.0, so the release tags and the manifest agree but both lag the commit history by a wide margin. Practically, that means fixes may land on main without a corresponding release, and pinning to a tag will not get you the newest node work.
The licence is MIT, declared in the repository and in pyproject.toml. MIT is permissive, so the usual obligations are attribution and including the licence text when you redistribute. Nothing in the repository suggests a copyleft or non-commercial term. That said, the pack installs code from other repositories via git URLs (SenseVoice-python, swarm) and depends on rembg, clip-interrogator and others, each with its own licence. If you ship a product built on this pack, the licences that matter are the ones on those transitive dependencies, and you should read them yourself rather than assume MIT covers the whole install.
Upgrade cost is driven by the dependency surface. A pack that touches torchaudio, transformers, bitsandbytes, accelerate and opencv will break when any of those move. The README's own compatibility note pins expectations to Python 3.11 and torch 2.3.1+cu121, which is a snapshot of one working environment, not a guarantee for yours.
Editorial conclusion
Adopt comfyui-mixlab-nodes if you already run ComfyUI and want to publish a workflow as a small web app, capture a screen stream as an image source, or wire an LLM into a graph without writing a custom node. Skip it if you only need image generation, because the dependency list (rembg[gpu], clip-interrogator, trimesh, faster_whisper, swarm from git) is far larger than a plain ComfyUI install and every extra package is another failure point at startup. Before committing, clone the repository so the folder is named comfyui-mixlab-nodes, open the AppInfo workflow in workflow/Text-to-Image-app.json, and confirm the app renders in your browser; if it is blank, the README points at the directory name as the cause.
Frequently asked questions
What is comfyui-mixlab-nodes used for?
It is a ComfyUI custom node pack that adds Workflow-to-APP publishing, ScreenShareNode and FloatingVideoNode, speech recognition and synthesis, GPT and local LLM connectors, prompt helpers and 3D nodes. The README groups these under Workflow-to-APP, Real-time Design, Speech, GPT and Prompt headings.
How do I install comfyui-mixlab-nodes?
Clone the repository into ComfyUI/custom_nodes and install requirements.txt. The README warns that the folder must be named comfyui-mixlab-nodes, because a zip download adds a -main suffix that has to be removed or the web app opens blank.
Why does my comfyui-mixlab-nodes web app open blank?
The README points to the plugin directory name as the cause: it must be comfyui-mixlab-nodes, without a -main suffix left over from a zip download. Check the folder name before looking at anything else.
Why do image uploads fail in comfyui-mixlab-nodes?
The README says that on a local network or a cloud service you should use HTTPS and the service on port 8189. The same HTTPS requirement is repeated for the screenshare nodes, which the README says should be used at https://127.0.0.1.
Which node types can become inputs in a comfyui-mixlab-nodes app?
The README lists nine: Load Image, VHS_LoadVideo, CLIPTextEncode, PromptSlide, TextInput, Color, FloatSlider, IntNumber, CheckpointLoaderSimple and LoraLoader. Outputs are PreviewImage, SaveImage, ShowTextForGPT, VHS_VideoCombine and PromptImage, with seed handled as a unified control for SamplerCustom and KSampler.
What licence does comfyui-mixlab-nodes use?
The repository and pyproject.toml both declare MIT. Note that the pack installs code from other repositories via git URLs and depends on packages such as rembg and clip-interrogator, which carry their own licences.
Community notes