NodeFlow.jsx
Visual node editor
Build complex multi-modal pipelines on a drag-and-drop canvas. Color-coded paths route text, image, video, and audio between nodes.
Visual workflow builder
A monorepo-powered visual workflow builder and execution engine. Combine text, image, video, and audio models on a drag-and-drop React Flow canvas — design, execute, and scale custom AI automation.
npm run workflow:devNodeFlow.jsx
Drag-and-drop canvas with color-coded routing
Everything you need
From canvas editing to conversational planning — one studio unifies the full generative stack for creators and developers.
NodeFlow.jsx
Build complex multi-modal pipelines on a drag-and-drop canvas. Color-coded paths route text, image, video, and audio between nodes.
ChatWidget.jsx
Conversational widget powered by a FastAPI LLM planner. Generates, builds, and revises node graphs from natural language with Markdown logs.
> planning workflow…
Generated 5 nodes · text → image → video
Template saved
UnifiedNode.jsx
Text, Image, Video, and Audio modes with RenderField schema inputs, NodeSendButton execution, NodeOptionsMenu, and UploadNode.
Utility nodes
PromptConcate merges text streams. VideoCombiner links clips. AudioPlayer and VideoPlayer preview generated content inline.
local_workflow_engine.py
Async node execution with list-variable mapping, status polling, and storage. REST APIs to save, template, publish, and trigger workflows.
useGenerationCost.jsx
Monitor runtime resource consumption during pipeline execution with sharp metrics and cluster utilization tracking.
Use cases
Chain text prompts into images, upscale frames, render video, and attach audio — or produce complete short films with music, voice, and lip-sync.
Publish workflows as templates and trigger them via REST endpoints. Design custom UI nodes with schema-driven validation bindings.
Automate recurring creation with reference templates. Monitor live generation cost as pipelines execute.
Headless REST automation
Publish canvas assets as programmatic templates. Trigger pipelines, poll statuses, and configure list-variable inputs via workflow_router.py.
Production cost allocation
Track cluster utilization with live runtime cost from useGenerationCost.jsx.
@router.post("/workflows/{workflow_id}/run")
async def run_workflow(
workflow_id: str,
payload: WorkflowRunRequest,
engine: WorkflowEngine = Depends(get_engine),
):
job = await engine.enqueue(
workflow_id=workflow_id,
inputs=payload.inputs,
poll_interval=payload.poll_interval,
)
return WorkflowStatusResponse(
job_id=job.id,
status="running",
storage_uri=job.output_uri,
)useGenerationCost.jsx
Live runtime cost
Tokens
128.4k
GPU min
14.2
Jobs
3 active
Polling cluster utilization every 2s