| NB-03 | "Generate" button for manual trigger (when not in workflow run) | Should |
| NB-04 | Display generation status (idle/loading/complete/error) | Must |
| NB-05 | Show thumbnail of generated result | Must |
| NB-06 | Output: generated image as base64 | Must |
| NB-06 | Output: generated image as base64 or provider URL for immediate preview | Must |
| NB-07 | Display error messages from API failures | Must |
| NB-08 | Aspect ratio selector (1:1, 16:9, 9:16, 4:3, 3:4) | Should |
| NB-09 | Resolution selector (1K, 2K) | Should |
| NB-10 | For provider-hosted image URLs, show the URL immediately and persist to local storage asynchronously | Must |
**UI:**
- Two input handles (image, prompt) on left
@ -259,6 +260,21 @@ Output Node → [image input]
**Description:** When user clicks "Run Workflow," execute all nodes in dependency order.
#### 3.5.1 Provider URL-First Image Persistence
**Context:** Some NewApiWG image models, such as `gpt-image-2-all`, return a provider-hosted image URL in the upstream response. Synchronously downloading that URL before updating the node makes the gateway appear fast while the PopiArt node remains in loading state.
**Product Strategy:** Prefer fast visual feedback without abandoning local-first persistence.
| ID | Requirement | Priority |
|----|-------------|----------|
| WF-URL-01 | Display provider-hosted image URLs immediately when the generation API returns them | Must |
| WF-URL-02 | Download and save provider-hosted image URLs to the workflow `generations` folder asynchronously | Must |
| WF-URL-03 | Treat the saved local generation as the durable project artifact after persistence completes | Must |
| WF-URL-04 | For chained generation, pass provider URLs directly to models that accept URL image inputs | Should |
| WF-URL-05 | For models that require inline image data, convert provider URLs only at the next provider boundary instead of blocking initial preview | Should |
| WF-URL-06 | If local persistence fails, keep the provider URL visible and surface save errors through existing logging without failing the completed generation | Should |
| ID | Requirement | Priority |
|----|-------------|----------|
| WE-01 | Validate workflow before execution (all required inputs connected) | Must |