To build any example:
– press Space to add nodes
– drag connections
– press Ctrl/⌘+Enter to run
– add Preview nodes to inspect intermediate results
Pattern 1: Simple Pipeline
Use Case: Transform input → process → output
Example: Image Enhancement
graph TD
image_output["ImageOutput"]
image_input["ImageInput"]
sharpen["Sharpen"]
auto_contrast["AutoContrast"]
image_input --> sharpen
sharpen --> auto_contrast
auto_contrast --> image_output
When to Use:
- Simple data transformations
- Single input, single output
- No conditional logic needed
Pattern 2: Agent-Driven Generation
Use Case: LLM generates content based on input
Example: Image to Story
graph TD
image_input["Image"]
agent_story["Agent (Story Generator)"]
preview_audio["Preview (Audio)"]
text_to_speech["TextToSpeech"]
image_input --> agent_story
agent_story --> text_to_speech
text_to_speech --> preview_audio
When to Use:
- Creative generation tasks
- Multimodal transformations (image→text→audio)
- Need semantic understanding
Key Nodes:
Agent: General-purpose LLM agent with streaming
Summarizer: Specialized for text summarization
ListGenerator: Streams list of items
Pattern 3: Streaming with Multiple Previews
Use Case: Show intermediate results during generation
Example: Movie Poster Generator
graph TD
strategy_llm["Agent (Strategy)"]
strategy_template_prompt["String (Strategy Template)"]
strategy_preview["Preview (Strategy)"]
strategy_prompt_formatter["FormatText (Strategy)"]
movie_title_input["StringInput (Title)"]
genre_input["StringInput (Genre)"]
audience_input["StringInput (Audience)"]
image_preview["Preview (Image)"]
prompt_list_generator["ListGenerator"]
designer_instructions_prompt["String (Designer Instructions)"]
preview_prompts["Preview (Prompts)"]
mflux["MFlux"]
strategy_llm --> strategy_preview
strategy_template_prompt --> strategy_prompt_formatter
strategy_prompt_formatter --> strategy_llm
strategy_llm --> prompt_list_generator
designer_instructions_prompt --> prompt_list_generator
audience_input --> strategy_prompt_formatter
movie_title_input --> strategy_prompt_formatter
genre_input --> strategy_prompt_formatter
prompt_list_generator --> preview_prompts
prompt_list_generator --> mflux
mflux --> image_preview
When to Use:
- Complex multi-stage generation
- User needs to see progress
- Agent planning + execution workflow
Key Concepts:
- Strategy Phase: Agent plans approach
- Preview Nodes: Show intermediate results
- ListGenerator: Streams generated prompts
- Image Generation: Final output
Pattern 4: RAG (Retrieval-Augmented Generation)
Use Case: Answer questions using documents as context
Example: Chat with Docs
graph TD
chat_input["ChatInput"]
string_output["StringOutput (Answer)"]
format_text["FormatText"]
hybrid_search["HybridSearch"]
agent["Agent"]
chat_input --> format_text
chat_input --> hybrid_search
hybrid_search --> format_text
format_text --> agent
agent --> string_output
When to Use:
- Question-answering over documents
- Need factual accuracy from specific sources
- Reduce LLM hallucinations
Key Components:
- Search: Query vector database for relevant documents
- Format: Inject retrieved context into prompt
- Generate: Stream LLM response with context
Related Workflow: Index PDFs
graph TD
list_files["ListFiles"]
collection["Collection"]
load_document["LoadDocumentFile"]
extract_text["ExtractText"]
index_chunks["IndexTextChunks"]
sentence_splitter["SentenceSplitter"]
path_to_string["PathToString"]
extract_text --> sentence_splitter
load_document --> extract_text
sentence_splitter --> index_chunks
collection --> index_chunks
list_files --> load_document
list_files --> path_to_string
path_to_string --> sentence_splitter
Pattern 5: Database Persistence
Use Case: Store generated data for later retrieval
Example: AI Flashcard Generator with SQLite
graph TD
topic_input["StringInput (Topic)"]
create_table["CreateTable"]
format_prompt["FormatText"]
generate_flashcards["DataGenerator"]
insert_flashcard["Insert"]
query_all["Query"]
display_result["Preview"]
topic_input --> format_prompt
format_prompt --> generate_flashcards
generate_flashcards --> insert_flashcard
create_table --> query_all
create_table --> insert_flashcard
query_all --> display_result
When to Use:
- Need persistent storage
- Building apps with memory
- Agent workflows that need to recall past interactions
Key Nodes:
CreateTable: Initialize database schema
Insert: Add records
Query: Retrieve records
Update: Modify records
Delete: Remove records
Database Flow:
- Create table structure
- Generate data with agent
- Insert into database
- Query and display results
Pattern 6: Email & Web Integration
Use Case: Process emails or web content
Example: Summarize Newsletters
graph TD
gmail_search["GmailSearch"]
email_fields["EmailFields"]
summarizer_streaming["SummarizerStreaming"]
preview_summary["Preview (Summary)"]
preview_body["Preview (Body)"]
gmail_search --> email_fields
email_fields --> summarizer_streaming
summarizer_streaming --> preview_summary
email_fields --> preview_body
When to Use:
- Automate email processing
- Monitor RSS feeds
- Extract web content
Key Nodes:
GmailSearch: Search Gmail with queries
EmailFields: Extract email metadata
FetchRSSFeed: Get RSS feed entries
GetRequest: Fetch web content
Pattern 7: Realtime Processing
Use Case: Process streaming audio/video in real-time
Example: Realtime Agent
graph TD
audio_input["RealtimeAudioInput"]
preview_output["Preview"]
realtime_agent["RealtimeAgent"]
audio_input --> realtime_agent
realtime_agent --> preview_output
When to Use:
- Voice interfaces
- Live transcription
- Interactive audio applications
Key Nodes:
RealtimeAudioInput: Streaming audio input
RealtimeAgent: OpenAI Realtime API with streaming
RealtimeWhisper: Live transcription
RealtimeTranscription: OpenAI transcription streaming
Pattern 8: Multi-Modal Workflows
Use Case: Convert between different media types
Example: Audio to Image
graph TD
stable_diffusion["StableDiffusion"]
whisper["Whisper"]
audio_input["AudioInput"]
image_output["ImageOutput"]
whisper --> stable_diffusion
audio_input --> whisper
stable_diffusion --> image_output
When to Use:
- Converting between media types
- Creating rich multimedia experiences
- Accessibility applications
Common Chains:
- Audio → Text → Image
- Image → Text → Audio
- Video → Audio → Text → Summary
Pattern 9: Advanced Image Processing
Use Case: AI-powered image transformations
Example: Style Transfer
graph TD
stable_diffusion_control_net_img2img["StableDiffusionControlNetImg2Img"]
image_input_1["ImageInput"]
image_input_2["ImageInput"]
image_output["ImageOutput"]
canny["Canny"]
image_to_text["ImageToText"]
fit_1["Fit"]
fit_2["Fit"]
stable_diffusion_control_net_img2img --> image_output
canny --> stable_diffusion_control_net_img2img
image_to_text --> stable_diffusion_control_net_img2img
image_input_2 --> fit_1
image_input_1 --> fit_2
fit_2 --> canny
fit_2 --> image_to_text
image_input_2 --> stable_diffusion_control_net_img2img
fit_2 --> stable_diffusion_control_net_img2img
When to Use:
- Style transfer between images
- Controlled image generation
- Preserving structure while changing style
Key Techniques:
- ControlNet: Preserve structure with edge detection
- Image-to-Text: Generate descriptions
- Img2Img: Transform while maintaining composition
Pattern 10: Data Processing Pipeline
Use Case: Fetch, transform, and visualize data
Example: Data Visualization Pipeline
graph TD
preview_1["Preview"]
get_request["GetRequest"]
import_c_s_v["ImportCSV"]
filter["Filter"]
chart_generator["ChartGenerator"]
preview_2["Preview"]
get_request --> import_c_s_v
import_c_s_v --> filter
filter --> preview_1
filter --> chart_generator
chart_generator --> preview_2
When to Use:
- Fetch external data sources
- Transform and filter datasets
- Auto-generate visualizations
Key Nodes:
GetRequest: Fetch web resources
ImportCSV: Parse CSV data
Filter: Transform data
ChartGenerator: AI-generated charts with Plotly