Browse Source
Enable Replicate and fal.ai alongside existing Gemini integration Phases: 1. Provider Infrastructure: API key storage and settings UI 2. Model Discovery: Dynamic model fetching from provider APIs 3. Generate Node Refactor: Multi-model support in generic Generate node 4. Model Search Dialog: Floating icons and searchable model browser 5. Image URL Server: Local endpoint for URL-based providers 6. Video & Polish: Video playback and parameter customization Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>handoff-20260429-1057
2 changed files with 160 additions and 0 deletions
@ -0,0 +1,103 @@ |
|||
# Roadmap: Node Banana Multi-Provider Support |
|||
|
|||
## Overview |
|||
|
|||
Transform Node Banana from a Gemini-only image generator into a multi-provider platform supporting Replicate and fal.ai. The journey builds provider infrastructure first, then adds dynamic model discovery, refactors the generate node for flexibility, creates a searchable model browser, adds local image serving for URL-based providers, and finishes with video support and polish. |
|||
|
|||
## Domain Expertise |
|||
|
|||
None |
|||
|
|||
## Phases |
|||
|
|||
**Phase Numbering:** |
|||
- Integer phases (1, 2, 3): Planned milestone work |
|||
- Decimal phases (2.1, 2.2): Urgent insertions (marked with INSERTED) |
|||
|
|||
- [ ] **Phase 1: Provider Infrastructure** - API key storage and provider settings UI |
|||
- [ ] **Phase 2: Model Discovery** - Dynamic model fetching from Replicate/fal.ai APIs |
|||
- [ ] **Phase 3: Generate Node Refactor** - Rename NanoBanana to generic Generate with multi-model support |
|||
- [ ] **Phase 4: Model Search Dialog** - Floating action bar icons and searchable model browser |
|||
- [ ] **Phase 5: Image URL Server** - Local endpoint serving images as URLs for providers |
|||
- [ ] **Phase 6: Video & Polish** - Video playback, parameter customization, edge cases |
|||
|
|||
## Phase Details |
|||
|
|||
### Phase 1: Provider Infrastructure |
|||
**Goal**: Users can configure Replicate and fal.ai API keys in settings, with keys securely stored |
|||
**Depends on**: Nothing (first phase) |
|||
**Research**: Unlikely (internal UI patterns, Zustand state management) |
|||
**Plans**: TBD |
|||
|
|||
Plans: |
|||
- [ ] 01-01: Provider settings UI in ProjectSetupModal |
|||
- [ ] 01-02: Provider abstraction layer and types |
|||
|
|||
### Phase 2: Model Discovery |
|||
**Goal**: App can fetch and cache available models from enabled providers at runtime |
|||
**Depends on**: Phase 1 |
|||
**Research**: Likely (external APIs) |
|||
**Research topics**: Replicate model listing API endpoints, fal.ai model discovery endpoints, response schemas and pagination |
|||
**Plans**: TBD |
|||
|
|||
Plans: |
|||
- [ ] 02-01: Replicate model fetching API route |
|||
- [ ] 02-02: fal.ai model fetching API route |
|||
- [ ] 02-03: Model caching and unified model interface |
|||
|
|||
### Phase 3: Generate Node Refactor |
|||
**Goal**: NanoBanana node becomes generic Generate node supporting any provider's model |
|||
**Depends on**: Phase 2 |
|||
**Research**: Unlikely (internal refactoring using existing patterns) |
|||
**Plans**: TBD |
|||
|
|||
Plans: |
|||
- [ ] 03-01: Rename NanoBanana to Generate, add model selector |
|||
- [ ] 03-02: Provider-specific execution in generate API route |
|||
- [ ] 03-03: Backward compatibility for existing workflows |
|||
|
|||
### Phase 4: Model Search Dialog |
|||
**Goal**: Users can browse models via floating action bar icons and searchable dialog |
|||
**Depends on**: Phase 3 |
|||
**Research**: Unlikely (internal UI using React patterns) |
|||
**Plans**: TBD |
|||
|
|||
Plans: |
|||
- [ ] 04-01: Floating action bar with provider icons |
|||
- [ ] 04-02: Model search dialog with filtering and selection |
|||
|
|||
### Phase 5: Image URL Server |
|||
**Goal**: Local API endpoint serves workflow images as URLs for providers requiring URL inputs |
|||
**Depends on**: Phase 3 |
|||
**Research**: Unlikely (Next.js API routes, existing patterns) |
|||
**Plans**: TBD |
|||
|
|||
Plans: |
|||
- [ ] 05-01: Image serving endpoint and URL generation |
|||
- [ ] 05-02: Integration with generate node for URL-based providers |
|||
|
|||
### Phase 6: Video & Polish |
|||
**Goal**: Video outputs play inline, custom parameters work, edge cases handled |
|||
**Depends on**: Phase 5 |
|||
**Research**: Likely (video handling) |
|||
**Research topics**: HTML5 video element for base64/blob URLs, provider response formats for video content |
|||
**Plans**: TBD |
|||
|
|||
Plans: |
|||
- [ ] 06-01: Video playback in output node |
|||
- [ ] 06-02: Custom model parameters from provider schemas |
|||
- [ ] 06-03: Edge case handling and final polish |
|||
|
|||
## Progress |
|||
|
|||
**Execution Order:** |
|||
Phases execute in numeric order: 1 → 2 → 3 → 4 → 5 → 6 |
|||
|
|||
| Phase | Plans Complete | Status | Completed | |
|||
|-------|----------------|--------|-----------| |
|||
| 1. Provider Infrastructure | 0/2 | Not started | - | |
|||
| 2. Model Discovery | 0/3 | Not started | - | |
|||
| 3. Generate Node Refactor | 0/3 | Not started | - | |
|||
| 4. Model Search Dialog | 0/2 | Not started | - | |
|||
| 5. Image URL Server | 0/2 | Not started | - | |
|||
| 6. Video & Polish | 0/3 | Not started | - | |
|||
@ -0,0 +1,57 @@ |
|||
# Project State |
|||
|
|||
## Project Reference |
|||
|
|||
See: .planning/PROJECT.md (updated 2026-01-09) |
|||
|
|||
**Core value:** Provider infrastructure that dynamically discovers models from external APIs, enabling users to access hundreds of image/video generation models without hardcoding schemas. |
|||
**Current focus:** Phase 1 — Provider Infrastructure |
|||
|
|||
## Current Position |
|||
|
|||
Phase: 1 of 6 (Provider Infrastructure) |
|||
Plan: Not started |
|||
Status: Ready to plan |
|||
Last activity: 2026-01-09 — Project initialized |
|||
|
|||
Progress: ░░░░░░░░░░ 0% |
|||
|
|||
## Performance Metrics |
|||
|
|||
**Velocity:** |
|||
- Total plans completed: 0 |
|||
- Average duration: — |
|||
- Total execution time: 0 hours |
|||
|
|||
**By Phase:** |
|||
|
|||
| Phase | Plans | Total | Avg/Plan | |
|||
|-------|-------|-------|----------| |
|||
| — | — | — | — | |
|||
|
|||
**Recent Trend:** |
|||
- Last 5 plans: — |
|||
- Trend: — |
|||
|
|||
## Accumulated Context |
|||
|
|||
### Decisions |
|||
|
|||
Decisions are logged in PROJECT.md Key Decisions table. |
|||
Recent decisions affecting current work: |
|||
|
|||
(None yet) |
|||
|
|||
### Deferred Issues |
|||
|
|||
None yet. |
|||
|
|||
### Blockers/Concerns |
|||
|
|||
None yet. |
|||
|
|||
## Session Continuity |
|||
|
|||
Last session: 2026-01-09 |
|||
Stopped at: Project initialization complete |
|||
Resume file: None |
|||
Loading…
Reference in new issue