Skip to main content

Storytelling: Turn Your Ideas Into Complete Narratives

Transform a simple story idea into a fully-written, multi-chapter narrative. WillWrite is an AI-powered storytelling partner that handles the heavy lifting—outline generation, chapter planning, scene development, and revision—so you can focus on your creative vision.

What It Does ?

Create complete stories in minutes. You provide a story prompt. The system generates:

  • A structured outline with plot, characters, and themes
  • Individual chapters with detailed chapter outlines
  • Four polished scenes per chapter
  • Multiple revision passes for consistency and quality
  • Session persistence—pause and resume anytime

Powered by advanced AI orchestration. Built on LangGraph and LangChain with multi-LLM provider support, knowledge-base integration, and intelligent retrieval-augmented generation (RAG).

Getting Started

Installation

# Basic installation
pip install storytelling

# With full features (web fetching, local embeddings, cloud logging)
pip install storytelling[all]

Your First Story

# Create a prompt file
echo "A detective discovers a mysterious library" > my_prompt.txt

# Generate your story
storytelling --prompt my_prompt.txt --output my_story.md

Your completed story appears in my_story.md.

Using Your Own LLMs

# With local Ollama
storytelling --prompt prompt.txt \
  --initial-outline-model "ollama://mistral@localhost:11434"

# With Google Gemini
storytelling --prompt prompt.txt \
  --initial-outline-model "google://gemini-2.5-flash"

Key Features

Flexible AI Providers

  • Google (Gemini, PaLM)
  • Ollama (local models)
  • OpenRouter (community models)
  • Custom endpoints

Knowledge-Aware Generation

  • Integrate your own knowledge bases
  • Web content retrieval
  • Semantic context enhancement
  • Consistent worldbuilding

Session Management

  • Pause and resume at any stage
  • Checkpoint-based recovery
  • Narrative branching
  • Full generation history

Production Ready

  • Comprehensive logging with Langfuse
  • Type-safe with Pydantic
  • Configurable for various use cases
  • Extensible architecture

Command Line

storytelling --help                    # See all options
storytelling --prompt file.txt         # Generate story
storytelling --list-sessions           # See your past sessions
storytelling --resume <session-id>     # Continue a session

Documentation

  • Full Setup Guide: See scripts/init.sh for environment setup
  • Architecture: Check rispecs/ directory for detailed specifications
  • Specifications: RISPECS.md contains implementation architecture
  • Prompts & Models: rispecs/Prompts.md and rispecs/LLM_Provider_Specification.md

Development

# Setup development environment
./scripts/init.sh

# Run tests
make test

# Check code quality
make lint

# Build and release
make release-check

License

CC0-1.0 License - See LICENSE

Release files for storytelling 0.2.21

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for storytelling 0.2.21
File Size Uploaded
storytelling-0.2.21.tar.gz 70.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for storytelling 0.2.21
File Interpreter ABI Platform
storytelling-0.2.21-py3-none-any.whl Python 3 none any Details

Total release size: 142.9 kB

Release files / storytelling-0.2.21.tar.gz

Download URL storytelling-0.2.21.tar.gz
Size 70.3 kB
Tags Source
SHA-256 checksum
How to use checksums
2622e544afcdf8e2838c2f92f0f451f8b5c95bf034c71e9a8c674571c217f855
BLAKE2b-256 checksum
How to use checksums
1cc620b8b526f44c2714d0b7deddf3aa7328ecc54960f31f7c3c9323f3a397da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.14

Release files / storytelling-0.2.21-py3-none-any.whl

Download URL storytelling-0.2.21-py3-none-any.whl
Size 72.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c412ee6714468009eabcd44ccf068088594f14925ead66f0dd4c099abcf1b096
BLAKE2b-256 checksum
How to use checksums
23e464405440859568a0d7870e0c37be3d61998c428813d4b1bf6bb29b4f75bc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.14

Release history Release notifications | RSS feed

This release

0.2.21 This release

2 release files

0.2.20

2 release files

0.2.19

2 release files

0.2.17

2 release files

0.2.16

2 release files

0.2.15

2 release files

0.2.14

2 release files

0.2.13

2 release files

0.2.12

2 release files

0.2.11

2 release files

0.2.10

2 release files

0.2.9

2 release files

0.2.8

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.2

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page