Show HN: Scriptable CLI tool for generating images using popular providers A developer released etch-image, a scriptable command-line tool published to npm that generates and edits images through the OpenAI, Gemini and FLUX (Black Forest Labs) APIs, installed with `npm install -g etch-image`. Etch is bring-your-own-token: users supply OPENAI_API_KEY, GEMINI_API_KEY or BFL_API_KEY in ~/.config/etch/.env, and the tool defaults to the gpt-image-2.5-sunburst model, supports 1 to 10 images per run via -n, and writes only saved file paths to stdout while progress goes to stderr. The tool matters to developers building image generation into scripts and pipelines because it exposes provider-specific size and quality options — OpenAI sizes up to 3840x2160, Gemini 1K/2K/4K, and FLUX 3 resolution tiers from 768sq to 4k — through a single CLI with JSON output and configurable defaults in ~/.config/etch/config.json. Scriptable CLI tool for generating and editing images with OpenAI, Gemini, and FLUX. npm install -g etch-image etch "a polished app icon for a CLI image generation tool called etch" You'll need an API key for the provider you want to use in ~/.config/etch/.env See Setup setup | Provider | Models | |---|---| | OpenAI | | | Gemini | | | FLUX Black Forest Labs | | npm install -g etch-image Etch is bring-your-own-token. You provide API keys for the providers you want to use. Put them in ~/.config/etch/.env : OPENAI API KEY=your key here GEMINI API KEY=your key here BFL API KEY=your key here You only need keys for the providers you plan to use. Keys are read from the shell environment first, then ~/.config/etch/.env . etch input file ... "prompt" options The last positional argument is always the prompt. Anything before it is treated as an input image: - No input files → generate a new image from the prompt. - One or more input files → edit those images using the prompt. The result is saved as a PNG. Pass -o