11# image-gen-cli
22
3- A multi-provider image generation CLI supporting Google Gemini and OpenAI image models.
3+ A multi-provider image generation CLI supporting Google Gemini, OpenAI, BFL FLUX, and Poe image models.
44
55## Features
66
77- Generate images from text prompts
88- Edit existing images with text instructions
9- - Multiple provider support (Gemini, OpenAI)
9+ - Multiple provider support (Gemini, OpenAI, BFL, Poe )
1010- Configurable aspect ratios and output sizes
1111- Generate multiple images in a single request
1212- Includes an [ Agent Skill] ( https://agentskills.io ) for AI agent integration
1313
1414## Installation
1515
16- ** Requirements:** .NET 8 .0 SDK
16+ ** Requirements:** .NET 10 .0 SDK
1717
1818### Install as Global Tool (Recommended)
1919
@@ -42,14 +42,20 @@ dotnet run --project src/ImageGenCli.csproj -- "Your prompt here"
4242
4343## Configuration
4444
45- Set your API key as an environment variable:
45+ Set at least one API key as an environment variable:
4646
4747``` bash
4848# For Gemini (default provider)
4949export GEMINI_API_KEY=your-api-key
5050
5151# For OpenAI
5252export OPENAI_API_KEY=your-api-key
53+
54+ # For BFL (FLUX)
55+ export BFL_API_KEY=your-api-key
56+
57+ # For Poe
58+ export POE_API_KEY=your-api-key
5359```
5460
5561Or pass it directly with ` --api-key ` .
@@ -63,6 +69,13 @@ image-gen "A sunset over mountains with a lake reflection"
6369# Use OpenAI provider
6470image-gen -p openai " A futuristic city skyline at night"
6571
72+ # Use BFL FLUX provider
73+ image-gen -p bfl " A cyberpunk street scene with neon signs"
74+
75+ # Use Poe provider (access to many models)
76+ image-gen -p poe " A watercolor landscape"
77+ image-gen -p poe -m Imagen-4 " A photorealistic portrait"
78+
6679# Specify aspect ratio
6780image-gen -a 16:9 " Desktop wallpaper, abstract geometric art"
6881
@@ -80,33 +93,39 @@ image-gen -o ./output "Product photography, ceramic mug"
8093
8194# High quality with Gemini Pro
8295image-gen -m gemini-3-pro-image-preview -r 2K " Detailed architectural blueprint"
96+
97+ # List available models for a provider
98+ image-gen --list-models -p poe
8399```
84100
85101## Options
86102
87103| Option | Short | Default | Description |
88104| --------| -------| ---------| -------------|
89- | ` --provider ` | ` -p ` | ` gemini ` | Provider: ` gemini ` or ` openai ` |
90- | ` --model ` | ` -m ` | auto | Model name |
91- | ` --images ` | ` -i ` | none | Reference image paths |
105+ | ` --provider ` | ` -p ` | ` gemini ` | Provider: ` gemini ` , ` openai ` , ` bfl ` , or ` poe ` |
106+ | ` --model ` | ` -m ` | auto | Model name (use ` --list-models ` to see options) |
107+ | ` --images ` | ` -i ` | none | Reference image paths (can specify multiple) |
92108| ` --aspect-ratio ` | ` -a ` | ` 1:1 ` | Aspect ratio (1:1, 2:3, 3:2, 3:4, 4:3, 9:16, 16:9, etc.) |
93- | ` --resolution ` | ` -r ` | ` 1K ` | Resolution: 1K, 2K, 4K (Gemini Pro only) |
109+ | ` --resolution ` | ` -r ` | ` 1K ` | Resolution: 1K, 2K, 4K (Gemini Pro, BFL, some Poe models) |
110+ | ` --quality ` | ` -q ` | none | Quality: low, medium, high (OpenAI, Poe) |
94111| ` --temperature ` | ` -t ` | ` 1.0 ` | Temperature 0.0-2.0 (Gemini only) |
95112| ` --system-prompt ` | ` -s ` | none | System instruction (Gemini only) |
96- | ` --samples ` | ` -n ` | ` 1 ` | Number of images (1-4 Gemini, 1-10 OpenAI ) |
113+ | ` --samples ` | ` -n ` | ` 1 ` | Number of images (1-4 Gemini, 1-10 others ) |
97114| ` --output ` | ` -o ` | current dir | Output directory |
98115| ` --api-key ` | ` -k ` | env var | API key override |
116+ | ` --list-models ` | ` -l ` | - | List available models for the provider |
99117
100118## Provider Comparison
101119
102- | Feature | Gemini | OpenAI |
103- | ---------| --------| --------|
104- | Default model | gemini-2.5-flash-image | gpt-image-1.5 |
105- | System prompts | Yes | No |
106- | Temperature control | Yes | No |
107- | Resolution control | Pro models | No (fixed sizes) |
108- | Max images per request | 4 | 10 |
109- | Reference image editing | Yes | Yes |
120+ | Feature | Gemini | OpenAI | BFL | Poe |
121+ | ---------| --------| --------| -----| -----|
122+ | Default model | gemini-2.5-flash-image | gpt-image-1.5 | flux-2-pro | GPT-Image-1 |
123+ | System prompts | Yes | No | No | No |
124+ | Temperature control | Yes | No | No | No |
125+ | Resolution control | Pro models | No | Yes | Model-dependent |
126+ | Quality control | No | Yes | No | Yes |
127+ | Max images per request | 4 | 10 | 10 | 10 |
128+ | Max reference images | N/A | N/A | 8 | N/A |
110129
111130** Note:** Using unsupported options with a provider will result in an error. For example, ` --temperature ` with OpenAI will fail.
112131
0 commit comments