create-image-fal
Generate or edit an image via any FAL image model (nano-banana edit, gpt-image, flux, ...), routed through the GooseWorks proxy, so the call is charged to your GooseWorks credits. image_urls must be public URLs; --image puts a local file on the fal CDN first. The recipe names the model + prompt.
Install / Use
npx skills add gooseworks-ai/goose-skills --skill create-image-falInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
AI & Machine LearningSupported Platforms
Our assessment of create-image-fal
create-image-fal scores 88/100 on our quality scale, 457th of 952 AI & Machine Learning skills we index (top 49%).
Its SKILL.md is 8.0 KB long, split into 7 sections with 2 code examples: a thorough specification that gives an agent plenty to work with.
With 1,222 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated 33 days ago, so create-image-fal is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
create-image-fal compared with similar skills
All 4 of these similar skills score higher than create-image-fal; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| create-image-fal (this skill)by gooseworks-ai | 88 | 1.2k | 33d ago | SKILL.md |
| claude-memby thedotmack | 100 | 103.1k | today | CLAUDE.md |
| taste-skillby Leonxlnx | 100 | 102.4k | today | CLAUDE.md |
| Understand-Anythingby Egonex-AI | 100 | 88.2k | 3d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 77.8k | 1d ago | CLAUDE.md |
Frequently asked questions
- How do I install create-image-fal?
- Run
npx skills add gooseworks-ai/goose-skills --skill create-image-fal. The install tabs above show the steps for each supported agent. - Which AI agents does create-image-fal work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is create-image-fal safe to use?
- It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is create-image-fal still maintained?
- The repository was last updated 33 days ago, so create-image-fal is actively maintained.
Skill content
View source on GitHubname: create-image-fal description: Generate or edit an image via any FAL image model (nano-banana edit, gpt-image, flux, ...), routed through the GooseWorks proxy, so the call is charged to your GooseWorks credits. image_urls must be public URLs; --image puts a local file on the fal CDN first. The recipe names the model + prompt. Use for keyframes, flat-cover transforms, product hero edits. (For the OpenAI gpt-image family specifically, create-image-gpt-image-fal also exists.) status: active
create-image-fal
GPT Image 2 quality follows the customer's tier. gen_image.py always sends an explicit quality: --tier standard (the default) is medium, --tier best is high; a payload's own quality, or --quality, wins. Above the tier is a one-shot upgrade, only after a failed check at the cheaper setting or when the customer asks (see create-creator-takes-h3's quality tier). --query '{"shot_scene": 3, "upgrade_reason": ...}' sends the call's GooseWorks query fields.
Never hand-write a person prompt. Any image with a person in it is made by create-creator-takes-h3's scripts/make_character.py (GPT Image 2, phone capture, deep focus, no retouching), unless the recipe prescribes its own creator still; read the avatar-generation guide first. Nano Banana is for cartoons only, never for real people or real products, and never use Flux for a face.
Generate or edit an image via any FAL image model (nano-banana edit, gpt-image, flux, ...), routed through the GooseWorks proxy, so the call is charged to your GooseWorks credits. image_urls must be public URLs; --image puts a local file on the fal CDN first. The recipe names the model + prompt. Use for keyframes, flat-cover transforms, product hero edits. (For the OpenAI gpt-image family specifically, create-image-gpt-image-fal also exists.)
Run
gen_image.py --model fal-ai/nano-banana/edit --payload '{...}' --out keyframe.png — charged to your GooseWorks credits; returns the *.fal.media URL.
The brand's own product
Never ask for a blank pack of the advertised product. "No brand text in a prompt" bans typing label text; it never means removing the product's real label. A test video asked for a pouch with "its unprinted back facing the camera" and "no printed words", sent no product photo, and the pack in the hands read as a different product.
- Refused words. When the object is the brand's product, a prompt with "unprinted", "blank"
(pack, pouch, box, label...), "unlabeled", "no printed words" (or "without a label") or "back facing
the camera" is refused. Pass
--brand-product staticor--brand-product heldandgen_image.pyrunsscripts/brand_pack_lint.pybefore any upload or paid call. - Static or flat: on a counter or shelf, the real photo usually goes on afterwards with an overlay.
- Held, opened, poured or used on screen:
openai/gpt-image-2/editwith the real product photo as image 1 (--product-image pack-front.jpg, put first), its front facing the camera. The script adds that line to the prompt. Never type the label's words into the prompt. - Check the label at 2x against the photo. If it garbles, reframe so the hands cover the label area while the shape and colours still match, or cut to the real photo during the action. A blank, unprinted, back-facing or unlabeled pack of the advertised product is a P0 defect.
- Each visible state (closed pack, open pack, contents, cooked food) comes from a real brand photo sent as the edit reference, never from prose. No photo of a state: don't show it.
gen_image.py --model openai/gpt-image-2/edit --brand-product held --product-image pack-front.jpg \
--image presenter.png --payload '{"prompt": "She tips the open pouch into the pot of boiling water"}' \
--out pour.png
Contract
- Paid calls route through the GooseWorks proxies (charged to your GooseWorks credits) via the
bundled
media_proxy.py— never a provider SDK's default host. - The template recipe (DB) supplies the model + params; this capability is generic.
Edit an image (Nano Banana edit)
fal-ai/nano-banana/edit is the default editor for a prompt-driven edit: a restage or scene swap,
a subject swap in the same pose, a product placed into a scene. It keeps subject geometry, the room
and the light. Use create-image-gpt-image-fal instead when lettering is the point of the edit
(logos, wordmarks, signage) or for a transparent cutout. Small text inside the source can come back
mangled with either model; check it.
gen_image.py --model fal-ai/nano-banana/edit --image product.png --image https://.../scene.jpg \
--payload '{"prompt": "Put the bottle on the counter; keep everything else unchanged", "aspect_ratio": "9:16"}' \
--out edit.png
--imageis repeatable and keeps its order; a public url passes through, a local file is put on the fal CDN through the GooseWorks storage proxy (free). Urls already in the payload'simage_urlscome first.- Payload:
prompt(required);aspect_ratioauto(the input's),21:9,16:9,3:2,4:3,5:4,1:1,4:5,3:4,2:3or9:16;output_formatpng,jpegorwebp;seed. The script saves the first image, so leavenum_imagesat 1. - There is no mask. For a region-locked edit, say "keep everything else unchanged" in the prompt.
- Keep the long edge of each input at about 2048 px or less.
- Check the result: it decodes, its size matches the asked aspect, and no watermark, garbled text or extra fingers appear.
Creator references
Whenever the image will contain a person (creator, presenter, interviewee or any face in focus), with or without a template recipe, read the bundled avatar-generation guide before any paid call. Unless the selected recipe prescribes its own creator still, make the person with create-creator-takes-h3's scripts/make_character.py, which calls this skill. Never hand-write a person prompt here and never use a Flux route (fal-ai/flux/dev, fal-ai/flux/schnell) for a face. When the selected video route forbids person references (for example the street-interview format), make no person still at all. If a required guide cannot be fetched or opened, stop and name the missing file. Use the current project's creator choices and approved model binding; fetching this guide does not authorize another image, a retry or a different render engine.
Model notes
How the image models behave, measured on shipped projects. Each note lives here once; recipes point here instead of repeating it.
- Nano Banana: a reference anchors identity and style, not layout. It keeps a product's colourway, materials and proportions, and takes framing, background and pose from the prompt. For a photo-faithful product, composite the real photo instead.
- Nano Banana does not lock a face. With one reference or four real frames, it matched the room and the clothes and returned a lookalike. Never use it to re-pose or re-light a person already in published work, and compare faces side by side at the same scale before anything downstream spends on the result.
- Nano Banana redraws wordmarks with wrong glyphs. For product lettering use gpt-image-2 edit (create-image-gpt-image-fal) or composite the real packshot.
- Nano Banana paths are
fal-ai/nano-bananaandfal-ai/nano-banana/edit. The engine labelnano_banana_2is not a fal path, and the proxy refuses it as one. - Seedream 4.5 fills the canvas with a same-shaped subject: a wide monitor in a 9:16 canvas came back turned portrait three times in four. Generate at the subject's own aspect and crop.
- Seedream 4.5 draws the device you name. "Shot on a phone camera" put a phone and a hand in the frame despite the negatives. Describe the artefacts (close range, wide lens, mild barrel distortion, sensor noise), never the device.
- No image model holds a caption safe zone from framing words. Generate loose, then crop or pad to the zone and check it by drawing the band on the frame.
- Hard constraints: see the note in create-video-fal; it applies to image prompts too.
Related Skills
claude-mem
103.1kPersistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More
taste-skill
102.4kAgent skills that give coding agents taste: art direction, reference images and a browser check instead of generic AI pages
Understand-Anything
88.2kGraphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.
headroom
77.8kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
