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.
- AI-Powered Image Generation: Uses OpenAI's GPT-4o to create comic-style images from text descriptions
- 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
- iOS 17.0+
- Xcode 15.0+
- OpenAI API key (for image generation)
- Clone the repository:
git clone https://github.com/your-username/StoryPanels.git
cd StoryPanels
-
Open
StoryPanels.xcodeproj
in Xcode -
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
- Get an API key from OpenAI Platform
- Open the app and go to Settings (gear icon)
- Enter your API key in the configuration section
- Start creating comics!
Note: Without an API key, the app will generate placeholder images for testing purposes.
- Select Layout: Choose between 1-panel or 3-panel format on the home screen
- 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
- 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
- Add Characters (Optional):
- Add character stand-ins to help AI understand positioning
- These blue circles with numbers get replaced by actual characters in generation
- Export: Tap "Export" to save or share your completed comic
StoryPanels supports an advanced workflow where you can:
- Place character stand-ins and text elements first
- Generate images that incorporate these elements
- The AI analyzes your layout and creates images that respect character positioning and text placement
- ContentView.swift: Main app interface and navigation
- ComicEditorView: Primary editing interface with canvas and tools
- OpenAIImageService: Handles API communication and image generation
- PanelView: Individual comic panel with interactive elements
- TextElementView: Draggable and resizable text components
- CharacterStandInView: Positioning helpers for character placement
- 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
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 |
- 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
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
xcodebuild -project StoryPanels.xcodeproj -scheme StoryPanels -configuration Debug -destination 'platform=iOS Simulator,name=iPhone 16' build
xcodebuild test -project StoryPanels.xcodeproj -scheme StoryPanels -destination 'platform=iOS Simulator,name=iPhone 16'
OPENAI_API_KEY
: Set your OpenAI API key (alternative to in-app configuration)
openai_api_key
: Stores the configured API key securely on device
- 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
- β 1 & 3 panel layouts
- β AI image generation
- β Four text element types
- β Character positioning system
- β Export to Photos
- β Style theme selection
- 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
- 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 OpenAI
This project is licensed under the MIT License - see the LICENSE file for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
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
- OpenAI for GPT-4o image generation capabilities
- The comic book community for inspiration and feedback
- Beta testers and early adopters
Made with β€οΈ for storytellers everywhere