Spout's functionality is organized into twelve core modules, each representing a distinct category of transformation with specific functions and input parameters. This structured approach makes the scope of LLM operations more intuitive while enabling focused development of specialized prompts and templates. Each module below includes its primary purpose, typical input parameters, example spoutlets included templates, and example functions included in the core modules script.ahk files. And finally, a quick-reference table displays each module’s Greek symbol and color at a glance.
⬠Δ REDUCE
The REDUCE module takes a single input string and produces a shorter output. Its default spoutlet provides summarization functionality, while alternate spoutlets offer specialized reduction operations:
Spoutlets Plugins
- default (Summarize): Generates concise summaries of longer text
- namer: Creates appropriate titles or labels from content
- describe: Produces brief descriptions of the input
Input Parameters
input
: The text(s) to be reduced
Example Use Cases
- Creating executive summaries from long documents
- Generating titles from content
- Producing brief descriptions for labeling
⬠Σ EXPAND
Where REDUCE makes text shorter, EXPAND does the opposite—it elaborates on a short piece of text to create a longer or/more detailed version. This module can add depth, context, or step-by-step explanations to any input.
Input Parameters
input
: The text to expand
Spoutlets Plugins
- default (Expand): Generates a longer version of the input
- develop: expand on an input with abbrieviated content
- fill: fill in the gaps within an input string
Use Cases
- Make a paragraph longer and more verbose
- Drafting extensive instructions from short guidelines
- Adding rich detail or background to a simple idea
⬠Φ ENHANCE
The ENHANCE module refines existing text without fundamentally changing its length or core meaning. This can mean grammar fixes, stylistic improvements, or even minor code cleanups.
Input Parameters
input
: The text to enhance
Spoutlets Plugins
- default (Enhance): Make general improvements in grammer, style, etc. to input text
- jazz: Make the input text more engaging and interesting
Use Cases
- Polishing drafts to a more professional standard
- Correcting typos or minor errors
⬠Τ TRANSLATE
The TRANSLATE module tranlates text according to a specification. The default spoutlet will translate text according to any specification you provide. Custom spoutlet templates can be customized to specialize in particular types of translation, such as for software, specific languages, etc.
Input Parameters
input
: The text or code to be translated.specification
: Describes the desired transformation (e.g., “more formal” “to spanish,” “in a more casual tone”)
Spoutlets Plugins
- default (Translate): Translate text from one language to another
- code: Translate code from one language to another
Use Cases
- Multilingual support for websites or documents
- Code syntax transformations
- Altering text tone to fit different audiences
⬠Μ MUTATE
MUTATE creates alternative versions of a selected substring (or the entire context). This is great for brainstorming different phrasings, rewriting a short snippet multiple ways, or even refactoring code to compare solutions.
Input Parameters
input
: The full text or contextsubstring
(default*
): The specific part ofinput
to mutatemutation_level
: Controls how drastic the changes arenumber_of_variations
: How many alternate versions to produce
Spoutlets Plugins
- default (Mutate): Create alternative versions of a selected substring (or the entire context)
- imagegen: Create alternative versions of an image generation prompt
Use Cases
- Generating synonyms or paraphrased sentences
- Brainstorming multiple headlines for a marketing campaign
- Spawning different code implementations for the same function
⬠Γ GENERATE
The GENERATE module creates new items based on a user description and example inputs. You can think of it as a tool for batch-ideation: from creative text prompts to structural code stubs.
Input Parameters
description
: Explains what to generateexamples
: One or more examples of the desired formatnum_of_gens
: How many items to generate per callexisting_items
: Previously generated items (to avoid duplicates or ensure variety)
Spoutlets Plugins
- default (Generate): Create new items based on a user description and example inputs
- multiline: Same is default accept outputs multiline text items
Use Cases
- Brainstorming titles, taglines, or short stories
- Generating test data or dummy content
- Building creative lists (like character names, recipes, or code skeletons)
⬠Π ITERATE
ITERATE takes a batch of items and applies a transformation to each. It’s like a bulk editor or batch processor for text, code, or any string-based data.
Input Parameters
description
: Specifies the transformation or ruleexample_pre
: Optional guides to illustrate before/afterexample_post
: Post-transformation text examplebatch_size
: How many items to process per callitems
: The list of items to transform
Spoutlets Plugins
- default (Iterate): Take a batch of items and applies a transformation to each.
Use Cases
- Converting a group of paragraphs to a specific style
- Linting or formatting multiple code snippets at once
- Applying consistent wording or structure across many documents
⬠Λ SEARCH
The SEARCH module suggests potential data sources, references, or relevant text snippets. It can output structured hints (like URLs, snippet indexes, or additional keywords) that help you find information not contained directly in your input context or in the model itself.
Input Parameters
input
: The text or topic to search
Spoutlets Plugins
- default (Search): Generate a list of potential data sources, references, or relevant text snippets
Use Cases
- Generating Search Engine URLs for gathering external info
⬠Ψ CONVERSE
CONVERSE is for chat-based or conversational interactions with one or more LLMs. It’s effectively Spout’s multi-turn dialog engine, allowing you to switch models, add custom instructions, and maintain message history.
Input Parameters
message_history
(array/list): Previous messagesrecent_message
(string): The latest user inputprimer_instructions
: Additional context or rules for the LLMmodel_name
: Which model to use for the next response
Spoutlets Plugins
- default (Converse): Chat-based or conversational interactions with one or more LLMs.
- nonconversational: Same as default but without the conversational tendencies
Use Cases
- Building a ChatGPT-like UI for project-specific Q&A
- Hosting multi-agent conversations (e.g., having two LLMs debate)
- Experimenting with “personas” or “roles” in a controlled environmen
⬠Ξ PARSE
PARSE breaks an input string into categorized parts, such as parts of speech, named entities, or any custom categories you define. Think of it as a flexible tool for turning freeform text into structured data.
Input Parameters
input
: Text to be parsedcategories
: What you’d like to extract or label
Spoutlets Plugins
- default (Parse): Break an input string into categorized parts
- imagegen: Break an image generation prompt into categorized parts
Use Cases
- Analyzing grammatical structure (nouns, verbs, adjectives)
- Extracting relevant elements from logs or emails (names, places, dates)
- Converting text into a structured format (JSON, CSV) for further processing
⬠Ε EVALUATE
The EVALUATE module scores and ranks a series of text inputs based on user-defined criteria. It can also provide explanations for why a certain ranking was assigned.
Input Parameters
combined_input
: All inputs to be evaluated, often separated by a special delimiterseparator
: The delimiter used to split or group the itemscriteria
: Describes how to judge each item (e.g., clarity, correctness, creativity)explanation
: Determines whether to include a justification or reason in the output
Spoutlets Plugins
- default (Evaluate): Score and rank a series of text inputs based on user-defined criteria
Use Cases
- Finding the “best” among multiple generated titles, paragraphs, or suggestions
- Ranking short code snippets by efficiency or readability
- Prioritizing user-submitted ideas in a brainstorming session
⬠Α IMAGINE
Finally, IMAGINE outputs multi-step plans or structured outlines. It’s like a blueprint generator, providing step-by-step solutions for complex tasks.
Input Parameters
context
: The background or scenarioobjective
: What you’re trying to achieveoutput_format
: The desired style of the plan (e.g., JSON, bullet points)stipulations
: Any constraints or special conditions
Spoutlets Plugins
- default (Imagine): Output multi-step plans or structured outlines
- outline: Create an outline according to context and objective
Use Cases
- Project planning or to-do lists
- Creating a story outline or multi-chapter structure
- Coordinating multi-module operations (linking
SEARCH
,REDUCE
,EVALUATE
, etc.)
Quick-Reference Table of Symbols & Colors
Module | Letter | Greek Symbol | Color |
---|---|---|---|
REDUCE | R | ⬠Δ (Delta) | Light Red (#E57373) |
EXPAND | E | ⬠Σ (Sigma) | Light Orange (#FFB74D) |
ENHANCE | H | ⬠Φ (Phi) | Light Yellow (#FFF176) |
TRANSLATE | T | ⬠Τ (Tau) | Blue Gray (#607D8B) |
MUTATE | M | ⬠Μ (Mu) | Light Cyan (#4DD0E1) |
GENERATE | G | ⬠Γ (Gamma) | Gray (#9E9E9E) |
ITERATE | I | ⬠Π (Pi) | Light Purple (#9575CD) |
SEARCH | S | ⬠Λ (Lambda) | Light Green (#81C784) |
CONVERSE | C | ⬠Ψ (Psi) | Light Blue (#64B5F6) |
PARSE | P | ⬠Ξ (Xi) | Brown (#795548) |
EVALUATE | V | ⬠Ε (Epsilon) | Pink (#F06292) |
IMAGINE | A | ⬠Α (Alpha) | Deep Orange (#FF8A65) |
With these twelve modules, Spout provides a comprehensive toolkit for text and code manipulation, enabling powerful, specialized tasks. For more details on any individual module—like advanced parameters, extended examples, or spoutlet configurations—see the corresponding module’s documentation. And don’t forget to explore our Principles page to learn how Spout’s overall design philosophy ties these modules together for a forward-thinking, community-driven AI ecosystem.