Prompts Directory
Centralized prompt management for all LLM interactions in ReelForge.
Structure
Each prompt is in its own file for easy maintenance and modification:
prompts/
├── __init__.py # Exports all builder functions
├── topic_narration.py # Generate narrations from topic
├── content_narration.py # Extract/refine narrations from content
├── script_split.py # Split fixed script into segments
├── title_generation.py # Generate video title from content
├── image_generation.py # Generate image prompts from narrations
└── style_conversion.py # Convert style description to image prompt
Usage
All builder functions are exported from the package root:
from reelforge.prompts import (
build_topic_narration_prompt,
build_content_narration_prompt,
build_script_split_prompt,
build_title_generation_prompt,
build_image_prompt_prompt,
build_style_conversion_prompt,
)
Prompt Files
Narration Prompts
-
topic_narration.py
- Purpose: Generate engaging narrations from a topic/theme
- Input: topic, n_storyboard, min_words, max_words
- Output: JSON with narrations array
-
content_narration.py
- Purpose: Extract and refine narrations from user content
- Input: content, n_storyboard, min_words, max_words
- Output: JSON with narrations array
-
script_split.py
- Purpose: Split fixed script into natural segments (no modification)
- Input: script, min_words (reference), max_words (reference)
- Output: JSON with narrations array
-
title_generation.py
- Purpose: Generate short, attractive video title
- Input: content, max_length
- Output: Plain text title
Image Prompts
-
image_generation.py
- Purpose: Generate English image prompts from narrations
- Input: narrations, min_words, max_words, style_preset/style_description
- Output: JSON with image_prompts array
- Contains: IMAGE_STYLE_PRESETS dictionary
-
style_conversion.py
- Purpose: Convert custom style description to English image prompt
- Input: description (any language)
- Output: Plain text English image prompt
Modifying Prompts
To modify a prompt:
- Locate the relevant file (e.g.,
topic_narration.py) - Edit the prompt constant (e.g.,
TOPIC_NARRATION_PROMPT) - Changes take effect immediately (no need to modify service code)
Adding New Prompts
To add a new prompt:
- Create a new file (e.g.,
my_new_prompt.py) - Define the prompt constant and builder function
- Export the builder function in
__init__.py - Use it in service code:
from reelforge.prompts import build_my_new_prompt
Design Principles
- One File, One Prompt: Each prompt has its own file for clarity
- Builder Functions: Each file exports a
build_*_prompt()function - Centralized Exports: All builders are exported from
__init__.py - Consistent Format: All prompts follow similar structure and style
- Easy Maintenance: Modify prompts without touching service code