Agent skill

Create Image Gpt Image Fal

by gooseworks-ai in gooseworks-ai/goose-skills

Generate a single photoreal or designed image with OpenAI gpt-image via fal.ai.

MITAuto-check passedMedia & Creative

Install Create Image Gpt Image Fal

skills CLI
$ npx skills add gooseworks-ai/goose-skills --skill create-image-gpt-image-fal -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install gooseworks-ai/goose-skills create-image-gpt-image-fal --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/ads/capabilities/create-image-gpt-image-fal .claude/skills/create-image-gpt-image-fal && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
create-image-gpt-image-fal
GitHub stars
1.2k
Used in
1 other repo
Token cost
~2.4k tokens
SKILL.md length
1,066 words
Files
10 (incl. scripts)
Skills in repo
273
Repo updated
First seen
Licence
MIT

At a glance

Generate a single photoreal or designed image with OpenAI gpt-image via fal.ai.

  • Works in 6 steps: Loads the agent credentials from… → Resolves the model family (--model) and… → If one or more --ref-image / --ref-url… → …
  • Photoreal character anchors
  • SKILL.md covers Purpose, Inputs, Credentials at run time and Workflow, plus 6 more sections
  • Runs Python scripts from its folder; calls python3 and ffmpeg; needs FAL_API_KEY and GW_MEDIA_PROXY_TOKEN

What it does

Create Image Gpt Image Fal is an agent skill from gooseworks-ai/goose-skills. Generate a single photoreal or designed image with OpenAI gpt-image via fal.ai. Supports gpt-image-1 (default, fixed sizes — the FAL fallback for Higgsfield's gptimage2) and gpt-image-2 (openai/gpt-image-2, custom output sizes up to 3840px). Routes to text-to-image or the edit variant depending on whether a reference image is provided. Use for photoreal character anchors, scene keyframes, and designed sheets (e.g. storyboards) where precise layout and legible text matter.

Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 11 other files, including scripts (for example `scripts/fal_helpers.py`, `scripts/generate.py` and `scripts/media_proxy.py`).

It sits in Media & Creative, covering Image generation. It works with OpenAI and fal. The repository describes itself as: Library of Growth & GTM skills + data APIs for Claude Code, Codex, Cursor to run ads, social, content, lead gen, seo and data scraping. The licence is MIT.

When your agent uses it

  • Photoreal character anchors
  • Scene keyframes
  • Designed sheets (e.g

Example prompts

  • “/create-image-gpt-image-fal”

Requirements

  • Python 3
  • A credential in FAL_API_KEY
  • A credential in GW_MEDIA_PROXY_TOKEN

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Loads the agent credentials from ~/.gooseworks/credentials.json via the bundled media_proxy.py (proxy-routed; bills the Ads agent).
  2. Resolves the model family (--model) and output size (--image-size if given and supported, else the aspect-ratio mapping).
  3. If one or more --ref-image / --ref-url flags are set, passes them as image_urls=[url1, url2, ...] (they must already be PUBLIC URLs) and…
  4. Submits through the GooseWorks fal-proxy and polls the queue to completion — host-swapping the queue.fal.run status/response URLs to the…
  5. Downloads the first result image to --output.
  6. Writes .meta.json with gateway: "fal-proxy", model id, model_family, request, and cost.

What it can do on your machine

Read from SKILL.md and the folder at commit 4bbe1ef. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 3 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3
    • ffmpeg

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • fal.ai

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • FAL_API_KEY
    • GW_MEDIA_PROXY_TOKEN
    • FAL_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Create Image Gpt Image Fal loads about 2.4k tokens when it runs. Until then it costs about 127 tokens; SKILL.md has 1,066 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~127
When it runs · the whole SKILL.md, loaded when a task matches
~2.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from gooseworks-ai/goose-skills at commit 4bbe1ef, republished under its MIT licence (© gooseworks-ai). 1,066 words, ~2,393 tokens.

Download SKILL.mdSave it as .claude/skills/create-image-gpt-image-fal/SKILL.md (or your agent's skills folder). This skill also uses 9 other files; get the full folder from GitHub.
name
create-image-gpt-image-fal
description
Generate a single photoreal or designed image with OpenAI gpt-image via fal.ai. Supports gpt-image-1 (default, fixed sizes — the FAL fallback for Higgsfield's `gpt_image_2`) and gpt-image-2 (`openai/gpt-image-2`, custom output sizes up to 3840px). Routes to text-to-image or the edit variant depending on whether a reference image is provided. Use for photoreal character anchors, scene keyframes, and designed sheets (e.g. storyboards) where precise layout and legible text matter.

create-image-gpt-image-fal

Purpose

Generate one image via fal.ai's OpenAI gpt-image endpoints. Two model families are supported through a single --model flag:

  • gpt-image-1 (default) — fal-ai/gpt-image-1. The FAL fallback for Higgsfield's gpt_image_2. Fixed output sizes only. Used by:
    • video-orchestrator/lock-character Phase 0 (anchor portrait) and Phase 1 (angle keyframes via /edit)
    • video-orchestrator/create-clips Phase 1 for photoreal scenes
    • the orchestrator's generate_with_fallback.py router on Higgsfield failure
  • gpt-image-2 — openai/gpt-image-2. The newer model; accepts custom output sizes (any multiple of 16, up to 3840px) and renders dense text/layouts well. Used for designed sheets such as ad storyboards (create-storyboard-sheets-fal).

The default stays gpt-image-1 so existing callers and the lock-character anchor-parity contract are unaffected. Opt into the newer model with --model gpt-image-2.

Inputs

Required:

  • --prompt — text prompt. A verbatim character descriptor block goes here for character work.
  • --output — local PNG destination.

Optional:

  • --model — gpt-image-1 (default) or gpt-image-2.
  • --aspect-ratio — 9:16 (default), 16:9, 1:1, 2:3, 3:2. gpt-image-2 also accepts 3:4, 4:3, 4:5. Used when --image-size is not given.
  • --image-size — explicit WIDTHxHEIGHT (e.g. 1728x2304). gpt-image-2 only — values are rounded to multiples of 16 and capped at 3840px. On gpt-image-1 a custom size is ignored with a warning and the aspect-ratio mapping is used instead.
  • --quality — low | medium | high (default medium; use high for finals).
  • --ref-image / --ref-url — a PUBLIC image URL for the /edit variant. Repeatable — pass it twice to send multiple refs (e.g. identity + style). The proxy does not upload local files, so a local path is rejected — host the image first (the MCP media_upload, or any public URL) and pass that URL. When present, routes to the model's /edit variant so the model can match the references. Order matters: pass identity (character) first, then style refs.
  • --with-logs — stream fal queue logs.

Credentials (proxy-routed — NOT a raw FAL key):

  • The bundled scripts/media_proxy.py routes every call through the GooseWorks fal-proxy, which bills the Ads agent. It reads ~/.gooseworks/credentials.json (api_base, api_key, agent_id), written by the GooseWorks CLI. Do not set FAL_API_KEY: an agent (cal_) token is not a FAL key and 401s against fal directly.
  • Set GW_PROJECT_ID=<ad project id> in the env so the generation's spend attributes to that ad project (per-project cost shows in the app).

Credentials at run time

A cloud sandbox injects GW_MEDIA_PROXY_TOKEN; a terminal uses the CLI's credentials file. With neither, the bundled helper relays each paid call through the agent instead (see media-proxy), so the script never asks for a key or a sign-in.

Workflow

bash
# Text-to-image, default model (gpt-image-1)
python3 skills/ads/capabilities/create-image-gpt-image-fal/scripts/generate.py \
  --prompt "..." \
  --output /path/to/anchor.png \
  --aspect-ratio 9:16 \
  --quality medium

# Edit-from-reference (anchor -> angle). --ref-image must be a PUBLIC URL,
# NOT a local path (the proxy does not upload local files):
python3 .../generate.py \
  --prompt "..." \
  --output /path/to/angle-3q-left.png \
  --ref-image "https://.../anchor.png" \
  --aspect-ratio 9:16

# gpt-image-2 with a custom output size (e.g. a designed storyboard sheet)
python3 .../generate.py \
  --prompt "..." \
  --output /path/to/storyboard.png \
  --model gpt-image-2 \
  --image-size 1728x2304 \
  --quality high

The script:

  1. Loads the agent credentials from ~/.gooseworks/credentials.json via the bundled media_proxy.py (proxy-routed; bills the Ads agent).
  2. Resolves the model family (--model) and output size (--image-size if given and supported, else the aspect-ratio mapping).
  3. If one or more --ref-image / --ref-url flags are set, passes them as image_urls=[url1, url2, ...] (they must already be PUBLIC URLs) and routes to the model's /edit variant. Otherwise routes to the /text-to-image variant.
  4. Submits through the GooseWorks fal-proxy and polls the queue to completion — host-swapping the queue.fal.run status/response URLs to the proxy base (see media_proxy.py); never polls queue.fal.run directly.
  5. Downloads the first result image to --output.
  6. Writes <output>.meta.json with gateway: "fal-proxy", model id, model_family, request, and cost.

Output

  • <output_path> — PNG (≥ 1 KB).
  • <output_path>.meta.json — request + result metadata + cost, including model_family (gpt-image-1 or gpt-image-2).

Quality Checks

  • Output file exists and is > 1 KB.
  • For character anchors: visually inspect against the descriptor block (hair, shirt color, age).
  • meta.json includes gateway: "fal-proxy", the resolved model id, model_family, image_size, and quality.
  • For gpt-image-2 custom sizes: confirm the output dimensions match the requested WIDTHxHEIGHT.
  • No readable text in the prompt that should appear in the image. AI image models mangle short brand text, URLs, code tokens, captions, and wordmarks even with explicit prompting. Examples observed: "ffmpeg" → "ffmmg"; "klarify" → "clarify"; "therapists" → "therapits". Use PIL or ffmpeg drawtext for any overlay containing readable text. Reserve image gen for purely visual content (characters, scenes, backgrounds). Repeats LEARNINGS L4.
Show full SKILL.md (432 more words)Show less

Failure Modes

SymptomLikely causeFix
401 Unauthorized from falCalling fal directly with an agent token, or polling queue.fal.run instead of the proxyThis atom is proxy-routed — it uses the ~/.gooseworks/credentials.json agent token via media_proxy.py, never a raw FAL_API_KEY. Without that file the helper relays the call instead.
ERROR: ref images must be PUBLIC URLsPassed a local path to --ref-image / --ref-urlThe proxy does not upload local files. Host it (the MCP media_upload) and pass the resulting public URL.
429 Too Many RequestsRPS limitDrop concurrency to 2-3.
Custom size ignored--image-size passed with --model gpt-image-1gpt-image-1 only supports fixed sizes; use --model gpt-image-2 for custom sizes.
Aspect-ratio drift (gpt-image-1)gpt-image-1 only supports 1024x1024, 1024x1536, 1536x1024The script maps aspect ratios to these internally.
Size rejected (gpt-image-2)Dimension not a multiple of 16, or > 3840pxThe script rounds to /16 and caps at 3840; pass a smaller size.
Anchor reference ignored/text-to-image variant doesn't accept refsPass --ref-image to force the /edit variant.
Skin / face looks "AI-stock"gpt-image's failure modeAdd anti-AI cues to the prompt: "natural skin texture with pores, slight asymmetry, no perfect teeth".

Model notes

  • Product lettering. openai/gpt-image-2/edit off a real product photo keeps proportions and exact lettering far better than nano-banana, so use it for product-hero frames. Cheaper and pixel-exact: cut the real photo out and composite it instead of redrawing the product.
  • /edit can ignore the aspect ratio and return a 1024x1024 square; center-cropping that to 9:16 chops the subject. Pass --image-size (gpt-image-2) or verify the returned size before using it.
  • No contact shadow under a soft key on a bright seamless floor. That is physically right for the lighting, so re-prompting cannot fix it: ask for a harder key from a steeper angle, a floor several stops darker than the wall, or composite the shadow afterwards.
  • Safe zones: see create-image-fal; it holds the notes that apply to every image model.

Cross-provider parity note

When this atom generates a character anchor (lock-character Phase 0), the anchor approved here MUST be pinned for all downstream angle gens, and the same --model must be used for those angle gens. Mixing model families (or mixing FAL-gpt-image with Higgsfield-gpt_image_2) introduces aesthetic drift. The orchestrator's generate_with_fallback.py inherits gateway/model_family from the anchor's .meta.json for subsequent calls.

References

  • fal.ai/models/fal-ai/gpt-image-1
  • fal.ai/models/openai/gpt-image-2
  • Sibling Higgsfield path: mcp__higgsfield__generate_image with model="gpt_image_2"
  • Shared helper: scripts/media_proxy.py (proxy-routed FAL/ElevenLabs; bills the Ads agent — the helper generate.py actually imports). scripts/fal_helpers.py is a LEGACY raw-FAL helper kept for reference only; generate.py does not use it (it would need a real FAL_KEY).
  • Storyboard-sheet consumer: create-storyboard-sheets-fal (video flow, in the separate ads-video repo)

© gooseworks-ai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 9 other files (scripts) in skills/ads/capabilities/create-image-gpt-image-fal of gooseworks-ai/goose-skills.

  • SKILL.md
  • scripts/fal_helpers.py
  • scripts/generate.py
  • scripts/media_proxy.py
  • skill.meta.json
  • tests/expected-output.md
  • tests/human-test.md
  • tests/sample-input.md
  • tests/smoke-test.md
  • tests/verifier.md

Open the folder on GitHubat commit 4bbe1ef

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in gooseworks-ai/goose-skills, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Create Image Gpt Image Fal next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Create Image Gpt Image Fal compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Create Image Gpt Image Fal this skillgooseworks-ai/goose-skills1.2k1 repos~2.4kAutomated safety check: PassMIT
Shotshypersocialinc/shots240—~2kAutomated safety check: PassNone
Keirouter Imagemydisha/keirouter147—~691Automated safety check: PassMIT
Fal AI Imageartwist-polyakov/polyakov-claude-skills208—~2.1kAutomated safety check: NotesMIT
Model Routingfal-ai-community/skills251—~1.5kAutomated safety check: PassNone
9Router Image Generationdecolua/9router31k—~830Automated safety check: PassMIT

Similar skills

  • Shots

    hypersocialinc/shots

    Generate, revise, translate, and manage App Store / Google Play marketing screenshots.

    240 GitHub stars~2k tokensUpdated 5 mo ago
    Media & CreativeAuto-check passed
  • Keirouter Image

    mydisha/keirouter

    Generate images via KeiRouter /v1/images/generations using OpenAI DALL-E / Gemini Imagen / FLUX / MiniMax / Stability AI / Fal.ai models.

    147 GitHub stars~691 tokensUpdated 1 mo ago
    Media & CreativeAuto-check passed
  • Fal AI Image

    artwist-polyakov/polyakov-claude-skills

    Generate/edit images via fal.ai. An agent skill from artwist-polyakov/polyakov-claude-skills.

    208 GitHub stars~2.1k tokensUpdated 2 days ago
    Media & CreativeAuto-check: notes
  • Model Routing

    fal-ai-community/skills

    Choose default fal.ai endpoint IDs for genmedia production skills.

    251 GitHub stars~1.5k tokensUpdated 12 days ago
    Media & CreativeAuto-check passed
  • Generates images through a 9Router gateway's image endpoint, with model discovery, the request fields and per-provider quirks for OpenAI, Gemini, MiniMax and others.

    31k GitHub stars~830 tokensUpdated 2 days ago
    Media & CreativeAuto-check passed
  • 2D Map and Scene Generator

    0x0funky/agent-sprite-forge

    Plans and builds 2D game maps and scenes, from tilemaps and parallax backgrounds to HD-2D plates, with collision checks, a playable HTML preview and Tiled, Godot or LDtk export.

    4.4k GitHub stars~2.9k tokensUpdated 4 days ago
    Game DevelopmentAuto-check passed

More from gooseworks-ai/goose-skills

All 273 skills in this repo
  • Reddit Post Finder

    gooseworks-ai/goose-skills

    Scrape and search Reddit posts using Apify. An agent skill from gooseworks-ai/goose-skills.

    1.2k GitHub starsUsed in 1 repo~1.2k tokens
    Auto-check passed
  • Create Image Fal

    gooseworks-ai/goose-skills

    Generate or edit an image via any FAL image model (nano-banana edit, gpt-image, flux, ...), ROUTED THROUGH THE fal-proxy so it bills the Ads agent.

    1.2k GitHub stars~1.3k tokensUpdated today
    Auto-check passed
  • Render Hook Replacement

    gooseworks-ai/goose-skills

    Replace an existing video's opening with a supplied clip or free kinetic text hook while retaining and verifying every original body frame, audio, captions and ending.

    1.2k GitHub stars~2.3k tokensUpdated today
    Auto-check passed
  • Blog Feed Monitor

    gooseworks-ai/goose-skills

    Scrape blog posts via RSS feeds (free, no API key) with Apify fallback for JS-heavy sites.

    1.2k GitHub starsUsed in 1 repo~578 tokens
    Auto-check passed
  • Competitor Post Engagers

    gooseworks-ai/goose-skills

    Find leads by scraping engagers from a competitor's top LinkedIn posts.

    1.2k GitHub starsUsed in 1 repo~1.8k tokens
    Auto-check: notes
  • Render Chatgpt Chat

    gooseworks-ai/goose-skills

    Assemble a ChatGPT chat-reveal video ad from a thread + timeline JSON — one continuous Playwright recording of a ChatGPT mobile chat (user types with the iOS keyboard up → taps send → keyboard…

    1.2k GitHub stars~2.3k tokensUpdated today
    Auto-check passed

Works with

Questions about Create Image Gpt Image Fal

What does Create Image Gpt Image Fal do?

Generate a single photoreal or designed image with OpenAI gpt-image via fal.ai. Create Image Gpt Image Fal is an agent skill from gooseworks-ai/goose-skills.ai.

When should I use Create Image Gpt Image Fal?

Create Image Gpt Image Fal fits situations like: photoreal character anchors; scene keyframes; designed sheets (e.g.

How do I install Create Image Gpt Image Fal in Claude Code?

Run `npx skills add gooseworks-ai/goose-skills --skill create-image-gpt-image-fal -a claude-code`. Or copy the skill folder (skills/ads/capabilities/create-image-gpt-image-fal in gooseworks-ai/goose-skills) into .claude/skills/create-image-gpt-image-fal in your project. Claude Code loads it when a task matches its description.

How do I install Create Image Gpt Image Fal in Codex?

Run `npx skills add gooseworks-ai/goose-skills --skill create-image-gpt-image-fal -a codex`. Or copy the skill folder (skills/ads/capabilities/create-image-gpt-image-fal in gooseworks-ai/goose-skills) into .agents/skills/create-image-gpt-image-fal in your project. Codex loads it when a task matches its description.

Can I use Create Image Gpt Image Fal in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add gooseworks-ai/goose-skills --skill create-image-gpt-image-fal -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/create-image-gpt-image-fal, .gemini/skills/create-image-gpt-image-fal, .github/skills/create-image-gpt-image-fal and .opencode/skills/create-image-gpt-image-fal in your project.

What does Create Image Gpt Image Fal need to run?

Going by SKILL.md and its folder, Create Image Gpt Image Fal needs Python for the scripts in its folder, the command-line tools its instructions call (python3 and ffmpeg) and credentials named FAL_API_KEY, GW_MEDIA_PROXY_TOKEN and FAL_KEY. Our summary lists: Python 3; A credential in FAL_API_KEY; A credential in GW_MEDIA_PROXY_TOKEN.

Does Create Image Gpt Image Fal access the network?

SKILL.md names 1 domain. As links in the text: fal.ai. This is read from the text; nothing was executed.

Is Create Image Gpt Image Fal safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Create Image Gpt Image Fal use?

Create Image Gpt Image Fal is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Create Image Gpt Image Fal use?

About 2.4k tokens (SKILL.md is roughly 9.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Create Image Gpt Image Fal?

Skills that share tags, products or a category with Create Image Gpt Image Fal: Shots (hypersocialinc/shots, 240 stars), Keirouter Image (mydisha/keirouter, 147 stars), Fal AI Image (artwist-polyakov/polyakov-claude-skills, 208 stars) and Model Routing (fal-ai-community/skills, 251 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Create Image Gpt Image Fal?

gooseworks-ai (a GitHub organization) maintains it in gooseworks-ai/goose-skills, which has 1,242 GitHub stars. The repository holds 273 skills in this directory. The repository was last updated on October 10, 2026.

Source: gooseworks-ai/goose-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.