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 context
  • substring (default *): The specific part of input to mutate
  • mutation_level : Controls how drastic the changes are
  • number_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 generate
  • examples : One or more examples of the desired format
  • num_of_gens : How many items to generate per call
  • existing_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 rule
  • example_pre : Optional guides to illustrate before/after
  • example_post : Post-transformation text example
  • batch_size : How many items to process per call
  • items : 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

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 messages
  • recent_message (string): The latest user input
  • primer_instructions : Additional context or rules for the LLM
  • model_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 parsed
  • categories : 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 delimiter
  • separator : The delimiter used to split or group the items
  • criteria : 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 scenario
  • objective : What you’re trying to achieve
  • output_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

ModuleLetterGreek SymbolColor
REDUCER⬠Δ (Delta)    Light Red (#E57373)
EXPANDE⬠Σ (Sigma)    Light Orange (#FFB74D)
ENHANCEH⬠Φ (Phi)    Light Yellow (#FFF176)
TRANSLATET⬠Τ (Tau)    Blue Gray (#607D8B)
MUTATEM⬠Μ (Mu)    Light Cyan (#4DD0E1)
GENERATEG⬠Γ (Gamma)    Gray (#9E9E9E)
ITERATEI⬠Π (Pi)    Light Purple (#9575CD)
SEARCHS⬠Λ (Lambda)    Light Green (#81C784)
CONVERSEC⬠Ψ (Psi)    Light Blue (#64B5F6)
PARSEP⬠Ξ (Xi)    Brown (#795548)
EVALUATEV⬠Ε (Epsilon)    Pink (#F06292)
IMAGINEA⬠Α (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.