Nodes/ComfyUI-FeiHou-Toolbox/FeiHou-API Images
ComfyUI Node

FeiHou-API Images

Nano Banana-class generation with zero VRAM and a running meter

By FX-FeiHou·Created 3 months ago·Updated about 22 hours ago· 133
FeiHou-API Images
  • media
  • image
  • image_url
api_key
model
prompt
resolutiondefault
aspect_ratiodefault
width1024
height1024
output_formatdefault
seed-1
media_files[]

FeiHou-API Images is an API wrapper: it doesn't sample anything locally. It sends your prompt and your reference images to https://api.fei-hou.net, waits, and hands back an IMAGE. That's the point. The models it fronts - the provider's feihou-image-nb-* Nano Banana-style line, seedream, qwen-image - have no open weights, so calling them is the only door.

Which means it runs on a laptop with no GPU and needs no checkpoint, no VAE, no 20 GB download. What it needs is an account, a key, and money per call. Keep both halves of that straight and it's genuinely useful.

How it works

Under the hood it's a small HTTP client with a progress bar. The node POSTs to the provider's OpenAI-compatible /v1/image/generations endpoint. If the answer comes back synchronously as a URL or base64, it decodes immediately; if it gets a task id instead, it polls that task every 5 seconds (up to 240 attempts) while the bar creeps along.

References go up separately. Anything on the media input is uploaded to /v1/files/upload and passed to the model as URLs, so the generation request never carries your bytes. The base URL is hardcoded on purpose - the source notes that letting the model-refresh call take a server address would turn the node into an arbitrary request proxy.

The inputs that matter

  • api_key - your key. The tooltip says the quiet part out loud: it goes only to that host, and don't share a workflow containing it. It's a plain widget, so it lands in the saved JSON.
  • model - empty until you click Refresh models. That reads the provider's live catalog and filters by media type. A bad key gives you "The API key was rejected."
  • prompt - multiline. The endpoint wants at least five characters, and short prompts get silently padded rather than rejected, so don't expect one word to arrive verbatim.

Then the per-model knobs: resolution (default/auto/0.5k4k/custom), aspect_ratio, width/height (only meaningful in the models' custom-size mode), output_format (png/jpeg), seed (only some models). Options are genuinely per-model, so switching from a Seedream model to a Qwen Image one can leave you holding an invalid value. When it errors with "does not support resolution=4k. Supported: …", that list is authoritative.

media is the interesting socket, and it's a wildcard: the FeiHou-API Media loader, a native IMAGE batch, VIDEO, or AUDIO. A five-frame IMAGE batch becomes five separate references (nine max), because the node walks the batch frame by frame - crop to one if you only meant one. Image models also refuse video and audio references outright, and the node says so before spending a request. media_files is hidden bookkeeping; leave it alone.

Outputs are image (IMAGESaveImage, an upscaler, a mask node, anything) and image_url (STRING), the provider's URL for that result. Handy for passing down a chain; not an archive. Save the tensor if you want to keep it.

How to install it

ComfyUI Manager: search ComfyUI-FeiHou-Toolbox, install, restart. Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/FX-FeiHou/ComfyUI-FeiHou-Toolbox.git

Then restart ComfyUI and hard-refresh the browser (Ctrl/Cmd-Shift-R) - the pack ships frontend JS for the model-refresh button and media gallery, and a cached page will look broken. pyproject.toml declares zero dependencies and these nodes use the standard library's HTTP client plus the torch/PIL ComfyUI already ships, so there's nothing to pip install and nothing to download. The rest of the pack (SAM3 cutouts, collage, video combine) is a different story; you don't need any of it here.

Worth knowing what this is: a China-based API service with its own Windows client, wrapped by a Chinese-first node pack. English discussion of it is essentially nil, so the README and the node's own errors are your documentation.

Common issues

  • The key leaks when you share the workflow. No exploit - it's a widget. Clear it, or use a throwaway key.
  • "Could not connect to the API service." Network-level: firewall, VPN, proxy, or the service being down. The node's entire job is a network call, so this is the most common failure by a mile.
  • Options that worked yesterday don't today. Catalogs at these services churn. Refresh models, set resolution and aspect_ratio back to default, retry.
  • It's metered. Fine for a model you can't run; a bad default for one you can. A 200-image draft batch is free on your own checkpoint and isn't here.
CategoryFeiHou Toolbox/API

Inputs (11)

NameTypeDefaultDescription
api_keySTRINGYour FeiHou API key. It is sent only to api.fei-hou.net; do not share a workflow containing it.
modelCOMBOClick Refresh models after entering the API key.
promptSTRING
mediaopt*Connect FeiHou-API Media, or a native IMAGE batch, VIDEO or AUDIO.
resolutionoptCOMBOdefault8 options: default, auto, 0.5k, 1k, 1.5k, 2k, +2
aspect_ratiooptCOMBOdefault15 options: default, 1:1, 16:9, 9:16, 4:3, 3:4, +9
widthoptINT1024240–8192
heightoptINT1024240–8192
output_formatoptCOMBOdefault3 options: default, png, jpeg
seedoptINT-1-1–2147483647
media_filesoptSTRING[]

Outputs (2)

NameTypeDescription
imageIMAGE
image_urlSTRING