How madhoor/ai-story-engine works
AI-Story-Engine generates several story candidates, reviews them, selects the highest-scoring result, saves it, and synthesizes audio. The editor is a separate, currently inactive rewrite option. The README is empty, so the map follows the sampled runtime code; prompt files are shown as inputs, and no unsampled behavior is assumed.
Main entry points: main.py Workflow runner · critic.py Story critic · editor.py Story editor · llm.py Story generator
Components 14
Story workflow
- Workflow runner
main.py - Story critic
app/critic.py - Story editor
app/editor.py - Saved stories
Language generation
- Story generator
app/llm.py - Ollama API
Speech output
- Voice synthesizer
app/tts.py - Kokoro TTS
- Audio files
Prompts and settings
- Story prompt
prompts/story_prompt.txt - Critic prompt
prompts/critic_prompt.txt - Editor prompt
prompts/editor_prompt.txt - Model settings
app/config.py
Other components
- User
Connections 17
- User → Workflow runner: starts
main.py - Workflow runner → Story generator: generates candidates
main.py - Workflow runner → Story critic: reviews candidates
main.py - Workflow runner → Saved stories: saves winner
main.py - Workflow runner → Voice synthesizer: synthesizes winner
main.py - Workflow runner → Story editor: may rewrite
main.py - Story generator → Story prompt: loads prompt
app/llm.py - Story critic → Critic prompt: loads prompt
app/critic.py - Story editor → Editor prompt: loads prompt
app/editor.py - Story generator → Model settings: reads settings
app/llm.py - Story critic → Model settings: reads settings
app/critic.py - Story editor → Model settings: reads settings
app/editor.py - Story generator → Ollama API: requests generation
app/llm.py - Story critic → Ollama API: requests review
app/critic.py - Story editor → Ollama API: requests rewrite
app/editor.py - Voice synthesizer → Kokoro TTS: runs synthesis
app/tts.py - Voice synthesizer → Audio files: writes audio
app/tts.py