fal-ai-image
Generate images via fal.ai nano-banana-pro (Gemini 3 Pro Image). Best for: infographics, text rendering, complex compositions.
STOP — Read Before Acting
- •DO NOT use Pillow, ImageMagick, or any post-processing for text/logo overlay — this model renders text natively, including Cyrillic and CJK
- •DO NOT use Generate mode when user provides reference images — use Edit mode
- •DO NOT launch general-purpose subagents — use
Taskwithsubagent_type: "Bash"andmodel: "haiku" - •DO NOT skip uploading local files — run
upload.shfirst to get URLs foredit.sh - •DO NOT guess script parameters — check the tables below
Quick Start Decision
User gave reference images? → Edit mode (upload.sh → edit.sh) User wants text-only gen? → Generate mode (generate.sh) Multiple images needed? → Parallel Bash/haiku subagents
Model Capabilities
- •Excellent text rendering (Latin, Cyrillic, CJK) — no post-processing needed
- •Composes logos, product photos, and text into banners in a single pass
- •Understands layout instructions ("left side text, right side product photo")
- •Handles complex infographics, charts, and diagrams
- •Edit mode blends reference images naturally with prompt guidance
Compatibility
Scripts are POSIX sh compatible — work in cloud sandboxes (/bin/sh) and locally (bash).
No bashisms: [[ ]], ${BASH_SOURCE}, source etc. are NOT used.
Config
Requires FAL_KEY in config/.env or environment.
Get key: https://fal.ai/dashboard/keys
Two Modes
1. Generate (text-to-image)
Create images from text prompt only.
Script: scripts/generate.sh
2. Edit (image-to-image)
Create images using reference images (up to 14).
Script: scripts/edit.sh
Workflow
IMPORTANT: Run generation via Task tool with Haiku subagent to avoid blocking main context.
For Generate mode:
- •
Clarify params (if not specified):
- •Aspect ratio:
1:1,16:9,9:16,4:3, etc. - •Resolution:
1K(default),2K,4K
- •Aspect ratio:
- •
Propose save path based on project structure:
- •Check for
./images/,./assets/,./static/ - •Suggest: "Save to
./images/infographic_coffee.png?"
- •Check for
- •
Show price & confirm:
codeCost: $0.15/image (4K: $0.30) Confirm? (yes/no)
- •
Launch subagent:
codeTask tool: - subagent_type: "Bash" - model: "haiku" - run_in_background: true - prompt: Run generate.sh with params
- •
Report result: Parse JSON output, show image URL, read saved file.
For Edit mode:
- •
Get reference images:
- •If URLs provided → use directly
- •If local files → run
upload.shfirst to get URLs
- •
Clarify prompt: What to do with references?
- •
Show price & confirm: Same as generate
- •
Launch subagent with
edit.sh - •
Report result
Scripts
generate.sh
sh scripts/generate.sh \ --prompt "infographic about coffee brewing" \ --aspect-ratio "9:16" \ --resolution "1K" \ --output-dir "./images" \ --filename "coffee_infographic"
| Param | Required | Default | Values |
|---|---|---|---|
--prompt | yes | - | text |
--aspect-ratio | no | 1:1 | 21:9, 16:9, 3:2, 4:3, 5:4, 1:1, 4:5, 3:4, 2:3, 9:16 |
--resolution | no | 1K | 1K, 2K, 4K |
--num-images | no | 1 | 1-4 |
--output-dir | no | - | path |
--filename | no | generated | base name |
--web-search | no | false | flag |
edit.sh
sh scripts/edit.sh \ --prompt "combine these into a collage" \ --image-urls "https://example.com/img1.png,https://example.com/img2.png" \ --aspect-ratio "16:9" \ --output-dir "./images" \ --filename "collage"
| Param | Required | Default | Values |
|---|---|---|---|
--prompt | yes | - | text |
--image-urls | yes | - | comma-separated URLs (max 14) |
--aspect-ratio | no | auto | auto, 1:1, 16:9, etc. |
--resolution | no | 1K | 1K, 2K, 4K |
--num-images | no | 1 | 1-4 variations |
--output-dir | no | - | path |
--filename | no | edited | base name |
upload.sh (for local files)
# Get URL for local file URL=$(sh scripts/upload.sh --file /path/to/image.png) # Or get base64 data URI (for small files) URI=$(sh scripts/upload.sh --file /path/to/image.png --base64)
Parallel Generation
For multiple images — launch several subagents in parallel:
Task 1: generate "cat in space" → cat_space.png Task 2: generate "dog on moon" → dog_moon.png Task 3: generate "bird in ocean" → bird_ocean.png
Each runs independently via Haiku, results collected when done.
Pricing
- •Generate: $0.15/image
- •Edit: $0.15/edit
- •4K resolution: $0.30 (2x)
- •Web search: +$0.015
Formula: price = num_images * (resolution == "4K" ? 0.30 : 0.15) + (web_search ? 0.015 : 0)
Notes
- •URLs expire in ~1 hour — save locally if needed
- •Uploaded files stored 7 days on fal.ai, then auto-deleted
- •Model excels at text rendering and infographics