Files
Alexander Garzon 6d3d2fca46 feat: initial public release of ComfyUI-Imagent
BYOK OpenAI gpt-image generation and editing nodes for ComfyUI — calls go
directly to the OpenAI API with your own key (no proxy, no credit markup).

- Two nodes: "Imagent: OpenAI Image" (text-to-image) and "Imagent: OpenAI
  Image Edit" (edit / inpaint / multi-reference compose).
- Models gpt-image-2 / gpt-image-1.5 / gpt-image-1 with a per-model dynamic UI
  (comfy_api DynamicCombo): size, background, custom WxH, and input_fidelity
  are revealed only for the models that support them.
- Edit node accepts an auto-growing set of reference images (up to 16) plus an
  optional inpaint mask; generate supports batches up to 8.
- API key via OPENAI_API_KEY or a local config.json.

Requires ComfyUI >= 0.23.0.
2026-06-08 09:39:21 -04:00

51 lines
1.5 KiB
TOML

[build-system]
requires = ["setuptools>=77"]
build-backend = "setuptools.build_meta"
[project]
name = "comfyui-imagent"
dynamic = ["version"]
description = "ComfyUI nodes for OpenAI gpt-image generation and editing"
readme = "README.md"
license = "MIT"
requires-python = ">=3.10"
authors = [{ name = "ComfyUI-Imagent contributors" }]
keywords = ["comfyui", "openai", "gpt-image", "image-generation"]
classifiers = [
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
]
dependencies = ["openai>=1.40.0", "Pillow>=10.0", "numpy"]
[project.optional-dependencies]
test = ["pytest>=8.0", "torch"]
[project.urls]
Repository = "https://github.com/agarzon/ComfyUI-Imagent"
# ComfyUI Registry metadata (used by `comfy node publish`).
[tool.comfy]
PublisherId = "agarzon"
DisplayName = "Imagent"
requires-comfyui = ">=0.23.0"
Icon = "https://raw.githubusercontent.com/agarzon/ComfyUI-Imagent/main/assets/icon.png"
Banner = "https://raw.githubusercontent.com/agarzon/ComfyUI-Imagent/main/assets/banner.png"
[tool.comfy.version]
# version is dynamic (imagent.__version__); comfy-cli reads it from this source file
path = "imagent/__init__.py"
[tool.setuptools.dynamic]
version = { attr = "imagent.__version__" }
[tool.setuptools.packages.find]
include = ["imagent*"]
exclude = ["tests*", "docker*", "docs*"]
[tool.pytest.ini_options]
testpaths = ["tests"]
pythonpath = ["."]
addopts = "--import-mode=importlib"
xfail_strict = true