Build Production
Workflows at the
Speed of Thought
Vibrante-Node is a Python-node-based visual framework for building modular systems through connected nodes and data flows. It provides an intuitive graph interface where complex logic can be constructed visually by linking nodes together. The project focuses on flexibility, extensibility, and developer productivity, making it suitable for building tools such as visual pipelines, automation workflows, and data-processing graphs. Node-based systems allow complex operations to be organized as interconnected components rather than traditional linear code structures, improving clarity and scalability in large workflows.
Everything Your Pipeline Needs
A complete toolkit for VFX automation. From Houdini SOPs to AI orchestration — all in one visual canvas.
Visual Execution Engine
Async node execution with exec + data pins. See exactly what runs when. Every node fires in asyncio — the UI never freezes, even during heavy Houdini cooks.
Live Wire Inspector
Hover any wire to see the last value that flowed through it. Debug in seconds, not hours. Values persist after execution for full post-run inspection.
165+ Built-in Nodes
Math, logic, file I/O, HTTP, Prism Pipeline, DCC control, ForEach, WhileLoop, SetVariable/GetVariable, SubGraph — and more. Every common pattern is already built in.
Full Python Extensibility
Any JSON file with a python_code field becomes a node. Drop it in nodes/ and it appears in the library instantly. The Node Builder GUI (Ctrl+E) makes creation visual.
Multi-DCC Integration
Houdini live bridge via TCP JSON-RPC. Maya + Blender via action-list headless subprocess pattern. Prism Pipeline with 60+ nodes. Deadline for render submission.
Subgraph / GroupNode
Collapse any workflow into a reusable component with Ctrl+Shift+G. Share across projects. Nest subgraphs inside subgraphs. Dynamic ports auto-sync with inner connections.
See It In Action
A production-grade desktop app built with PyQt5. Dark theme, mini-map, canvas search, autosave — all included.
Visual node canvas with exec pins and data wires
Node CanvasWorks With Your Entire Pipeline
Every major VFX DCC and pipeline tool — connected, automated, and running from a single visual workflow.
Houdini
Live BridgeLive TCP JSON-RPC bridge to running Houdini session. Create nodes, set parms, cook, save .hip — all in real-time.
Maya
HeadlessHeadless action-list pattern using mayapy subprocess. Build full render + publish pipelines without opening the UI.
Blender
HeadlessHeadless action-list pattern via Blender background subprocess. Automate modeling, rendering, and export tasks.
Prism Pipeline
60+ nodes60+ nodes covering the full Prism API. Assets, shots, versions, publishing, USD, and more — all visual.
Deadline
Render FarmSubmit render jobs for Maya, Houdini, and Blender directly from your workflow. Track status and collect results.
Python / USD
ExtensibleDrop any Python class in nodes/ and it is live. Full asyncio support. USD workflows via Prism USD integration nodes.
Workflows That Ship Pipelines
From Houdini procedurals to AI orchestration — see what real workflows look like.
VFX Asset Publishing
Prism nodes query assets, check versions, export to USD, and submit to Deadline. One workflow, zero manual steps.
Houdini Procedural Network
Create geo networks, wire SOPs, set parameters, cook, and save .hip files — all via the JSON-RPC bridge to a live session.
AI Pipeline Orchestration
Chain LLM calls, process responses, route on sentiment, write to database. Build multi-step AI workflows visually.
Build Nodes in Minutes
Any Python class that inherits BaseNode becomes a live node. The JSON format is simple enough to write by hand — or use the Node Builder GUI.
1from src.nodes.base import BaseNode23class My_Node(BaseNode):4 name = "my_node"56 def __init__(self):7 super().__init__()8 # [AUTO-GENERATED-PORTS-START]9 self.add_input("file_path", "string", widget_type="text")10 self.add_input("scale", "float", widget_type="float", default=1.0)11 self.add_output("result", "any")12 # [AUTO-GENERATED-PORTS-END]1314 async def execute(self, inputs):15 path = inputs.get("file_path", "")16 scale = inputs.get("scale", 1.0)17 # ... your logic here ...18 return {"result": path, "exec_out": True}1920def register_node():21 return My_Node
1{2 "node_id": "my_node",3 "name": "my_node",4 "description": "My custom node",5 "category": "Custom",6 "use_exec": true,7 "inputs": [8 { "name": "file_path", "type": "string",9 "widget_type": "text" },10 { "name": "scale", "type": "float",11 "widget_type": "float", "default": 1.0 }12 ],13 "outputs": [14 { "name": "result", "type": "any" }15 ],16 "python_code": "..."17}
Drop the JSON file in nodes/
It appears in the library instantly. No restart required — use Scripts → Refresh to reload all nodes without closing the app.
Drop-in nodes
Place any .json file in nodes/ folder — it registers automatically on the next startup or script refresh.
Async first
Every execute() is async. Run Houdini cooks, HTTP calls, file I/O — all without blocking the UI.
Type-safe ports
String, float, int, bool, list, any. The engine validates connections and shows type-colored pins.
Node Builder GUI
Press Ctrl+E to open the visual Node Builder. Build nodes without touching JSON — code is generated for you.
Port Type Colors
Start Building Your
Pipeline Today
Open source. Python-native. Production ready. No subscriptions. No lock-in. Just nodes.