← Design system reference

Nodes catalog

Every block you can drop on the Loomio canvas, what it does, what flows in, what comes out. Auto-synced from lib/nodes/definitions.ts. 27 nodes total.

Read me first

  • The id is the type slug used in the nodeTypes map at components/nodes/BaseNode.tsx and as the executor filename under lib/engine/node-executors/.
  • Inputs / outputs listed below are the declared handles from the definition. Three nodes compute handles dynamically — see the badge on the card. Runtime resolution lives in app/api/execute/helpers/inputs.ts.
  • The image-input node force-routes its image output to any target handle named image, image2, image3, image4, startFrame, or endFrame — see resolveInputs.
Inputsprompt

Prompt

Text input with named variables. Reference any variable as {name} in the prompt to substitute its upstream value at run time.

Inputs

none

Outputs

text

Config defaults

valuevariables
lib/engine/node-executor-registry.ts (inline)icon · MessageSquare
Inputstext

Text

Text input with tweakable name

Inputs

upstream

Outputs

text

Config defaults

labelvalue
lib/engine/node-executor-registry.ts (inline)icon · Type
Inputsnumber

Number

Number slider input

Inputs

none

Outputs

number

Config defaults

labelvalueminmaxstep
lib/engine/node-executor-registry.ts (inline)icon · Hash
Inputsimage-input

Image Input

Upload or drag-and-drop a reference image. Connect to Start Frame, End Frame, or any image input.

Inputs

none

Outputs

image

Config defaults

imageUrlfileName
lib/engine/node-executor-registry.ts (inline)icon · ImagePlus
AI · generativellm

Any LLM

Select any LLM and generate text. Output displayed in node.

Inputs

promptsystemimage

Outputs

text

Config defaults

providermodeltemperaturethinkingsystemPrompt
lib/engine/node-executors/llm.tsicon · Brain
AI · generativeimage-gendynamic

Image Gen

Generate images using AI. Inputs and params vary by model.

Inputs

prompt

Outputs

image

Config defaults

modelaspectRatio

Dynamic handles

Base handle is "prompt". Adds "image" when capabilities.hasImageUrl is true; adds "negativePrompt" when capabilities.hasNegativePrompt is true.

trigger: config.modelCapabilities (fetched from /api/fal-schema)

19 models · click to expand
FLUX 1.1 Proprompt
FLUX 2 Flexprompt
FLUX Kontext (Edit)prompt · image
FLUX Proprompt
FLUX Devprompt · image
FLUX Schnellprompt
FLUX Realismprompt
FLUX LoRAprompt · image
Recraft V4 Proprompt
Recraft V4prompt
Recraft V3prompt
Kling Image v3prompt
Kling Image v3 (Edit)prompt · image
Nano Banana Pro (Google)prompt
SD 3.5 Largeprompt · negativePrompt
SD 3 Mediumprompt · negativePrompt
Ideogram V2prompt
ImagineArt 1.5prompt
Aura Flowprompt
lib/engine/node-executors/image-gen.tsicon · Sparkles
AI · generativevideo-gendynamic

Video

Generate videos using AI. Inputs and params vary by model.

Inputs

prompt

Outputs

video

Config defaults

providermodelduration

Dynamic handles

Handle list comes directly from the selected model's `inputs` array in lib/nodes/definitions.ts. Common ids: prompt, image, startFrame, endFrame, tailFrame, negativePrompt.

trigger: config.model → currentModel.inputs from definitions

29 models · click to expand
Kling v3 Proprompt · negativePrompt
Kling v3 Pro Img→Videoprompt · startFrame · endFrame · negativePrompt
Kling v2.5 Turbo Proprompt · negativePrompt
Kling v2.5 Turbo Pro Img→Videoprompt · startFrame · endFrame · negativePrompt
Kling v2.1 Masterprompt · negativePrompt
Kling v2.1 Proprompt · negativePrompt
Kling v2.1 Standardprompt · negativePrompt
Kling v2.1 Master Img→Videoprompt · startFrame · endFrame · negativePrompt
Kling v2.1 Pro Img→Videoprompt · startFrame · endFrame · negativePrompt
Kling v1.6 Standardprompt · negativePrompt
Kling v1.6 Proprompt · negativePrompt
Kling v1.6 Img→Videoprompt · startFrame · endFrame · negativePrompt
Kling v1.6 Pro Img→Videoprompt · startFrame · endFrame · negativePrompt
Kling O3 Img→Videoprompt · startFrame · endFrame
MiniMax Hailuo-02prompt · startFrame
Minimax Video-01prompt
Minimax Video-01 Liveprompt · startFrame
Luma Dream Machineprompt · startFrame · endFrame
Luma Photonprompt
Luma Photon Flashprompt
Runway Gen-3 Turboprompt
Runway Gen-3 Img→Videoprompt · startFrame
PixVerse v5prompt
PixVerse v5 Img→Videoprompt · startFrame
Wan v2.2 Img→Videoprompt · startFrame · negativePrompt
Wan Img→Video (v1)prompt · startFrame · negativePrompt
Google Veo 3.1prompt · startFrame
LTX-2 19Bprompt · startFrame
Hunyuan Videoprompt · negativePrompt
lib/engine/node-executors/video-gen.tsicon · Video
AI · generative3d-gendynamic

3D Gen

Generate a 3D model from images using Hyper3D Rodin. Upload 1–4 reference images for best results.

Inputs

imageprompt

Outputs

model

Config defaults

modelgeometryFormatmaterialqualityconditionModeaddHighPack

Dynamic handles

Rodin variants accept 1–4 reference images (image, image2, image3, image4) plus an optional prompt.

trigger: config.model → currentModel.inputs from definitions

2 models · click to expand
Rodin 1.5image · image2 · image3 · image4 · prompt
Rodin 2image · image2 · image3 · image4 · prompt
lib/engine/node-executors/3d-gen.tsicon · Box
AI · generativeexport

Export

Export and preview generated media (images/videos)

Inputs

media

Outputs

terminal

Config defaults

filenameformatquality
lib/engine/node-executors/export.tsicon · Download
AI · generativepdf-export

PDF Export

Compose a branded PDF from upstream text, HTML, and images. Pulls colour from the active design system.

Inputs

texthtmlimage

Outputs

file

Config defaults

titlefilename
lib/engine/node-executors/pdf-export.tsicon · FileText
AI · generativepptx-export

PPTX Export

Compose a branded PowerPoint deck from upstream text and images. One slide per input.

Inputs

texthtmlimage

Outputs

file

Config defaults

titlefilename
lib/engine/node-executors/pptx-export.tsicon · Presentation
Toolsweb-search

Web Search

Search the web in real-time using Perplexity AI. Returns facts + source citations.

Inputs

query

Outputs

textcitations

Config defaults

modelmaxResults
2 models · click to expand
Sonar — Fast
Sonar Pro
lib/engine/node-executors/web-search.tsicon · Globe
Toolsimage-describer

Image Describer

Analyze an image using vision AI. Extract text, describe scenes, identify objects — guided by your system prompt.

Inputs

imageprompt

Outputs

text

Config defaults

providermodelsystemPrompttemperaturemaxTokens
lib/engine/node-executors/image-describer.tsicon · ScanEye
AI · generativehtml-gen

HTML Generator

Generate production-ready HTML/CSS using your project design system. Preview in an inline iframe.

Inputs

promptimage

Outputs

htmlcss

Config defaults

promptdsModetitle
lib/engine/node-executors/html-gen.tsicon · Code2
Toolswebhook

Webhook

POST the upstream input to any HTTPS endpoint. Use it to ship generated content to Slack, Zapier, or your own backend.

Inputs

textimageprompt

Outputs

statusresponse

Config defaults

urlmethodheadersJsonincludeInputs
lib/engine/node-executors/webhook.tsicon · Webhook
AI · generativebg-remove

Background Remove

Strip the background from any image. Powered by FAL bria. Single click, no mask needed.

Inputs

image

Outputs

image

Config defaults

lib/engine/node-executors/bg-remove.tsicon · Eraser
AI · generativeupscale

Upscale

Enlarge an image 2× or 4× while sharpening detail. Powered by FAL clarity-upscaler.

Inputs

image

Outputs

image

Config defaults

scalecreativity
lib/engine/node-executors/upscale.tsicon · Maximize2
AI · generativestyle-transfer

Style Transfer

Restyle an image using FLUX redux. Connect a content image and optionally a steering prompt.

Inputs

imageprompt

Outputs

image

Config defaults

promptstrength
lib/engine/node-executors/style-transfer.tsicon · Palette
AI · generativevariations

Variations

Fan one prompt into N tonal/angle rewrites. Useful for A/B tests and campaign variants.

Inputs

prompt

Outputs

textvariants

Config defaults

countinstruction
lib/engine/node-executors/variations.tsicon · Shuffle
Toolsab-compare

A/B Compare

Side-by-side comparison node. Connect two branches, run, and inspect both results in the panel.

Inputs

inputAinputB

Outputs

ab

Config defaults

labelAlabelB
lib/engine/node-executors/ab-compare.tsicon · GitCompare
AI · generativecomposite

Composite

Arrange 2–4 input images in a preset layout (grid, side-by-side, picture-in-picture).

Inputs

image1image2image3image4

Outputs

image

Config defaults

layoutwidthheightgappaddingbackground
lib/engine/node-executors/composite.tsicon · LayoutGrid
AI · generativetext-overlay

Text Overlay

Draw text on top of an image — preset positions, brand-font friendly, optional shadow / background plate.

Inputs

imagetext

Outputs

image

Config defaults

textfontFamilyfontSizefontWeightfontColorpositionpaddingopacityrotationshadowshadowBlurshadowColor
lib/engine/node-executors/text-overlay.tsicon · Type
AI · generativeaudio-gen

Audio Gen

Text-to-speech via FAL PlayAI v3. Connect text input, get a voiceover URL.

Inputs

text

Outputs

audio

Config defaults

voice
lib/engine/node-executors/audio-gen.tsicon · Volume2
AI · generativemusic-gen

Music Gen

Text-to-music via FAL stable-audio. Short ambient / musical clips (1–30s).

Inputs

prompt

Outputs

audio

Config defaults

duration
lib/engine/node-executors/music-gen.tsicon · Music
Toolsgallery

Gallery

Aggregate up to 6 incoming items (images, audio, text, HTML) into a single result panel.

Inputs

item1item2item3item4item5item6

Outputs

items

Config defaults

title
lib/engine/node-executors/gallery.tsicon · GalleryHorizontal
Toolsfunction

Function

Run a small JavaScript snippet against the upstream inputs. Sandboxed, 2-second budget — no network, no fs.

Inputs

inputs

Outputs

result

Config defaults

code
lib/engine/node-executors/function.tsicon · Code
AI · generativeiterator

Iterator

Fan an array (or newline-separated text) through N parallel LLM calls. {{item}} is substituted per iteration. 50-item cap, 1–6 concurrent.

Inputs

promptitems

Outputs

itemstextresults

Config defaults

templateconcurrencyprovidermodeltemperaturesystemPromptmaxTokens