Loading repository data…
Loading repository data…
ZunKhet / repository
AI-powered interactive storytelling from images using Clean Architecture.
EchoGate is an AI-powered interactive storytelling application that transforms an uploaded image into a branching adventure.
Upload an image, choose your story style, and let EchoGate generate an interactive narrative inspired by the visual elements, mood, and atmosphere of the image. The story evolves through user choices and can be exported as a PDF storybook.
FakeStoryAdapterGet a Gemini API key:
https://ai.google.dev/gemini-api/docs/api-key
EchoGate follows Clean Architecture principles.
Streamlit UI
↓
Application Layer
↓
Domain Layer
↓
Infrastructure Layer
Project structure:
src/
├── application/
├── config/
├── domain/
├── infrastructure/
└── interfaces/
Image Upload
↓
Image Analysis
↓
Story Generation
↓
User Choice
↓
Next Chapter
↓
Story Completion
↓
PDF Export
AIStoryPort
│
├── FakeStoryAdapter
│
└── GeminiStoryAdapter
Clone the repository:
git clone https://github.com/ZunKhet/echogate-ai.git
cd echogate-ai
Create a virtual environment:
python -m venv .venv
Activate:
.venv\Scripts\activate
source .venv/bin/activate
Install dependencies:
pip install -r requirements.txt
Run the application:
python -m streamlit run src/interfaces/streamlit/app.py
Create a .env file:
DEBUG_MODE=false
No Gemini API key is required in .env.
Simply:
python -m pytest
EchoGate supports multiple story-generation providers through the AIStoryPort abstraction.
Current implementations:
FakeStoryAdapterGeminiStoryAdapterThis architecture makes it easy to add additional AI providers in the future without modifying the application layer.
This project is licensed under the MIT License.