From 9f40d030510a7c75aa6a949829cf6598963c86f7 Mon Sep 17 00:00:00 2001 From: Benjamin Lu Date: Sat, 24 May 2025 18:49:05 -0400 Subject: [PATCH] Use docs python package --- app/frontend_management.py | 13 ++++++ .../assets/flux-1-1-pro-ultra-image.jpg | Bin 107315 -> 0 bytes docs/FluxProUltraImageNode/en.md | 40 ------------------ requirements.txt | 1 + server.py | 11 ++--- 5 files changed, 20 insertions(+), 45 deletions(-) delete mode 100644 docs/FluxProUltraImageNode/assets/flux-1-1-pro-ultra-image.jpg delete mode 100644 docs/FluxProUltraImageNode/en.md diff --git a/app/frontend_management.py b/app/frontend_management.py index 7b7923b79..d9ef8c921 100644 --- a/app/frontend_management.py +++ b/app/frontend_management.py @@ -205,6 +205,19 @@ comfyui-workflow-templates is not installed. """.strip() ) + @classmethod + def embedded_docs_path(cls) -> str: + """Get the path to embedded documentation""" + try: + import comfyui_embedded_docs + + return str( + importlib.resources.files(comfyui_embedded_docs) / "docs" + ) + except ImportError: + logging.info("comfyui-embedded-docs package not found") + return None + @classmethod def parse_version_string(cls, value: str) -> tuple[str, str, str]: """ diff --git a/docs/FluxProUltraImageNode/assets/flux-1-1-pro-ultra-image.jpg b/docs/FluxProUltraImageNode/assets/flux-1-1-pro-ultra-image.jpg deleted file mode 100644 index 9ce0dc04fcc2ecac967f77daa3fa91fbcd42570d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 107315 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 -t8gxsu7##Fa+b3 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 C0$1z+ diff --git a/docs/FluxProUltraImageNode/en.md b/docs/FluxProUltraImageNode/en.md deleted file mode 100644 index e49d9ea21..000000000 --- a/docs/FluxProUltraImageNode/en.md +++ /dev/null @@ -1,40 +0,0 @@ -![ComfyUI Native Flux 1.1 [pro] Ultra Image node](assets/flux-1-1-pro-ultra-image.jpg) - -The Flux 1.1 [pro] Ultra Image node allows you to generate ultra-high-resolution images through text prompts, directly connecting to Black Forest Labs' latest image generation API. - -This node supports two main usage modes: -1. **Text-to-Image**: Generate high-quality images from text prompts (when no image input is used) -2. **Image-to-Image**: Combine existing images with prompts to create new images that blend features from both (Remix mode) - -This node supports Ultra mode through API calls, capable of generating images at 4 times the resolution of standard Flux 1.1 [pro] (up to 4MP), without sacrificing prompt adherence, and maintaining super-fast generation times of just 10 seconds. Compared to other high-resolution models, it's more than 2.5 times faster. - -## Parameter Description - -### Basic Parameters - -| Parameter | Type | Default | Description | -| ----------------- | ------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| prompt | String | "" | Text description for generating the image | -| prompt_upsampling | Boolean | False | Whether to use prompt upsampling technique to enhance details. When enabled, automatically modifies prompts for more creative generation, but results become non-deterministic (same seed won't produce exactly the same result) | -| seed | Integer | 0 | Random seed value, controls generation randomness | -| aspect_ratio | String | "16:9" | Width-to-height ratio of the image, must be between 1:4 and 4:1 | -| raw | Boolean | False | When set to True, generates less processed, more natural-looking images | - -### Optional Parameters - -| Parameter | Type | Default | Description | -| --------------------- | ----- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | -| image_prompt | Image | None | Optional input, used for Image-to-Image (Remix) mode | -| image_prompt_strength | Float | 0.1 | Active when `image_prompt` is input, adjusts the blend between prompt and image prompt. Higher values make output closer to input image, range is 0.0-1.0 | - -### Output - -| Output | Type | Description | -| ------ | ----- | -------------------------------------- | -| IMAGE | Image | Generated high-resolution image result | - -## How It Works - -Flux 1.1 [pro] Ultra mode uses optimized deep learning architecture and efficient GPU acceleration technology to achieve high-resolution image generation without sacrificing speed. When a request is sent to the API, the system parses the prompt, applies appropriate parameters, then computes the image in parallel, finally generating and returning the high-resolution result. - -Compared to regular models, Ultra mode particularly focuses on detail preservation and consistency at large scales, ensuring impressive quality even at 4MP high resolution. \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index 8f7a78984..823cba1e7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,6 @@ comfyui-frontend-package==1.19.9 comfyui-workflow-templates==0.1.14 +comfyui-embedded-docs==0.1.0 torch torchsde torchvision diff --git a/server.py b/server.py index de9e70a41..21cfa9195 100644 --- a/server.py +++ b/server.py @@ -746,11 +746,12 @@ class PromptServer(): web.static('/templates', workflow_templates_path) ]) - # Serve node documentation markdown from the docs directory - docs_dir = os.path.join(os.path.dirname(__file__), 'docs') - self.app.add_routes([ - web.static('/docs', docs_dir) - ]) + # Serve embedded documentation from the package + embedded_docs_path = FrontendManager.embedded_docs_path() + if embedded_docs_path: + self.app.add_routes([ + web.static('/docs', embedded_docs_path) + ]) self.app.add_routes([ web.static('/', self.web_root),