An advanced, AI-powered pre-production blueprint generator for the Marvel Universe.
Create character concepts, episode plots, visual styles, intelligence briefings, concept art, comic strips, and cinematic video shots with cutting-edge AI technology.
Features โข Installation โข Usage โข Architecture โข API Reference โข Contributing
M.A.V.E.R.I.C.K. is a comprehensive pre-production tool designed for Marvel Universe content creators. Powered by Google's state-of-the-art Gemini 2.5 Flash AI model, Imagen 3.0 for image generation, and Veo 2.0 for video creation, this application streamlines the creative process by generating high-quality content across multiple mediums.
- ๐จ Multi-Modal Generation: Text, images, and videos - all in one platform
- ๐ง AI-Powered Creativity: Leverages cutting-edge Gemini AI technology
- ๐ฌ Production-Ready: Generates content suitable for professional pre-production workflows
- ๐พ Export Capabilities: PDF, JSON, XML, FBX metadata, CSV, and Markdown formats
- ๐ฏ Marvel-Focused: Specialized prompts and data for authentic Marvel content
- โก Real-Time Generation: Fast, responsive AI generation with progress tracking
- ๐ User Authentication: Secure user accounts with session management
- ๐ Project Management: Organize and manage multiple projects
- ๐ Batch Processing: Generate multiple items simultaneously
- ๐ Content Sharing: Create shareable links for generated content
- ๐ฆธ Marvel API Integration: Access official Marvel character data
- ๐ญ Custom Characters: Build and manage your own character databases
- ๐ค Real-Time Collaboration: Live user presence and cross-tab content synchronization
- ๐ฅ Team Management: Create teams, manage members, and set role-based permissions
- โ๏ธ Cloud Storage: Abstract cloud storage layer ready for backend integration
Create detailed character blueprints including:
- Creative character names
- Compelling 2-3 paragraph backstories
- Unique powers and abilities
- Meaningful weaknesses that create conflict
- Detailed visual descriptions for concept artists
Generate three distinct episode plot outlines featuring:
- Customizable hero and villain pairings
- 20 rich narrative themes to choose from
- Three-act story structures
- Catchy episode titles
Develop comprehensive style guides with:
- Overall aesthetic and mood descriptions
- Character design approaches
- Color palette guidelines
- Background and environment styling notes
- 8 preset visual styles for quick selection
Create SHIELD-style tactical dossiers including:
- Character aliases and identities
- Base of operations
- Abilities assessment
- Psychological profiles
- Exploitable weaknesses
Generate high-quality cinematic concept art:
- Dynamic action shots
- Character portraits
- Environment designs
- 1:1 aspect ratio JPEG output
- 30+ art styles to choose from
Create multi-panel comic strips with:
- 2-4 panel sequences
- 30 art styles (Classic, Manga, Noir, Cyberpunk, and more)
- Coherent visual storytelling
- Individual panel downloads
Produce short video shots featuring:
- High-definition quality
- Marvel movie-style cinematography
- Configurable generation timeout (up to 10 minutes)
- Progress tracking with themed messages
- MP4 format output
- Secure signup and login
- JWT-based session management
- Local storage persistence
- User profile management
- Create and organize projects
- Save multiple content items per project
- Export/import projects as JSON
- Track creation and update timestamps
- Tag-based organization
- Generate multiple characters, plots, styles, or intel simultaneously
- Real-time progress tracking
- Error handling for individual failures
- Queue management
- Configurable batch size and concurrency
- Create shareable links for any generated content
- Embedded content in URLs (no backend required)
- Copy to clipboard functionality
- View count tracking
- Shareable link management
- Search official Marvel characters
- Retrieve detailed character information
- Popular characters discovery
- Response caching for performance
- Seamless integration with generation workflows
- Create unlimited character databases
- Add heroes, villains, anti-heroes, and more
- Import/export databases as JSON
- Search and filter capabilities
- Tag-based organization
- Public/private database options
- PDF: Print-ready documents with formatted content
- JSON: Structured data for integration
- XML: Standardized data format
- FBX Metadata: 3D pipeline compatibility
- CSV: Tabular data for spreadsheets
- Markdown: Documentation-ready format
Collaborate with others using the BroadcastChannel API:
- Live user presence indicators (who is online and on which tab)
- Cross-tab content synchronization within the same browser
- Periodic heartbeats to detect offline collaborators
- Color-coded collaborator identities
- Extensible for multi-device collaboration via WebSocket or Firebase
Organize work with structured teams and role-based access control:
- Create and delete teams
- Invite and remove team members
- Assign roles: owner, editor, or viewer
- Role-based permission checks (
canEdit,canManage) - Associate projects with teams
- Persistent team data with localStorage
Abstract cloud storage layer with a promise-based API:
- Save and load arbitrary JSON documents with stable IDs
- Sync status tracking per item (
synced,pending,error,local_only) - Global sync-in-progress indicator
- Currently backed by localStorage; designed for easy replacement with Firebase, AWS S3, or a custom REST API
- Node.js (v18 or higher) - Download
- npm (comes with Node.js)
- Google Gemini API Key - Get one here
- Marvel API Keys (Optional) - Get them here for Marvel character integration
-
Clone the repository
git clone https://github.com/GizzZmo/M.A.V.E.R.I.C.K.git cd M.A.V.E.R.I.C.K. -
Install dependencies
npm install
-
Configure API Keys
Create a
.env.localfile in the project root:# Required: Google Gemini API Key API_KEY=your_gemini_api_key_here # Optional: Marvel API Keys (for character data integration) MARVEL_API_PUBLIC_KEY=your_marvel_public_key MARVEL_API_PRIVATE_KEY=your_marvel_private_key
-
Run the application
npm run dev
-
Open in browser
Navigate to http://localhost:3000
- Navigate to the Character tab
- Enter a core concept description in the text area
- Click Generate
- Review the generated character blueprint
- Click Save Output to download as a text file
Example Input:
A tech-based hero from a futuristic Wakandan outpost who can manipulate sound waves
Example Output:
Name: Sonic Sage
Backstory: Born in the advanced technological hub of Wakanda's satellite city...
Powers:
- Sound wave manipulation for offense and defense
- Sonic flight capabilities
- Enhanced hearing and echolocation
Weaknesses:
- Vulnerable in soundproof environments
- Sensory overload from loud, chaotic noise
- Navigate to the Plot tab
- Select a Hero from the dropdown
- Select a Villain from the dropdown
- Choose a Theme
- Click Generate to create three unique plot outlines
- Navigate to the Style tab
- Describe the desired visual style using keywords
- Click Generate
- Save the comprehensive style guide
- Navigate to the Intel tab
- Enter a character name
- Click Generate to create a SHIELD-style dossier
- Navigate to the Concept Art tab
- Describe the scene or character you want to visualize
- Click Generate (this may take 10-30 seconds)
- Download the generated image
- Navigate to the Comic Strip tab
- Enter your story description
- Select the number of panels (2-4)
- Choose an art style
- Click Generate to create all panels
- Download individual panels as needed
- Navigate to the Video Shot tab
- Describe the cinematic shot you want
- Click Generate
- Wait for generation (typically 2-5 minutes)
- Watch progress updates with Marvel-themed messages
- Preview and download the video when complete
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Frontend Layer โ
โ Angular 20.1 + TypeScript 5.8 โ
โ Signals for State Management โ
โ TailwindCSS for Styling โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Service Layer โ
โ GeminiService (AI Integration) โ
โ AuthService (Authentication) โ
โ ProjectService (Organization) โ
โ BatchGenerationService (Queue) โ
โ ShareService (Sharing) โ
โ MarvelApiService (Marvel Data) โ
โ CustomCharacterService (DB) โ
โ ExportService (Multi-format) โ
โ ConfigService (Settings) โ
โ CollaborationService (Presence) โ
โ TeamService (Roles & Permissions) โ
โ CloudStorageService (Persistence) โ
โ Dependency Injection (Angular) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ AI Layer โ
โ Google Gemini 2.5 Flash (Text) โ
โ Imagen 3.0 (Images) โ
โ Veo 2.0 (Videos) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
M.A.V.E.R.I.C.K./
โโโ src/
โ โโโ app.component.ts # Main component with UI logic
โ โโโ app.component.html # Application template
โ โโโ services/
โ โ โโโ gemini.service.ts # AI integration service
โ โ โโโ auth.service.ts # User authentication & session management
โ โ โโโ project.service.ts # Project & content organization
โ โ โโโ batch-generation.service.ts # Batch AI generation
โ โ โโโ share.service.ts # Shareable link generation
โ โ โโโ marvel-api.service.ts # Official Marvel API integration
โ โ โโโ custom-character.service.ts # Custom character databases
โ โ โโโ export.service.ts # Multi-format content export
โ โ โโโ config.service.ts # Centralized configuration
โ โ โโโ collaboration.service.ts # Real-time collaboration & presence
โ โ โโโ team.service.ts # Team management & role-based permissions
โ โ โโโ cloud-storage.service.ts # Cloud storage abstraction layer
โ โโโ models/
โ โ โโโ marvel-concept.model.ts # TypeScript interfaces
โ โโโ data/
โ โโโ marvel-data.ts # Marvel heroes, villains, themes
โโโ index.tsx # Application entry point
โโโ angular.json # Angular configuration
โโโ tsconfig.json # TypeScript configuration
โโโ CONTRIBUTING.md # Contribution guidelines
โโโ SERVICES_GUIDE.md # Services implementation guide
โโโ README.md # This file
โโโ package.json # Dependencies and scripts
The main application component that:
- Manages UI state with Angular Signals
- Handles user interactions
- Orchestrates AI generation workflows
- Provides download functionality
Core service for AI integration:
- Manages Google Gemini API client
- Provides type-safe generation methods
- Handles structured JSON responses
- Manages image and video generation
- Implements polling for async video operations
Type-safe interfaces for:
- Character concepts
- Plot outlines
- Visual style guides
- Intelligence briefings
- Video metadata
Generates a complete character blueprint.
Parameters:
coreConcept(string): Core description of the character
Returns: Promise resolving to a RawCharacterConcept object
Example:
const character = await geminiService.generateCharacterConcept(
"A hero who can control time"
);
console.log(character.name); // "Chronos Knight"Creates three episode plot outlines.
Parameters:
hero(string): Hero character namevillain(string): Villain character nametheme(string): Central narrative theme
Returns: Promise resolving to a RawPlotOutline object
Develops a visual style guide.
Parameters:
keywords(string): Style description and keywords
Returns: Promise resolving to a RawVisualStyle object
Creates an intelligence briefing.
Parameters:
characterName(string): Name of the character
Returns: Promise resolving to a RawCharacterIntel object
Generates concept art images.
Parameters:
prompt(string): Image description
Returns: Promise resolving to an array of base64-encoded image URLs
Creates a multi-panel comic strip.
Parameters:
story(string): Comic story descriptionpanels(number): Number of panels (2-4)style(string): Art style name
Returns: Promise resolving to an array of base64-encoded image URLs
Generates a cinematic video shot.
Parameters:
prompt(string): Video descriptiononProgress(function): Progress callback
Returns: Promise resolving to a video Blob
The following new services have been added to support the roadmap features:
Handles user authentication and session management.
Key Methods:
signup(email, password, name)- Register new userlogin(email, password)- Authenticate userlogout()- End sessionisAuthenticated()- Check authentication status
Manages projects and content organization.
Key Methods:
createProject(name, description, ownerId)- Create new projectaddContentToCurrentProject(content)- Add content to active projectexportProject(projectId)- Export project as JSONimportProject(jsonString)- Import project from JSON
Enables batch processing of multiple generation requests.
Key Methods:
batchGenerateCharacters(coreConcepts)- Generate multiple charactersbatchGeneratePlots(inputs)- Generate multiple plotsbatchGenerateConceptArt(prompts)- Generate multiple imagescancelJob(jobId)- Cancel running batch job
Creates and manages shareable links for content.
Key Methods:
createShareLink(type, prompt, concept)- Generate shareable linkgetSharedContent(shareId)- Retrieve shared contentencodeContentForUrl(content)- Encode content for URL sharingcopyToClipboard(shareLink)- Copy link to clipboard
Integrates with the official Marvel API.
Key Methods:
searchCharacters(query)- Search Marvel charactersgetCharacter(characterId)- Get character by IDgetPopularCharacters(count)- Get popular charactersisConfigured()- Check API configuration
Manages custom character databases.
Key Methods:
createDatabase(name, ownerId)- Create character databaseaddCharacter(databaseId, characterData)- Add custom charactersearchCharacters(query)- Search custom charactersexportDatabase(databaseId)- Export database as JSON
Exports content to various formats.
Key Methods:
exportToPDF(content, filename)- Export to PDFexportToJSON(content, filename)- Export to JSONexportToXML(content, filename)- Export to XMLexportToFBXMetadata(character, filename)- Export FBX metadataexportToMarkdown(content, filename)- Export to Markdown
Manages application configuration.
Key Methods:
getVideoConfig()- Get video generation settingsupdateVideoConfig(updates)- Update video settingsgetBatchConfig()- Get batch processing settingsresetToDefaults()- Reset all settings
Manages real-time collaboration using the BroadcastChannel API.
Key Methods:
startSession(activeTab)- Open a collaboration session and announce presenceendSession()- Notify peers and close the sessionbroadcastTabChange(activeTab)- Notify peers of the active tab changebroadcastContentUpdate(contentType, summary)- Broadcast a content update to collaborators
Reactive Signals:
sessionActive- Whether a session is currently activepeers- Live list of online collaboratorspeerCount- Number of online collaborators
Manages teams and role-based access control.
Key Methods:
createTeam(name, description)- Create a new team owned by the current userupdateTeam(teamId, name, description)- Update team name/descriptiondeleteTeam(teamId)- Delete a team (owner only)addMember(teamId, member)- Add a member to a teamremoveMember(teamId, userId)- Remove a member from a teamupdateMemberRole(teamId, userId, role)- Change a member's roleaddProject(teamId, projectId)- Associate a project with a teamgetRole(teamId)- Get the current user's role in a teamcanEdit(teamId)- Check if the current user can edit team contentcanManage(teamId)- Check if the current user can manage team settings
Reactive Signals:
allTeams- All teams as a flat arraymyTeams- Teams the current user belongs tocurrentTeam- The currently selected team
Provides a cloud storage abstraction layer backed by localStorage.
Key Methods:
save(localId, data)- Save a document to cloud storageload(localId)- Load a document from cloud storagedelete(localId)- Delete a document and its sync recordgetRecord(localId)- Get the sync record for an itemmarkLocalOnly(localId)- Mark an item as local-only without I/O
Reactive Signals:
isSyncing- True while any save/delete operation is in progressallRecords- All tracked sync recordspendingCount- Count of items not yet synced
npm run buildOutput will be in the dist/ directory.
npm run devRuns on http://localhost:3000 with hot reload.
npm run previewCurrently, this project focuses on manual testing through the UI. Future versions will include:
- Unit tests for service methods
- Integration tests for AI workflows
- E2E tests for user flows
We welcome contributions! Please see our Contributing Guidelines 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
- Follow the existing code style
- Add JSDoc comments for new functions
- Test your changes thoroughly
- Update documentation as needed
- Add user authentication - Full authentication system with JWT support, session management, and local storage persistence
- Implement project/session management - Create, save, load, and organize projects with multiple content items
- Add batch generation capabilities - Generate multiple items simultaneously with progress tracking
- Create shareable links for generated content - Share content via links with embedded data or local storage
- Integrate with Marvel API for character data - Search and retrieve official Marvel character data
- Add support for custom character databases - Create and manage custom character collections
- Add more art styles and themes - Expanded to 30 art styles and 20 narrative themes with visual style presets
- Support for longer video generation - Configurable timeouts up to 10 minutes (600 seconds)
- Export to industry-standard formats - Export to PDF, JSON, XML, FBX metadata, CSV, and Markdown
- Implement collaborative features - Real-time collaboration with BroadcastChannel-based user presence and cross-tab sync
- Add cloud storage integration - Abstract cloud storage layer with sync status tracking, ready for backend integration
- Team management and permissions - Create teams, manage members, and enforce role-based permissions (owner/editor/viewer)
- Add UI components for all new features (authentication, project management, batch generation, collaboration, teams)
- Extend real-time collaboration to multiple devices using WebSocket or Firebase
- Support for video chunking and longer sequences
- Advanced 3D export formats
- Backend integration to replace localStorage with a real cloud API
This project is licensed under the MIT License - see the LICENSE file for details.
- Google DeepMind for the incredible Gemini AI platform
- Marvel Comics for inspiring this tool
- Angular Team for the fantastic framework
- TailwindCSS for the utility-first CSS framework
- All contributors and users of this project
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Wiki: Project Wiki
This project is a fan-made tool and is not affiliated with, endorsed by, or sponsored by Marvel Comics, Disney, or Google. Marvel and all related characters are trademarks of Marvel Entertainment, LLC. This tool is intended for educational and creative purposes only.