Skip to content

kylebrussell/StoryPanels

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

27 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

StoryPanels β€” AI Comic Maker

StoryPanels Logo

An iOS application that democratizes comic creation by combining AI-generated artwork with intuitive text placement tools. Create professional-looking comic strips in minutes by describing what you want to see and adding your own dialogue and narration.

🎯 Key Features

  • AI-Powered Image Generation: Uses Google Nano Banana Pro (Gemini 3 Pro Image Preview) by default, with optional OpenAI support
  • Multiple Panel Layouts: Support for 1-panel and 3-panel comic formats
  • Interactive Text Elements: Add speech bubbles, thought bubbles, captions, and sound effects
  • Character Stand-ins: Position placeholder characters that get replaced in AI generation
  • Style Themes: Choose from Classic, Manga, Noir, and Sci-Fi art styles
  • Export & Share: Save to Photos or share directly via iOS share sheet
  • No Artistic Skill Required: Focus on storytelling while AI handles the artwork

πŸ“± Requirements

  • iOS 17.0+
  • Xcode 15.0+
  • Google API key (for image generation) or OpenAI API key (optional fallback)

πŸš€ Getting Started

Installation

  1. Clone the repository:
git clone https://github.com/your-username/StoryPanels.git
cd StoryPanels
  1. Open StoryPanels.xcodeproj in Xcode

  2. Build and run on iPhone 16 simulator or device:

xcodebuild -project StoryPanels.xcodeproj -scheme StoryPanels -configuration Debug -destination 'platform=iOS Simulator,name=iPhone 16' build

API Setup (Google or OpenAI)

  1. Get a Google Gemini API key from Google AI Studio (recommended)
  2. Open the app and go to Settings (gear icon)
  3. Select Google (Nano Banana Pro) and enter your API key
  4. Optionally add an OpenAI API key if you want to switch providers
  5. Start creating comics!

Note: API keys are stored securely in your device Keychain.

🎨 How to Use

Creating Your First Comic

  1. Select Layout: Choose between 1-panel or 3-panel format on the home screen
  2. Generate Images:
    • Tap a panel to select it
    • Enter a description (e.g., "superhero flying over city skyline")
    • Choose an art style theme
    • Tap "Generate" to create the image
  3. Add Text Elements:
    • Use the toolbar to add speech bubbles, thought bubbles, captions, or sound effects
    • Drag elements to position them
    • Tap to edit text content
    • Pinch to resize elements
  4. Add Characters (Optional):
    • Add character stand-ins to help AI understand positioning
    • These blue circles with numbers get replaced by actual characters in generation
  5. Export: Tap "Export" to save or share your completed comic

Multi-Modal Generation

StoryPanels supports an advanced workflow where you can:

  1. Place character stand-ins and text elements first
  2. Generate images that incorporate these elements
  3. The AI analyzes your layout and creates images that respect character positioning and text placement

πŸ›  Architecture

Key Components

  • ContentView.swift: Main app interface and navigation
  • ComicEditorView: Primary editing interface with canvas and tools
  • ImageGenerationService: Routes requests to Google or OpenAI providers
  • PanelView: Individual comic panel with interactive elements
  • TextElementView: Draggable and resizable text components
  • CharacterStandInView: Positioning helpers for character placement

Data Models

  • Comic: Top-level structure containing panels and theme
  • ComicPanel: Individual panel with image, text elements, and characters
  • TextElement: Speech bubbles, captions, etc. with position and content
  • CharacterStandIn: Placeholder characters for AI generation
  • StyleTheme: Art style definitions with prompt modifiers

🎨 Supported Text Elements

Type Description Visual Style
Speech Bubble Character dialogue White bubble with tail
Thought Bubble Internal monologue Cloud-like shape
Caption Narration text Yellow rectangular box
Sound Effect Action words Starburst with bold text

🎭 Art Style Themes

  • Classic: Golden Age comic book style with bold lines
  • Manga: Highly detailed Japanese manga style
  • Noir: Black-and-white with dramatic shadows
  • Sci-Fi: Futuristic style with glowing tech elements

πŸ“ Project Structure

StoryPanels/
β”œβ”€β”€ StoryPanels/
β”‚   β”œβ”€β”€ StoryPanelsApp.swift       # App entry point with SwiftData setup
β”‚   β”œβ”€β”€ ContentView.swift          # Main UI with all components
β”‚   β”œβ”€β”€ Item.swift                 # SwiftData model (placeholder)
β”‚   └── Assets.xcassets/          # App icons and images
β”œβ”€β”€ StoryPanelsTests/             # Unit tests
β”œβ”€β”€ StoryPanelsUITests/           # UI automation tests
β”œβ”€β”€ Product Definition            # Detailed product requirements
β”œβ”€β”€ CLAUDE.md                     # Development guidelines
└── README.md                     # This file

πŸš€ Building & Testing

Build for Simulator

xcodebuild -project StoryPanels.xcodeproj -scheme StoryPanels -configuration Debug -destination 'platform=iOS Simulator,name=iPhone 16' build

Run Tests

xcodebuild test -project StoryPanels.xcodeproj -scheme StoryPanels -destination 'platform=iOS Simulator,name=iPhone 16'

πŸ”§ Configuration

Configuration

  • API keys are stored in Keychain via the in-app Settings screen

🎯 Target Audience

  • Primary: Creative individuals (16-35) who want to tell visual stories without drawing skills
  • Secondary: Social media content creators and educators
  • Tertiary: Professional content creators for rapid prototyping

🚧 Roadmap

Current Features (MVP)

  • βœ… 1 & 3 panel layouts
  • βœ… AI image generation
  • βœ… Four text element types
  • βœ… Character positioning system
  • βœ… Export to Photos
  • βœ… Style theme selection

Planned Features

  • v1.1: Premium subscription with extended layouts and higher resolution
  • v1.2: Custom image uploads and advanced editing tools
  • v2.0: Cloud storage and social features

πŸ›‘ Privacy & Security

  • API keys are stored locally on device using UserDefaults
  • No user-generated content is stored on external servers
  • All comic creation happens locally with direct API calls to the selected provider (Google or OpenAI)

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“ž Support

For support or questions:

  • Check the in-app FAQ and help sections
  • Review the Product Definition document for detailed requirements
  • Open an issue on GitHub for bugs or feature requests

πŸ™ Acknowledgments

  • Google Gemini image generation capabilities (Nano Banana Pro)
  • OpenAI image generation as an optional provider
  • The comic book community for inspiration and feedback
  • Beta testers and early adopters

Made with ❀️ for storytellers everywhere

About

🎨 AI-powered iOS comic creation app. Create professional comic strips in minutes using OpenAI's GPT-4o - no artistic skills required! Features multi-panel layouts, interactive text elements, and multiple art styles.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages