Files

74 lines
3.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Floyo FLUX.2 [pro] Custom Node
Custom ComfyUI node for Floyo that wraps the Black Forest Labs FLUX.2 **[pro]** API. URL-first (no local file paths): you pass URLs and get back a signed output URL for downstream Floyo nodes to download.
## Features
- Text-to-image generation with width/height, seed, safety tolerance, and output format controls.
- Image editing with multi-reference support (`input_image` + up to 7 extra refs).
- Clear URL-only inputs/outputs to match Floyo’s storage pipeline.
- Configurable API key via `config.ini` or `BFL_API_KEY` env var.
- Built-in polling with basic error handling and timeouts.
## Installation
Repo layout (mirrors Floyo Seed API style):
- `nodes/` → node code and helpers
- `config.ini` → API key placeholder
- `requirements.txt`
- `README.md`, `__init__.py`
1. Place this repository folder (e.g., `Flux2-Pro`) into `ComfyUI/custom_nodes/`.
2. Install dependencies:
```bash
cd Flux2-Pro # or your folder name under custom_nodes
pip install -r requirements.txt
```
3. Add your key to `config.ini` or export it:
```ini
[API]
BFL_API_KEY = <your_real_key>
BFL_BASE_URL = https://api.bfl.ai/v1/flux-2-pro
BFL_FLEX_BASE_URL = https://api.bfl.ai/v1/flux-2-flex
```
```bash
export BFL_API_KEY=<your_real_key>
export BFL_BASE_URL=https://api.bfl.ai/v1/flux-2-pro
export BFL_FLEX_BASE_URL=https://api.bfl.ai/v1/flux-2-flex
```
4. Restart ComfyUI.
## Nodes and I/O
### FLUX.2 [pro] Text-to-Image (`Flux2ProTextToImage`)
- **Inputs (required):** `prompt`, `width`, `height`
- **Inputs (optional):** `seed` (`-1` = random), `safety_tolerance` (0-6), `output_format` (`jpeg`/`png`)
- **Output:** `image` (IMAGE tensor ready for Save Image)
### FLUX.2 [pro] Image Edit (`Flux2ProImageEdit`)
- **Inputs (required):** `prompt`, `input_image` (IMAGE tensor)
- **Inputs (optional):** `input_image_2` … `input_image_8` (IMAGE tensors, keep total refs <= 8). `width`, `height` (0 = match input), `seed` (`-1` = random), `safety_tolerance`, `output_format`
- **Output:** `image` (IMAGE tensor ready for Save Image)
### FLUX.2 [flex] Text-to-Image (`Flux2FlexTextToImage`)
- **Inputs (required):** `prompt`, `width`, `height`, `guidance` (1.5–10), `steps` (1–50)
- **Inputs (optional):** `seed` (`-1` = random), `safety_tolerance`, `output_format`
- **Output:** `image` (IMAGE tensor)
### FLUX.2 [flex] Image Edit (`Flux2FlexImageEdit`)
- **Inputs (required):** `prompt`, `input_image` (IMAGE tensor)
- **Inputs (optional):** `input_image_2` … `input_image_10` (IMAGE tensors, keep total refs <= 10), `width`, `height`, `seed`, `safety_tolerance`, `output_format`, `guidance`, `steps`
- **Output:** `image` (IMAGE tensor)
### FLUX.2 [pro] Image Edit (`Flux2ProImageEdit`)
- **Inputs (required):** `prompt`, `input_image` (IMAGE tensor)
- **Inputs (optional):** `input_image_2` … `input_image_8` (IMAGE tensors, keep total refs <= 8). `width`, `height` (0 = match input), `seed` (`-1` = random), `safety_tolerance`, `output_format`
- **Output:** `image` (IMAGE tensor ready for Save Image)
## Usage Notes
- The returned URL expires quickly; run your Floyo download/output node immediately after this node.
- API statuses handled: `Ready`, `Pending`, and error/moderation states. Failures return an error string in the node output.
- Keep total reference images within FLUX.2 [pro] limits (max 8 images, 9MP total). Width/height must be multiples of 16; `0` uses the input image dimensions for edits. Max resolution 4MP (e.g., 2048x2048).
- When connecting ComfyUI image tensors, the node auto-converts to base64. If you prefer URLs, fill the URL fields instead.
## API Reference
- Endpoint: `https://api.bfl.ai/v1/flux-2-pro`
- Docs: https://docs.bfl.ai/quick_start/introduction