banatie-strategy/execution/20-template-system.md

213 lines
6.5 KiB
Markdown

# Template System
**Date:** January 9, 2026
**Status:** ✅ Strategic decision documented
**Version:** 1.0
**Previous concept:** Prompt Enhancement (reframed, not replaced)
---
## Executive Summary
**What changed (MARKETING ONLY, not technical):**
- OLD: "Prompt Enhancement" = primary feature (Template System = detail of how it works)
- NEW: **Template System** = primary feature (Prompt Enhancement = technical implementation for those who want to understand deeper)
**Prompt Enhancement still exists** — it's the AI that analyzes and improves prompts. We just reframed the hierarchy for better user communication.
**Why reframe:**
- Better marketing: "Choose template" clearer than "we enhance your prompt"
- User control: User selects outcome style, not "trust us to improve"
- Explains mandatory nature: Template must always be selected (not "we won't let you disable")
- Solves stylization: Custom templates = paid feature (replaces need for separate styling system)
---
## How Templates Work
### User Experience
1. User selects template (or uses default)
2. User writes prompt (any completeness level)
3. System applies template intelligently based on prompt completeness
4. Generation produces professional result
### Template Logic
**Default template:** Photorealistic (not "general")
**Granular enhancement based on prompt completeness:**
| User prompt | System behavior |
|-------------|-----------------|
| Short/vague | Full template enhancement applied |
| Partial (missing some details) | Fills only missing details |
| Detailed/specific | Passes through unchanged |
**Example: Photorealistic template**
Template specifies: camera type, lens, lighting, focus characteristics, etc.
- **User writes:** "cat on table"
**System applies:** Full template (camera, lens, lighting, focus, composition)
- **User writes:** "cat on table, deep focus, natural window light"
**System applies:** Camera and lens only (respects user's focus and light choices)
- **User writes:** "cat on table, Canon EOS R5, 85mm f/1.4, shallow focus, golden hour backlight, rule of thirds composition"
**System applies:** Nothing (user specified everything)
**Principle:** Respect user intent. If they specified something, don't change it.
---
## Template Types
### Built-in Templates (Free)
| Template | Purpose | Key characteristics |
|----------|---------|---------------------|
| **Photorealistic** (default) | Real-world photos | Camera specs, lighting, focus, composition |
| **Illustration** | Digital art | Style consistency, color palette, line work |
| **3D Render** | Product visualization | Materials, lighting setup, render quality |
| **Icon/Logo** | Simple graphics | Clean lines, scalability, flat design |
| **UI Mockup** | Interface screenshots | Device frames, realistic UI elements |
| **Abstract** | Backgrounds, patterns | Color harmony, texture, visual flow |
### Custom Templates (Paid Feature)
**What:** Users create and save their own templates
**Use cases:**
- Brand-specific style (colors, mood, composition rules)
- Project consistency (same visual language across all images)
- Agency presets (client-specific templates)
**Pricing:** Pro tier feature (or separate add-on)
**Why paid:**
- Requires storage (user templates saved)
- Advanced feature for power users
- Replaces need for separate "stylization" system
- Clear value differentiation
---
## Technical Implementation
### Prompt Analysis
Before applying template, analyze user prompt for:
- Camera/equipment mentions
- Lighting descriptions
- Composition directions
- Style keywords
- Technical parameters (focus, exposure, etc.)
### Template Application
```
finalPrompt = userPrompt + templateAdditions(excluding what user specified)
```
**Not:**
```
finalPrompt = template.replace("{prompt}", userPrompt) // Wrong - ignores user specificity
```
### Template Storage
**Built-in:** Hardcoded in backend
**Custom:** User account storage (Pro feature)
---
## Migration from "Prompt Enhancement"
### What stays the same:
- AI improves prompts automatically ✅
- Professional quality output ✅
- Works in any language ✅
- Always enabled (mandatory) ✅
### What changes:
- **Naming:** "Prompt Enhancement" → "Template System"
- **Control:** System chooses enhancement → User chooses template
- **Granularity:** All-or-nothing → Intelligent partial application
- **Paid feature:** No paid enhancement option → Custom templates = paid
### Documentation updates needed:
- [ ] Landing page copy
- [ ] API documentation
- [ ] Pricing page (custom templates = Pro)
- [ ] Marketing materials
---
## Competitive Positioning
### Why this is still a moat:
1. **Intelligent partial application** - Complex to implement, competitors use simple template substitution
2. **Built-in quality templates** - Curated by us, tested for Gemini optimization
3. **Custom template creation** - Paid feature, requires UI and storage
4. **Prompt analysis** - Understanding what user specified vs. what to add
### Time to replicate: 3-6 months (unchanged)
Competitors would need to:
- Build prompt analysis system
- Create and test template library
- Implement granular application logic
- Build custom template UI
---
## User Communication
### How to explain to users:
**Simple version:**
> "Choose a template that matches your desired style. We'll make sure your image looks professional."
**Technical version:**
> "Templates provide baseline parameters (camera, lighting, composition). If you specify these yourself, we respect your choices. If you don't, we fill in the gaps with professional defaults."
### FAQ additions:
**Q: Can I disable templates?**
A: Templates ensure professional quality. You can override any aspect by specifying it in your prompt.
**Q: Why is there a default template?**
A: Photorealistic is the most common use case. You can change it per request.
**Q: Can I create my own templates?**
A: Custom templates are available on Pro tier.
---
## Action Items
### Immediate:
- [ ] Update landing page messaging (template language)
- [ ] Update API docs with template parameter
- [ ] Add template selection to UI
### Technical:
- [ ] Implement prompt analysis (detect user-specified params)
- [ ] Implement granular template application
- [ ] Add template parameter to API
### Future (Pro):
- [ ] Custom template creation UI
- [ ] Template storage per user
- [ ] Template sharing (optional)
---
**Document owner:** @men + Oleg
**Last updated:** January 9, 2026
**Related docs:**
- [16-product-features.md](16-product-features.md) - Feature overview
- [10-pricing-strategy.md](10-pricing-strategy.md) - Custom templates pricing