plugins/fal-ai-image/skills/fal-ai-image/SKILL.md
Generate/edit images via fal.ai. Supports Google Nano Banana Pro and OpenAI GPT Image 2 selected from config/.env. Supports reference images and strong text rendering. ALWAYS read SKILL.md before first use.
npx skillsauth add artwist-polyakov/polyakov-claude-skills fal-ai-imageInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Generate images via fal.ai. The skill now supports two fal-hosted models:
fal-ai/nano-banana-pro) — default, backward-compatibleopenai/gpt-image-2) — enabled from config/.envSynonyms the agent should treat as equivalent:
gpt = openai = GPT Image 2nano banana = google = gemini = Nano Banana ProBest for: infographics, text rendering, banners, photo edits, reference-based compositions.
config/README.md logic; if no selector is configured, the skill stays on Nano Banana--model ... when the user explicitly asks for a specific model/provider or asks to compare providersupload.sh first to get URLs for edit.shReference images provided? -> Edit mode (upload.sh -> edit.sh)
Text-only generation? -> Generate mode (generate.sh)
Model comes from config/.env:
no selector set -> Nano Banana Pro
FAL_IMAGE_PROVIDER=openai -> GPT Image 2
FAL_IMAGE_MODEL=... -> exact override
Requires FAL_KEY in config/.env or the environment.
Model selection:
--model — one-off override for the current commandFAL_IMAGE_MODEL — exact override in configFAL_IMAGE_PROVIDER — google or openaiUse --model whenever the user explicitly says things like:
Answer that the skill supports two choices and map the command like this:
--model gpt for OpenAI GPT Image 2--model gemini or --model nano-banana for Nano BananaOpenAI quality default:
FAL_IMAGE_OPENAI_QUALITY=medium unless overridden with --qualitymedium as the default for GPT to avoid expensive exploratory runsFull setup and troubleshooting: config/README.md.
Read references only when needed:
mask_url, inpainting behaviorStrengths:
--web-search in generate modeMain params:
--aspect-ratio--resolution--web-search (generate only)Strengths:
quality controlFAL_KEY through fal, no separate OpenAI key$0.18 per image, but check the live model page before quoting an exact numberMain params:
--image-size--qualityCompatibility layer:
--image-size is omitted, the scripts derive a valid OpenAI image_size from --aspect-ratio + --resolutiongenerate.shupload.shedit.shNano Banana example:
sh scripts/generate.sh \
--model "gemini" \
--prompt "infographic about coffee brewing" \
--aspect-ratio "9:16" \
--resolution "1K" \
--output-dir "./images" \
--filename "coffee_infographic"
GPT Image 2 example:
sh scripts/generate.sh \
--model "gpt" \
--prompt "realistic product hero shot with sharp packaging text" \
--image-size "landscape_4_3" \
--quality "medium" \
--output-dir "./images" \
--filename "product_hero"
Compatibility example for GPT:
sh scripts/generate.sh \
--model "openai" \
--prompt "editorial portrait, window light, magazine cover layout" \
--aspect-ratio "4:3" \
--resolution "2K"
| Param | Required | Default | Notes |
|-------|----------|---------|-------|
| --prompt | yes | - | text prompt |
| --model | no | config / Nano Banana fallback | nano-banana, google, gemini, gpt, openai, or exact endpoint |
| --aspect-ratio | no | 1:1 | Nano native; for GPT used only when --image-size is omitted |
| --resolution | no | 1K | Nano native; for GPT used only when --image-size is omitted |
| --image-size | no | derived from ratio/resolution | GPT only; preset (landscape_4_3) or WIDTHxHEIGHT |
| --quality | no | medium via config | GPT only; low, medium, high |
| --num-images | no | 1 | 1-4 |
| --output-format | no | png | jpeg, png, webp |
| --output-dir | no | - | local path |
| --filename | no | generated | base filename |
| --web-search | no | false | Nano only; ignored for GPT |
Nano Banana example:
sh scripts/edit.sh \
--model "gemini" \
--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"
GPT Image 2 example:
sh scripts/edit.sh \
--model "gpt" \
--prompt "make this product shot look like a premium studio campaign" \
--image-urls "https://example.com/source.png" \
--mask-url "https://example.com/mask.png" \
--image-size "auto" \
--quality "medium" \
--output-dir "./images" \
--filename "studio_edit"
| Param | Required | Default | Notes |
|-------|----------|---------|-------|
| --prompt | yes | - | edit instruction |
| --image-urls | yes | - | comma-separated URLs |
| --model | no | config / Nano Banana fallback | nano-banana, google, gemini, gpt, openai, or exact endpoint |
| --mask-url | no | - | GPT edit only; optional mask for targeted edits |
| --aspect-ratio | no | auto | Nano native; for GPT used only when --image-size is omitted |
| --resolution | no | 1K | Nano native; for GPT used only when --image-size is omitted |
| --image-size | no | derived from ratio/resolution / auto | GPT only |
| --quality | no | medium via config | GPT only |
| --num-images | no | 1 | 1-4 |
| --output-format | no | png | jpeg, png, webp |
| --output-dir | no | - | local path |
| --filename | no | edited | base filename |
# Get hosted URL for local file
URL=$(sh scripts/upload.sh --file /path/to/image.png)
# Get base64 data URI for manual API work
URI=$(sh scripts/upload.sh --file /path/to/image.png --base64)
quality and image_sizemedium quality to reduce surprise spendFor current pricing, check fal's model pages in config/README.md.
edit.sh now polls the same /edit queue endpoints documented by faldevelopment
Компилирует личные книги, PDF/EPUB/TXT/Markdown и длинные материалы в прикладной Claude Code skill с картой источников, решающими правилами, плейбуками, словарём и проверкой качества. Используй, когда пользователь просит превратить книгу, документ, учебник, статью или набор заметок в рабочий скилл, личную карту знаний, прикладного советника, справочник по источнику или reusable skill.
development
Publish static page artifacts to SourceCraft Sites (Yandex infrastructure, works in Russia), with advisory image optimization and an original-image path. Use when a static page/React artifact needs to be deployed to SourceCraft under YYYY/YYYY-MM/page-slug directory layout.
development
Publish static page artifacts from the publisher workspace to a GitHub Pages repository using a fine-grained token, with advisory image optimization and an original-image path. Use when a React/static page artifact is already prepared and needs to be copied into the Pages repo under a strict year/year-month/page-slug directory layout, then committed and pushed, with a final public artifact URL returned.
development
Workflow кросс-агентного ревью с Codex. Triggers (RU): "кодекс ревью". Triggers (EN): "with codex review", "codex review workflow", "start codex review". ВАЖНО: при срабатывании триггера прочитай SKILL.md до любых других шагов.