🎨 Flow Studio User Guide
📖 Introduction
Flow Studio is a powerful visual node-based editor that lets you create
sophisticated AI processing pipelines. Connect different AI models,
combine their outputs, and automate your workflow.
💡 Quick Start: Flow Studio now defaults to a fully
configured Best-of-5 flow with 5 top-tier AI models
ready to use!
📋 How to Use the Default Best-of-5 Flow
The default flow is designed to analyze your code and generate the best
possible response by consulting 5 different AI models and synthesizing
their answers.
⚠️ IMPORTANT WORKFLOW:
-
Step 1: Write Your Question
In the main AICodePrep window, type your question or task in the
"Prompt / Question" text box
-
Step 2: Generate Context
Click the "GENERATE CONTEXT!" button
→ This creates fullcode.txt with your code + question
-
Step 3: Configure API Key
In Flow Studio, click "🔑 Manage API Keys" and add
your OpenRouter API key
→ Get a free key at
openrouter.ai/keys
-
Step 4: Run the Flow
Click the "▶ Run Flow" button in Flow Studio
toolbar
→ Watch as 5 AI models analyze your code and synthesize the best
answer
-
Step 5: Get Results
Find your answer in:
- 📋 Clipboard (automatically copied)
- 📄
best_of_all1.txt (saved to disk)
- 👁️ Output Display panel (visible in Flow Studio)
📌 What This Flow Does:
-
Reads
fullcode.txt (generated by GENERATE CONTEXT
button)
- Sends it to 5 different AI models in parallel
- Synthesizes all 5 responses into one "best of all" answer
- Outputs to clipboard, file, and display panel
💡 Cost Saving Tip: The default flow uses premium
models. You can click on any LLM node and change the
model property to use cheaper alternatives. Set
model_mode to "random_free" to use only free models!
🔑 Setting Up API Keys
Before you can use AI nodes, you need to configure your API keys. You
have two options:
Option 1: In-App API Key Manager (Easiest! ⭐)
-
In Flow Studio toolbar, click
"🔑 Manage API Keys" button
- Enter your API keys for each provider you want to use
- Click "Save"
- Done! Your keys are securely saved to the config file
💡 Recommended: Use the built-in API Key Manager for
the easiest setup experience. No need to manually edit files!
Option 2: Manual Configuration File
Step 1: Locate your config file at:
Windows: C:\Users\[YourUsername]\.aicodeprep-gui\api-keys.toml
Mac/Linux: ~/.aicodeprep-gui/api-keys.toml
Step 2: Open the file in a text editor and add your
keys:
[openrouter]
api_key = "sk-or-v1-your-openrouter-key-here"
base_url = "https://openrouter.ai/api/v1"
[openai]
api_key = "sk-your-openai-key-here"
base_url = "https://api.openai.com/v1"
[gemini]
api_key = "your-gemini-api-key-here"
🎯 Node Types
🤖 LLM Provider Nodes
These nodes send your input to AI models and return the response:
-
OpenRouter Access to 100+ models from
various providers
-
OpenAI GPT-4.1, GPT-5, o3, and other
OpenAI models
- Gemini Google's Gemini models
-
OpenAI Compatible Any OpenAI-compatible
API endpoint
📁 Input/Output Nodes
-
Context Output Provides your selected
files and prompt as input
-
File Write Saves output to a file
-
Clipboard Copies output to clipboard
-
Output Display Shows output in the UI
🔧 Utility Nodes
-
Best of N Takes multiple AI responses
and synthesizes the best answer using another AI model
🎮 Using Flow Studio
Navigation Controls
-
Pan: Hold Spacebar and drag, or use the hand tool
(✋)
- Pan with Arrows: Use arrow keys (←↑↓→) to pan
- Zoom: Mouse wheel or 🔍+/🔍- buttons
- Fit View: Click ⊡ button to fit all nodes
Working with Nodes
-
Add Node: Click "➕ Add Node" or press Tab
-
Connect Nodes: Drag from an output port (right side)
to an input port (left side)
- Select Node: Click on a node to select it
- Move Node: Click and drag a node
-
Delete Node: Select node and press
Delete or Backspace
-
Configure Node: Select a node to see its properties
in the Properties Panel on the right
Configuring LLM Nodes
- Click on an LLM node to select it
-
In the Properties Panel, you'll see:
-
model_mode: Choose "choose" to specify a model, or
"random"/"random_free" for automatic selection
-
model: Enter the model ID (e.g., "openai/gpt-4",
"anthropic/claude-3-opus")
-
output_file: Where to save the model's response
(e.g., "LLM1.md")
-
temperature: Controls randomness (0.0-2.0, typically
0.7)
🚀 Running Your Flow
-
Make sure all nodes are connected properly (no red error indicators)
- Ensure your API keys are configured
- Click "Run Flow" button in the toolbar
- Watch the execution progress in the status bar
- Check the output files or clipboard for results
⚠️ Important: Running flows with multiple LLM nodes
will consume API credits. Be mindful of costs, especially when using
paid models!
📝 Built-in Flow Templates
Best-of-5 (Blank)
A template with 5 LLM nodes and a Best-of-N synthesizer. Models are not
pre-configured, so you need to set them up yourself.
Best-of-5 (Configured)
A ready-to-use flow with pre-configured models from OpenRouter:
- GPT-5 Codex
- Claude Sonnet 4.5
- GLM-4.6
- Qwen3 Next 80B
- O4 Mini
- Synthesized by Gemini 2.5 Pro
Just add your OpenRouter API key and you're ready to go!
💾 Saving and Loading Flows
-
Export:
Flow → Export Flow JSON… saves
your current flow to a .json file
-
Import:
Flow → Import Flow JSON… loads a
previously saved flow
-
Reset:
Flow → Reset to Default Flow clears the canvas
❓ Common Issues
Node won't execute / Shows error
-
Check that your API key is configured in
api-keys.toml
- Verify the model ID is correct
- Ensure input ports are connected
- Check your internet connection
Can't connect nodes
- Make sure you're connecting output (right) to input (left)
- Ports must be compatible types (text → text)
Flow runs but no output
- Check that output nodes (Clipboard, File Write) are connected
- Verify file paths in File Write nodes are valid
- Look for error messages in the log
🎓 Example Use Cases
Best-of-N Analysis
Send the same prompt to multiple different AI models and synthesize
their responses into one superior answer.
Multi-Stage Processing
Chain multiple AI calls: first model generates ideas, second model
refines them, third model writes code.
Parallel Processing
Run multiple independent AI tasks simultaneously and collect all
results.