## comfyui_gr85 # This extension relies only on ComfyUI's bundled Python packages. # No additional pip requirements are needed.
This repository provides a small collection of GR85-flavoured custom nodes for ComfyUI. It includes utilities for working with image dimensions, randomization, prompt manipulation, and seed utilities.
The implementation is being migrated from the legacy INPUT_TYPES / RETURN_TYPES API to the modern comfy_api.latest schema-based API (io.ComfyNode, define_schema, execute, and ComfyExtension).
Currently Simple Wildcard Picker has been migrated fully to the new API; other nodes still use the classic style.
ImageDimensionResizer, category GR85/Resolution)ImageSizer, category GR85/Resolution)original / landscape / portrait) and snaps the result to a given tolerance (e.g. multiples of 16).ImageSizerAll, category GR85/Resolution)RandomRatio, category GR85/Resolution)SeedBasedOutputSelector, category GR85/Prompt/Selection)None inputs are considered, and the seed is used with modulo to choose the index.SimpleWildcardPicker, category GR85/Prompt/Wildcards)io.ComfyNode using define_schema and execute.prompt (multiline string)seed (integer){a|b|c}-style wildcards (with support for nested braces) using a seeded RNG so results are reproducible.GR85/Prompt/Tags)__elements__.elements and stuff).__location__, __weather__, __style__, etc.NextSeed, category GR85/Random/Seed)RandomFloat, category GR85/Random/Numbers)[min_value, max_value], with configurable decimal precision, seeded for reproducibility.RandomInt, category GR85/Random/Numbers)[min_value, max_value], seeded for reproducibility.This extension supports both:
NODE_CLASS_MAPPINGS / NODE_DISPLAY_NAME_MAPPINGS in __init__.py (for most nodes).comfy_api.latest and a ComfyExtension entrypoint (for SimpleWildcardPicker).The root __init__.py provides:
NODE_CLASS_MAPPINGS and NODE_DISPLAY_NAME_MAPPINGS for the classic nodes.GR85Extension(ComfyExtension) with:get_node_list() returning the list of new io.ComfyNode nodes.async def comfy_entrypoint() which ComfyUI calls to load the extension.What changed
SimpleWildcardPicker was a classic custom node defined with:INPUT_TYPESRETURN_TYPES, RETURN_NAMES, FUNCTION, CATEGORYNODE_CLASS_MAPPINGS["GR85_SimpleWildcardPicker"] in __init__.py.SimpleWildcardPicker(io.ComfyNode) in nodes/prompt/simple_wildcard_picker.py.define_schema() using io.Schema, io.String.Input, io.Int.Input, io.String.Output.execute() returns an io.NodeOutput.GR85Extension.get_node_list() and comfy_entrypoint().GR85_SimpleWildcardPicker (no v3 suffix), display name "Simple Wildcard Picker".Behavior compatibility
{a|b|c} syntax.Random(seed)) is used for reproducible choices._process_wildcards) used by the new execute() method.Impact on existing workflows
GR85_SimpleWildcardPicker should continue to work, but they now use the new schema-based node.NODE_CLASS_MAPPINGS["GR85_SimpleWildcardPicker"], orINPUT_TYPES/FUNCTION shape of SimpleWildcardPickerwill need to be updated to work with the new io.ComfyNode API and extension-based discovery.
How to update custom integrations
io.ComfyNode:SimpleWildcardPicker.define_schema().execute(prompt, seed) to be a classmethod returning io.NodeOutput.NODE_CLASS_MAPPINGS for this node anymore; it is no longer present there.INPUT_TYPESRETURN_TYPES / RETURN_NAMESFUNCTION / instance methodsNODE_CLASS_MAPPINGS / NODE_DISPLAY_NAME_MAPPINGSPlanned direction
SimpleWildcardPicker:io.ComfyNode implementation with define_schema + execute.GR85Extension.get_node_list().If you want to migrate another specific node (e.g. GR85_SeedBasedOutputSelector or one of the latent utilities), follow the same pattern as SimpleWildcardPicker and update the extension’s get_node_list() accordingly.