Workflow Nodes

LoreKit uses a node-based workflow system where each node is a single operation — generating an image, creating a video, swapping a face, stitching clips together. Connect outputs to inputs to build any pipeline.

Nodes can be added via the canvas UI (+ Add Node) or programmatically via MCP tools (lorekit_workflow_add_node). Claude can compose entire pipelines from natural language.

Pipeline Examples#

UGC Ad

character_ref → kontext_keyframe → kling_v3_pro

Multi-Scene Video

character_ref → keyframe × N → clip × N → video_stitch

Clone Yourself

kontext_keyframe → face_swap → kling_v3_pro

Product Placement

kontext_keyframe → kontext_edit → kling_v3_pro → ffmpeg_overlay

Import & Remix

download → extract_frames → face_swap → kling_v3_pro → video_stitch

Upscale + BG Swap

kontext_keyframe → bg_remove → kontext_edit → upscale

Image Generation#

Kontext Keyframe

kontext_keyframe$0.04fal.ai Flux Pro Kontext Max Multi

Generates a high-quality image from a text prompt and up to 4 reference photos. The primary way to create character-consistent keyframes that serve as the starting frame for video generation.

NameTypeDefaultDescription
promptstringrequiredDetailed scene description: character pose, expression, setting, lighting
reference_imagesstring[][]Up to 4 image URLs that anchor the character's appearance
aspect_ratiostring"9:16""9:16" (portrait) or "16:9" (landscape)
scene_idintLinks this node to a timeline scene

Inputs: ref_1 through ref_4 — upstream image URLs as references

Output: url — generated image

Be specific about the shot. Reference images matter more than prompt for face consistency — use 2-4 photos from different angles.

Kontext Edit

kontext_edit$0.04fal.ai Flux Pro Kontext Max

Edits an existing image while preserving the person's identity. Change the background, swap clothing, add objects, adjust lighting — the face stays the same.

NameTypeDefaultDescription
promptstringrequiredEdit instruction (NOT a full scene description)
aspect_ratiostring"9:16"Output aspect ratio

Inputs: image — source image to edit

Output: url — edited image

Write edit instructions like "Change background to a coffee shop" not full descriptions. Great for product placement and character views.

Nano Banana 2

nano_banana$0.04fal.ai Nano Banana 2

Fast image generation supporting up to 14 reference images. Trades some quality for speed and broader reference support.

NameTypeDefaultDescription
promptstringrequiredScene description
image_urlsstring[][]Up to 14 reference image URLs
aspect_ratiostring"9:16"Output aspect ratio

Video Generation#

Kling V3 Pro

kling_v3_pro$0.14/secfal.ai Kling Video V3 Pro

Generates 3-15 second video from a keyframe image. Best for character-focused scenes — maintains face identity throughout the clip using the elements system.

NameTypeDefaultDescription
promptstringrequiredMotion/action description (max 2500 chars)
durationint5Clip length in seconds (3-15)
scene_idintLinks to timeline scene
cfg_scalefloat0.5Guidance strength: lower = more creative, higher = more literal
negative_promptstring(auto)What to avoid in generation
elementsobject[][]Character identity anchors (see below)

Inputs: start_image (required keyframe), end_image (optional — for seamless loops)

Output: url — generated video

Character consistency via elements:

json
{
  "elements": [{
    "frontal_image_url": "character_portrait.png",
    "reference_image_urls": ["side.png", "three_quarter.png"]
  }]
}
Describe MOTION, not appearance — the keyframe establishes the look. "Slowly turns to camera, raises eyebrow" not "handsome man in suit." 5 seconds is the sweet spot.

Kling O3

kling_o3$0.10/secfal.ai Kling Video O3 Standard

Generates 3-15 second cinematic video. Optimized for environments, landscapes, and wide shots where character face consistency isn't the priority. 30% cheaper than V3 Pro.

NameTypeDefaultDescription
promptstringrequiredScene/motion description
durationint5Clip length in seconds (3-15)

Transition

transition$0.14/sec

Generates a smooth morph video between two clips. Can auto-extract the last frame of clip A and first frame of clip B, or accept explicit frame images.

NameTypeDefaultDescription
promptstring"Smooth cinematic transition"Transition style description
durationint3Transition length (3-15s)

Inputs (option A): start_image + end_image — explicit frame URLs

Inputs (option B): from_clip + to_clip — video paths (frames auto-extracted)

Transform#

Face Swap

face_swap$0.05fal.ai Face Swap

Replaces the face in a target image with a face from a source photo. Body, pose, lighting, and background are preserved.

Inputs: source_face (the face to paste in), target_image (the image to modify)

Output: url — face-swapped image

Chain: kontext_keyframe → face_swap → kling_v3_pro. Great for making yourself appear in AI-generated scenes.

Upscale

upscale$0.02fal.ai Real-ESRGAN

Enlarges an image 2x or 4x with AI-powered detail enhancement.

NameTypeDefaultDescription
scaleint2Upscale factor (2 or 4)

Background Removal

bg_remove$0.02fal.ai Bria Background Removal

Removes the background from an image, producing a transparent PNG. Use for compositing, stickers, or preparing assets for product placement.

Audio#

MiniMax TTS

tts_minimax$0.06

Fast text-to-speech. Good default choice for narration.

NameTypeDefaultDescription
textstringrequiredSpeech content
voice_idstringVoice identifier

Orpheus TTS

tts_orpheus$0.06

Voice cloning TTS. Provide a reference audio sample and it generates speech in that voice.

NameTypeDefaultDescription
textstringrequiredSpeech content
voice_idstringVoice identifier
reference_audiostringURL to voice sample for cloning

ElevenLabs TTS

tts_elevenlabs$0.06

High-quality multilingual text-to-speech.

Local Operations (Free)#

These nodes run locally using ffmpeg — no API calls, no cost.

Download

downloadFree

Fetches any URL to local storage. Import videos, images, or audio from the internet for remixing.

Extract Frames

extract_framesFree

Pulls PNG frames from a video at specific timestamps. Use for face swap, thumbnails, or re-animation.

NameTypeDefaultDescription
timestampsfloat[][0]Seconds to extract, e.g. [0, 2.5, 5, 10]

Video Stitch

video_stitchFree

Concatenates multiple video clips into one continuous video. Inputs named clip_1, clip_2, etc.

Color Grade

ffmpeg_gradeFree

Applies color grading to a video using a named grading profile.

Text Overlay

ffmpeg_overlayFree

Burns text directly onto a video using ffmpeg drawtext.

NameTypeDefaultDescription
textstring""Text content to display
font_sizeint48Font size in pixels
colorstring"white"Any ffmpeg color name
positionstring"center""center", "top", or "bottom"

Character Reference

character_refFree

Pass-through node that holds a character image URL. Drag images from the media gallery onto the canvas to create these automatically.