Skip to content

Releases: AhmedAburady/banana-cli

v1.1.5

09 Mar 21:33

Choose a tag to compare

What's New

Custom Output Filename (-f)

New -f flag lets you name your output file instead of getting the default timestamped filename.

# Single image — saves as sloth.png
banana -p "cute sloth" -f sloth.png

# Multiple images — auto-suffixed
banana -p "cute sloth" -f sloth.png -n 5
# → sloth_1.png, sloth_2.png, ..., sloth_5.png

# Combine with output folder
banana -p "cute sloth" -o ~/Documents -f sloth.png

JPEG Output Support

Specify .jpg (or .jpeg) in -f to get a JPEG file. The API response is automatically re-encoded at quality 95 — fully parallel, no sequential bottleneck.

banana -p "cute sloth" -f sloth.jpg
banana -p "cute sloth" -f sloth.jpg -n 5
# → sloth_1.jpg, sloth_2.jpg, ...

Notes:

  • -f and -r are mutually exclusive (validation error if both are set)
  • Any extension other than .jpg/.jpeg falls back to .png
  • Works with both Gemini API and Vertex AI (-vertex)

Full Changelog: v1.1.4...v1.1.5

v1.1.4

27 Feb 12:36

Choose a tag to compare

What's New

Flash Model & Thinking Config

Switch between Pro and Flash models. Flash supports configurable thinking levels for faster or deeper reasoning.

# Use Flash model
banana -p "a sunset" -m flash

# Flash with high thinking
banana -p "a complex scene" -m flash -t high
Flag Description Default
-m Model: pro, flash pro
-t Thinking level: minimal, high (Flash only) minimal

Image Search Grounding

New -is flag enables image search grounding — lets the model reference real images during generation. Flash model only.

banana -p "a cat wearing a supreme hoodie" -m flash -is

Multiple Reference Images (-i)

The -i flag is now repeatable and supports shell globs. Pass multiple reference images without needing a folder.

# Multiple explicit references
banana -i a.png -i b.png -p "merge these styles"

# Shell glob expansion (put -i last)
banana -p "add rain" -i *.png

TUI Parity

The interactive TUI now exposes all new CLI features: Model, Thinking Level, and Image Search. Flash-only options appear dynamically when you select the Flash model.

Responsive 2-Column Layout

TUI forms now use a compact 2-column layout for settings and adapt to your terminal size — no more cropped content or wasted space.
Full Changelog: v1.1.3...v1.1.4

v1.1.3

02 Feb 10:08

Choose a tag to compare

BANANA CLI v1.1.3

What's New

Persistent GCP Configuration

Save your Vertex AI settings to the config file instead of using environment variables every time.

# Save GCP project and location (one-time setup)
banana config set-project your-project-id
banana config set-location global

# View all settings
banana config show

New Config Commands:

Command Description
banana config set-project <ID> Save GCP project ID
banana config set-location <LOC> Save GCP location (default: global)
banana config show Display all configured settings

Configuration Priority:

  1. Environment variables (highest priority)
  2. Config file (~/.config/banana/config.json)
  3. Default values

Vertex AI Image Options

The -ar (aspect ratio) and -s (image size) flags now work correctly with Vertex AI.

banana -p "a sunset" -vertex -ar 16:9 -s 2K

Full Changelog: v1.1.2...v1.1.3

v1.1.2

02 Feb 09:45

Choose a tag to compare

BANANA CLI v1.1.2

What's New

Vertex AI Support (-vertex)

Use Google Cloud's Vertex AI instead of the direct Gemini API. Perfect for enterprise users with GCP projects who want better quotas, IAM-based authentication, and no API key exposure.

# Set up (one-time)
gcloud auth application-default login
export GOOGLE_CLOUD_PROJECT="your-project-id"

# Generate with Vertex AI
banana -p "a sunset over mountains" -vertex

# Edit with Vertex AI
banana -i photo.png -p "make it watercolor" -vertex

# Describe with Vertex AI
banana describe -i photo.jpg -vertex

Environment Variables:

Variable Required Default
GOOGLE_CLOUD_PROJECT Yes -
GOOGLE_CLOUD_LOCATION No global

Benefits:

  • No API key in URLs - uses Google Cloud IAM authentication
  • Enterprise-tier quotas based on your GCP project
  • Works with service accounts for automation
  • Same models as direct API (gemini-3-pro-image-preview)

Required IAM Role: roles/aiplatform.user (Vertex AI User)

Full Changelog: v1.1.1...v1.1.2

v1.1.1

01 Feb 12:29

Choose a tag to compare

BANANA CLI v1.1.1

What's New

Replace Flag (-r)

New -r flag preserves the input filename for the output when editing images.

# Without -r: generates "generated_1_20260201_143052.png"
banana -i photo.png -p "make it cartoon"

# With -r: outputs "photo.png" (replaces original)
banana -i photo.png -p "make it cartoon" -r

# With -r and multiple images: outputs "photo_1.png", "photo_2.png", etc.
banana -i photo.png -p "make it cartoon" -r -n 3

Notes:

  • Only works with single input files (not folders)
  • When -n > 1, adds index suffix to preserve the original

Full Changelog: v1.1.0...v1.1.1

v1.1.0

29 Jan 16:54

Choose a tag to compare

Full Changelog: v1.0.9...v1.1.0

v1.0.9

29 Jan 12:43

Choose a tag to compare

BANANA CLI v1.0.9

What's New

New describe Command

Analyze images and extract style descriptions using AI. Perfect for creating consistent style prompts.

# Plain text style description
banana describe -i photo.jpg

# Analyze folder of style references (unified description)
banana describe -i ./reference_images/

# Add style context to guide analysis
banana describe -i image.png -a "2D flat vector art"

# Structured JSON output
banana describe -i photo.jpg -json -o style.json

Features:

  • Single image or folder analysis
  • Multiple images = unified style description
  • -p flag for custom prompts (overrides default)
  • -a flag for additional context (prepended to default)
  • -json flag for comprehensive structured output
  • Output to file (-o) or stdout

Prompt File Support

  • -p flag now accepts a file path in addition to text
  • Useful for complex JSON prompts that are hard to escape in shell
  • Supports any text file: .json, .md, .txt, etc.
# Text prompt (as before)
banana -p "a sunset over mountains"

# Load prompt from file
banana -p prompt.json -n 3
banana -p ~/prompts/calligraphy.txt -ar 1:1

Auto Version Detection

  • Version now auto-detected from Go build info when installed via go install
  • No more "dev" version when installing from module

Full Changelog: v1.0.7...v1.0.9

v1.0.8

29 Jan 07:06

Choose a tag to compare

BANANA CLI v1.0.8

What's New

Prompt File Support

  • -p flag now accepts a file path in addition to text
  • Useful for complex JSON prompts that are hard to escape in shell
  • Supports any text file: .json, .md, .txt, etc.
# Text prompt (as before)
banana -p "a sunset over mountains"

# Load prompt from file
banana -p prompt.json -n 3
banana -p ~/prompts/calligraphy.txt -ar 1:1

Full Changelog: v1.0.6...v1.0.8

v1.0.7

29 Jan 07:02

Choose a tag to compare

Full Changelog: v1.0.6...v1.0.7

v1.0.6

23 Jan 17:41

Choose a tag to compare

BANANA CLI v1.0.6

What's New

Performance

  • HTTP connection pooling for faster concurrent requests
  • Parallel loading and base64 encoding of reference images
  • Request timeout handling (120s)

Full Changelog: v1.0.5...v1.0.6