- Implement ProviderInterface for Replicate.com
- listModels() fetches from /v1/models endpoint
- searchModels() uses /v1/search endpoint
- getModel() retrieves single model by owner/name
- inferCapabilities() from model name/description
- Self-registers via registerProvider() on import
- API key read from localStorage provider settings
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add provider registry in src/lib/providers/index.ts:
- Export all types from types.ts
- providerRegistry for storing provider implementations
- registerProvider() for providers to self-register
- getProvider() to retrieve provider by type
- getConfiguredProviders() to get providers with API keys
- getAllProviders() to get all registered providers
Registry will be populated when provider modules are imported
in Phase 2 (Replicate and fal.ai implementations).
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add provider abstraction layer in src/lib/providers/types.ts:
- ProviderModel interface for normalized model metadata
- ModelCapability union type for model capabilities
- GenerationInput/GenerationOutput interfaces for unified I/O
- ProviderInterface contract for provider implementations
This establishes the interface contract that all providers
(Gemini, Replicate, fal.ai) will implement in Phase 2.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
New templates focused on practical image transformation workflows:
- Product Shot: Product + scene/environment
- Model + Product: Combine model, product, and scene
- Color Variations: Generate product color variants
- Background Swap: Place subject in new background
- Style Transfer: Apply style from one image to another
- Scene Composite: Combine elements from multiple scenes
Sample images added to public/sample-images/ including:
- Products: watches, shoes, cosmetics, sunglasses
- Models: 7 model photos for fashion workflows
- Scenes: street scenes, desert, architecture, nature
- Colors/Textures: paint, pastel, wall textures
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Empty level: all prompts empty, no images
- Minimal level: instructional prompts explaining each step
- Full level: complete example prompts with Unsplash sample images
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add welcome screen that appears on empty canvas with 6 preset templates
- Implement AI-powered workflow generation via Gemini LLM
- Create /api/quickstart endpoint for template and AI generation
- Add content level selector (empty/minimal/full)
- Add Quickstart button in Header for re-access when canvas has nodes
- Include JSON validation and repair utilities for LLM output
- Update CLAUDE.md with improved documentation
🤖 Generated with [Claude Code](https://claude.ai/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>