diff --git a/README.md b/README.md index 0c71574..16066ba 100644 --- a/README.md +++ b/README.md @@ -3,11 +3,16 @@ # ComfyUI General API Node Pack *Created by FeiMao-326* +<<<<<<< HEAD [**English**](#english) | [**中文**](#chinese) +======= +[**English**](README.md) | [**中文说明**](README_CN.md) +>>>>>>> e9ec5ee (feat: Release v1.0.6 with 6 new advanced text nodes and Nodes 2.0 (Vue UI) optimization) --- +<<<<<<< HEAD ## 🇬🇧 English @@ -23,6 +28,23 @@ This pack contains the following nodes, all available under the **`FeiMao-326`** - Features automatic GPU cleanup for local Ollama. - **[NEW]** Native Google Gemini API support (Chat & Image Generation). - Includes advanced seed control (`fixed`, `increment`, `randomize`). +======= + +## 🇬🇧 English + +A suite of powerful and versatile utility nodes for ComfyUI, designed to streamline complex workflows involving Large Language Models and text manipulation. This pack is created by FeiMao-326 and is modernized for 2026 models. + +### ✨ Nodes Included + +This pack contains the following nodes available under the **`FeiMao-326`** category: + +1. **General API Node**: **[Core]** The Ultimate Multimodal LLM Engine. + - **2026 SOTA Model Support**: Native adaptation for Gemini 3.1 Pro/Flash, GPT-5.4, Llama 4, and Claude 3.5. + - **Smart Task Routing**: Automated redirection for Google Gemini. Use standard names like `gemini-3.1-pro` or `gemini-3.1-pro-image-preview` for chat/vision; it automatically switches to Image Gen mode when the model name includes the `image-` keyword. + - **Double VRAM Cleanup**: Specialized for local Ollama. When `cleanup_local_gpu` is enabled, the node triggers a REST API `keep_alive: 0` and a CLI fallback to physically purge model data from VRAM immediately after execution. + - **Advanced Multimodal Vision**: Supports concurrent parsing and comparison of 2 or more images. + - **Seed Logic**: Includes industrial-grade seed control (`fixed`, `increment`, `randomize`). +>>>>>>> e9ec5ee (feat: Release v1.0.6 with 6 new advanced text nodes and Nodes 2.0 (Vue UI) optimization) 2. **Text Batch Replace**: A powerful text utility for performing up to 8 find-and-replace operations in a single node. 3. **JSON Parser**: Deconstructs complex, nested JSON payloads into multiple separate text outputs with a built-in labeled preview. It deeply searches for user-defined keys, perfect for handling structured prompts. 4. **Show Text**: Displays input text directly on the node UI. @@ -30,6 +52,15 @@ This pack contains the following nodes, all available under the **`FeiMao-326`** 6. **Text Split By Delimiter**: Splits a text string into a list based on a delimiter. 7. **Get List Element**: Retrieves a specific element from a list by index. 8. **Text Iterator**: Splits text by delimiter and outputs it as a batch, triggering batch execution for downstream nodes. +<<<<<<< HEAD +======= +9. **Markdown Extractor**: Intelligent regex-based extraction of ` ```json ` or code blocks from LLM responses. +10. **Text Template (Dynamic)**: **[Recommended]** Dynamic slot template. `{var}` automatically generates input ports. Supports all languages. +11. **Prompt Cleaner**: Normalizes prompts by removing duplicates, extra commas, and empty brackets. +12. **Text Logic Switch**: Flow control (If-Else) based on content matching (Contains, Regex, Exact, etc.). +13. **Regex Extractor Pro**: Advanced pattern capture with capture group support. +14. **Dictionary Translator**: Bulk mapping/replacement via JSON or Key=Value dictionaries. +>>>>>>> e9ec5ee (feat: Release v1.0.6 with 6 new advanced text nodes and Nodes 2.0 (Vue UI) optimization) ### 🔧 Installation @@ -71,6 +102,7 @@ This pack contains the following nodes, all available under the **`FeiMao-326`** - **🖼️ Single Image Description**: Connect an image to `image_1`. - **🎬 Dual Image for Video Transitions**: Connect a start frame to `image_1` and an end frame to `image_2`. - **📸 Multi-Image Analysis**: You can connect multiple images (`image_1`, `image_2`, `image_3...etc`) for complex analysis tasks. +<<<<<<< HEAD 4. **API Connection Examples**: - **Local Ollama**: - `api_baseurl`: `http://127.0.0.1:11434/v1` @@ -245,3 +277,77 @@ This project is licensed under the Apache 2.0 License. See the [LICENSE](LICENSE ### 📜 许可证 本项目采用 Apache 2.0 许可证。详情请参阅 [LICENSE](LICENSE) 和 [NOTICE](NOTICE) 文件。 +======= + +4. **API Connection Examples**: + - **NVIDIA NIM (Official/Local)**: + - `api_baseurl`: `https://integrate.api.nvidia.com/v1` + - `api_key`: Your NVIDIA API Key (`nvapi-xxxxxxxx`) + - `model`: `meta/llama-4-maverick`, `nvidia/nemotron-3-ultra` + - **OpenAI GPT-5 (Latest)**: + - `api_baseurl`: `https://api.openai.com/v1` + - `api_key`: Your OpenAI API key + - `model`: `gpt-5.4-thinking` or `o3-pro` (Reasoning model) + - **Local Ollama**: + - `api_baseurl`: `http://127.0.0.1:11434/v1` + - `api_key`: `ollama` + - `model`: `gemma4:e4b` (Current default, supports vision analysis) + - `cleanup_local_gpu`: Keep it checked (True). + - **Google Gemini (Native)**: + - `api_baseurl`: `https://generativelanguage.googleapis.com/v1beta/` + - `api_key`: Your Google AI Studio Key + - `model`: `gemini-3.1-pro` (Chat/Vision) or `gemini-3.1-pro-image-preview` (Image Gen) + - > [!TIP] + - > **Important**: For **Image Generation**, the model name MUST contain the keyword `image-` (e.g., `gemini-3.1-pro-image-preview`). For **Chat/Reasoning**, use standard names like `gemini-3.1-pro`. + + ![General API Node Workflow Example](./assets/workflow_example.png) + +#### Text Batch Replace +- Perform multiple find-and-replace operations sequentially. +![Text Batch Replace Interface](./assets/text_batch_replace.png) + +#### JSON Parser +- Automatically parses LLM JSON outputs into independent string slots based on defined keys. +![JSON Parser Interface](./assets/json_parser.png) + +#### Simple Text / Show Text +- Basic input and visual display modules. + +#### Text Split / Get Element / Iterator +- Essential tools for handling lists and batch execution flows. +![Text Iterator Interface](./assets/Text_Iterator.png) + +#### Markdown Extractor +- **Problem**: LLMs often reply with chatter like "Sure! Here is your JSON: ```json ... ```". +- **Solution**: Automatically identifies and extracts clean content from Markdown code blocks. +- **Scenario**: When LLM generates a JSON structure, passing it directly to JsonParser would crash due to Markdown syntax. This node ensures a "smooth" connection. +![Markdown Extractor](./assets/Markdown_Extractor.png) + +#### Text Template (Dynamic) +- **Concept**: Write a template with variables: `A {subject} in {style} lighting, {mood} background`. +- **Magic**: The node instantly creates input slots for `subject`, `style`, and `mood`. +- **Note**: In Nodes 2.0 (Vue UI), right-click and "Refresh" the node after modifying variables. +![Text Template](./assets/Text_Template.png) + +#### Prompt Cleaner +- **Function**: Removes duplicate keywords, merges extra commas, and cleans inconsistent spaces. +- **Scenario**: Multiple prompt concatenations often result in messy punctuation (e.g., `, ,`). Use this as a "final touch" before KSampler. +![Prompt Cleaner](./assets/Prompt_Cleaner.png) + +#### Text Logic Switch +- **Function**: Flow control (If-Else). If input text contains a keyword (or matches regex), output travels to the "True" port, otherwise "False". +- **Scenario**: Check if LLM output contains "Error" to stop the workflow or switch to a fallback model. + +#### Regex Extractor Pro +- **Function**: Precise data extraction using Capture Groups. +- **Scenario**: Extract specific info like HEX color codes (#FFFFFF) or numeric coordinates from a long LLM description. + +#### Dictionary Translator +- **Function**: Bulk tag replacement using a mapping table (JSON or Simple Text Pairs). +- **Scenario**: Map common Chinese terms to professional SD tags (e.g., replace "Cinematic" with "cinematic lighting, 8k, highly detailed"). + +--- + +### 📜 License +This project is licensed under the Apache 2.0 License. +>>>>>>> e9ec5ee (feat: Release v1.0.6 with 6 new advanced text nodes and Nodes 2.0 (Vue UI) optimization) diff --git a/README_CN.md b/README_CN.md new file mode 100644 index 0000000..713661d --- /dev/null +++ b/README_CN.md @@ -0,0 +1,171 @@ +
+ +# ComfyUI General API Node Pack +*本节点包由 FeiMao-326 创作* + +[**English**](README.md) | [**中文**](README_CN.md) + +
+ +--- + +## 🇨🇳 中文 + +一套为 ComfyUI 设计的、功能强大且用途广泛的实用节点包,旨在简化涉及大语言模型和文本处理的复杂工作流。本节点包由 FeiMao-326 创作。 + +### ✨ 包含的节点 + +本节点包包含以下节点,您都可以在 **`FeiMao-326`** 分类下找到它们: + +1. **General API Node**: **[核心]** 强大的多模态 AI 交互引擎。 + - **2026 模型原生适配**: 完美支持 Gemini 3.1 (Pro/Flash)、GPT-5.4、Llama 4 及 Claude 3.5。 + - **智能任务路由**: 针对 Google Gemini 实现自动重定向。使用标准模型名(如 `gemini-3.1-pro`,`gemini-3.1-pro-image-preview`)进行对话或读图;当检测到模型名包含 `image-` 关键字时,自动切换为生图模式。 + - **显存双重清理**: 专为本地 Ollama 打造。勾选 `cleanup_local_gpu` 后,节点会通过 REST API 发送 `keep_alive: 0` 并辅助 CLI 命令强制卸载模型,在运行完毕后瞬间物理腾空 GPU 显存。 + - **多模态视觉解析**: 支持多达 2 张及以上图像的并发解析与对比。 + - **高级种子控制**: 包含 `固定`, `递增`, `随机` 等工业级种子逻辑。 +2. **Text Batch Replace**: 一个强大的文本工具,可在单个节点中执行多达8次的查找与替换操作。 +3. **JSON Parser**: 可将复杂的、深度嵌套的JSON结构,解析为多个独立的文本输出,并自带带标签的预览功能。它会深度搜索用户定义的关键字,非常适合处理结构化提示词。 +4. **Show Text**: 直接在节点界面上显示输入的文本。 +5. **Simple Text**: 一个简单的文本输入节点,用于将字符串传递给其他节点。 +6. **Text Split By Delimiter**: 根据分隔符将文本字符串分割为列表。 +7. **Get List Element**: 通过索引从列表中检索特定元素。 +8. **Text Iterator**: 根据分隔符分割文本并作为批次输出,触发下游节点的批次执行。 +9. **Markdown Extractor**: 智能正则表达式提取,专为抓取 LLM 回复中的 ` ```json ` 或代码块设计。 +10. **Text Template (Dynamic)**: **[推荐]** 动态插槽模板,支持 `{变量}` 自动生成输入端口,支持中文变量名。 +11. **Prompt Cleaner**: 提示词清洗,自动去重、规范逗号、清理空括号。 +12. **Text Logic Switch**: 文本逻辑开关,基于内容匹配实现工作流 If-Else 分流。 +13. **Regex Extractor Pro**: 高级正则提取,支持捕获组筛选。 +14. **Dictionary Translator**: 词典批量映射替换,支持 JSON 或 Key=Value 格式。 + +### 🔧 安装方法 + +1. **克隆仓库** + - 打开您的终端。 + - 导航到您的 ComfyUI `custom_nodes` 文件夹: + ```bash + cd path/to/your/ComfyUI/custom_nodes/ + ``` + - 克隆此仓库: + ```bash + git clone https://github.com/FeiMao-326/Comfyui-General-API-Node.git + ``` + +2. **安装依赖** + - 导航到刚刚克隆下来的节点文件夹: + ```bash + cd Comfyui-General-API-Node + ``` + - 安装所需的依赖项: + ```bash + pip install -r requirements.txt + ``` + +3. **重启 ComfyUI** + - 完成以上步骤后,请完全重启 ComfyUI。 + +### 💡 如何使用 + +#### General API Node +1. **找到节点**: 在 ComfyUI 中,您可以通过右键菜单 -> `Add Node` -> `FeiMao-326` -> `FeiMao-326 General API Node` 找到它。 + + ![FeiMao-326 节点界面](./assets/node_interface.png) + +2. **设置种子控制**: 若要启用自动种子变更(例如 `randomize`),请将节点的 `seed` **输出**端口连接回它自身的 `seed` **输入**端口。这个“循环”连接会在每次运行后自动更新种子值。 + +3. **使用场景**: + - **📝 纯文本生成**: 将 `image_1` 和 `image_2` 保持断开。 + - **🖼️ 单图描述**: 连接一张图片到 `image_1` 接口。 + - **🎬 双图视频转场**: 连接**起始帧**到 `image_1`,连接**结束帧**到 `image_2`。 + - **📸 多图分析**: 您最多可以连接多张图片 (`image_1`, `image_2`, `image_3...等`) 进行复杂的分析任务。 +4. **API 连接示例**: + - **NVIDIA NIM (英伟达官方/私有化部署)**: + - `api_baseurl`: `https://integrate.api.nvidia.com/v1` (或私有 NIM 地址) + - `api_key`: 填入您的 NVIDIA API 密钥 (`nvapi-xxxxxxxx`) + - `model`: `meta/llama-4-maverick` 或 `nvidia/nemotron-3-ultra` + - **OpenAI GPT-5 (最新版)**: + - `api_baseurl`: `https://api.openai.com/v1` + - `api_key`: 填入您的 OpenAI 密钥 + - `model`: `gpt-5.4-thinking` 或 `o3-pro` (旗舰推理模型) + - **本地 Ollama**: + - `api_baseurl`: `http://127.0.0.1:11434/v1` + - `api_key`: `ollama` + - `model`: `gemma4:e4b` (当前默认模型,支持图像分析) + - `cleanup_local_gpu`: 保持勾选 (True)。 + - **外部 API (以 OpenAI 为例)**: + - `api_baseurl`: `https://api.openai.com/v1` + - `api_key`: 填入您的 OpenAI 密钥 (`sk-xxxxxxxx`) + - `model`: `gpt-4o` + - **Google Gemini (原生)**: + - `api_baseurl`: `https://generativelanguage.googleapis.com/v1beta/` + - `api_key`: 填入您的 Google AI Studio 密钥 + - `model`: `gemini-3.1-pro` (对话/读图) 或 `gemini-3.1-pro-image-preview` (生图) + - > [!TIP] + - > **重要提示**: 若要使用 Gemini 的 **生图功能**,模型名称必须包含 `image-` 关键词(例如 `gemini-3.1-pro-image-preview`)。单纯的对话或读图分析请使用 `gemini-3.1-pro`。 + 下面是一个完整的双图转场任务的示例工作流: + +![General API Node 工作流示例](./assets/workflow_example.png) + +#### Text Batch Replace +- 在 `text` 字段中输入任意文本。 +- 填写 `find_x` 和 `replace_x` 字段以执行顺序替换。 +![Text Batch Replace 界面](./assets/text_batch_replace.png) + +#### JSON Parser +- 将您的复杂JSON粘贴到 `json_payload` 字段中。 +- 在 `keys_to_extract` 字段中,输入您想提取的关键字,用逗号分隔(例如 `shot, subject, audio`)。 +- 节点会在JSON的任何位置找到这些关键字,将其合并后的值输出到对应的 `output_x` 端口,并在节点内显示预览。 +![JSON Parser 界面](./assets/json_parser.png) + +#### Show Text +- 将任何字符串输出连接到 `text` 输入。 +- 文本将直接显示在节点上。 + +#### Simple Text +- 在文本框中输入您的文本。 +- 将 `text` 输出连接到任何需要字符串输入的节点。 + +#### Text Split By Delimiter +- 输入文本和分隔符(默认为逗号)。 +- 输出一个 `LIST` 类型,可与 `Get List Element` 配合使用。 +![Text Split By Delimiter](./assets/text_split.png) + +#### Get List Element +- 连接 `LIST` 输入。 +- 指定索引(从0开始)以检索特定字符串。 + +#### Text Iterator +- 输入文本和分隔符。 +- 将每个分割项作为单独 monocle 批次项输出。 +- 用于迭代提示词列表或参数列表。 +![Text Iterator 界面](./assets/Text_Iterator.png) + +#### Markdown Extractor +- LLM 经常会话多,输出类似 ```json ... ``` 这种带格式的内容。 +- 核心功能:自动识别并提取 Markdown 代码块中的纯净内容(如 JSON, Python, CSV)。 +- 实用场景:LLM 生成了 JSON 结构,你的 JsonParser,多出的 ```json 字符会导致报错。有了这个节点,对接会变得“丝滑”。 +![Markdown Extractor](./assets/Markdown_Extractor.png) + +#### Text Template +- 核心功能:允许用户写一段带变量的模板,如 A {subject} in {style} lighting, {mood} background。节点会自动产生 subject、style、mood 三个输入插槽。 +- **注意**: 在 Nodes 2.0 (Vue UI) 中,修改变量后建议右键点击节点并选择“刷新”。 +![Text Template](./assets/Text_Template.png) + +#### Prompt Cleaner +- 核心功能:自动移除重复的关键词,合并多余的逗号,清理不规范的空格。 +- 实用场景:多节点的 Prompt 拼接经常会出现 , , 这种多余标点,这个节点可以作为发送给 KSampler 之前的“最后润色”。 +![Prompt Cleaner](./assets/Prompt_Cleaner.png) + +#### Text Logic Switch +- 核心功能:输入文本 A,如果其中包含某个关键词(或满足正则匹配),就把文本传给“真”输出口,否则传给“假”输出口。 +- 实用场景:判断 LLM 的输出是否包含“错误”字样,如果有,就自动停止生图流,或者切换到另一个修正模型。 +#### Regex Extractor Pro +- 核心功能:通过正则捕获组提取特定信息。比如从一堆描述中提取出所有括号里的十六进制颜色代码(#FFFFFF)。 +- 实用场景:从长篇大论的 LLM 描述中,精准抓取颜色、光影强度、材质名称等参数,传给下方的 ControlNet 权重。 + +#### Dictionary Translator +- 核心功能:支持用户输入一个映射表(JSON 或简单的文本对),一键将 Prompt 中的关键词批量替换。 +- 实用场景:把中文通俗词批量映射成专业的生图词库(例如:把“电影感”自动替换成 cinematic lighting, 8k, highly detailed 这一长串)。 + +### 📜 许可证 + +本项目采用 Apache 2.0 许可证。详情请参阅 [LICENSE](LICENSE) 和 [NOTICE](NOTICE) 文件。 diff --git a/ShowTextNode.py b/ShowTextNode.py index 271329f..bef1e8b 100644 --- a/ShowTextNode.py +++ b/ShowTextNode.py @@ -12,7 +12,11 @@ # See the License for the specific language governing permissions and # limitations under the License. +<<<<<<< HEAD class ShowTextNode: +======= +class FeiMao_326_ShowTextNode: +>>>>>>> e9ec5ee (feat: Release v1.0.6 with 6 new advanced text nodes and Nodes 2.0 (Vue UI) optimization) @classmethod def INPUT_TYPES(s): return { diff --git a/SimpleTextNode.py b/SimpleTextNode.py index 2880e01..9bbe901 100644 --- a/SimpleTextNode.py +++ b/SimpleTextNode.py @@ -12,7 +12,11 @@ # See the License for the specific language governing permissions and # limitations under the License. +<<<<<<< HEAD class SimpleTextNode: +======= +class FeiMao_326_SimpleTextNode: +>>>>>>> e9ec5ee (feat: Release v1.0.6 with 6 new advanced text nodes and Nodes 2.0 (Vue UI) optimization) @classmethod def INPUT_TYPES(s): return { diff --git a/__init__.py b/__init__.py index 1f84de0..c42a514 100644 --- a/__init__.py +++ b/__init__.py @@ -22,6 +22,7 @@ # See the License for the specific language governing permissions and # limitations under the License. +<<<<<<< HEAD __version__ = "1.0.5" from .general_api_node import FeiMao_326_GeneralAPINode @@ -29,6 +30,15 @@ from .text_utils_node import FeiMao_326_TextBatchReplace from .json_parser_node import FeiMao_326_JsonParser from .ShowTextNode import ShowTextNode from .SimpleTextNode import SimpleTextNode +======= +__version__ = "1.0.6" + +from .general_api_node import FeiMao_326_GeneralAPINode +from .text_utils_node import FeiMao_326_TextBatchReplace, FeiMao_326_MarkdownExtractor, FeiMao_326_TextTemplate, FeiMao_326_PromptCleaner, FeiMao_326_TextLogicSwitch, FeiMao_326_RegexExtractor, FeiMao_326_DictionaryReplace +from .json_parser_node import FeiMao_326_JsonParser +from .ShowTextNode import FeiMao_326_ShowTextNode +from .SimpleTextNode import FeiMao_326_SimpleTextNode +>>>>>>> e9ec5ee (feat: Release v1.0.6 with 6 new advanced text nodes and Nodes 2.0 (Vue UI) optimization) from .list_utils_node import FeiMao_326_TextSplitByDelimiter, FeiMao_326_GetListElement, FeiMao_326_TextIterator @@ -36,22 +46,50 @@ NODE_CLASS_MAPPINGS = { "FeiMao_326_GeneralAPINode": FeiMao_326_GeneralAPINode, "FeiMao_326_TextBatchReplace": FeiMao_326_TextBatchReplace, "FeiMao_326_JsonParser": FeiMao_326_JsonParser, +<<<<<<< HEAD "ShowTextNode": ShowTextNode, "SimpleTextNode": SimpleTextNode, "FeiMao_326_TextSplitByDelimiter": FeiMao_326_TextSplitByDelimiter, "FeiMao_326_GetListElement": FeiMao_326_GetListElement, "FeiMao_326_TextIterator": FeiMao_326_TextIterator, +======= + "FeiMao_326_ShowTextNode": FeiMao_326_ShowTextNode, + "FeiMao_326_SimpleTextNode": FeiMao_326_SimpleTextNode, + "FeiMao_326_TextSplitByDelimiter": FeiMao_326_TextSplitByDelimiter, + "FeiMao_326_GetListElement": FeiMao_326_GetListElement, + "FeiMao_326_TextIterator": FeiMao_326_TextIterator, + "FeiMao_326_MarkdownExtractor": FeiMao_326_MarkdownExtractor, + "FeiMao_326_TextTemplate": FeiMao_326_TextTemplate, + "FeiMao_326_PromptCleaner": FeiMao_326_PromptCleaner, + "FeiMao_326_TextLogicSwitch": FeiMao_326_TextLogicSwitch, + "FeiMao_326_RegexExtractor": FeiMao_326_RegexExtractor, + "FeiMao_326_DictionaryReplace": FeiMao_326_DictionaryReplace, +>>>>>>> e9ec5ee (feat: Release v1.0.6 with 6 new advanced text nodes and Nodes 2.0 (Vue UI) optimization) } NODE_DISPLAY_NAME_MAPPINGS = { "FeiMao_326_GeneralAPINode": f"General API Node v{__version__} (FeiMao-326)", "FeiMao_326_TextBatchReplace": f"Text Batch Replace (FeiMao-326)", "FeiMao_326_JsonParser": f"JSON Parser (FeiMao-326)", +<<<<<<< HEAD "ShowTextNode": "Show Text (FeiMao-326)", "SimpleTextNode": "Simple Text (FeiMao-326)", "FeiMao_326_TextSplitByDelimiter": "Text Split By Delimiter (Array) (FeiMao-326)", "FeiMao_326_GetListElement": "Get List Element (List) (FeiMao-326)", "FeiMao_326_TextIterator": "Text Iterator (FeiMao-326)", +======= + "FeiMao_326_ShowTextNode": "Show Text (FeiMao-326)", + "FeiMao_326_SimpleTextNode": "Simple Text (FeiMao-326)", + "FeiMao_326_TextSplitByDelimiter": "Text Split By Delimiter (Array) (FeiMao-326)", + "FeiMao_326_GetListElement": "Get List Element (List) (FeiMao-326)", + "FeiMao_326_TextIterator": "Text Iterator (FeiMao-326)", + "FeiMao_326_MarkdownExtractor": "Markdown Extractor (FeiMao-326)", + "FeiMao_326_TextTemplate": "Text Template (FeiMao-326)", + "FeiMao_326_PromptCleaner": "Prompt Cleaner (FeiMao-326)", + "FeiMao_326_TextLogicSwitch": "Text Logic Switch (FeiMao-326)", + "FeiMao_326_RegexExtractor": "Regex Extractor Pro (FeiMao-326)", + "FeiMao_326_DictionaryReplace": "Dictionary Translator (FeiMao-326)", +>>>>>>> e9ec5ee (feat: Release v1.0.6 with 6 new advanced text nodes and Nodes 2.0 (Vue UI) optimization) } WEB_DIRECTORY = "./js" diff --git a/assets/Markdown_Extractor.png b/assets/Markdown_Extractor.png new file mode 100644 index 0000000..3f637e0 Binary files /dev/null and b/assets/Markdown_Extractor.png differ diff --git a/assets/Prompt_Cleaner.png b/assets/Prompt_Cleaner.png new file mode 100644 index 0000000..efb218b Binary files /dev/null and b/assets/Prompt_Cleaner.png differ diff --git a/assets/Text_Template.png b/assets/Text_Template.png new file mode 100644 index 0000000..ca79c08 Binary files /dev/null and b/assets/Text_Template.png differ diff --git a/general_api_node.py b/general_api_node.py index 55f22f4..c5542b9 100644 --- a/general_api_node.py +++ b/general_api_node.py @@ -51,13 +51,21 @@ class FeiMao_326_GeneralAPINode: "required": { "api_baseurl": ("STRING", {"multiline": False, "default": "http://127.0.0.1:11434/v1"}), "api_key": ("STRING", {"multiline": False, "default": "ollama"}), +<<<<<<< HEAD "model": ("STRING", {"multiline": False, "default": "gemma3:4b"}), +======= + "model": ("STRING", {"multiline": False, "default": "gemma4:e4b"}), +>>>>>>> e9ec5ee (feat: Release v1.0.6 with 6 new advanced text nodes and Nodes 2.0 (Vue UI) optimization) "role": ("STRING", {"multiline": True, "default": "You are a helpful assistant. Follow the user's instructions exactly. Output only the requested content without conversational filler, markdown formatting, or explanations."}), "prompt": ("STRING", {"multiline": True, "default": "Describe this image in detail."}), "seed": ("INT", {"default": 0, "min": 0, "max": s.MAX_SEED}), "temperature": ("FLOAT", {"default": 0.6, "min": 0.0, "max": 2.0, "step": 0.01}), +<<<<<<< HEAD "max_tokens": ("INT", {"default": 4096, "min": 64, "max": 16384, "step": 64}), +======= + "max_tokens": ("INT", {"default": 4096, "min": 64, "max": 131072, "step": 512}), +>>>>>>> e9ec5ee (feat: Release v1.0.6 with 6 new advanced text nodes and Nodes 2.0 (Vue UI) optimization) "control_after_generate": (["fixed", "increment", "decrement", "randomize"],), "cleanup_local_gpu": ("BOOLEAN", {"default": True}), }, @@ -114,6 +122,7 @@ class FeiMao_326_GeneralAPINode: """Returns a 1x1x3 black image tensor""" return torch.zeros((1, 1, 1, 3), dtype=torch.float32) +<<<<<<< HEAD def cleanup_with_ollama_cli(self, model): command = ['ollama', 'stop', model] print(f"🔵 [FeiMao-326 API Node] Attempting to unload local model via CLI: {' '.join(command)}") @@ -136,6 +145,60 @@ class FeiMao_326_GeneralAPINode: print("❌ [FeiMao-326 API Node] Error: 'ollama' command not found. Please ensure Ollama is installed correctly.") except Exception as e: print(f"⚠️ [FeiMao-326 API Node] An error occurred while executing the CLI command: {str(e)}") +======= + def cleanup_ollama_model(self, api_baseurl, model): + """ + Unloads an Ollama model from memory. + 1. Primary attempt: Native REST API with keep_alive: 0 (No environment variables required). + 2. Fallback: CLI 'ollama stop' command (Depends on system PATH). + """ + model_unloaded = False + + # --- 1. PRIMARY: REST API UNLOAD --- + try: + # Construct Ollama native generate URL (usually /v1 -> /api/generate) + # Example: http://127.0.0.1:11434/v1 -> http://127.0.0.1:11434/api/generate + if "/v1" in api_baseurl: + unload_url = api_baseurl.replace("/v1", "/api/generate").rstrip("/") + else: + # If it's a custom URL, try to guess the root + from urllib.parse import urlparse + parsed = urlparse(api_baseurl) + unload_url = f"{parsed.scheme}://{parsed.netloc}/api/generate" + + print(f"🔵 [FeiMao-326 API Node] Attempting to unload model '{model}' via REST API...") + payload = { + "model": model, + "keep_alive": 0 # Unload immediately + } + response = requests.post(unload_url, json=payload, timeout=5) + + if response.status_code == 200: + print(f"✅ [FeiMao-326 API Node] Model '{model}' successfully unloaded via API.") + model_unloaded = True + else: + print(f"⚠️ [FeiMao-326 API Node] API unload status: {response.status_code}. Falling back to CLI.") + + except Exception as e: + print(f"⚠️ [FeiMao-326 API Node] REST API unload failed ({type(e).__name__}). Falling back to CLI.") + + # --- 2. FALLBACK: CLI COMMAND --- + if not model_unloaded: + command = ['ollama', 'stop', model] + print(f"🔵 [FeiMao-326 API Node] Attempting to unload via CLI: {' '.join(command)}") + try: + result = subprocess.run(command, capture_output=True, timeout=10, check=False) + + if result.returncode == 0: + print(f"✅ [FeiMao-326 API Node] Model '{model}' successfully stopped via CLI.") + else: + stderr_output = result.stderr.decode(locale.getpreferredencoding(), errors='replace') + print(f"❌ [FeiMao-326 API Node] CLI stop failed: {stderr_output.strip()}") + except FileNotFoundError: + print("❌ [FeiMao-326 API Node] Error: 'ollama' command not found. Environment variable may not be configured.") + except Exception as e: + print(f"⚠️ [FeiMao-326 API Node] CLI stop error: {str(e)}") +>>>>>>> e9ec5ee (feat: Release v1.0.6 with 6 new advanced text nodes and Nodes 2.0 (Vue UI) optimization) def execute(self, api_baseurl, api_key, model, role, prompt, seed, temperature, max_tokens, control_after_generate, cleanup_local_gpu=True, image_1=None, image_2=None, image_3=None, **kwargs): @@ -143,6 +206,14 @@ class FeiMao_326_GeneralAPINode: current_seed = self._normalize_seed(seed) generated_image_tensor = self.get_empty_image() # Default empty image +<<<<<<< HEAD +======= + # --- 0. AUTO-MAPPING DEPRECATED MODELS --- + if "gemini-3-pro-preview" in model.lower(): + print(f"⚠️ [FeiMao_326 API Node] Model 'gemini-3-pro-preview' is deprecated. Auto-redirecting to 'gemini-3.1-pro'.") + model = model.replace("gemini-3-pro-preview", "gemini-3.1-pro") + +>>>>>>> e9ec5ee (feat: Release v1.0.6 with 6 new advanced text nodes and Nodes 2.0 (Vue UI) optimization) # Enforce silent role if empty or default if not role or not role.strip(): role = "You are a helpful assistant. Follow the user's instructions exactly. Output only the requested content without conversational filler." @@ -367,7 +438,11 @@ class FeiMao_326_GeneralAPINode: finally: is_local_ollama = "127.0.0.1" in api_baseurl or "localhost" in api_baseurl if cleanup_local_gpu and is_local_ollama: +<<<<<<< HEAD self.cleanup_with_ollama_cli(model) +======= + self.cleanup_ollama_model(api_baseurl, model) +>>>>>>> e9ec5ee (feat: Release v1.0.6 with 6 new advanced text nodes and Nodes 2.0 (Vue UI) optimization) if TORCH_AVAILABLE and torch.cuda.is_available(): print(f"🔵 [FeiMao-326 API Node] Clearing PyTorch GPU cache...") torch.cuda.empty_cache() diff --git a/js/dynamic_inputs.js b/js/dynamic_inputs.js index 041fd14..4e545b2 100644 --- a/js/dynamic_inputs.js +++ b/js/dynamic_inputs.js @@ -37,6 +37,10 @@ app.registerExtension({ } } this.onResize?.(this.size); +<<<<<<< HEAD +======= + app.canvas.setDirty?.(true); +>>>>>>> e9ec5ee (feat: Release v1.0.6 with 6 new advanced text nodes and Nodes 2.0 (Vue UI) optimization) } if (maxExistingIndex > targetCount) { @@ -48,6 +52,10 @@ app.registerExtension({ } } this.onResize?.(this.size); +<<<<<<< HEAD +======= + app.canvas.setDirty?.(true); +>>>>>>> e9ec5ee (feat: Release v1.0.6 with 6 new advanced text nodes and Nodes 2.0 (Vue UI) optimization) } }; } @@ -88,6 +96,10 @@ app.registerExtension({ } } this.onResize?.(this.size); +<<<<<<< HEAD +======= + app.canvas.setDirty?.(true); +>>>>>>> e9ec5ee (feat: Release v1.0.6 with 6 new advanced text nodes and Nodes 2.0 (Vue UI) optimization) } if (maxExistingIndex > finalTargetCount) { @@ -102,5 +114,51 @@ app.registerExtension({ } }; } +<<<<<<< HEAD +======= + + // --- 3. Text Template (Variable-based Dynamic Inputs) --- + if (nodeData.name === "FeiMao_326_TextTemplate") { + const onNodeCreated = nodeType.prototype.onNodeCreated; + nodeType.prototype.onNodeCreated = function () { + const r = onNodeCreated ? onNodeCreated.apply(this, arguments) : undefined; + const templateWidget = this.widgets.find(w => w.name === "template"); + + const updateInputs = () => { + const text = templateWidget.value || ""; + // Match all {var_name} (Support Unicode/Chinese) + const matches = text.match(/\{([^{}\s]+)\}/g) || []; + const vars = [...new Set(matches.map(m => m.slice(1, -1)))]; + + // Add new inputs + vars.forEach(v => { + if (!this.inputs || !this.inputs.find(i => i.name === v)) { + this.addInput(v, "*"); // Universal type + } + }); + + // Remove outdated inputs + if (this.inputs) { + for (let i = this.inputs.length - 1; i >= 0; i--) { + const inputName = this.inputs[i].name; + if (!vars.includes(inputName)) { + this.removeInput(i); + } + } + } + + this.onResize?.(this.size); + app.canvas.setDirty?.(true); + }; + + // Watch for widget changes + templateWidget.callback = updateInputs; + + // Initial sync + setTimeout(updateInputs, 100); + return r; + }; + } +>>>>>>> e9ec5ee (feat: Release v1.0.6 with 6 new advanced text nodes and Nodes 2.0 (Vue UI) optimization) }, }); diff --git a/js/show_text.js b/js/show_text.js index ee32824..e4b1b3f 100644 --- a/js/show_text.js +++ b/js/show_text.js @@ -4,11 +4,33 @@ import { ComfyWidgets } from "../../scripts/widgets.js"; app.registerExtension({ name: "FeiMao-326.ShowText", async beforeRegisterNodeDef(nodeType, nodeData, app) { +<<<<<<< HEAD if (nodeData.name === "ShowTextNode") { +======= + // --- GLOBAL VISUAL UNIFICATION (AESTHETICS) --- + // Force all sockets in this node pack to be circles (0 = LITEGRAPH.CIRCLE_SHAPE) + if (nodeData.name && nodeData.name.startsWith("FeiMao_326_")) { + const onNodeCreated = nodeType.prototype.onNodeCreated; + nodeType.prototype.onNodeCreated = function () { + const r = onNodeCreated ? onNodeCreated.apply(this, arguments) : undefined; + if (this.inputs) { + this.inputs.forEach(input => { input.shape = 0; }); + } + if (this.outputs) { + this.outputs.forEach(output => { output.shape = 0; }); + } + return r; + }; + } + + // --- 1. ShowTextNode Specific Logic --- + if (nodeData.name === "FeiMao_326_ShowTextNode") { +>>>>>>> e9ec5ee (feat: Release v1.0.6 with 6 new advanced text nodes and Nodes 2.0 (Vue UI) optimization) const onExecuted = nodeType.prototype.onExecuted; nodeType.prototype.onExecuted = function (message) { onExecuted?.apply(this, arguments); +<<<<<<< HEAD if (this.widgets) { const pos = this.widgets.findIndex((w) => w.name === "text"); if (pos !== -1) { @@ -19,16 +41,58 @@ app.registerExtension({ } } +======= +>>>>>>> e9ec5ee (feat: Release v1.0.6 with 6 new advanced text nodes and Nodes 2.0 (Vue UI) optimization) let text = message.text; if (Array.isArray(text)) { text = text.join("\n"); } +<<<<<<< HEAD const w = ComfyWidgets["STRING"](this, "text", ["STRING", { multiline: true }], app).widget; w.inputEl.readOnly = true; w.inputEl.style.opacity = 0.6; w.value = text; this.onResize?.(this.size); +======= + + // --- NODES 2.0 ROBUST RENDERING --- + // Rename widget to avoid conflict with 'text' input slot + let w = this.widgets?.find((w) => w.name === "display_text"); + + if (!w) { + // Create if not exists + w = ComfyWidgets["STRING"](this, "display_text", ["STRING", { multiline: true }], app).widget; + w.inputEl.readOnly = true; + w.inputEl.style.opacity = 0.8; + w.inputEl.style.pointerEvents = "auto"; // FORCE interactions for scroll + + // Prevent these values from being saved into the workflow JSON + w.serializeValue = () => undefined; + + w.inputEl.addEventListener("wheel", (e) => { + // Just stop propagation to prevent canvas zoom + // Let the browser handle internal scroll when focused + e.stopPropagation(); + }, { passive: false }); + + w.inputEl.addEventListener("mousedown", (e) => { + e.stopPropagation(); + }); + + w.inputEl.addEventListener("keydown", (e) => { + e.stopPropagation(); + }); + } + + w.value = text; + if (w.inputEl) { + w.inputEl.value = text; + } + + this.onResize?.(this.size); + app.canvas.setDirty?.(true); +>>>>>>> e9ec5ee (feat: Release v1.0.6 with 6 new advanced text nodes and Nodes 2.0 (Vue UI) optimization) }; } }, diff --git a/pyproject.toml b/pyproject.toml index 278097c..f5302fe 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,9 +1,16 @@ [project] name = "general-api-node" description = "A suite of powerful and versatile utility nodes for ComfyUI, designed to streamline complex workflows involving Large Language Models and text manipulation." +<<<<<<< HEAD version = "1.0.5" license = { file = "LICENSE" } readme = "README.md" +======= +version = "1.0.6" +license = { file = "LICENSE" } +readme = "README.md" +keywords = ["comfyui", "api", "llm", "gemini", "vision", "gpt-5", "ollama"] +>>>>>>> e9ec5ee (feat: Release v1.0.6 with 6 new advanced text nodes and Nodes 2.0 (Vue UI) optimization) requires-python = ">=3.9" dependencies = [ @@ -14,8 +21,16 @@ dependencies = [ [project.urls] Repository = "https://github.com/FeiMao-326/Comfyui-General-API-Node" +<<<<<<< HEAD +======= +Documentation = "https://github.com/FeiMao-326/Comfyui-General-API-Node/blob/main/README.md" +>>>>>>> e9ec5ee (feat: Release v1.0.6 with 6 new advanced text nodes and Nodes 2.0 (Vue UI) optimization) [tool.comfy] PublisherId = "feimao" DisplayName = "Comfyui-General-API-Node" Icon = "" +<<<<<<< HEAD +======= +requires-comfyui = ">=0.2.0" +>>>>>>> e9ec5ee (feat: Release v1.0.6 with 6 new advanced text nodes and Nodes 2.0 (Vue UI) optimization) diff --git a/text_utils_node.py b/text_utils_node.py index 3093171..507e90a 100644 --- a/text_utils_node.py +++ b/text_utils_node.py @@ -49,4 +49,257 @@ class FeiMao_326_TextBatchReplace: if find_s: modified_text = modified_text.replace(find_s, replace_s) - return (modified_text,) \ No newline at end of file +<<<<<<< HEAD + return (modified_text,) +======= + return (modified_text,) + +class FeiMao_326_MarkdownExtractor: + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "text": ("STRING", {"multiline": True, "default": ""}), + "remove_artifacts": ("BOOLEAN", {"default": True}), + "first_block_only": ("BOOLEAN", {"default": True}), + } + } + + RETURN_TYPES = ("STRING",) + RETURN_NAMES = ("text",) + FUNCTION = "execute" + CATEGORY = "FeiMao-326" + + def execute(self, text, remove_artifacts, first_block_only): + import re + # Find all ```blocks``` + pattern = re.compile(r'```(?:\w+)?\n?(.*?)```', re.DOTALL) + matches = pattern.findall(text) + + if not matches: + result = text + else: + if first_block_only: + result = matches[0].strip() + else: + result = "\n\n".join([m.strip() for m in matches]) + + if remove_artifacts: + # Strip common markdown signs if they are lingering + result = re.sub(r'(\*\*|__)', '', result) + result = re.sub(r'^#+\s+', '', result, flags=re.MULTILINE) + + return (result,) + +class FeiMao_326_TextTemplate: + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "template": ("STRING", {"multiline": True, "placeholder": "Example: A {subject} in {style} style."}), + } + } + + RETURN_TYPES = ("STRING",) + RETURN_NAMES = ("text",) + FUNCTION = "execute" + CATEGORY = "FeiMao-326" + + def execute(self, template, **kwargs): + # Result string will be formatted using dynamic inputs + # ComfyUI passing dynamic inputs via **kwargs + import re + result = template + + # We find all matches to avoid KeyErrors + # Support for all languages (Unicode) in variables + found_vars = re.findall(r'\{([^{}\s]+)\}', template) + + for var in found_vars: + if var in kwargs: + val = str(kwargs[var]) + result = result.replace(f"{{{var}}}", val) + else: + # Keep as is or replace with empty if not connected? + # Better keep as is to allow nested templates or partial fills + pass + + return (result,) + +class FeiMao_326_PromptCleaner: + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "text": ("STRING", {"multiline": True, "default": ""}), + "remove_duplicate_tags": ("BOOLEAN", {"default": True}), + "clean_brackets": ("BOOLEAN", {"default": True}), + } + } + + RETURN_TYPES = ("STRING",) + RETURN_NAMES = ("text",) + FUNCTION = "execute" + CATEGORY = "FeiMao-326" + + def execute(self, text, remove_duplicate_tags, clean_brackets): + import re + # 1. Normalize commas and spaces + cleaned = text.replace("\n", ", ") + cleaned = re.sub(r',\s*,', ',', cleaned) # Multi commas + + # 2. Split by comma + tags = [t.strip() for t in cleaned.split(",")] + + # 3. Remove duplicates while keeping order + if remove_duplicate_tags: + seen = set() + new_tags = [] + for t in tags: + if t and t.lower() not in seen: + new_tags.append(t) + seen.add(t.lower()) + tags = new_tags + else: + tags = [t for t in tags if t] + + result = ", ".join(tags) + + if clean_brackets: + # Remove empty brackets like (), ( ), [], [ ] + result = re.sub(r'\(\s*\)', '', result) + result = re.sub(r'\[\s*\]', '', result) + # Remove trailing/leading commas again after bracket cleanup + result = re.sub(r',\s*,', ',', result) + + return (result.strip(", "),) + +class FeiMao_326_TextLogicSwitch: + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "text": ("STRING", {"multiline": True, "default": ""}), + "pattern": ("STRING", {"default": ""}), + "mode": (["contains", "not_contains", "regex", "exactly", "starts_with", "ends_with"], {"default": "contains"}), + "on_true": ("STRING", {"multiline": True, "default": "True"}), + "on_false": ("STRING", {"multiline": True, "default": "False"}), + } + } + + RETURN_TYPES = ("STRING",) + RETURN_NAMES = ("result",) + FUNCTION = "execute" + CATEGORY = "FeiMao-326" + + def execute(self, text, pattern, mode, on_true, on_false): + import re + is_true = False + + if mode == "contains": + is_true = pattern in text + elif mode == "not_contains": + is_true = pattern not in text + elif mode == "exactly": + is_true = text == pattern + elif mode == "starts_with": + is_true = text.startswith(pattern) + elif mode == "ends_with": + is_true = text.endswith(pattern) + elif mode == "regex": + try: + is_true = bool(re.search(pattern, text)) + except: + is_true = False + + return (on_true if is_true else on_false,) + +class FeiMao_326_RegexExtractor: + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "text": ("STRING", {"multiline": True, "default": ""}), + "regex": ("STRING", {"default": r"(\d+)"}), + "group_index": ("INT", {"default": 1, "min": 0, "max": 99}), + "all_matches": ("BOOLEAN", {"default": False}), + "delimiter": ("STRING", {"default": ", "}), + } + } + + RETURN_TYPES = ("STRING",) + RETURN_NAMES = ("text",) + FUNCTION = "execute" + CATEGORY = "FeiMao-326" + + def execute(self, text, regex, group_index, all_matches, delimiter): + import re + try: + pattern = re.compile(regex) + if all_matches: + matches = pattern.finditer(text) + results = [] + for m in matches: + try: + results.append(m.group(group_index)) + except IndexError: + pass + return (delimiter.join(results),) + else: + match = pattern.search(text) + if match: + try: + return (match.group(group_index),) + except IndexError: + return ("",) + return ("",) + except Exception as e: + return (f"Regex Error: {str(e)}",) + +class FeiMao_326_DictionaryReplace: + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "text": ("STRING", {"multiline": True, "default": ""}), + "dictionary_data": ("STRING", {"multiline": True, "placeholder": "key=value or JSON {\"key\": \"value\"}"}), + } + } + + RETURN_TYPES = ("STRING",) + RETURN_NAMES = ("text",) + FUNCTION = "execute" + CATEGORY = "FeiMao-326" + + def execute(self, text, dictionary_data): + import json + + mapping = {} + # 1. Try JSON + try: + mapping = json.loads(dictionary_data) + except: + # 2. Try Key=Value lines + lines = dictionary_data.strip().split("\n") + for line in lines: + if "=" in line: + k, v = line.split("=", 1) + mapping[k.strip()] = v.strip() + elif ":" in line: + k, v = line.split(":", 1) + mapping[k.strip()] = v.strip() + + if not mapping: + return (text,) + + result = text + # To avoid partial replacements causing issues, + # we sort keys by length (longest first) + sorted_keys = sorted(mapping.keys(), key=len, reverse=True) + + for k in sorted_keys: + if k: + result = result.replace(k, mapping[k]) + + return (result,) +>>>>>>> e9ec5ee (feat: Release v1.0.6 with 6 new advanced text nodes and Nodes 2.0 (Vue UI) optimization) diff --git a/workflows/Comfyui-General-API-Node.json b/workflows/Comfyui-General-API-Node.json index 35d6fc6..4acad66 100644 --- a/workflows/Comfyui-General-API-Node.json +++ b/workflows/Comfyui-General-API-Node.json @@ -1 +1,5 @@ -{"id":"aa9cbca8-5465-45d2-a18d-8a1947708a21","revision":0,"last_node_id":296,"last_link_id":404,"nodes":[{"id":240,"type":"SimpleTextNode","pos":[3612.356531722875,-1974.629136255707],"size":[500.09114583333337,239.6875],"flags":{},"order":0,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","widget":{"name":"text"},"link":null}],"outputs":[{"localized_name":"text","name":"text","type":"STRING","links":[370]}],"properties":{"cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","Node name for S&R":"SimpleTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":["Keep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Perfect front view closeup low angle symmetrical wide angle perspective. Shot from the floor looking at the grill and windshield. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Perfect rear view low angle symmetrical wide angle perspective. Shot from the floor looking up at the rear bumper, tail lights, spoiler. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Perfect high angle 3/4 front wide angle perspective. Shot from the floor looking up at the car. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Perfect high angle 3/4 rear wide angle perspective. Dutch tilt. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Cropped view front quarter panel closeup. Shot head on to only capture front wheel front quarter panel, hood. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Cropped view rear quarter panel closeup. Shot head on to only capture rear wheel rear quarter panel, hood. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Top-down view looking directly down at the top of the car. Showing the full car centrally placed in the image from above. Immaculate texture and material detail. *\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Cropped view - Closeup shot from a mount on the front tire lookin down the side of the car. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Closeup shot from a mount on the spolier looking towards the front of the car from a rear view capturing the rear windshield and roof. Immaculate texture and material detail.*\n\n\n\n\n\n\n\n\n\n\n\n\n "]},{"id":241,"type":"SimpleTextNode","pos":[3617.682067627531,-1175.9361329330218],"size":[318.17708333333337,88],"flags":{},"order":1,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","widget":{"name":"text"},"link":null}],"outputs":[{"localized_name":"text","name":"text","type":"STRING","links":[355]}],"properties":{"cnr_id":"general-api-node","ver":"bf4105200b91a79ebc6d3f3bd607d0db13d337f4","Node name for S&R":"SimpleTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.1"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":["You are a top-tier Game CG Animation Director and a specialized AI Video Prompt Engineer. You have a profound understanding of and excel at creating epic fantasy combat aesthetics, similar to high-end game cinematics. Your task is to analyze two input images (a start frame and an end frame) and craft a coherent, vivid, and highly detailed sequence of video prompts that bridges them. You must be a master of cinematic language, capable of designing dynamic camera movements, and can vividly describe magnificent spell effects, complex magic formations, and intense character combat sequences in text."]},{"id":242,"type":"SimpleTextNode","pos":[3669.604905136839,-914.1868307615435],"size":[211.3521484375,88],"flags":{},"order":2,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","widget":{"name":"text"},"link":null}],"outputs":[{"localized_name":"text","name":"text","type":"STRING","links":[356]}],"properties":{"cnr_id":"general-api-node","ver":"bf4105200b91a79ebc6d3f3bd607d0db13d337f4","Node name for S&R":"SimpleTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.1"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":["top-tier"]},{"id":243,"type":"SimpleTextNode","pos":[3668.487645156052,-748.5318624731896],"size":[211.3521484375,88],"flags":{},"order":3,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","widget":{"name":"text"},"link":null}],"outputs":[{"localized_name":"text","name":"text","type":"STRING","links":[357]}],"properties":{"cnr_id":"general-api-node","ver":"bf4105200b91a79ebc6d3f3bd607d0db13d337f4","Node name for S&R":"SimpleTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.1"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":["我很好"]},{"id":244,"type":"SimpleTextNode","pos":[3663.3203177449177,-596.3107903917754],"size":[211.3521484375,88],"flags":{},"order":4,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","widget":{"name":"text"},"link":null}],"outputs":[{"localized_name":"text","name":"text","type":"STRING","links":[358]}],"properties":{"cnr_id":"general-api-node","ver":"bf4105200b91a79ebc6d3f3bd607d0db13d337f4","Node name for S&R":"SimpleTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.1"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":["You are"]},{"id":245,"type":"SimpleTextNode","pos":[3674.0284426171565,-458.2610166051825],"size":[211.3521484375,88],"flags":{},"order":5,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","widget":{"name":"text"},"link":null}],"outputs":[{"localized_name":"text","name":"text","type":"STRING","links":[359]}],"properties":{"cnr_id":"general-api-node","ver":"bf4105200b91a79ebc6d3f3bd607d0db13d337f4","Node name for S&R":"SimpleTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.1"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":["你好呀"]},{"id":246,"type":"ShowTextNode","pos":[4548.063515724973,-1095.6129457335592],"size":[348.8541666666667,264.6354166666667],"flags":{},"order":34,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","link":351}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":6,"type":"STRING","links":null}],"properties":{"cnr_id":"general-api-node","ver":"bf4105200b91a79ebc6d3f3bd607d0db13d337f4","Node name for S&R":"ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.1"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[]},{"id":247,"type":"FeiMao_326_GeneralAPINode","pos":[2943.155605261583,-1910.7330309541892],"size":[400,398],"flags":{},"order":25,"mode":0,"inputs":[{"localized_name":"image_1","name":"image_1","shape":7,"type":"IMAGE","link":396},{"localized_name":"image_2","name":"image_2","shape":7,"type":"IMAGE","link":null},{"localized_name":"image_3","name":"image_3","shape":7,"type":"IMAGE","link":null},{"localized_name":"api_baseurl","name":"api_baseurl","type":"STRING","widget":{"name":"api_baseurl"},"link":null},{"localized_name":"api_key","name":"api_key","type":"STRING","widget":{"name":"api_key"},"link":null},{"localized_name":"model","name":"model","type":"STRING","widget":{"name":"model"},"link":null},{"localized_name":"role","name":"role","type":"STRING","widget":{"name":"role"},"link":null},{"localized_name":"prompt","name":"prompt","type":"STRING","widget":{"name":"prompt"},"link":null},{"localized_name":"seed","name":"seed","type":"INT","widget":{"name":"seed"},"link":null},{"localized_name":"temperature","name":"temperature","type":"FLOAT","widget":{"name":"temperature"},"link":null},{"localized_name":"max_tokens","name":"max_tokens","type":"INT","widget":{"name":"max_tokens"},"link":null},{"localized_name":"control_after_generate","name":"control_after_generate","type":"COMBO","widget":{"name":"control_after_generate"},"link":null},{"localized_name":"cleanup_local_gpu","name":"cleanup_local_gpu","type":"BOOLEAN","widget":{"name":"cleanup_local_gpu"},"link":null}],"outputs":[{"localized_name":"describe","name":"describe","type":"STRING","links":[353]},{"localized_name":"seed","name":"seed","type":"INT","links":null},{"localized_name":"image","name":"image","type":"IMAGE","links":null}],"properties":{"cnr_id":"general-api-node","ver":"06f91e232c4a432205f26e82017dcf8895513d7b","Node name for S&R":"FeiMao_326_GeneralAPINode","ue_properties":{"widget_ue_connectable":{"api_baseurl":true,"api_key":true,"model":true,"role":true,"prompt":true,"seed":true,"temperature":true,"max_tokens":true,"control_after_generate":true,"cleanup_local_gpu":true},"version":"7.1","input_ue_unconnectable":{}},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":["http://127.0.0.1:11434/v1","ollama","gemma3:4b","You are a silent and efficient prompt generation engine. Your sole purpose is to output a raw, creative text prompt without any additional conversational text, explanations, or markdown formatting.","Provide a vivid and detailed description of the given image. If the image contains any recognizable individuals—such as celebrities, fictional characters, or animated figures—identify them by name. Your description should be specific and imaginative, while remaining under 200 words.Do not add any surrounding text or labels.",853551719100189,0,0.6,4096,"fixed",true]},{"id":248,"type":"ShowTextNode","pos":[3364.024849884557,-1912.279238963313],"size":[212.99479166666669,322.12239583333337],"flags":{},"order":41,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","link":353}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":6,"type":"STRING","links":null}],"properties":{"cnr_id":"general-api-node","ver":"bf4105200b91a79ebc6d3f3bd607d0db13d337f4","Node name for S&R":"ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.1"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[]},{"id":254,"type":"FeiMao_326_JsonParser","pos":[3620.9001403917355,-237.88782948576375],"size":[563.59375,192],"flags":{},"order":6,"mode":0,"inputs":[{"localized_name":"json_payload","name":"json_payload","type":"STRING","widget":{"name":"json_payload"},"link":null},{"localized_name":"keys_to_extract","name":"keys_to_extract","type":"STRING","widget":{"name":"keys_to_extract"},"link":null}],"outputs":[{"localized_name":"output_1","name":"output_1","type":"STRING","links":[392]},{"localized_name":"output_2","name":"output_2","type":"STRING","links":[391]},{"localized_name":"output_3","name":"output_3","type":"STRING","links":[390]},{"localized_name":"output_4","name":"output_4","type":"STRING","links":[389]},{"localized_name":"output_5","name":"output_5","type":"STRING","links":[]}],"properties":{"cnr_id":"general-api-node","ver":"b2f532576f7e8b644cd6947e75e45ea447b32b6f","Node name for S&R":"FeiMao_326_JsonParser","ue_properties":{"widget_ue_connectable":{"json_payload":true},"version":"7.1","input_ue_unconnectable":{}},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":["{ \n\n\"shot\": { \n\n\"composition\": \"central low-angle wide, CBR 150 forming mid-air piece by piece\", \n\n\"lens\": \"24mm\", \n\n\"frame_rate\": \"2000fps for impact, 60fps camera motion\", \n\n\"camera_movement\": \"ground tracking, orbital spin, vertical rise\" \n\n}, \n\n\"subject\": { \n\n\"description\": \"CBR 150, chassis, tires, shell, grille assembling in slow explosive layers\", \n\n\"wardrobe\": \"\", \n\n\"props\": \"armor plating, LED bar, mud-crushing tires, electric core pulse\" \n\n}, \n\n\"scene\": { \n\n\"location\": \"dry cracked desert basin\", \n\n\"time_of_day\": \"sunset storm\", \n\n\"environment\": \"dust, wind trails, light flares, far-off thunder glow\" \n\n}, \n\n\"visual_details\": { \n\n\"action\": \"parts crash in with dust shock, body seals, wheels spin and slam down, final headlight flare and dust burst\", \n\n\"special_effects\": \"slow debris, flare ignition, kinetic ripples, vapor trails\", \n\n\"hair_clothing_motion\": \"\" \n\n}, \n\n\"cinematography\": { \n\n\"lighting\": \"sunset rimlight + tactical highlights\", \n\n\"color_palette\": \"matte sand, obsidian black, steel grey\", \n\n\"tone\": \"premium, off-road dominance\" \n\n}, \n\n\"audio\": { \n\n\"music\": \"deep hybrid trailer score, rising tension then impact\", \n\n\"ambient\": \"wind, echoing terrain hum\", \n\n\"sound_effects\": \"metal snaps, suspension drop, dust whoosh, electric pulse\", \n\n\"mix_level\": \"studio-grade mix, wide stereo field, punchy dynamics\" \n\n}, \n\n\"dialogue\": { \n\n\"character\": \"\", \n\n\"line\": \"\", \n\n\"subtitles\": false \n\n} \n\n}","shot, subject, scene, audio"]},{"id":255,"type":"FeiMao_326_TextBatchReplace","pos":[4077.3333942903137,-1185.062522888852],"size":[400,529.1666666666667],"flags":{},"order":19,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","widget":{"name":"text"},"link":355},{"localized_name":"find_1","name":"find_1","shape":7,"type":"STRING","widget":{"name":"find_1"},"link":356},{"localized_name":"replace_1","name":"replace_1","shape":7,"type":"STRING","widget":{"name":"replace_1"},"link":357},{"localized_name":"find_2","name":"find_2","shape":7,"type":"STRING","widget":{"name":"find_2"},"link":358},{"localized_name":"replace_2","name":"replace_2","shape":7,"type":"STRING","widget":{"name":"replace_2"},"link":359},{"localized_name":"find_3","name":"find_3","shape":7,"type":"STRING","widget":{"name":"find_3"},"link":null},{"localized_name":"replace_3","name":"replace_3","shape":7,"type":"STRING","widget":{"name":"replace_3"},"link":null},{"localized_name":"find_4","name":"find_4","shape":7,"type":"STRING","widget":{"name":"find_4"},"link":null},{"localized_name":"replace_4","name":"replace_4","shape":7,"type":"STRING","widget":{"name":"replace_4"},"link":null},{"localized_name":"find_5","name":"find_5","shape":7,"type":"STRING","widget":{"name":"find_5"},"link":null},{"localized_name":"replace_5","name":"replace_5","shape":7,"type":"STRING","widget":{"name":"replace_5"},"link":null},{"localized_name":"find_6","name":"find_6","shape":7,"type":"STRING","widget":{"name":"find_6"},"link":null},{"localized_name":"replace_6","name":"replace_6","shape":7,"type":"STRING","widget":{"name":"replace_6"},"link":null},{"localized_name":"find_7","name":"find_7","shape":7,"type":"STRING","widget":{"name":"find_7"},"link":null},{"localized_name":"replace_7","name":"replace_7","shape":7,"type":"STRING","widget":{"name":"replace_7"},"link":null},{"localized_name":"find_8","name":"find_8","shape":7,"type":"STRING","widget":{"name":"find_8"},"link":null},{"localized_name":"replace_8","name":"replace_8","shape":7,"type":"STRING","widget":{"name":"replace_8"},"link":null}],"outputs":[{"localized_name":"text","name":"text","type":"STRING","links":[351]}],"properties":{"cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","Node name for S&R":"FeiMao_326_TextBatchReplace","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":["","","","","","","","","","","","","","","","",""]},{"id":256,"type":"FeiMao_326_TextSplitByDelimiter","pos":[2061.164763702675,-779.0654106958152],"size":[400,112],"flags":{},"order":24,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","widget":{"name":"text"},"link":360},{"localized_name":"delimiter","name":"delimiter","type":"STRING","widget":{"name":"delimiter"},"link":null}],"outputs":[{"localized_name":"array","name":"array","type":"LIST","links":[364,365,366,367,368,369]}],"properties":{"cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","Node name for S&R":"FeiMao_326_TextSplitByDelimiter","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":["","*"]},{"id":257,"type":"FeiMao_326_GeneralAPINode","pos":[2065.66584668687,-1892.6526352970834],"size":[421.9401041666667,418],"flags":{},"order":31,"mode":0,"inputs":[{"localized_name":"image_1","name":"image_1","shape":7,"type":"IMAGE","link":397},{"localized_name":"image_2","name":"image_2","shape":7,"type":"IMAGE","link":399},{"localized_name":"image_3","name":"image_3","shape":7,"type":"IMAGE","link":400},{"localized_name":"api_baseurl","name":"api_baseurl","type":"STRING","widget":{"name":"api_baseurl"},"link":null},{"localized_name":"api_key","name":"api_key","type":"STRING","widget":{"name":"api_key"},"link":null},{"localized_name":"model","name":"model","type":"STRING","widget":{"name":"model"},"link":null},{"localized_name":"role","name":"role","type":"STRING","widget":{"name":"role"},"link":null},{"localized_name":"prompt","name":"prompt","type":"STRING","widget":{"name":"prompt"},"link":null},{"localized_name":"seed","name":"seed","type":"INT","widget":{"name":"seed"},"link":null},{"localized_name":"temperature","name":"temperature","type":"FLOAT","widget":{"name":"temperature"},"link":null},{"localized_name":"max_tokens","name":"max_tokens","type":"INT","widget":{"name":"max_tokens"},"link":null},{"localized_name":"control_after_generate","name":"control_after_generate","type":"COMBO","widget":{"name":"control_after_generate"},"link":null},{"localized_name":"cleanup_local_gpu","name":"cleanup_local_gpu","type":"BOOLEAN","widget":{"name":"cleanup_local_gpu"},"link":null},{"name":"image_4","type":"IMAGE","link":null}],"outputs":[{"localized_name":"describe","name":"describe","type":"STRING","links":[371]},{"localized_name":"seed","name":"seed","type":"INT","links":null},{"localized_name":"image","name":"image","type":"IMAGE","links":null}],"properties":{"cnr_id":"general-api-node","ver":"06f91e232c4a432205f26e82017dcf8895513d7b","Node name for S&R":"FeiMao_326_GeneralAPINode","ue_properties":{"widget_ue_connectable":{"api_baseurl":true,"api_key":true,"model":true,"role":true,"prompt":true,"seed":true,"temperature":true,"max_tokens":true,"control_after_generate":true,"cleanup_local_gpu":true},"version":"7.1","input_ue_unconnectable":{}},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":["http://127.0.0.1:11434/v1","ollama","gemma3:4b","You are a world-class Game CG Animation Director and an elite AI Video Prompt Engineer. Your expertise lies in crafting extraordinary fantasy battles with intricate visual effects, cinematic camera language, fluid character animations, and complex, grand magical formations—just like top-tier game cinematics. Your mission is to analyze three input images ([image_1], [image_2], [image_3] representing start, middle, and end frames) and create a seamless, visually compelling, imaginative 6-keyframe video prompt sequence connecting these moments with intensified epic flair and narrative coherence.","Please strictly adhere to your role as a Game CG Director and Prompt Engineer. Your task is to analyze the provided [image_1] (start frame), [image_2] (middle frame), and [image_3] (end frame).\n\nYour main goal is to create a logically flowing, visually stunning six-keyframe video prompt sequence, smoothly transitioning from [image_1] through [image_2] to [image_3].\n\nPlease incorporate the following elements and requirements into your creation:\n\nStory & Action:\n\nConstruct an intense fantasy combat sequence with a clear progression: the confrontation ignites in [image_1], reaches a dramatic climax at [image_2], and resolves with explosive impact or transformation at [image_3].\n\nMake the actions coherent and escalate tension logically (e.g., Character A casts a devastating spell, Character B responds with a counter, magical forces collide).\n\nVisual Effects (VFX) & Magic Formations:\n\nVFX: Vividly describe spell lights, magical energy, elemental flows, explosions, and particle effects.\nFor example: “A celestial blaze radiates arcs of lightning, scattering golden embers through swirling dark mist.”\n\nMagic Formations: Portray supernatural matrices, rune circles, or dimensional rifts, illustrating their ignition and visual evolution across the sequence.\nFor example: “A spiraling glyph array unfolds beneath the combatants, energized lines flaring upward into radiant pillars.”\n\nCinematic Camera Language:\n\nExplicitly state dynamic camera actions for each keyframe such as:\n\nExtreme close-up: Capture a character’s fierce gaze or spell-charged hand.\n\nRapid zoom-out: Reveal the catastrophic scale of unleashed magic.\n\nOrbit shot: Camera circles an explosive clash or magic formation.\n\nTracking shot: Follows a projectile, spell beam, or charging character.\n\nEnsure each camera movement amplifies the drama and clarity.\n\nEnvironmental Changes & Epic Atmosphere:\n\nLet the environment react to magic and battle—terrain upheaval, weather turbulence, debris, energy distortions, or reality ripples.\n\nHighlight the scale and awe—cracked earth, shattered pillars, swirling storm clouds, glowing portals.\n\nOutput Format:\n\nGenerate keyframe prompts.\n\nEach prompt must include: {main subject, character action, environmental change, VFX detail, magic formation, camera movement/angle}.\n\nSeparate each prompt with “--” for easy post-processing.\n\nPlease begin your creative process now.",112420005342677,0,0.6,4096,"fixed",true]},{"id":258,"type":"FeiMao_326_GetListElement","pos":[2545.6831753701304,-579.5220168365955],"size":[326.30208333333337,58],"flags":{},"order":35,"mode":0,"inputs":[{"localized_name":"list_input","name":"list_input","type":"LIST","link":364},{"localized_name":"index","name":"index","type":"INT","widget":{"name":"index"},"link":null}],"outputs":[{"localized_name":"item","name":"item","type":"STRING","links":[386]}],"properties":{"cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","Node name for S&R":"FeiMao_326_GetListElement","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[2]},{"id":259,"type":"FeiMao_326_GetListElement","pos":[2511.5874949226604,-765.8007485743112],"size":[326.30208333333337,58],"flags":{},"order":36,"mode":0,"inputs":[{"localized_name":"list_input","name":"list_input","type":"LIST","link":365},{"localized_name":"index","name":"index","type":"INT","widget":{"name":"index"},"link":null}],"outputs":[{"localized_name":"item","name":"item","type":"STRING","links":[387]}],"properties":{"cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","Node name for S&R":"FeiMao_326_GetListElement","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[1]},{"id":260,"type":"FeiMao_326_GetListElement","pos":[2499.4638940597274,-925.8375652487574],"size":[326.30208333333337,58],"flags":{},"order":37,"mode":0,"inputs":[{"localized_name":"list_input","name":"list_input","type":"LIST","link":366},{"localized_name":"index","name":"index","type":"INT","widget":{"name":"index"},"link":null}],"outputs":[{"localized_name":"item","name":"item","type":"STRING","links":[388]}],"properties":{"cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","Node name for S&R":"FeiMao_326_GetListElement","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[0]},{"id":261,"type":"FeiMao_326_GetListElement","pos":[2537.991162419709,-389.8154198218332],"size":[326.30208333333337,58],"flags":{},"order":38,"mode":0,"inputs":[{"localized_name":"list_input","name":"list_input","type":"LIST","link":367},{"localized_name":"index","name":"index","type":"INT","widget":{"name":"index"},"link":null}],"outputs":[{"localized_name":"item","name":"item","type":"STRING","links":[385]}],"properties":{"cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","Node name for S&R":"FeiMao_326_GetListElement","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[4]},{"id":262,"type":"FeiMao_326_GetListElement","pos":[2560.689881014308,-224.23583683058567],"size":[326.30208333333337,58],"flags":{},"order":39,"mode":0,"inputs":[{"localized_name":"list_input","name":"list_input","type":"LIST","link":368},{"localized_name":"index","name":"index","type":"INT","widget":{"name":"index"},"link":null}],"outputs":[{"localized_name":"item","name":"item","type":"STRING","links":[384]}],"properties":{"cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","Node name for S&R":"FeiMao_326_GetListElement","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[5]},{"id":263,"type":"FeiMao_326_GetListElement","pos":[2561.6454323136654,-44.356804914671194],"size":[326.30208333333337,58],"flags":{},"order":40,"mode":0,"inputs":[{"localized_name":"list_input","name":"list_input","type":"LIST","link":369},{"localized_name":"index","name":"index","type":"INT","widget":{"name":"index"},"link":null}],"outputs":[{"localized_name":"item","name":"item","type":"STRING","links":[383]}],"properties":{"cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","Node name for S&R":"FeiMao_326_GetListElement","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[6]},{"id":264,"type":"FeiMao_326_TextIterator","pos":[4136.225105927895,-1975.2327436607404],"size":[400,112],"flags":{},"order":18,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","widget":{"name":"text"},"link":370},{"localized_name":"delimiter","name":"delimiter","type":"STRING","widget":{"name":"delimiter"},"link":null}],"outputs":[{"localized_name":"text","name":"text","shape":6,"type":"STRING","links":[393]}],"properties":{"cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","Node name for S&R":"FeiMao_326_TextIterator","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":["","*"]},{"id":265,"type":"ShowTextNode","pos":[2523.708486986337,-1883.4686672501382],"size":[384.71062909659025,317.76745635445695],"flags":{"collapsed":false},"order":44,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","link":371}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":6,"type":"STRING","links":null}],"properties":{"cnr_id":"general-api-node","ver":"bf4105200b91a79ebc6d3f3bd607d0db13d337f4","Node name for S&R":"ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.1"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[]},{"id":267,"type":"SimpleTextNode","pos":[1592.0053515925097,-950.7477900694217],"size":[447.39583333333337,388.5546875],"flags":{},"order":7,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","widget":{"name":"text"},"link":null}],"outputs":[{"localized_name":"text","name":"text","type":"STRING","links":[360]}],"properties":{"cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","Node name for S&R":"SimpleTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":["Keep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Perfect front view closeup low angle symmetrical wide angle perspective. Shot from the floor looking at the grill and windshield. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Perfect rear view low angle symmetrical wide angle perspective. Shot from the floor looking up at the rear bumper, tail lights, spoiler. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Perfect high angle 3/4 front wide angle perspective. Shot from the floor looking up at the car. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Perfect high angle 3/4 rear wide angle perspective. Dutch tilt. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Cropped view front quarter panel closeup. Shot head on to only capture front wheel front quarter panel, hood. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Cropped view rear quarter panel closeup. Shot head on to only capture rear wheel rear quarter panel, hood. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Top-down view looking directly down at the top of the car. Showing the full car centrally placed in the image from above. Immaculate texture and material detail. *\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Cropped view - Closeup shot from a mount on the front tire lookin down the side of the car. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Closeup shot from a mount on the spolier looking towards the front of the car from a rear view capturing the rear windshield and roof. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Perfect front view. Cropped closeup showing the left side of the car. Shot from eye low angle at left side of the car showing the left headlight, front fender, windshield. Immaculate texture and material detail.*\n\n\n\n "]},{"id":268,"type":"ShowTextNode","pos":[668.9180022225145,-966.9207818910398],"size":[358.6840431368504,319.8665028030498],"flags":{"collapsed":false},"order":28,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","link":373}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":6,"type":"STRING","links":null}],"properties":{"cnr_id":"general-api-node","ver":"c5eb20763a9562b0810f55c4f805c3af165406c7","Node name for S&R":"ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[]},{"id":272,"type":"FeiMao_326_GeneralAPINode","pos":[500.79882565145476,-1502.2585407424046],"size":[404.7727901136426,398],"flags":{},"order":26,"mode":0,"inputs":[{"localized_name":"image_1","name":"image_1","shape":7,"type":"IMAGE","link":395},{"localized_name":"image_2","name":"image_2","shape":7,"type":"IMAGE","link":null},{"localized_name":"image_3","name":"image_3","shape":7,"type":"IMAGE","link":null},{"localized_name":"api_baseurl","name":"api_baseurl","type":"STRING","widget":{"name":"api_baseurl"},"link":null},{"localized_name":"api_key","name":"api_key","type":"STRING","widget":{"name":"api_key"},"link":376},{"localized_name":"model","name":"model","type":"STRING","widget":{"name":"model"},"link":null},{"localized_name":"role","name":"role","type":"STRING","widget":{"name":"role"},"link":null},{"localized_name":"prompt","name":"prompt","type":"STRING","widget":{"name":"prompt"},"link":null},{"localized_name":"seed","name":"seed","type":"INT","widget":{"name":"seed"},"link":null},{"localized_name":"temperature","name":"temperature","type":"FLOAT","widget":{"name":"temperature"},"link":null},{"localized_name":"max_tokens","name":"max_tokens","type":"INT","widget":{"name":"max_tokens"},"link":null},{"localized_name":"control_after_generate","name":"control_after_generate","type":"COMBO","widget":{"name":"control_after_generate"},"link":null},{"localized_name":"cleanup_local_gpu","name":"cleanup_local_gpu","type":"BOOLEAN","widget":{"name":"cleanup_local_gpu"},"link":null}],"outputs":[{"localized_name":"describe","name":"describe","type":"STRING","links":[378]},{"localized_name":"seed","name":"seed","type":"INT","links":null},{"localized_name":"image","name":"image","type":"IMAGE","links":null}],"properties":{"cnr_id":"general-api-node","ver":"c5eb20763a9562b0810f55c4f805c3af165406c7","Node name for S&R":"FeiMao_326_GeneralAPINode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":["https://integrate.api.nvidia.com/v1","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","meta/llama-3.2-90b-vision-instruct","","请用中文描述图中人物",978719909721213,"randomize",0.6,4096,"fixed",true]},{"id":273,"type":"ShowTextNode","pos":[969.292557467371,-1994.5624999381214],"size":[520.4357822737023,369.37761895702056],"flags":{},"order":43,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","link":377}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":6,"type":"STRING","links":null}],"properties":{"cnr_id":"general-api-node","ver":"c5eb20763a9562b0810f55c4f805c3af165406c7","Node name for S&R":"ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"}},"widgets_values":[]},{"id":274,"type":"ShowTextNode","pos":[954.9189263806558,-1483.9864671044454],"size":[518.4542299894928,385.5660269300797],"flags":{},"order":42,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","link":378}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":6,"type":"STRING","links":null}],"properties":{"cnr_id":"general-api-node","ver":"c5eb20763a9562b0810f55c4f805c3af165406c7","Node name for S&R":"ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"}},"widgets_values":[]},{"id":277,"type":"FeiMao_326_GeneralAPINode","pos":[498.31337255074527,-1958.011115669921],"size":[428.0057108666124,399.07714272563885],"flags":{},"order":27,"mode":0,"inputs":[{"localized_name":"image_1","name":"image_1","shape":7,"type":"IMAGE","link":394},{"localized_name":"image_2","name":"image_2","shape":7,"type":"IMAGE","link":null},{"localized_name":"image_3","name":"image_3","shape":7,"type":"IMAGE","link":null},{"localized_name":"api_baseurl","name":"api_baseurl","type":"STRING","widget":{"name":"api_baseurl"},"link":null},{"localized_name":"api_key","name":"api_key","type":"STRING","widget":{"name":"api_key"},"link":380},{"localized_name":"model","name":"model","type":"STRING","widget":{"name":"model"},"link":null},{"localized_name":"role","name":"role","type":"STRING","widget":{"name":"role"},"link":null},{"localized_name":"prompt","name":"prompt","type":"STRING","widget":{"name":"prompt"},"link":null},{"localized_name":"seed","name":"seed","type":"INT","widget":{"name":"seed"},"link":null},{"localized_name":"temperature","name":"temperature","type":"FLOAT","widget":{"name":"temperature"},"link":null},{"localized_name":"max_tokens","name":"max_tokens","type":"INT","widget":{"name":"max_tokens"},"link":null},{"localized_name":"control_after_generate","name":"control_after_generate","type":"COMBO","widget":{"name":"control_after_generate"},"link":null},{"localized_name":"cleanup_local_gpu","name":"cleanup_local_gpu","type":"BOOLEAN","widget":{"name":"cleanup_local_gpu"},"link":null}],"outputs":[{"localized_name":"describe","name":"describe","type":"STRING","links":[377]},{"localized_name":"seed","name":"seed","type":"INT","links":null},{"localized_name":"image","name":"image","type":"IMAGE","links":null}],"properties":{"cnr_id":"general-api-node","ver":"c5eb20763a9562b0810f55c4f805c3af165406c7","Node name for S&R":"FeiMao_326_GeneralAPINode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"}},"widgets_values":["https://integrate.api.nvidia.com/v1","ollama","moonshotai/kimi-k2.5","You are a helpful assistant. Follow the user's instructions exactly. Output only the requested content without conversational filler, markdown formatting, or explanations.","Describe this image in detail.\n“请用中文回答我”",71895091568125,"randomize",0.6,4096,"fixed",true]},{"id":278,"type":"SaveImage","pos":[648.7274544715145,-575.7584530150377],"size":[395.2604166666667,651.2890625],"flags":{},"order":29,"mode":0,"inputs":[{"localized_name":"图片","name":"images","type":"IMAGE","link":381},{"localized_name":"文件名前缀","name":"filename_prefix","type":"STRING","widget":{"name":"filename_prefix"},"link":null}],"outputs":[],"properties":{"cnr_id":"comfy-core","ver":"0.11.0","Node name for S&R":"SaveImage","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"}},"widgets_values":["ComfyUI"]},{"id":279,"type":"ShowTextNode","pos":[423.30527706347647,195.53476660301683],"size":[431.07335667692246,354.27512171161106],"flags":{},"order":32,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","link":382}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":6,"type":"STRING","links":null}],"properties":{"cnr_id":"general-api-node","ver":"bf4105200b91a79ebc6d3f3bd607d0db13d337f4","Node name for S&R":"ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.1"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[]},{"id":280,"type":"ShowTextNode","pos":[3000.705762536198,-86.79607054261955],"size":[359.74817359710005,115.33958025004085],"flags":{},"order":50,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","link":383}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":6,"type":"STRING","links":null}],"properties":{"cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","Node name for S&R":"ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[]},{"id":281,"type":"ShowTextNode","pos":[3014.9237918398035,-253.66296664405974],"size":[330.25743836893116,111.00270742236899],"flags":{},"order":49,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","link":384}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":6,"type":"STRING","links":null}],"properties":{"cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","Node name for S&R":"ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[]},{"id":282,"type":"ShowTextNode","pos":[3008.6757814115394,-415.23413444108394],"size":[339.79855858980955,98.85946350488769],"flags":{},"order":48,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","link":385}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":6,"type":"STRING","links":null}],"properties":{"cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","Node name for S&R":"ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[]},{"id":283,"type":"ShowTextNode","pos":[3001.736133852312,-589.2237939324365],"size":[339.6605230056615,117.94170394664411],"flags":{},"order":45,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","link":386}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":6,"type":"STRING","links":null}],"properties":{"cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","Node name for S&R":"ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[]},{"id":284,"type":"ShowTextNode","pos":[2999.0245382786457,-771.1364350239039],"size":[341.34488714402084,117.07432938110946],"flags":{},"order":46,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","link":387}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":6,"type":"STRING","links":null}],"properties":{"cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","Node name for S&R":"ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[]},{"id":285,"type":"ShowTextNode","pos":[2994.2259556638023,-953.1104169084898],"size":[343.0134244660313,117.94170394664388],"flags":{},"order":47,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","link":388}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":6,"type":"STRING","links":null}],"properties":{"cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","Node name for S&R":"ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[]},{"id":286,"type":"ShowTextNode","pos":[4356.0551076360725,221.05037764275676],"size":[265.61925149897075,101.69814390118182],"flags":{},"order":23,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","link":389}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":6,"type":"STRING","links":null}],"properties":{"cnr_id":"general-api-node","ver":"bf4105200b91a79ebc6d3f3bd607d0db13d337f4","Node name for S&R":"ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.1"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[]},{"id":287,"type":"ShowTextNode","pos":[4349.9976824394935,64.71360960768635],"size":[270.3503854927946,101.69814390118188],"flags":{},"order":22,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","link":390}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":6,"type":"STRING","links":null}],"properties":{"cnr_id":"general-api-node","ver":"bf4105200b91a79ebc6d3f3bd607d0db13d337f4","Node name for S&R":"ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.1"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[]},{"id":288,"type":"ShowTextNode","pos":[4345.087268820934,-110.23483885683765],"size":[274.2929971543144,111.94893422113353],"flags":{},"order":21,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","link":391}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":6,"type":"STRING","links":null}],"properties":{"cnr_id":"general-api-node","ver":"bf4105200b91a79ebc6d3f3bd607d0db13d337f4","Node name for S&R":"ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.1"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[]},{"id":289,"type":"ShowTextNode","pos":[4343.835251605621,-269.5132085635943],"size":[268.7733408281866,96.96700990735803],"flags":{},"order":20,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","link":392}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":6,"type":"STRING","links":null}],"properties":{"cnr_id":"general-api-node","ver":"bf4105200b91a79ebc6d3f3bd607d0db13d337f4","Node name for S&R":"ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.1"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[]},{"id":290,"type":"ShowTextNode","pos":[4567.669818301325,-1981.0988835880528],"size":[525.3439520576937,472.04331498340923],"flags":{},"order":33,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","link":393}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":6,"type":"STRING","links":null}],"properties":{"cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","Node name for S&R":"ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[]},{"id":152,"type":"LoadImage","pos":[-163.21410099832974,-1912.2727559222906],"size":[210,326],"flags":{},"order":8,"mode":0,"inputs":[{"localized_name":"图像","name":"image","type":"COMBO","widget":{"name":"image"},"link":null},{"localized_name":"选择文件上传","name":"upload","type":"IMAGEUPLOAD","widget":{"name":"upload"},"link":null}],"outputs":[{"localized_name":"图像","name":"IMAGE","type":"IMAGE","links":[394,395]},{"localized_name":"遮罩","name":"MASK","type":"MASK","links":null}],"properties":{"cnr_id":"comfy-core","ver":"0.3.71","Node name for S&R":"LoadImage","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.1"}},"widgets_values":["ComfyUI_00017_.png","image"]},{"id":275,"type":"SimpleTextNode","pos":[169.92381298012214,-1629.605130447948],"size":[211.3521484375,88],"flags":{"collapsed":false},"order":11,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","widget":{"name":"text"},"link":null}],"outputs":[{"localized_name":"text","name":"text","type":"STRING","links":[376,380]}],"title":"API","properties":{"cnr_id":"general-api-node","ver":"c5eb20763a9562b0810f55c4f805c3af165406c7","Node name for S&R":"SimpleTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"}},"widgets_values":[""]},{"id":269,"type":"FeiMao_326_GeneralAPINode","pos":[102.71461541717544,-905.0587260758756],"size":[395.3250314329036,574.3199016818301],"flags":{},"order":12,"mode":0,"inputs":[{"localized_name":"image_1","name":"image_1","shape":7,"type":"IMAGE","link":null},{"localized_name":"image_2","name":"image_2","shape":7,"type":"IMAGE","link":null},{"localized_name":"image_3","name":"image_3","shape":7,"type":"IMAGE","link":null},{"localized_name":"api_baseurl","name":"api_baseurl","type":"STRING","widget":{"name":"api_baseurl"},"link":null},{"localized_name":"api_key","name":"api_key","type":"STRING","widget":{"name":"api_key"},"link":null},{"localized_name":"model","name":"model","type":"STRING","widget":{"name":"model"},"link":null},{"localized_name":"role","name":"role","type":"STRING","widget":{"name":"role"},"link":null},{"localized_name":"prompt","name":"prompt","type":"STRING","widget":{"name":"prompt"},"link":null},{"localized_name":"seed","name":"seed","type":"INT","widget":{"name":"seed"},"link":null},{"localized_name":"temperature","name":"temperature","type":"FLOAT","widget":{"name":"temperature"},"link":null},{"localized_name":"max_tokens","name":"max_tokens","type":"INT","widget":{"name":"max_tokens"},"link":null},{"localized_name":"control_after_generate","name":"control_after_generate","type":"COMBO","widget":{"name":"control_after_generate"},"link":null},{"localized_name":"cleanup_local_gpu","name":"cleanup_local_gpu","type":"BOOLEAN","widget":{"name":"cleanup_local_gpu"},"link":null}],"outputs":[{"localized_name":"describe","name":"describe","type":"STRING","links":[373]},{"localized_name":"seed","name":"seed","type":"INT","links":null},{"localized_name":"image","name":"image","type":"IMAGE","links":[381]}],"properties":{"cnr_id":"general-api-node","ver":"c5eb20763a9562b0810f55c4f805c3af165406c7","Node name for S&R":"FeiMao_326_GeneralAPINode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":["https://generativelanguage.googleapis.com/v1beta/","","gemini-3-pro-image-preview","","{\n \"prompt\": \"macro photography, hyper-realistic, (giant elegant female hand with beautiful long manicured fingers:1.5), (gently lifting a tiny young woman by the back strap of her blue dress:1.3), (thumb and index finger holding the fabric from behind:1.4), the woman is hanging in the air, dangling legs, feet pointing down, (gravity effect on the clothes:1.3), dress pulled up by the grip, beautiful daylight, seaside background, blurred background, dreamy atmosphere, 8k resolution, cinematic lighting\",\n \"negative_prompt\": \"child, kid, underaged, fear, crying, violence, aggressive, holding head, grabbing head, touching face, male hand, hairy hand, ugly fingers, bad anatomy, distorted limbs, cartoon, illustration, floating without support\",\n \"parameters\": {\n \"aspect_ratio\": \"9:16\",\n \"steps\": 30,\n \"cfg_scale\": 7\n }\n}",40547297151565,"randomize",0.6,4096,"fixed",true]},{"id":270,"type":"ttN text","pos":[-237.17637064906836,-712.6851101348374],"size":[333.33333333333337,88],"flags":{},"order":13,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","widget":{"name":"text"},"link":null}],"outputs":[{"localized_name":"text","name":"text","type":"STRING","links":null}],"title":"Gemini model","properties":{"cnr_id":"comfyui_tinyterranodes","ver":"2.0.10","Node name for S&R":"ttN text","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"ttNnodeVersion":"1.0.0"},"widgets_values":["gemini-3-pro-preview\ngemini-3-pro-image-preview"]},{"id":253,"type":"FeiMao_326_GeneralAPINode","pos":[1117.706148723509,-962.510275329196],"size":[400,398],"flags":{},"order":14,"mode":0,"inputs":[{"localized_name":"image_1","name":"image_1","shape":7,"type":"IMAGE","link":null},{"localized_name":"image_2","name":"image_2","shape":7,"type":"IMAGE","link":null},{"localized_name":"image_3","name":"image_3","shape":7,"type":"IMAGE","link":null},{"localized_name":"api_baseurl","name":"api_baseurl","type":"STRING","widget":{"name":"api_baseurl"},"link":null},{"localized_name":"api_key","name":"api_key","type":"STRING","widget":{"name":"api_key"},"link":null},{"localized_name":"model","name":"model","type":"STRING","widget":{"name":"model"},"link":null},{"localized_name":"role","name":"role","type":"STRING","widget":{"name":"role"},"link":null},{"localized_name":"prompt","name":"prompt","type":"STRING","widget":{"name":"prompt"},"link":null},{"localized_name":"seed","name":"seed","type":"INT","widget":{"name":"seed"},"link":null},{"localized_name":"temperature","name":"temperature","type":"FLOAT","widget":{"name":"temperature"},"link":null},{"localized_name":"max_tokens","name":"max_tokens","type":"INT","widget":{"name":"max_tokens"},"link":null},{"localized_name":"control_after_generate","name":"control_after_generate","type":"COMBO","widget":{"name":"control_after_generate"},"link":null},{"localized_name":"cleanup_local_gpu","name":"cleanup_local_gpu","type":"BOOLEAN","widget":{"name":"cleanup_local_gpu"},"link":null}],"outputs":[{"localized_name":"describe","name":"describe","type":"STRING","links":[372]},{"localized_name":"seed","name":"seed","type":"INT","links":null},{"localized_name":"image","name":"image","type":"IMAGE","links":null}],"properties":{"cnr_id":"general-api-node","ver":"06f91e232c4a432205f26e82017dcf8895513d7b","Node name for S&R":"FeiMao_326_GeneralAPINode","ue_properties":{"widget_ue_connectable":{"api_baseurl":true,"api_key":true,"model":true,"role":true,"prompt":true,"seed":true,"temperature":true,"max_tokens":true,"control_after_generate":true,"cleanup_local_gpu":true},"version":"7.1","input_ue_unconnectable":{}},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":["https://api.deepseek.com/v1","","deepseek-reasoner","You are a professional fiction writer","Please help me write a novel about a mortal's journey to immortality. If I'm broke, I can only write two episodes.",242020679879259,0,0.6,4096,"fixed",true]},{"id":296,"type":"LoadImage","pos":[-237.47913313515437,194.5576341504901],"size":[210,326],"flags":{},"order":17,"mode":0,"inputs":[{"localized_name":"图像","name":"image","type":"COMBO","widget":{"name":"image"},"link":null},{"localized_name":"选择文件上传","name":"upload","type":"IMAGEUPLOAD","widget":{"name":"upload"},"link":null}],"outputs":[{"localized_name":"图像","name":"IMAGE","type":"IMAGE","links":[404]},{"localized_name":"遮罩","name":"MASK","type":"MASK","links":null}],"properties":{"cnr_id":"comfy-core","ver":"0.3.71","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.1"},"Node name for S&R":"LoadImage"},"widgets_values":["ComfyUI_00017_.png","image"]},{"id":266,"type":"ShowTextNode","pos":[1125.8250025891398,-512.0350903491923],"size":[392.11453927570346,329.3122118217193],"flags":{},"order":30,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","link":372}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":6,"type":"STRING","links":null}],"properties":{"cnr_id":"general-api-node","ver":"bf4105200b91a79ebc6d3f3bd607d0db13d337f4","Node name for S&R":"ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.1"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[]},{"id":294,"type":"LoadImage","pos":[1833.1585190821115,-1537.51377389701],"size":[210,326],"flags":{},"order":9,"mode":0,"inputs":[{"localized_name":"图像","name":"image","type":"COMBO","widget":{"name":"image"},"link":null},{"localized_name":"选择文件上传","name":"upload","type":"IMAGEUPLOAD","widget":{"name":"upload"},"link":null}],"outputs":[{"localized_name":"图像","name":"IMAGE","type":"IMAGE","links":[400]},{"localized_name":"遮罩","name":"MASK","type":"MASK","links":null}],"properties":{"cnr_id":"comfy-core","ver":"0.3.71","Node name for S&R":"LoadImage","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.1"}},"widgets_values":["ComfyUI_00017_.png","image"]},{"id":293,"type":"LoadImage","pos":[1601.2744593644488,-1648.5356996682424],"size":[210,326],"flags":{},"order":15,"mode":0,"inputs":[{"localized_name":"图像","name":"image","type":"COMBO","widget":{"name":"image"},"link":null},{"localized_name":"选择文件上传","name":"upload","type":"IMAGEUPLOAD","widget":{"name":"upload"},"link":null}],"outputs":[{"localized_name":"图像","name":"IMAGE","type":"IMAGE","links":[399]},{"localized_name":"遮罩","name":"MASK","type":"MASK","links":null}],"properties":{"cnr_id":"comfy-core","ver":"0.3.71","Node name for S&R":"LoadImage","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.1"}},"widgets_values":["ComfyUI_00017_.png","image"]},{"id":291,"type":"LoadImage","pos":[1810.8114360449626,-1937.8422793279126],"size":[210,326],"flags":{},"order":10,"mode":0,"inputs":[{"localized_name":"图像","name":"image","type":"COMBO","widget":{"name":"image"},"link":null},{"localized_name":"选择文件上传","name":"upload","type":"IMAGEUPLOAD","widget":{"name":"upload"},"link":null}],"outputs":[{"localized_name":"图像","name":"IMAGE","type":"IMAGE","links":[396,397]},{"localized_name":"遮罩","name":"MASK","type":"MASK","links":null}],"properties":{"cnr_id":"comfy-core","ver":"0.3.71","Node name for S&R":"LoadImage","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.1"}},"widgets_values":["ComfyUI_00017_.png","image"]},{"id":251,"type":"FeiMao_326_GeneralAPINode","pos":[2.533687683185126,185.0305276765214],"size":[392.5260416666667,398],"flags":{},"order":16,"mode":0,"inputs":[{"localized_name":"image_1","name":"image_1","shape":7,"type":"IMAGE","link":404},{"localized_name":"image_2","name":"image_2","shape":7,"type":"IMAGE","link":null},{"localized_name":"image_3","name":"image_3","shape":7,"type":"IMAGE","link":null},{"localized_name":"api_baseurl","name":"api_baseurl","type":"STRING","widget":{"name":"api_baseurl"},"link":null},{"localized_name":"api_key","name":"api_key","type":"STRING","widget":{"name":"api_key"},"link":null},{"localized_name":"model","name":"model","type":"STRING","widget":{"name":"model"},"link":null},{"localized_name":"role","name":"role","type":"STRING","widget":{"name":"role"},"link":null},{"localized_name":"prompt","name":"prompt","type":"STRING","widget":{"name":"prompt"},"link":null},{"localized_name":"seed","name":"seed","type":"INT","widget":{"name":"seed"},"link":null},{"localized_name":"temperature","name":"temperature","type":"FLOAT","widget":{"name":"temperature"},"link":null},{"localized_name":"max_tokens","name":"max_tokens","type":"INT","widget":{"name":"max_tokens"},"link":null},{"localized_name":"control_after_generate","name":"control_after_generate","type":"COMBO","widget":{"name":"control_after_generate"},"link":null},{"localized_name":"cleanup_local_gpu","name":"cleanup_local_gpu","type":"BOOLEAN","widget":{"name":"cleanup_local_gpu"},"link":null}],"outputs":[{"localized_name":"describe","name":"describe","type":"STRING","links":[382]},{"localized_name":"seed","name":"seed","type":"INT","links":null},{"localized_name":"image","name":"image","type":"IMAGE","links":null}],"properties":{"cnr_id":"general-api-node","ver":"06f91e232c4a432205f26e82017dcf8895513d7b","Node name for S&R":"FeiMao_326_GeneralAPINode","ue_properties":{"widget_ue_connectable":{"api_baseurl":true,"api_key":true,"model":true,"role":true,"prompt":true,"seed":true,"temperature":true,"max_tokens":true,"control_after_generate":true,"cleanup_local_gpu":true},"version":"7.1","input_ue_unconnectable":{}},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":["https://api.perplexity.ai","","sonar-reasoning-pro","你是一个图像提示词专家","“请直接给出图像描述和提示词,格式如下:描述:XXXX,提示词:XXXX。”\n\n“请将描述和提示词分开,直接输出,不需要附加标签或处理标记。”",430824979390636,0,0.6,4096,"fixed",true]}],"links":[[351,255,0,246,0,"STRING"],[353,247,0,248,0,"STRING"],[355,241,0,255,0,"STRING"],[356,242,0,255,1,"STRING"],[357,243,0,255,2,"STRING"],[358,244,0,255,3,"STRING"],[359,245,0,255,4,"STRING"],[360,267,0,256,0,"STRING"],[364,256,0,258,0,"LIST"],[365,256,0,259,0,"LIST"],[366,256,0,260,0,"LIST"],[367,256,0,261,0,"LIST"],[368,256,0,262,0,"LIST"],[369,256,0,263,0,"LIST"],[370,240,0,264,0,"STRING"],[371,257,0,265,0,"STRING"],[372,253,0,266,0,"STRING"],[373,269,0,268,0,"STRING"],[376,275,0,272,4,"STRING"],[377,277,0,273,0,"STRING"],[378,272,0,274,0,"STRING"],[380,275,0,277,4,"STRING"],[381,269,2,278,0,"IMAGE"],[382,251,0,279,0,"STRING"],[383,263,0,280,0,"STRING"],[384,262,0,281,0,"STRING"],[385,261,0,282,0,"STRING"],[386,258,0,283,0,"STRING"],[387,259,0,284,0,"STRING"],[388,260,0,285,0,"STRING"],[389,254,3,286,0,"STRING"],[390,254,2,287,0,"STRING"],[391,254,1,288,0,"STRING"],[392,254,0,289,0,"STRING"],[393,264,0,290,0,"STRING"],[394,152,0,277,0,"IMAGE"],[395,152,0,272,0,"IMAGE"],[396,291,0,247,0,"IMAGE"],[397,291,0,257,0,"IMAGE"],[399,293,0,257,1,"IMAGE"],[400,294,0,257,2,"IMAGE"],[404,296,0,251,0,"IMAGE"]],"groups":[{"id":7,"title":"Text Iterator","bounding":[3602.355907594222,-2061.2991332885435,1540.9806498928065,766.3696847589775],"color":"#3f789e","font_size":24,"flags":{}},{"id":8,"title":"Text Split By Delimiter (Array) Get List Element (List)","bounding":[1582.0044947743686,-1026.7103559516177,1812.0540247203269,1086.7160495503697],"color":"#3f789e","font_size":24,"flags":{}},{"id":9,"title":"JSON Parser","bounding":[3610.899763275097,-343.1132180839943,1019.9901240586029,682.166214602045],"color":"#3f789e","font_size":24,"flags":{}},{"id":10,"title":"Text Batch Replace","bounding":[3607.6821668513903,-1258.6626780579936,1299.2389277959473,898.4015511851885],"color":"#3f789e","font_size":24,"flags":{}},{"id":11,"title":"Ollama","bounding":[1581.2302140281286,-2074.803094990241,1999.1968767855083,1025.190887652889],"color":"#3f789e","font_size":24,"flags":{}},{"id":12,"title":"nvidia","bounding":[-246.5164832167868,-2070.8367706402646,1802.608722813446,1001.9641716155891],"color":"#3f789e","font_size":24,"flags":{}},{"id":13,"title":"Gemini","bounding":[-247.17637064906836,-1040.5207818910394,1301.164241787248,1126.0513913760017],"color":"#3f789e","font_size":24,"flags":{}},{"id":14,"title":"DeepSeek","bounding":[1107.7061487235085,-1036.1102753291957,431.678952499194,869.1139382589404],"color":"#3f789e","font_size":24,"flags":{}},{"id":15,"title":"Perplexity","bounding":[-247.47913313515437,111.43052767652122,1111.8577668755531,481.6],"color":"#3f789e","font_size":24,"flags":{}}],"config":{},"extra":{"0246.VERSION":[0,0,4],"ds":{"scale":0.8140274938684027,"offset":[864.8513576348395,397.2549861058668]},"ue_links":[],"links_added_by_ue":[],"workflowRendererVersion":"LG"},"version":0.4} \ No newline at end of file +<<<<<<< HEAD +{"id":"aa9cbca8-5465-45d2-a18d-8a1947708a21","revision":0,"last_node_id":296,"last_link_id":404,"nodes":[{"id":240,"type":"SimpleTextNode","pos":[3612.356531722875,-1974.629136255707],"size":[500.09114583333337,239.6875],"flags":{},"order":0,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","widget":{"name":"text"},"link":null}],"outputs":[{"localized_name":"text","name":"text","type":"STRING","links":[370]}],"properties":{"cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","Node name for S&R":"SimpleTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":["Keep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Perfect front view closeup low angle symmetrical wide angle perspective. Shot from the floor looking at the grill and windshield. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Perfect rear view low angle symmetrical wide angle perspective. Shot from the floor looking up at the rear bumper, tail lights, spoiler. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Perfect high angle 3/4 front wide angle perspective. Shot from the floor looking up at the car. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Perfect high angle 3/4 rear wide angle perspective. Dutch tilt. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Cropped view front quarter panel closeup. Shot head on to only capture front wheel front quarter panel, hood. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Cropped view rear quarter panel closeup. Shot head on to only capture rear wheel rear quarter panel, hood. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Top-down view looking directly down at the top of the car. Showing the full car centrally placed in the image from above. Immaculate texture and material detail. *\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Cropped view - Closeup shot from a mount on the front tire lookin down the side of the car. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Closeup shot from a mount on the spolier looking towards the front of the car from a rear view capturing the rear windshield and roof. Immaculate texture and material detail.*\n\n\n\n\n\n\n\n\n\n\n\n\n "]},{"id":241,"type":"SimpleTextNode","pos":[3617.682067627531,-1175.9361329330218],"size":[318.17708333333337,88],"flags":{},"order":1,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","widget":{"name":"text"},"link":null}],"outputs":[{"localized_name":"text","name":"text","type":"STRING","links":[355]}],"properties":{"cnr_id":"general-api-node","ver":"bf4105200b91a79ebc6d3f3bd607d0db13d337f4","Node name for S&R":"SimpleTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.1"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":["You are a top-tier Game CG Animation Director and a specialized AI Video Prompt Engineer. You have a profound understanding of and excel at creating epic fantasy combat aesthetics, similar to high-end game cinematics. Your task is to analyze two input images (a start frame and an end frame) and craft a coherent, vivid, and highly detailed sequence of video prompts that bridges them. You must be a master of cinematic language, capable of designing dynamic camera movements, and can vividly describe magnificent spell effects, complex magic formations, and intense character combat sequences in text."]},{"id":242,"type":"SimpleTextNode","pos":[3669.604905136839,-914.1868307615435],"size":[211.3521484375,88],"flags":{},"order":2,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","widget":{"name":"text"},"link":null}],"outputs":[{"localized_name":"text","name":"text","type":"STRING","links":[356]}],"properties":{"cnr_id":"general-api-node","ver":"bf4105200b91a79ebc6d3f3bd607d0db13d337f4","Node name for S&R":"SimpleTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.1"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":["top-tier"]},{"id":243,"type":"SimpleTextNode","pos":[3668.487645156052,-748.5318624731896],"size":[211.3521484375,88],"flags":{},"order":3,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","widget":{"name":"text"},"link":null}],"outputs":[{"localized_name":"text","name":"text","type":"STRING","links":[357]}],"properties":{"cnr_id":"general-api-node","ver":"bf4105200b91a79ebc6d3f3bd607d0db13d337f4","Node name for S&R":"SimpleTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.1"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":["我很好"]},{"id":244,"type":"SimpleTextNode","pos":[3663.3203177449177,-596.3107903917754],"size":[211.3521484375,88],"flags":{},"order":4,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","widget":{"name":"text"},"link":null}],"outputs":[{"localized_name":"text","name":"text","type":"STRING","links":[358]}],"properties":{"cnr_id":"general-api-node","ver":"bf4105200b91a79ebc6d3f3bd607d0db13d337f4","Node name for S&R":"SimpleTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.1"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":["You are"]},{"id":245,"type":"SimpleTextNode","pos":[3674.0284426171565,-458.2610166051825],"size":[211.3521484375,88],"flags":{},"order":5,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","widget":{"name":"text"},"link":null}],"outputs":[{"localized_name":"text","name":"text","type":"STRING","links":[359]}],"properties":{"cnr_id":"general-api-node","ver":"bf4105200b91a79ebc6d3f3bd607d0db13d337f4","Node name for S&R":"SimpleTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.1"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":["你好呀"]},{"id":246,"type":"ShowTextNode","pos":[4548.063515724973,-1095.6129457335592],"size":[348.8541666666667,264.6354166666667],"flags":{},"order":34,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","link":351}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":6,"type":"STRING","links":null}],"properties":{"cnr_id":"general-api-node","ver":"bf4105200b91a79ebc6d3f3bd607d0db13d337f4","Node name for S&R":"ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.1"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[]},{"id":247,"type":"FeiMao_326_GeneralAPINode","pos":[2943.155605261583,-1910.7330309541892],"size":[400,398],"flags":{},"order":25,"mode":0,"inputs":[{"localized_name":"image_1","name":"image_1","shape":7,"type":"IMAGE","link":396},{"localized_name":"image_2","name":"image_2","shape":7,"type":"IMAGE","link":null},{"localized_name":"image_3","name":"image_3","shape":7,"type":"IMAGE","link":null},{"localized_name":"api_baseurl","name":"api_baseurl","type":"STRING","widget":{"name":"api_baseurl"},"link":null},{"localized_name":"api_key","name":"api_key","type":"STRING","widget":{"name":"api_key"},"link":null},{"localized_name":"model","name":"model","type":"STRING","widget":{"name":"model"},"link":null},{"localized_name":"role","name":"role","type":"STRING","widget":{"name":"role"},"link":null},{"localized_name":"prompt","name":"prompt","type":"STRING","widget":{"name":"prompt"},"link":null},{"localized_name":"seed","name":"seed","type":"INT","widget":{"name":"seed"},"link":null},{"localized_name":"temperature","name":"temperature","type":"FLOAT","widget":{"name":"temperature"},"link":null},{"localized_name":"max_tokens","name":"max_tokens","type":"INT","widget":{"name":"max_tokens"},"link":null},{"localized_name":"control_after_generate","name":"control_after_generate","type":"COMBO","widget":{"name":"control_after_generate"},"link":null},{"localized_name":"cleanup_local_gpu","name":"cleanup_local_gpu","type":"BOOLEAN","widget":{"name":"cleanup_local_gpu"},"link":null}],"outputs":[{"localized_name":"describe","name":"describe","type":"STRING","links":[353]},{"localized_name":"seed","name":"seed","type":"INT","links":null},{"localized_name":"image","name":"image","type":"IMAGE","links":null}],"properties":{"cnr_id":"general-api-node","ver":"06f91e232c4a432205f26e82017dcf8895513d7b","Node name for S&R":"FeiMao_326_GeneralAPINode","ue_properties":{"widget_ue_connectable":{"api_baseurl":true,"api_key":true,"model":true,"role":true,"prompt":true,"seed":true,"temperature":true,"max_tokens":true,"control_after_generate":true,"cleanup_local_gpu":true},"version":"7.1","input_ue_unconnectable":{}},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":["http://127.0.0.1:11434/v1","ollama","gemma3:4b","You are a silent and efficient prompt generation engine. Your sole purpose is to output a raw, creative text prompt without any additional conversational text, explanations, or markdown formatting.","Provide a vivid and detailed description of the given image. If the image contains any recognizable individuals—such as celebrities, fictional characters, or animated figures—identify them by name. Your description should be specific and imaginative, while remaining under 200 words.Do not add any surrounding text or labels.",853551719100189,0,0.6,4096,"fixed",true]},{"id":248,"type":"ShowTextNode","pos":[3364.024849884557,-1912.279238963313],"size":[212.99479166666669,322.12239583333337],"flags":{},"order":41,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","link":353}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":6,"type":"STRING","links":null}],"properties":{"cnr_id":"general-api-node","ver":"bf4105200b91a79ebc6d3f3bd607d0db13d337f4","Node name for S&R":"ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.1"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[]},{"id":254,"type":"FeiMao_326_JsonParser","pos":[3620.9001403917355,-237.88782948576375],"size":[563.59375,192],"flags":{},"order":6,"mode":0,"inputs":[{"localized_name":"json_payload","name":"json_payload","type":"STRING","widget":{"name":"json_payload"},"link":null},{"localized_name":"keys_to_extract","name":"keys_to_extract","type":"STRING","widget":{"name":"keys_to_extract"},"link":null}],"outputs":[{"localized_name":"output_1","name":"output_1","type":"STRING","links":[392]},{"localized_name":"output_2","name":"output_2","type":"STRING","links":[391]},{"localized_name":"output_3","name":"output_3","type":"STRING","links":[390]},{"localized_name":"output_4","name":"output_4","type":"STRING","links":[389]},{"localized_name":"output_5","name":"output_5","type":"STRING","links":[]}],"properties":{"cnr_id":"general-api-node","ver":"b2f532576f7e8b644cd6947e75e45ea447b32b6f","Node name for S&R":"FeiMao_326_JsonParser","ue_properties":{"widget_ue_connectable":{"json_payload":true},"version":"7.1","input_ue_unconnectable":{}},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":["{ \n\n\"shot\": { \n\n\"composition\": \"central low-angle wide, CBR 150 forming mid-air piece by piece\", \n\n\"lens\": \"24mm\", \n\n\"frame_rate\": \"2000fps for impact, 60fps camera motion\", \n\n\"camera_movement\": \"ground tracking, orbital spin, vertical rise\" \n\n}, \n\n\"subject\": { \n\n\"description\": \"CBR 150, chassis, tires, shell, grille assembling in slow explosive layers\", \n\n\"wardrobe\": \"\", \n\n\"props\": \"armor plating, LED bar, mud-crushing tires, electric core pulse\" \n\n}, \n\n\"scene\": { \n\n\"location\": \"dry cracked desert basin\", \n\n\"time_of_day\": \"sunset storm\", \n\n\"environment\": \"dust, wind trails, light flares, far-off thunder glow\" \n\n}, \n\n\"visual_details\": { \n\n\"action\": \"parts crash in with dust shock, body seals, wheels spin and slam down, final headlight flare and dust burst\", \n\n\"special_effects\": \"slow debris, flare ignition, kinetic ripples, vapor trails\", \n\n\"hair_clothing_motion\": \"\" \n\n}, \n\n\"cinematography\": { \n\n\"lighting\": \"sunset rimlight + tactical highlights\", \n\n\"color_palette\": \"matte sand, obsidian black, steel grey\", \n\n\"tone\": \"premium, off-road dominance\" \n\n}, \n\n\"audio\": { \n\n\"music\": \"deep hybrid trailer score, rising tension then impact\", \n\n\"ambient\": \"wind, echoing terrain hum\", \n\n\"sound_effects\": \"metal snaps, suspension drop, dust whoosh, electric pulse\", \n\n\"mix_level\": \"studio-grade mix, wide stereo field, punchy dynamics\" \n\n}, \n\n\"dialogue\": { \n\n\"character\": \"\", \n\n\"line\": \"\", \n\n\"subtitles\": false \n\n} \n\n}","shot, subject, scene, audio"]},{"id":255,"type":"FeiMao_326_TextBatchReplace","pos":[4077.3333942903137,-1185.062522888852],"size":[400,529.1666666666667],"flags":{},"order":19,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","widget":{"name":"text"},"link":355},{"localized_name":"find_1","name":"find_1","shape":7,"type":"STRING","widget":{"name":"find_1"},"link":356},{"localized_name":"replace_1","name":"replace_1","shape":7,"type":"STRING","widget":{"name":"replace_1"},"link":357},{"localized_name":"find_2","name":"find_2","shape":7,"type":"STRING","widget":{"name":"find_2"},"link":358},{"localized_name":"replace_2","name":"replace_2","shape":7,"type":"STRING","widget":{"name":"replace_2"},"link":359},{"localized_name":"find_3","name":"find_3","shape":7,"type":"STRING","widget":{"name":"find_3"},"link":null},{"localized_name":"replace_3","name":"replace_3","shape":7,"type":"STRING","widget":{"name":"replace_3"},"link":null},{"localized_name":"find_4","name":"find_4","shape":7,"type":"STRING","widget":{"name":"find_4"},"link":null},{"localized_name":"replace_4","name":"replace_4","shape":7,"type":"STRING","widget":{"name":"replace_4"},"link":null},{"localized_name":"find_5","name":"find_5","shape":7,"type":"STRING","widget":{"name":"find_5"},"link":null},{"localized_name":"replace_5","name":"replace_5","shape":7,"type":"STRING","widget":{"name":"replace_5"},"link":null},{"localized_name":"find_6","name":"find_6","shape":7,"type":"STRING","widget":{"name":"find_6"},"link":null},{"localized_name":"replace_6","name":"replace_6","shape":7,"type":"STRING","widget":{"name":"replace_6"},"link":null},{"localized_name":"find_7","name":"find_7","shape":7,"type":"STRING","widget":{"name":"find_7"},"link":null},{"localized_name":"replace_7","name":"replace_7","shape":7,"type":"STRING","widget":{"name":"replace_7"},"link":null},{"localized_name":"find_8","name":"find_8","shape":7,"type":"STRING","widget":{"name":"find_8"},"link":null},{"localized_name":"replace_8","name":"replace_8","shape":7,"type":"STRING","widget":{"name":"replace_8"},"link":null}],"outputs":[{"localized_name":"text","name":"text","type":"STRING","links":[351]}],"properties":{"cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","Node name for S&R":"FeiMao_326_TextBatchReplace","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":["","","","","","","","","","","","","","","","",""]},{"id":256,"type":"FeiMao_326_TextSplitByDelimiter","pos":[2061.164763702675,-779.0654106958152],"size":[400,112],"flags":{},"order":24,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","widget":{"name":"text"},"link":360},{"localized_name":"delimiter","name":"delimiter","type":"STRING","widget":{"name":"delimiter"},"link":null}],"outputs":[{"localized_name":"array","name":"array","type":"LIST","links":[364,365,366,367,368,369]}],"properties":{"cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","Node name for S&R":"FeiMao_326_TextSplitByDelimiter","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":["","*"]},{"id":257,"type":"FeiMao_326_GeneralAPINode","pos":[2065.66584668687,-1892.6526352970834],"size":[421.9401041666667,418],"flags":{},"order":31,"mode":0,"inputs":[{"localized_name":"image_1","name":"image_1","shape":7,"type":"IMAGE","link":397},{"localized_name":"image_2","name":"image_2","shape":7,"type":"IMAGE","link":399},{"localized_name":"image_3","name":"image_3","shape":7,"type":"IMAGE","link":400},{"localized_name":"api_baseurl","name":"api_baseurl","type":"STRING","widget":{"name":"api_baseurl"},"link":null},{"localized_name":"api_key","name":"api_key","type":"STRING","widget":{"name":"api_key"},"link":null},{"localized_name":"model","name":"model","type":"STRING","widget":{"name":"model"},"link":null},{"localized_name":"role","name":"role","type":"STRING","widget":{"name":"role"},"link":null},{"localized_name":"prompt","name":"prompt","type":"STRING","widget":{"name":"prompt"},"link":null},{"localized_name":"seed","name":"seed","type":"INT","widget":{"name":"seed"},"link":null},{"localized_name":"temperature","name":"temperature","type":"FLOAT","widget":{"name":"temperature"},"link":null},{"localized_name":"max_tokens","name":"max_tokens","type":"INT","widget":{"name":"max_tokens"},"link":null},{"localized_name":"control_after_generate","name":"control_after_generate","type":"COMBO","widget":{"name":"control_after_generate"},"link":null},{"localized_name":"cleanup_local_gpu","name":"cleanup_local_gpu","type":"BOOLEAN","widget":{"name":"cleanup_local_gpu"},"link":null},{"name":"image_4","type":"IMAGE","link":null}],"outputs":[{"localized_name":"describe","name":"describe","type":"STRING","links":[371]},{"localized_name":"seed","name":"seed","type":"INT","links":null},{"localized_name":"image","name":"image","type":"IMAGE","links":null}],"properties":{"cnr_id":"general-api-node","ver":"06f91e232c4a432205f26e82017dcf8895513d7b","Node name for S&R":"FeiMao_326_GeneralAPINode","ue_properties":{"widget_ue_connectable":{"api_baseurl":true,"api_key":true,"model":true,"role":true,"prompt":true,"seed":true,"temperature":true,"max_tokens":true,"control_after_generate":true,"cleanup_local_gpu":true},"version":"7.1","input_ue_unconnectable":{}},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":["http://127.0.0.1:11434/v1","ollama","gemma3:4b","You are a world-class Game CG Animation Director and an elite AI Video Prompt Engineer. Your expertise lies in crafting extraordinary fantasy battles with intricate visual effects, cinematic camera language, fluid character animations, and complex, grand magical formations—just like top-tier game cinematics. Your mission is to analyze three input images ([image_1], [image_2], [image_3] representing start, middle, and end frames) and create a seamless, visually compelling, imaginative 6-keyframe video prompt sequence connecting these moments with intensified epic flair and narrative coherence.","Please strictly adhere to your role as a Game CG Director and Prompt Engineer. Your task is to analyze the provided [image_1] (start frame), [image_2] (middle frame), and [image_3] (end frame).\n\nYour main goal is to create a logically flowing, visually stunning six-keyframe video prompt sequence, smoothly transitioning from [image_1] through [image_2] to [image_3].\n\nPlease incorporate the following elements and requirements into your creation:\n\nStory & Action:\n\nConstruct an intense fantasy combat sequence with a clear progression: the confrontation ignites in [image_1], reaches a dramatic climax at [image_2], and resolves with explosive impact or transformation at [image_3].\n\nMake the actions coherent and escalate tension logically (e.g., Character A casts a devastating spell, Character B responds with a counter, magical forces collide).\n\nVisual Effects (VFX) & Magic Formations:\n\nVFX: Vividly describe spell lights, magical energy, elemental flows, explosions, and particle effects.\nFor example: “A celestial blaze radiates arcs of lightning, scattering golden embers through swirling dark mist.”\n\nMagic Formations: Portray supernatural matrices, rune circles, or dimensional rifts, illustrating their ignition and visual evolution across the sequence.\nFor example: “A spiraling glyph array unfolds beneath the combatants, energized lines flaring upward into radiant pillars.”\n\nCinematic Camera Language:\n\nExplicitly state dynamic camera actions for each keyframe such as:\n\nExtreme close-up: Capture a character’s fierce gaze or spell-charged hand.\n\nRapid zoom-out: Reveal the catastrophic scale of unleashed magic.\n\nOrbit shot: Camera circles an explosive clash or magic formation.\n\nTracking shot: Follows a projectile, spell beam, or charging character.\n\nEnsure each camera movement amplifies the drama and clarity.\n\nEnvironmental Changes & Epic Atmosphere:\n\nLet the environment react to magic and battle—terrain upheaval, weather turbulence, debris, energy distortions, or reality ripples.\n\nHighlight the scale and awe—cracked earth, shattered pillars, swirling storm clouds, glowing portals.\n\nOutput Format:\n\nGenerate keyframe prompts.\n\nEach prompt must include: {main subject, character action, environmental change, VFX detail, magic formation, camera movement/angle}.\n\nSeparate each prompt with “--” for easy post-processing.\n\nPlease begin your creative process now.",112420005342677,0,0.6,4096,"fixed",true]},{"id":258,"type":"FeiMao_326_GetListElement","pos":[2545.6831753701304,-579.5220168365955],"size":[326.30208333333337,58],"flags":{},"order":35,"mode":0,"inputs":[{"localized_name":"list_input","name":"list_input","type":"LIST","link":364},{"localized_name":"index","name":"index","type":"INT","widget":{"name":"index"},"link":null}],"outputs":[{"localized_name":"item","name":"item","type":"STRING","links":[386]}],"properties":{"cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","Node name for S&R":"FeiMao_326_GetListElement","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[2]},{"id":259,"type":"FeiMao_326_GetListElement","pos":[2511.5874949226604,-765.8007485743112],"size":[326.30208333333337,58],"flags":{},"order":36,"mode":0,"inputs":[{"localized_name":"list_input","name":"list_input","type":"LIST","link":365},{"localized_name":"index","name":"index","type":"INT","widget":{"name":"index"},"link":null}],"outputs":[{"localized_name":"item","name":"item","type":"STRING","links":[387]}],"properties":{"cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","Node name for S&R":"FeiMao_326_GetListElement","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[1]},{"id":260,"type":"FeiMao_326_GetListElement","pos":[2499.4638940597274,-925.8375652487574],"size":[326.30208333333337,58],"flags":{},"order":37,"mode":0,"inputs":[{"localized_name":"list_input","name":"list_input","type":"LIST","link":366},{"localized_name":"index","name":"index","type":"INT","widget":{"name":"index"},"link":null}],"outputs":[{"localized_name":"item","name":"item","type":"STRING","links":[388]}],"properties":{"cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","Node name for S&R":"FeiMao_326_GetListElement","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[0]},{"id":261,"type":"FeiMao_326_GetListElement","pos":[2537.991162419709,-389.8154198218332],"size":[326.30208333333337,58],"flags":{},"order":38,"mode":0,"inputs":[{"localized_name":"list_input","name":"list_input","type":"LIST","link":367},{"localized_name":"index","name":"index","type":"INT","widget":{"name":"index"},"link":null}],"outputs":[{"localized_name":"item","name":"item","type":"STRING","links":[385]}],"properties":{"cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","Node name for S&R":"FeiMao_326_GetListElement","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[4]},{"id":262,"type":"FeiMao_326_GetListElement","pos":[2560.689881014308,-224.23583683058567],"size":[326.30208333333337,58],"flags":{},"order":39,"mode":0,"inputs":[{"localized_name":"list_input","name":"list_input","type":"LIST","link":368},{"localized_name":"index","name":"index","type":"INT","widget":{"name":"index"},"link":null}],"outputs":[{"localized_name":"item","name":"item","type":"STRING","links":[384]}],"properties":{"cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","Node name for S&R":"FeiMao_326_GetListElement","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[5]},{"id":263,"type":"FeiMao_326_GetListElement","pos":[2561.6454323136654,-44.356804914671194],"size":[326.30208333333337,58],"flags":{},"order":40,"mode":0,"inputs":[{"localized_name":"list_input","name":"list_input","type":"LIST","link":369},{"localized_name":"index","name":"index","type":"INT","widget":{"name":"index"},"link":null}],"outputs":[{"localized_name":"item","name":"item","type":"STRING","links":[383]}],"properties":{"cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","Node name for S&R":"FeiMao_326_GetListElement","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[6]},{"id":264,"type":"FeiMao_326_TextIterator","pos":[4136.225105927895,-1975.2327436607404],"size":[400,112],"flags":{},"order":18,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","widget":{"name":"text"},"link":370},{"localized_name":"delimiter","name":"delimiter","type":"STRING","widget":{"name":"delimiter"},"link":null}],"outputs":[{"localized_name":"text","name":"text","shape":6,"type":"STRING","links":[393]}],"properties":{"cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","Node name for S&R":"FeiMao_326_TextIterator","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":["","*"]},{"id":265,"type":"ShowTextNode","pos":[2523.708486986337,-1883.4686672501382],"size":[384.71062909659025,317.76745635445695],"flags":{"collapsed":false},"order":44,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","link":371}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":6,"type":"STRING","links":null}],"properties":{"cnr_id":"general-api-node","ver":"bf4105200b91a79ebc6d3f3bd607d0db13d337f4","Node name for S&R":"ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.1"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[]},{"id":267,"type":"SimpleTextNode","pos":[1592.0053515925097,-950.7477900694217],"size":[447.39583333333337,388.5546875],"flags":{},"order":7,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","widget":{"name":"text"},"link":null}],"outputs":[{"localized_name":"text","name":"text","type":"STRING","links":[360]}],"properties":{"cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","Node name for S&R":"SimpleTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":["Keep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Perfect front view closeup low angle symmetrical wide angle perspective. Shot from the floor looking at the grill and windshield. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Perfect rear view low angle symmetrical wide angle perspective. Shot from the floor looking up at the rear bumper, tail lights, spoiler. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Perfect high angle 3/4 front wide angle perspective. Shot from the floor looking up at the car. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Perfect high angle 3/4 rear wide angle perspective. Dutch tilt. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Cropped view front quarter panel closeup. Shot head on to only capture front wheel front quarter panel, hood. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Cropped view rear quarter panel closeup. Shot head on to only capture rear wheel rear quarter panel, hood. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Top-down view looking directly down at the top of the car. Showing the full car centrally placed in the image from above. Immaculate texture and material detail. *\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Cropped view - Closeup shot from a mount on the front tire lookin down the side of the car. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Closeup shot from a mount on the spolier looking towards the front of the car from a rear view capturing the rear windshield and roof. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Perfect front view. Cropped closeup showing the left side of the car. Shot from eye low angle at left side of the car showing the left headlight, front fender, windshield. Immaculate texture and material detail.*\n\n\n\n "]},{"id":268,"type":"ShowTextNode","pos":[668.9180022225145,-966.9207818910398],"size":[358.6840431368504,319.8665028030498],"flags":{"collapsed":false},"order":28,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","link":373}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":6,"type":"STRING","links":null}],"properties":{"cnr_id":"general-api-node","ver":"c5eb20763a9562b0810f55c4f805c3af165406c7","Node name for S&R":"ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[]},{"id":272,"type":"FeiMao_326_GeneralAPINode","pos":[500.79882565145476,-1502.2585407424046],"size":[404.7727901136426,398],"flags":{},"order":26,"mode":0,"inputs":[{"localized_name":"image_1","name":"image_1","shape":7,"type":"IMAGE","link":395},{"localized_name":"image_2","name":"image_2","shape":7,"type":"IMAGE","link":null},{"localized_name":"image_3","name":"image_3","shape":7,"type":"IMAGE","link":null},{"localized_name":"api_baseurl","name":"api_baseurl","type":"STRING","widget":{"name":"api_baseurl"},"link":null},{"localized_name":"api_key","name":"api_key","type":"STRING","widget":{"name":"api_key"},"link":376},{"localized_name":"model","name":"model","type":"STRING","widget":{"name":"model"},"link":null},{"localized_name":"role","name":"role","type":"STRING","widget":{"name":"role"},"link":null},{"localized_name":"prompt","name":"prompt","type":"STRING","widget":{"name":"prompt"},"link":null},{"localized_name":"seed","name":"seed","type":"INT","widget":{"name":"seed"},"link":null},{"localized_name":"temperature","name":"temperature","type":"FLOAT","widget":{"name":"temperature"},"link":null},{"localized_name":"max_tokens","name":"max_tokens","type":"INT","widget":{"name":"max_tokens"},"link":null},{"localized_name":"control_after_generate","name":"control_after_generate","type":"COMBO","widget":{"name":"control_after_generate"},"link":null},{"localized_name":"cleanup_local_gpu","name":"cleanup_local_gpu","type":"BOOLEAN","widget":{"name":"cleanup_local_gpu"},"link":null}],"outputs":[{"localized_name":"describe","name":"describe","type":"STRING","links":[378]},{"localized_name":"seed","name":"seed","type":"INT","links":null},{"localized_name":"image","name":"image","type":"IMAGE","links":null}],"properties":{"cnr_id":"general-api-node","ver":"c5eb20763a9562b0810f55c4f805c3af165406c7","Node name for S&R":"FeiMao_326_GeneralAPINode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":["https://integrate.api.nvidia.com/v1","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","meta/llama-3.2-90b-vision-instruct","","请用中文描述图中人物",978719909721213,"randomize",0.6,4096,"fixed",true]},{"id":273,"type":"ShowTextNode","pos":[969.292557467371,-1994.5624999381214],"size":[520.4357822737023,369.37761895702056],"flags":{},"order":43,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","link":377}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":6,"type":"STRING","links":null}],"properties":{"cnr_id":"general-api-node","ver":"c5eb20763a9562b0810f55c4f805c3af165406c7","Node name for S&R":"ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"}},"widgets_values":[]},{"id":274,"type":"ShowTextNode","pos":[954.9189263806558,-1483.9864671044454],"size":[518.4542299894928,385.5660269300797],"flags":{},"order":42,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","link":378}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":6,"type":"STRING","links":null}],"properties":{"cnr_id":"general-api-node","ver":"c5eb20763a9562b0810f55c4f805c3af165406c7","Node name for S&R":"ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"}},"widgets_values":[]},{"id":277,"type":"FeiMao_326_GeneralAPINode","pos":[498.31337255074527,-1958.011115669921],"size":[428.0057108666124,399.07714272563885],"flags":{},"order":27,"mode":0,"inputs":[{"localized_name":"image_1","name":"image_1","shape":7,"type":"IMAGE","link":394},{"localized_name":"image_2","name":"image_2","shape":7,"type":"IMAGE","link":null},{"localized_name":"image_3","name":"image_3","shape":7,"type":"IMAGE","link":null},{"localized_name":"api_baseurl","name":"api_baseurl","type":"STRING","widget":{"name":"api_baseurl"},"link":null},{"localized_name":"api_key","name":"api_key","type":"STRING","widget":{"name":"api_key"},"link":380},{"localized_name":"model","name":"model","type":"STRING","widget":{"name":"model"},"link":null},{"localized_name":"role","name":"role","type":"STRING","widget":{"name":"role"},"link":null},{"localized_name":"prompt","name":"prompt","type":"STRING","widget":{"name":"prompt"},"link":null},{"localized_name":"seed","name":"seed","type":"INT","widget":{"name":"seed"},"link":null},{"localized_name":"temperature","name":"temperature","type":"FLOAT","widget":{"name":"temperature"},"link":null},{"localized_name":"max_tokens","name":"max_tokens","type":"INT","widget":{"name":"max_tokens"},"link":null},{"localized_name":"control_after_generate","name":"control_after_generate","type":"COMBO","widget":{"name":"control_after_generate"},"link":null},{"localized_name":"cleanup_local_gpu","name":"cleanup_local_gpu","type":"BOOLEAN","widget":{"name":"cleanup_local_gpu"},"link":null}],"outputs":[{"localized_name":"describe","name":"describe","type":"STRING","links":[377]},{"localized_name":"seed","name":"seed","type":"INT","links":null},{"localized_name":"image","name":"image","type":"IMAGE","links":null}],"properties":{"cnr_id":"general-api-node","ver":"c5eb20763a9562b0810f55c4f805c3af165406c7","Node name for S&R":"FeiMao_326_GeneralAPINode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"}},"widgets_values":["https://integrate.api.nvidia.com/v1","ollama","moonshotai/kimi-k2.5","You are a helpful assistant. Follow the user's instructions exactly. Output only the requested content without conversational filler, markdown formatting, or explanations.","Describe this image in detail.\n“请用中文回答我”",71895091568125,"randomize",0.6,4096,"fixed",true]},{"id":278,"type":"SaveImage","pos":[648.7274544715145,-575.7584530150377],"size":[395.2604166666667,651.2890625],"flags":{},"order":29,"mode":0,"inputs":[{"localized_name":"图片","name":"images","type":"IMAGE","link":381},{"localized_name":"文件名前缀","name":"filename_prefix","type":"STRING","widget":{"name":"filename_prefix"},"link":null}],"outputs":[],"properties":{"cnr_id":"comfy-core","ver":"0.11.0","Node name for S&R":"SaveImage","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"}},"widgets_values":["ComfyUI"]},{"id":279,"type":"ShowTextNode","pos":[423.30527706347647,195.53476660301683],"size":[431.07335667692246,354.27512171161106],"flags":{},"order":32,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","link":382}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":6,"type":"STRING","links":null}],"properties":{"cnr_id":"general-api-node","ver":"bf4105200b91a79ebc6d3f3bd607d0db13d337f4","Node name for S&R":"ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.1"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[]},{"id":280,"type":"ShowTextNode","pos":[3000.705762536198,-86.79607054261955],"size":[359.74817359710005,115.33958025004085],"flags":{},"order":50,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","link":383}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":6,"type":"STRING","links":null}],"properties":{"cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","Node name for S&R":"ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[]},{"id":281,"type":"ShowTextNode","pos":[3014.9237918398035,-253.66296664405974],"size":[330.25743836893116,111.00270742236899],"flags":{},"order":49,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","link":384}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":6,"type":"STRING","links":null}],"properties":{"cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","Node name for S&R":"ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[]},{"id":282,"type":"ShowTextNode","pos":[3008.6757814115394,-415.23413444108394],"size":[339.79855858980955,98.85946350488769],"flags":{},"order":48,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","link":385}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":6,"type":"STRING","links":null}],"properties":{"cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","Node name for S&R":"ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[]},{"id":283,"type":"ShowTextNode","pos":[3001.736133852312,-589.2237939324365],"size":[339.6605230056615,117.94170394664411],"flags":{},"order":45,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","link":386}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":6,"type":"STRING","links":null}],"properties":{"cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","Node name for S&R":"ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[]},{"id":284,"type":"ShowTextNode","pos":[2999.0245382786457,-771.1364350239039],"size":[341.34488714402084,117.07432938110946],"flags":{},"order":46,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","link":387}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":6,"type":"STRING","links":null}],"properties":{"cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","Node name for S&R":"ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[]},{"id":285,"type":"ShowTextNode","pos":[2994.2259556638023,-953.1104169084898],"size":[343.0134244660313,117.94170394664388],"flags":{},"order":47,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","link":388}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":6,"type":"STRING","links":null}],"properties":{"cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","Node name for S&R":"ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[]},{"id":286,"type":"ShowTextNode","pos":[4356.0551076360725,221.05037764275676],"size":[265.61925149897075,101.69814390118182],"flags":{},"order":23,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","link":389}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":6,"type":"STRING","links":null}],"properties":{"cnr_id":"general-api-node","ver":"bf4105200b91a79ebc6d3f3bd607d0db13d337f4","Node name for S&R":"ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.1"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[]},{"id":287,"type":"ShowTextNode","pos":[4349.9976824394935,64.71360960768635],"size":[270.3503854927946,101.69814390118188],"flags":{},"order":22,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","link":390}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":6,"type":"STRING","links":null}],"properties":{"cnr_id":"general-api-node","ver":"bf4105200b91a79ebc6d3f3bd607d0db13d337f4","Node name for S&R":"ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.1"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[]},{"id":288,"type":"ShowTextNode","pos":[4345.087268820934,-110.23483885683765],"size":[274.2929971543144,111.94893422113353],"flags":{},"order":21,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","link":391}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":6,"type":"STRING","links":null}],"properties":{"cnr_id":"general-api-node","ver":"bf4105200b91a79ebc6d3f3bd607d0db13d337f4","Node name for S&R":"ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.1"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[]},{"id":289,"type":"ShowTextNode","pos":[4343.835251605621,-269.5132085635943],"size":[268.7733408281866,96.96700990735803],"flags":{},"order":20,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","link":392}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":6,"type":"STRING","links":null}],"properties":{"cnr_id":"general-api-node","ver":"bf4105200b91a79ebc6d3f3bd607d0db13d337f4","Node name for S&R":"ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.1"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[]},{"id":290,"type":"ShowTextNode","pos":[4567.669818301325,-1981.0988835880528],"size":[525.3439520576937,472.04331498340923],"flags":{},"order":33,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","link":393}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":6,"type":"STRING","links":null}],"properties":{"cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","Node name for S&R":"ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[]},{"id":152,"type":"LoadImage","pos":[-163.21410099832974,-1912.2727559222906],"size":[210,326],"flags":{},"order":8,"mode":0,"inputs":[{"localized_name":"图像","name":"image","type":"COMBO","widget":{"name":"image"},"link":null},{"localized_name":"选择文件上传","name":"upload","type":"IMAGEUPLOAD","widget":{"name":"upload"},"link":null}],"outputs":[{"localized_name":"图像","name":"IMAGE","type":"IMAGE","links":[394,395]},{"localized_name":"遮罩","name":"MASK","type":"MASK","links":null}],"properties":{"cnr_id":"comfy-core","ver":"0.3.71","Node name for S&R":"LoadImage","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.1"}},"widgets_values":["ComfyUI_00017_.png","image"]},{"id":275,"type":"SimpleTextNode","pos":[169.92381298012214,-1629.605130447948],"size":[211.3521484375,88],"flags":{"collapsed":false},"order":11,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","widget":{"name":"text"},"link":null}],"outputs":[{"localized_name":"text","name":"text","type":"STRING","links":[376,380]}],"title":"API","properties":{"cnr_id":"general-api-node","ver":"c5eb20763a9562b0810f55c4f805c3af165406c7","Node name for S&R":"SimpleTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"}},"widgets_values":[""]},{"id":269,"type":"FeiMao_326_GeneralAPINode","pos":[102.71461541717544,-905.0587260758756],"size":[395.3250314329036,574.3199016818301],"flags":{},"order":12,"mode":0,"inputs":[{"localized_name":"image_1","name":"image_1","shape":7,"type":"IMAGE","link":null},{"localized_name":"image_2","name":"image_2","shape":7,"type":"IMAGE","link":null},{"localized_name":"image_3","name":"image_3","shape":7,"type":"IMAGE","link":null},{"localized_name":"api_baseurl","name":"api_baseurl","type":"STRING","widget":{"name":"api_baseurl"},"link":null},{"localized_name":"api_key","name":"api_key","type":"STRING","widget":{"name":"api_key"},"link":null},{"localized_name":"model","name":"model","type":"STRING","widget":{"name":"model"},"link":null},{"localized_name":"role","name":"role","type":"STRING","widget":{"name":"role"},"link":null},{"localized_name":"prompt","name":"prompt","type":"STRING","widget":{"name":"prompt"},"link":null},{"localized_name":"seed","name":"seed","type":"INT","widget":{"name":"seed"},"link":null},{"localized_name":"temperature","name":"temperature","type":"FLOAT","widget":{"name":"temperature"},"link":null},{"localized_name":"max_tokens","name":"max_tokens","type":"INT","widget":{"name":"max_tokens"},"link":null},{"localized_name":"control_after_generate","name":"control_after_generate","type":"COMBO","widget":{"name":"control_after_generate"},"link":null},{"localized_name":"cleanup_local_gpu","name":"cleanup_local_gpu","type":"BOOLEAN","widget":{"name":"cleanup_local_gpu"},"link":null}],"outputs":[{"localized_name":"describe","name":"describe","type":"STRING","links":[373]},{"localized_name":"seed","name":"seed","type":"INT","links":null},{"localized_name":"image","name":"image","type":"IMAGE","links":[381]}],"properties":{"cnr_id":"general-api-node","ver":"c5eb20763a9562b0810f55c4f805c3af165406c7","Node name for S&R":"FeiMao_326_GeneralAPINode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":["https://generativelanguage.googleapis.com/v1beta/","","gemini-3-pro-image-preview","","{\n \"prompt\": \"macro photography, hyper-realistic, (giant elegant female hand with beautiful long manicured fingers:1.5), (gently lifting a tiny young woman by the back strap of her blue dress:1.3), (thumb and index finger holding the fabric from behind:1.4), the woman is hanging in the air, dangling legs, feet pointing down, (gravity effect on the clothes:1.3), dress pulled up by the grip, beautiful daylight, seaside background, blurred background, dreamy atmosphere, 8k resolution, cinematic lighting\",\n \"negative_prompt\": \"child, kid, underaged, fear, crying, violence, aggressive, holding head, grabbing head, touching face, male hand, hairy hand, ugly fingers, bad anatomy, distorted limbs, cartoon, illustration, floating without support\",\n \"parameters\": {\n \"aspect_ratio\": \"9:16\",\n \"steps\": 30,\n \"cfg_scale\": 7\n }\n}",40547297151565,"randomize",0.6,4096,"fixed",true]},{"id":270,"type":"ttN text","pos":[-237.17637064906836,-712.6851101348374],"size":[333.33333333333337,88],"flags":{},"order":13,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","widget":{"name":"text"},"link":null}],"outputs":[{"localized_name":"text","name":"text","type":"STRING","links":null}],"title":"Gemini model","properties":{"cnr_id":"comfyui_tinyterranodes","ver":"2.0.10","Node name for S&R":"ttN text","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"ttNnodeVersion":"1.0.0"},"widgets_values":["gemini-3-pro-preview\ngemini-3-pro-image-preview"]},{"id":253,"type":"FeiMao_326_GeneralAPINode","pos":[1117.706148723509,-962.510275329196],"size":[400,398],"flags":{},"order":14,"mode":0,"inputs":[{"localized_name":"image_1","name":"image_1","shape":7,"type":"IMAGE","link":null},{"localized_name":"image_2","name":"image_2","shape":7,"type":"IMAGE","link":null},{"localized_name":"image_3","name":"image_3","shape":7,"type":"IMAGE","link":null},{"localized_name":"api_baseurl","name":"api_baseurl","type":"STRING","widget":{"name":"api_baseurl"},"link":null},{"localized_name":"api_key","name":"api_key","type":"STRING","widget":{"name":"api_key"},"link":null},{"localized_name":"model","name":"model","type":"STRING","widget":{"name":"model"},"link":null},{"localized_name":"role","name":"role","type":"STRING","widget":{"name":"role"},"link":null},{"localized_name":"prompt","name":"prompt","type":"STRING","widget":{"name":"prompt"},"link":null},{"localized_name":"seed","name":"seed","type":"INT","widget":{"name":"seed"},"link":null},{"localized_name":"temperature","name":"temperature","type":"FLOAT","widget":{"name":"temperature"},"link":null},{"localized_name":"max_tokens","name":"max_tokens","type":"INT","widget":{"name":"max_tokens"},"link":null},{"localized_name":"control_after_generate","name":"control_after_generate","type":"COMBO","widget":{"name":"control_after_generate"},"link":null},{"localized_name":"cleanup_local_gpu","name":"cleanup_local_gpu","type":"BOOLEAN","widget":{"name":"cleanup_local_gpu"},"link":null}],"outputs":[{"localized_name":"describe","name":"describe","type":"STRING","links":[372]},{"localized_name":"seed","name":"seed","type":"INT","links":null},{"localized_name":"image","name":"image","type":"IMAGE","links":null}],"properties":{"cnr_id":"general-api-node","ver":"06f91e232c4a432205f26e82017dcf8895513d7b","Node name for S&R":"FeiMao_326_GeneralAPINode","ue_properties":{"widget_ue_connectable":{"api_baseurl":true,"api_key":true,"model":true,"role":true,"prompt":true,"seed":true,"temperature":true,"max_tokens":true,"control_after_generate":true,"cleanup_local_gpu":true},"version":"7.1","input_ue_unconnectable":{}},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":["https://api.deepseek.com/v1","","deepseek-reasoner","You are a professional fiction writer","Please help me write a novel about a mortal's journey to immortality. If I'm broke, I can only write two episodes.",242020679879259,0,0.6,4096,"fixed",true]},{"id":296,"type":"LoadImage","pos":[-237.47913313515437,194.5576341504901],"size":[210,326],"flags":{},"order":17,"mode":0,"inputs":[{"localized_name":"图像","name":"image","type":"COMBO","widget":{"name":"image"},"link":null},{"localized_name":"选择文件上传","name":"upload","type":"IMAGEUPLOAD","widget":{"name":"upload"},"link":null}],"outputs":[{"localized_name":"图像","name":"IMAGE","type":"IMAGE","links":[404]},{"localized_name":"遮罩","name":"MASK","type":"MASK","links":null}],"properties":{"cnr_id":"comfy-core","ver":"0.3.71","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.1"},"Node name for S&R":"LoadImage"},"widgets_values":["ComfyUI_00017_.png","image"]},{"id":266,"type":"ShowTextNode","pos":[1125.8250025891398,-512.0350903491923],"size":[392.11453927570346,329.3122118217193],"flags":{},"order":30,"mode":0,"inputs":[{"localized_name":"text","name":"text","type":"STRING","link":372}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":6,"type":"STRING","links":null}],"properties":{"cnr_id":"general-api-node","ver":"bf4105200b91a79ebc6d3f3bd607d0db13d337f4","Node name for S&R":"ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.1"},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":[]},{"id":294,"type":"LoadImage","pos":[1833.1585190821115,-1537.51377389701],"size":[210,326],"flags":{},"order":9,"mode":0,"inputs":[{"localized_name":"图像","name":"image","type":"COMBO","widget":{"name":"image"},"link":null},{"localized_name":"选择文件上传","name":"upload","type":"IMAGEUPLOAD","widget":{"name":"upload"},"link":null}],"outputs":[{"localized_name":"图像","name":"IMAGE","type":"IMAGE","links":[400]},{"localized_name":"遮罩","name":"MASK","type":"MASK","links":null}],"properties":{"cnr_id":"comfy-core","ver":"0.3.71","Node name for S&R":"LoadImage","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.1"}},"widgets_values":["ComfyUI_00017_.png","image"]},{"id":293,"type":"LoadImage","pos":[1601.2744593644488,-1648.5356996682424],"size":[210,326],"flags":{},"order":15,"mode":0,"inputs":[{"localized_name":"图像","name":"image","type":"COMBO","widget":{"name":"image"},"link":null},{"localized_name":"选择文件上传","name":"upload","type":"IMAGEUPLOAD","widget":{"name":"upload"},"link":null}],"outputs":[{"localized_name":"图像","name":"IMAGE","type":"IMAGE","links":[399]},{"localized_name":"遮罩","name":"MASK","type":"MASK","links":null}],"properties":{"cnr_id":"comfy-core","ver":"0.3.71","Node name for S&R":"LoadImage","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.1"}},"widgets_values":["ComfyUI_00017_.png","image"]},{"id":291,"type":"LoadImage","pos":[1810.8114360449626,-1937.8422793279126],"size":[210,326],"flags":{},"order":10,"mode":0,"inputs":[{"localized_name":"图像","name":"image","type":"COMBO","widget":{"name":"image"},"link":null},{"localized_name":"选择文件上传","name":"upload","type":"IMAGEUPLOAD","widget":{"name":"upload"},"link":null}],"outputs":[{"localized_name":"图像","name":"IMAGE","type":"IMAGE","links":[396,397]},{"localized_name":"遮罩","name":"MASK","type":"MASK","links":null}],"properties":{"cnr_id":"comfy-core","ver":"0.3.71","Node name for S&R":"LoadImage","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.1"}},"widgets_values":["ComfyUI_00017_.png","image"]},{"id":251,"type":"FeiMao_326_GeneralAPINode","pos":[2.533687683185126,185.0305276765214],"size":[392.5260416666667,398],"flags":{},"order":16,"mode":0,"inputs":[{"localized_name":"image_1","name":"image_1","shape":7,"type":"IMAGE","link":404},{"localized_name":"image_2","name":"image_2","shape":7,"type":"IMAGE","link":null},{"localized_name":"image_3","name":"image_3","shape":7,"type":"IMAGE","link":null},{"localized_name":"api_baseurl","name":"api_baseurl","type":"STRING","widget":{"name":"api_baseurl"},"link":null},{"localized_name":"api_key","name":"api_key","type":"STRING","widget":{"name":"api_key"},"link":null},{"localized_name":"model","name":"model","type":"STRING","widget":{"name":"model"},"link":null},{"localized_name":"role","name":"role","type":"STRING","widget":{"name":"role"},"link":null},{"localized_name":"prompt","name":"prompt","type":"STRING","widget":{"name":"prompt"},"link":null},{"localized_name":"seed","name":"seed","type":"INT","widget":{"name":"seed"},"link":null},{"localized_name":"temperature","name":"temperature","type":"FLOAT","widget":{"name":"temperature"},"link":null},{"localized_name":"max_tokens","name":"max_tokens","type":"INT","widget":{"name":"max_tokens"},"link":null},{"localized_name":"control_after_generate","name":"control_after_generate","type":"COMBO","widget":{"name":"control_after_generate"},"link":null},{"localized_name":"cleanup_local_gpu","name":"cleanup_local_gpu","type":"BOOLEAN","widget":{"name":"cleanup_local_gpu"},"link":null}],"outputs":[{"localized_name":"describe","name":"describe","type":"STRING","links":[382]},{"localized_name":"seed","name":"seed","type":"INT","links":null},{"localized_name":"image","name":"image","type":"IMAGE","links":null}],"properties":{"cnr_id":"general-api-node","ver":"06f91e232c4a432205f26e82017dcf8895513d7b","Node name for S&R":"FeiMao_326_GeneralAPINode","ue_properties":{"widget_ue_connectable":{"api_baseurl":true,"api_key":true,"model":true,"role":true,"prompt":true,"seed":true,"temperature":true,"max_tokens":true,"control_after_generate":true,"cleanup_local_gpu":true},"version":"7.1","input_ue_unconnectable":{}},"aux_id":"FeiMao-326/Comfyui-General-API-Node"},"widgets_values":["https://api.perplexity.ai","","sonar-reasoning-pro","你是一个图像提示词专家","“请直接给出图像描述和提示词,格式如下:描述:XXXX,提示词:XXXX。”\n\n“请将描述和提示词分开,直接输出,不需要附加标签或处理标记。”",430824979390636,0,0.6,4096,"fixed",true]}],"links":[[351,255,0,246,0,"STRING"],[353,247,0,248,0,"STRING"],[355,241,0,255,0,"STRING"],[356,242,0,255,1,"STRING"],[357,243,0,255,2,"STRING"],[358,244,0,255,3,"STRING"],[359,245,0,255,4,"STRING"],[360,267,0,256,0,"STRING"],[364,256,0,258,0,"LIST"],[365,256,0,259,0,"LIST"],[366,256,0,260,0,"LIST"],[367,256,0,261,0,"LIST"],[368,256,0,262,0,"LIST"],[369,256,0,263,0,"LIST"],[370,240,0,264,0,"STRING"],[371,257,0,265,0,"STRING"],[372,253,0,266,0,"STRING"],[373,269,0,268,0,"STRING"],[376,275,0,272,4,"STRING"],[377,277,0,273,0,"STRING"],[378,272,0,274,0,"STRING"],[380,275,0,277,4,"STRING"],[381,269,2,278,0,"IMAGE"],[382,251,0,279,0,"STRING"],[383,263,0,280,0,"STRING"],[384,262,0,281,0,"STRING"],[385,261,0,282,0,"STRING"],[386,258,0,283,0,"STRING"],[387,259,0,284,0,"STRING"],[388,260,0,285,0,"STRING"],[389,254,3,286,0,"STRING"],[390,254,2,287,0,"STRING"],[391,254,1,288,0,"STRING"],[392,254,0,289,0,"STRING"],[393,264,0,290,0,"STRING"],[394,152,0,277,0,"IMAGE"],[395,152,0,272,0,"IMAGE"],[396,291,0,247,0,"IMAGE"],[397,291,0,257,0,"IMAGE"],[399,293,0,257,1,"IMAGE"],[400,294,0,257,2,"IMAGE"],[404,296,0,251,0,"IMAGE"]],"groups":[{"id":7,"title":"Text Iterator","bounding":[3602.355907594222,-2061.2991332885435,1540.9806498928065,766.3696847589775],"color":"#3f789e","font_size":24,"flags":{}},{"id":8,"title":"Text Split By Delimiter (Array) Get List Element (List)","bounding":[1582.0044947743686,-1026.7103559516177,1812.0540247203269,1086.7160495503697],"color":"#3f789e","font_size":24,"flags":{}},{"id":9,"title":"JSON Parser","bounding":[3610.899763275097,-343.1132180839943,1019.9901240586029,682.166214602045],"color":"#3f789e","font_size":24,"flags":{}},{"id":10,"title":"Text Batch Replace","bounding":[3607.6821668513903,-1258.6626780579936,1299.2389277959473,898.4015511851885],"color":"#3f789e","font_size":24,"flags":{}},{"id":11,"title":"Ollama","bounding":[1581.2302140281286,-2074.803094990241,1999.1968767855083,1025.190887652889],"color":"#3f789e","font_size":24,"flags":{}},{"id":12,"title":"nvidia","bounding":[-246.5164832167868,-2070.8367706402646,1802.608722813446,1001.9641716155891],"color":"#3f789e","font_size":24,"flags":{}},{"id":13,"title":"Gemini","bounding":[-247.17637064906836,-1040.5207818910394,1301.164241787248,1126.0513913760017],"color":"#3f789e","font_size":24,"flags":{}},{"id":14,"title":"DeepSeek","bounding":[1107.7061487235085,-1036.1102753291957,431.678952499194,869.1139382589404],"color":"#3f789e","font_size":24,"flags":{}},{"id":15,"title":"Perplexity","bounding":[-247.47913313515437,111.43052767652122,1111.8577668755531,481.6],"color":"#3f789e","font_size":24,"flags":{}}],"config":{},"extra":{"0246.VERSION":[0,0,4],"ds":{"scale":0.8140274938684027,"offset":[864.8513576348395,397.2549861058668]},"ue_links":[],"links_added_by_ue":[],"workflowRendererVersion":"LG"},"version":0.4} +======= +{"id":"aa9cbca8-5465-45d2-a18d-8a1947708a21","revision":0,"last_node_id":366,"last_link_id":462,"nodes":[{"id":256,"type":"FeiMao_326_TextSplitByDelimiter","pos":[2061.1645746874574,-779.0655565622393],"size":[400,176],"flags":{},"order":30,"mode":0,"inputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","widget":{"name":"text"},"link":437},{"localized_name":"delimiter","name":"delimiter","shape":0,"type":"STRING","widget":{"name":"delimiter"},"link":null}],"outputs":[{"localized_name":"array","name":"array","shape":0,"type":"LIST","links":[364,365,366,367,368,369,452,453,454,455]}],"properties":{"aux_id":"FeiMao-326/Comfyui-General-API-Node","Node name for S&R":"FeiMao_326_TextSplitByDelimiter","cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"}},"widgets_values":["","*"]},{"id":278,"type":"SaveImage","pos":[648.7276479114187,-575.7581694010223],"size":[395.25,651.28125],"flags":{},"order":24,"mode":0,"inputs":[{"localized_name":"图片","name":"images","type":"IMAGE","link":381},{"localized_name":"文件名前缀","name":"filename_prefix","type":"STRING","widget":{"name":"filename_prefix"},"link":null}],"outputs":[],"properties":{"cnr_id":"comfy-core","ver":"0.11.0","Node name for S&R":"SaveImage","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"}},"widgets_values":["ComfyUI"]},{"id":299,"type":"LoadImage","pos":[1602.7446248683095,-2002.0001220044637],"size":[225,344],"flags":{},"order":0,"mode":0,"inputs":[{"localized_name":"图像","name":"image","type":"COMBO","widget":{"name":"image"},"link":null},{"localized_name":"选择文件上传","name":"upload","type":"IMAGEUPLOAD","widget":{"name":"upload"},"link":null}],"outputs":[{"localized_name":"图像","name":"IMAGE","type":"IMAGE","links":[409,410]},{"localized_name":"遮罩","name":"MASK","type":"MASK","links":null}],"properties":{"cnr_id":"comfy-core","ver":"0.3.71","Node name for S&R":"LoadImage","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.1"}},"widgets_values":["9665.png","image"]},{"id":264,"type":"FeiMao_326_TextIterator","pos":[4136.225201096402,-1975.232579301052],"size":[400,176],"flags":{},"order":25,"mode":0,"inputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","widget":{"name":"text"},"link":418},{"localized_name":"delimiter","name":"delimiter","shape":0,"type":"STRING","widget":{"name":"delimiter"},"link":null}],"outputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","links":[448]}],"properties":{"aux_id":"FeiMao-326/Comfyui-General-API-Node","Node name for S&R":"FeiMao_326_TextIterator","cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"}},"widgets_values":["","*"]},{"id":255,"type":"FeiMao_326_TextBatchReplace","pos":[4077.333465431062,-1185.062995621169],"size":[400,716],"flags":{},"order":26,"mode":0,"inputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","widget":{"name":"text"},"link":439},{"localized_name":"find_1","name":"find_1","shape":0,"type":"STRING","widget":{"name":"find_1"},"link":440},{"localized_name":"replace_1","name":"replace_1","shape":0,"type":"STRING","widget":{"name":"replace_1"},"link":441},{"localized_name":"find_2","name":"find_2","shape":0,"type":"STRING","widget":{"name":"find_2"},"link":442},{"localized_name":"replace_2","name":"replace_2","shape":0,"type":"STRING","widget":{"name":"replace_2"},"link":443},{"localized_name":"find_3","name":"find_3","shape":0,"type":"STRING","widget":{"name":"find_3"},"link":null},{"localized_name":"replace_3","name":"replace_3","shape":0,"type":"STRING","widget":{"name":"replace_3"},"link":null},{"localized_name":"find_4","name":"find_4","shape":0,"type":"STRING","widget":{"name":"find_4"},"link":null},{"localized_name":"replace_4","name":"replace_4","shape":0,"type":"STRING","widget":{"name":"replace_4"},"link":null},{"localized_name":"find_5","name":"find_5","shape":0,"type":"STRING","widget":{"name":"find_5"},"link":null},{"localized_name":"replace_5","name":"replace_5","shape":0,"type":"STRING","widget":{"name":"replace_5"},"link":null},{"localized_name":"find_6","name":"find_6","shape":0,"type":"STRING","widget":{"name":"find_6"},"link":null},{"localized_name":"replace_6","name":"replace_6","shape":0,"type":"STRING","widget":{"name":"replace_6"},"link":null},{"localized_name":"find_7","name":"find_7","shape":0,"type":"STRING","widget":{"name":"find_7"},"link":null},{"localized_name":"replace_7","name":"replace_7","shape":0,"type":"STRING","widget":{"name":"replace_7"},"link":null},{"localized_name":"find_8","name":"find_8","shape":0,"type":"STRING","widget":{"name":"find_8"},"link":null},{"localized_name":"replace_8","name":"replace_8","shape":0,"type":"STRING","widget":{"name":"replace_8"},"link":null}],"outputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","links":[420]}],"properties":{"aux_id":"FeiMao-326/Comfyui-General-API-Node","Node name for S&R":"FeiMao_326_TextBatchReplace","cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"}},"widgets_values":["","","","","","","","","","","","","","","","",""]},{"id":314,"type":"FeiMao_326_ShowTextNode","pos":[4335.247385956832,-75.88116098135231],"size":[270.375,140],"flags":{},"order":19,"mode":0,"inputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","link":422}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":0,"type":"STRING","links":null}],"properties":{"Node name for S&R":"FeiMao_326_ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.8"}},"widgets_values":[]},{"id":315,"type":"FeiMao_326_ShowTextNode","pos":[4338.326528634088,150.8531386791003],"size":[270.375,140],"flags":{},"order":20,"mode":0,"inputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","link":423}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":0,"type":"STRING","links":null}],"properties":{"Node name for S&R":"FeiMao_326_ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.8"}},"widgets_values":[]},{"id":316,"type":"FeiMao_326_ShowTextNode","pos":[4344.472624727949,348.24991949046785],"size":[270.375,140],"flags":{},"order":21,"mode":0,"inputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","link":424}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":0,"type":"STRING","links":null}],"properties":{"Node name for S&R":"FeiMao_326_ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.8"}},"widgets_values":[]},{"id":254,"type":"FeiMao_326_JsonParser","pos":[3657.83599696037,-187.04154674746826],"size":[631.125,707.375],"flags":{},"order":1,"mode":0,"inputs":[{"localized_name":"json_payload","name":"json_payload","shape":0,"type":"STRING","widget":{"name":"json_payload"},"link":null},{"localized_name":"keys_to_extract","name":"keys_to_extract","shape":0,"type":"STRING","widget":{"name":"keys_to_extract"},"link":null}],"outputs":[{"localized_name":"output_1","name":"output_1","shape":0,"type":"STRING","links":[421]},{"localized_name":"output_2","name":"output_2","shape":0,"type":"STRING","links":[422]},{"localized_name":"output_3","name":"output_3","shape":0,"type":"STRING","links":[423]},{"localized_name":"output_4","name":"output_4","shape":0,"type":"STRING","links":[424]},{"localized_name":"output_5","name":"output_5","shape":0,"type":"STRING","links":[]}],"properties":{"aux_id":"FeiMao-326/Comfyui-General-API-Node","Node name for S&R":"FeiMao_326_JsonParser","cnr_id":"general-api-node","ver":"b2f532576f7e8b644cd6947e75e45ea447b32b6f","ue_properties":{"widget_ue_connectable":{"json_payload":true},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":["{ \n\n\"shot\": { \n\n\"composition\": \"central low-angle wide, CBR 150 forming mid-air piece by piece\", \n\n\"lens\": \"24mm\", \n\n\"frame_rate\": \"2000fps for impact, 60fps camera motion\", \n\n\"camera_movement\": \"ground tracking, orbital spin, vertical rise\" \n\n}, \n\n\"subject\": { \n\n\"description\": \"CBR 150, chassis, tires, shell, grille assembling in slow explosive layers\", \n\n\"wardrobe\": \"\", \n\n\"props\": \"armor plating, LED bar, mud-crushing tires, electric core pulse\" \n\n}, \n\n\"scene\": { \n\n\"location\": \"dry cracked desert basin\", \n\n\"time_of_day\": \"sunset storm\", \n\n\"environment\": \"dust, wind trails, light flares, far-off thunder glow\" \n\n}, \n\n\"visual_details\": { \n\n\"action\": \"parts crash in with dust shock, body seals, wheels spin and slam down, final headlight flare and dust burst\", \n\n\"special_effects\": \"slow debris, flare ignition, kinetic ripples, vapor trails\", \n\n\"hair_clothing_motion\": \"\" \n\n}, \n\n\"cinematography\": { \n\n\"lighting\": \"sunset rimlight + tactical highlights\", \n\n\"color_palette\": \"matte sand, obsidian black, steel grey\", \n\n\"tone\": \"premium, off-road dominance\" \n\n}, \n\n\"audio\": { \n\n\"music\": \"deep hybrid trailer score, rising tension then impact\", \n\n\"ambient\": \"wind, echoing terrain hum\", \n\n\"sound_effects\": \"metal snaps, suspension drop, dust whoosh, electric pulse\", \n\n\"mix_level\": \"studio-grade mix, wide stereo field, punchy dynamics\" \n\n}, \n\n\"dialogue\": { \n\n\"character\": \"\", \n\n\"line\": \"\", \n\n\"subtitles\": false \n\n} \n\n}","shot, subject, scene, audio"]},{"id":313,"type":"FeiMao_326_ShowTextNode","pos":[4330.5037320192505,-265.97064932634487],"size":[270.375,140],"flags":{},"order":18,"mode":0,"inputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","link":421}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":0,"type":"STRING","links":null}],"properties":{"Node name for S&R":"FeiMao_326_ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.8"}},"widgets_values":[]},{"id":318,"type":"FeiMao_326_ShowTextNode","pos":[3011.6453675839302,-562.0588794366354],"size":[270.375,140],"flags":{},"order":49,"mode":0,"inputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","link":427}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":0,"type":"STRING","links":null}],"properties":{"Node name for S&R":"FeiMao_326_ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.8"}},"widgets_values":[]},{"id":319,"type":"FeiMao_326_ShowTextNode","pos":[3007.543342783516,-382.7094417656857],"size":[270.375,140],"flags":{},"order":52,"mode":0,"inputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","link":428}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":0,"type":"STRING","links":null}],"properties":{"Node name for S&R":"FeiMao_326_ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.8"}},"widgets_values":[]},{"id":324,"type":"FeiMao_326_ShowTextNode","pos":[3009.7235274875907,-193.0362082072395],"size":[270.375,140],"flags":{},"order":53,"mode":0,"inputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","link":429}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":0,"type":"STRING","links":null}],"properties":{"Node name for S&R":"FeiMao_326_ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.8"}},"widgets_values":[]},{"id":321,"type":"FeiMao_326_ShowTextNode","pos":[3007.2518162995575,-12.384508866005717],"size":[270.375,140],"flags":{},"order":54,"mode":0,"inputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","link":430}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":0,"type":"STRING","links":null}],"properties":{"Node name for S&R":"FeiMao_326_ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.8"}},"widgets_values":[]},{"id":320,"type":"FeiMao_326_ShowTextNode","pos":[3011.6914159019534,-941.9007045628556],"size":[294.9375,145.578125],"flags":{},"order":51,"mode":0,"inputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","link":425}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":0,"type":"STRING","links":null}],"properties":{"Node name for S&R":"FeiMao_326_ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.8"}},"widgets_values":[]},{"id":260,"type":"FeiMao_326_GetListElement","pos":[2499.4641470111737,-925.8374598605166],"size":[326.296875,104],"flags":{},"order":40,"mode":0,"inputs":[{"localized_name":"list_input","name":"list_input","shape":0,"type":"LIST","link":366},{"localized_name":"index","name":"index","shape":0,"type":"INT","widget":{"name":"index"},"link":null}],"outputs":[{"localized_name":"item","name":"item","shape":0,"type":"STRING","links":[425]}],"properties":{"aux_id":"FeiMao-326/Comfyui-General-API-Node","Node name for S&R":"FeiMao_326_GetListElement","cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"}},"widgets_values":[0]},{"id":259,"type":"FeiMao_326_GetListElement","pos":[2511.5877210931894,-765.8006783039135],"size":[326.296875,104],"flags":{},"order":39,"mode":0,"inputs":[{"localized_name":"list_input","name":"list_input","shape":0,"type":"LIST","link":365},{"localized_name":"index","name":"index","shape":0,"type":"INT","widget":{"name":"index"},"link":null}],"outputs":[{"localized_name":"item","name":"item","shape":0,"type":"STRING","links":[426]}],"properties":{"aux_id":"FeiMao-326/Comfyui-General-API-Node","Node name for S&R":"FeiMao_326_GetListElement","cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"}},"widgets_values":[1]},{"id":258,"type":"FeiMao_326_GetListElement","pos":[2545.6820989122302,-579.5221961612369],"size":[326.296875,104],"flags":{},"order":38,"mode":0,"inputs":[{"localized_name":"list_input","name":"list_input","shape":0,"type":"LIST","link":364},{"localized_name":"index","name":"index","shape":0,"type":"INT","widget":{"name":"index"},"link":null}],"outputs":[{"localized_name":"item","name":"item","shape":0,"type":"STRING","links":[427]}],"properties":{"aux_id":"FeiMao-326/Comfyui-General-API-Node","Node name for S&R":"FeiMao_326_GetListElement","cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"}},"widgets_values":[2]},{"id":261,"type":"FeiMao_326_GetListElement","pos":[2537.991014030563,-389.815611431281],"size":[326.296875,104],"flags":{},"order":41,"mode":0,"inputs":[{"localized_name":"list_input","name":"list_input","shape":0,"type":"LIST","link":367},{"localized_name":"index","name":"index","shape":0,"type":"INT","widget":{"name":"index"},"link":null}],"outputs":[{"localized_name":"item","name":"item","shape":0,"type":"STRING","links":[428]}],"properties":{"aux_id":"FeiMao-326/Comfyui-General-API-Node","Node name for S&R":"FeiMao_326_GetListElement","cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"}},"widgets_values":[3]},{"id":262,"type":"FeiMao_326_GetListElement","pos":[2560.690972568058,-224.2361445069788],"size":[326.296875,104],"flags":{},"order":42,"mode":0,"inputs":[{"localized_name":"list_input","name":"list_input","shape":0,"type":"LIST","link":368},{"localized_name":"index","name":"index","shape":0,"type":"INT","widget":{"name":"index"},"link":null}],"outputs":[{"localized_name":"item","name":"item","shape":0,"type":"STRING","links":[429]}],"properties":{"aux_id":"FeiMao-326/Comfyui-General-API-Node","Node name for S&R":"FeiMao_326_GetListElement","cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"}},"widgets_values":[4]},{"id":263,"type":"FeiMao_326_GetListElement","pos":[2561.6454593953267,-44.35685491200536],"size":[326.296875,104],"flags":{},"order":43,"mode":0,"inputs":[{"localized_name":"list_input","name":"list_input","shape":0,"type":"LIST","link":369},{"localized_name":"index","name":"index","shape":0,"type":"INT","widget":{"name":"index"},"link":null}],"outputs":[{"localized_name":"item","name":"item","shape":0,"type":"STRING","links":[430]}],"properties":{"aux_id":"FeiMao-326/Comfyui-General-API-Node","Node name for S&R":"FeiMao_326_GetListElement","cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"}},"widgets_values":[5]},{"id":253,"type":"FeiMao_326_GeneralAPINode","pos":[1117.706234937232,-962.510204898307],"size":[400,554],"flags":{},"order":2,"mode":0,"inputs":[{"localized_name":"image_1","name":"image_1","shape":0,"type":"IMAGE","link":null},{"localized_name":"image_2","name":"image_2","shape":0,"type":"IMAGE","link":null},{"localized_name":"image_3","name":"image_3","shape":0,"type":"IMAGE","link":null},{"localized_name":"api_baseurl","name":"api_baseurl","shape":0,"type":"STRING","widget":{"name":"api_baseurl"},"link":null},{"localized_name":"api_key","name":"api_key","shape":0,"type":"STRING","widget":{"name":"api_key"},"link":null},{"localized_name":"model","name":"model","shape":0,"type":"STRING","widget":{"name":"model"},"link":null},{"localized_name":"role","name":"role","shape":0,"type":"STRING","widget":{"name":"role"},"link":null},{"localized_name":"prompt","name":"prompt","shape":0,"type":"STRING","widget":{"name":"prompt"},"link":null},{"localized_name":"seed","name":"seed","shape":0,"type":"INT","widget":{"name":"seed"},"link":null},{"localized_name":"temperature","name":"temperature","shape":0,"type":"FLOAT","widget":{"name":"temperature"},"link":null},{"localized_name":"max_tokens","name":"max_tokens","shape":0,"type":"INT","widget":{"name":"max_tokens"},"link":null},{"localized_name":"control_after_generate","name":"control_after_generate","shape":0,"type":"COMBO","widget":{"name":"control_after_generate"},"link":null},{"localized_name":"cleanup_local_gpu","name":"cleanup_local_gpu","shape":0,"type":"BOOLEAN","widget":{"name":"cleanup_local_gpu"},"link":null}],"outputs":[{"localized_name":"describe","name":"describe","shape":0,"type":"STRING","links":[431]},{"localized_name":"seed","name":"seed","shape":0,"type":"INT","links":null},{"localized_name":"image","name":"image","shape":0,"type":"IMAGE","links":null}],"properties":{"aux_id":"FeiMao-326/Comfyui-General-API-Node","Node name for S&R":"FeiMao_326_GeneralAPINode","cnr_id":"general-api-node","ver":"06f91e232c4a432205f26e82017dcf8895513d7b","ue_properties":{"widget_ue_connectable":{"api_baseurl":true,"api_key":true,"model":true,"role":true,"prompt":true,"seed":true,"temperature":true,"max_tokens":true,"control_after_generate":true,"cleanup_local_gpu":true},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":["https://api.deepseek.com/v1","","deepseek-reasoner","You are a professional fiction writer","Please help me write a novel about a mortal's journey to immortality. If I'm broke, I can only write two episodes.",242020679879259,0,0.6,4096,"fixed",true]},{"id":251,"type":"FeiMao_326_GeneralAPINode","pos":[2.533886572171923,185.03064048398528],"size":[392.515625,554],"flags":{},"order":31,"mode":0,"inputs":[{"localized_name":"image_1","name":"image_1","shape":0,"type":"IMAGE","link":460},{"localized_name":"image_2","name":"image_2","shape":0,"type":"IMAGE","link":null},{"localized_name":"image_3","name":"image_3","shape":0,"type":"IMAGE","link":null},{"localized_name":"api_baseurl","name":"api_baseurl","shape":0,"type":"STRING","widget":{"name":"api_baseurl"},"link":null},{"localized_name":"api_key","name":"api_key","shape":0,"type":"STRING","widget":{"name":"api_key"},"link":null},{"localized_name":"model","name":"model","shape":0,"type":"STRING","widget":{"name":"model"},"link":null},{"localized_name":"role","name":"role","shape":0,"type":"STRING","widget":{"name":"role"},"link":null},{"localized_name":"prompt","name":"prompt","shape":0,"type":"STRING","widget":{"name":"prompt"},"link":null},{"localized_name":"seed","name":"seed","shape":0,"type":"INT","widget":{"name":"seed"},"link":null},{"localized_name":"temperature","name":"temperature","shape":0,"type":"FLOAT","widget":{"name":"temperature"},"link":null},{"localized_name":"max_tokens","name":"max_tokens","shape":0,"type":"INT","widget":{"name":"max_tokens"},"link":null},{"localized_name":"control_after_generate","name":"control_after_generate","shape":0,"type":"COMBO","widget":{"name":"control_after_generate"},"link":null},{"localized_name":"cleanup_local_gpu","name":"cleanup_local_gpu","shape":0,"type":"BOOLEAN","widget":{"name":"cleanup_local_gpu"},"link":null}],"outputs":[{"localized_name":"describe","name":"describe","shape":0,"type":"STRING","links":[432]},{"localized_name":"seed","name":"seed","shape":0,"type":"INT","links":null},{"localized_name":"image","name":"image","shape":0,"type":"IMAGE","links":null}],"properties":{"aux_id":"FeiMao-326/Comfyui-General-API-Node","Node name for S&R":"FeiMao_326_GeneralAPINode","cnr_id":"general-api-node","ver":"06f91e232c4a432205f26e82017dcf8895513d7b","ue_properties":{"widget_ue_connectable":{"api_baseurl":true,"api_key":true,"model":true,"role":true,"prompt":true,"seed":true,"temperature":true,"max_tokens":true,"control_after_generate":true,"cleanup_local_gpu":true},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":["https://api.perplexity.ai","","sonar-reasoning-pro","你是一个图像提示词专家","“请直接给出图像描述和提示词,格式如下:描述:XXXX,提示词:XXXX。”\n\n“请将描述和提示词分开,直接输出,不需要附加标签或处理标记。”",430824979390636,0,0.6,4096,"fixed",true]},{"id":322,"type":"FeiMao_326_ShowTextNode","pos":[1123.8382795222833,-361.6722168880036],"size":[392.265625,179.640625],"flags":{},"order":22,"mode":0,"inputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","link":431}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":0,"type":"STRING","links":null}],"properties":{"Node name for S&R":"FeiMao_326_ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.8"}},"widgets_values":[]},{"id":269,"type":"FeiMao_326_GeneralAPINode","pos":[91.20017686960455,-887.1135331272321],"size":[539.484375,575.328125],"flags":{},"order":3,"mode":0,"inputs":[{"localized_name":"image_1","name":"image_1","shape":0,"type":"IMAGE","link":null},{"localized_name":"image_2","name":"image_2","shape":0,"type":"IMAGE","link":null},{"localized_name":"image_3","name":"image_3","shape":0,"type":"IMAGE","link":null},{"localized_name":"api_baseurl","name":"api_baseurl","shape":0,"type":"STRING","widget":{"name":"api_baseurl"},"link":null},{"localized_name":"api_key","name":"api_key","shape":0,"type":"STRING","widget":{"name":"api_key"},"link":null},{"localized_name":"model","name":"model","shape":0,"type":"STRING","widget":{"name":"model"},"link":null},{"localized_name":"role","name":"role","shape":0,"type":"STRING","widget":{"name":"role"},"link":null},{"localized_name":"prompt","name":"prompt","shape":0,"type":"STRING","widget":{"name":"prompt"},"link":null},{"localized_name":"seed","name":"seed","shape":0,"type":"INT","widget":{"name":"seed"},"link":null},{"localized_name":"temperature","name":"temperature","shape":0,"type":"FLOAT","widget":{"name":"temperature"},"link":null},{"localized_name":"max_tokens","name":"max_tokens","shape":0,"type":"INT","widget":{"name":"max_tokens"},"link":null},{"localized_name":"control_after_generate","name":"control_after_generate","shape":0,"type":"COMBO","widget":{"name":"control_after_generate"},"link":null},{"localized_name":"cleanup_local_gpu","name":"cleanup_local_gpu","shape":0,"type":"BOOLEAN","widget":{"name":"cleanup_local_gpu"},"link":null}],"outputs":[{"localized_name":"describe","name":"describe","shape":0,"type":"STRING","links":[433]},{"localized_name":"seed","name":"seed","shape":0,"type":"INT","links":null},{"localized_name":"image","name":"image","shape":0,"type":"IMAGE","links":[381]}],"properties":{"aux_id":"FeiMao-326/Comfyui-General-API-Node","Node name for S&R":"FeiMao_326_GeneralAPINode","cnr_id":"general-api-node","ver":"c5eb20763a9562b0810f55c4f805c3af165406c7","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"}},"widgets_values":["https://generativelanguage.googleapis.com/v1beta/","","gemini-3.1-pro-image-preview","","{\n \"prompt\": \"macro photography, hyper-realistic, (giant elegant female hand with beautiful long manicured fingers:1.5), (gently lifting a tiny young woman by the back strap of her blue dress:1.3), (thumb and index finger holding the fabric from behind:1.4), the woman is hanging in the air, dangling legs, feet pointing down, (gravity effect on the clothes:1.3), dress pulled up by the grip, beautiful daylight, seaside background, blurred background, dreamy atmosphere, 8k resolution, cinematic lighting\",\n \"negative_prompt\": \"child, kid, underaged, fear, crying, violence, aggressive, holding head, grabbing head, touching face, male hand, hairy hand, ugly fingers, bad anatomy, distorted limbs, cartoon, illustration, floating without support\",\n \"parameters\": {\n \"aspect_ratio\": \"9:16\",\n \"steps\": 30,\n \"cfg_scale\": 7\n }\n}",518699988283899,"randomize",0.6,4096,"fixed",true]},{"id":326,"type":"FeiMao_326_ShowTextNode","pos":[877.8575605284647,-2253.0717086128193],"size":[390.78125,322.328125],"flags":{},"order":35,"mode":0,"inputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","link":434}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":0,"type":"STRING","links":null}],"properties":{"Node name for S&R":"FeiMao_326_ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.8"}},"widgets_values":[]},{"id":310,"type":"FeiMao_326_SimpleTextNode","pos":[3630.3688524404215,-1957.8853991432306],"size":[449.984375,612.140625],"flags":{},"order":4,"mode":0,"inputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","widget":{"name":"text"},"link":null}],"outputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","links":[418]}],"properties":{"Node name for S&R":"FeiMao_326_SimpleTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.8"}},"widgets_values":["Keep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Perfect front view closeup low angle symmetrical wide angle perspective. Shot from the floor looking at the grill and windshield. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Perfect rear view low angle symmetrical wide angle perspective. Shot from the floor looking up at the rear bumper, tail lights, spoiler. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Perfect high angle 3/4 front wide angle perspective. Shot from the floor looking up at the car. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Perfect high angle 3/4 rear wide angle perspective. Dutch tilt. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Cropped view front quarter panel closeup. Shot head on to only capture front wheel front quarter panel, hood. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Cropped view rear quarter panel closeup. Shot head on to only capture rear wheel rear quarter panel, hood. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Top-down view looking directly down at the top of the car. Showing the full car centrally placed in the image from above. Immaculate texture and material detail. *\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Cropped view - Closeup shot from a mount on the front tire lookin down the side of the car. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Closeup shot from a mount on the spolier looking towards the front of the car from a rear view capturing the rear windshield and roof. Immaculate texture and material detail.*\n\n\n\n\n\n\n\n\n\n\n\n\n "]},{"id":328,"type":"FeiMao_326_ShowTextNode","pos":[3368.183273236812,-1986.9261433544648],"size":[225,692.4375],"flags":{},"order":32,"mode":0,"inputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","link":436}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":0,"type":"STRING","links":null}],"properties":{"Node name for S&R":"FeiMao_326_ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.8"}},"widgets_values":[]},{"id":334,"type":"FeiMao_326_SimpleTextNode","pos":[3625.0763431828673,-1176.998106746133],"size":[383.234375,163.140625],"flags":{},"order":5,"mode":0,"inputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","widget":{"name":"text"},"link":null}],"outputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","links":[439]}],"properties":{"Node name for S&R":"FeiMao_326_SimpleTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.8"}},"widgets_values":["You are a top-tier Game CG Animation Director and a specialized AI Video Prompt Engineer. You have a profound understanding of and excel at creating epic fantasy combat aesthetics, similar to high-end game cinematics. Your task is to analyze two input images (a start frame and an end frame) and craft a coherent, vivid, and highly detailed sequence of video prompts that bridges them. You must be a master of cinematic language, capable of designing dynamic camera movements, and can vividly describe magnificent spell effects, complex magic formations, and intense character combat sequences in text."]},{"id":335,"type":"FeiMao_326_SimpleTextNode","pos":[3670.9083018299016,-970.577294612072],"size":[225,140],"flags":{},"order":6,"mode":0,"inputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","widget":{"name":"text"},"link":null}],"outputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","links":[440]}],"properties":{"Node name for S&R":"FeiMao_326_SimpleTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.8"}},"widgets_values":["top-tier"]},{"id":339,"type":"FeiMao_326_SimpleTextNode","pos":[3672.8132123975556,-821.8929471058758],"size":[225,140],"flags":{},"order":7,"mode":0,"inputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","widget":{"name":"text"},"link":null}],"outputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","links":[441]}],"properties":{"Node name for S&R":"FeiMao_326_SimpleTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.8"}},"widgets_values":["我很好"]},{"id":340,"type":"FeiMao_326_SimpleTextNode","pos":[3679.968646991625,-676.1442645213295],"size":[225,140],"flags":{},"order":8,"mode":0,"inputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","widget":{"name":"text"},"link":null}],"outputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","links":[442]}],"properties":{"Node name for S&R":"FeiMao_326_SimpleTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.8"}},"widgets_values":["You are"]},{"id":341,"type":"FeiMao_326_SimpleTextNode","pos":[3683.6928047117863,-525.6840094560603],"size":[225,140],"flags":{},"order":9,"mode":0,"inputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","widget":{"name":"text"},"link":null}],"outputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","links":[443]}],"properties":{"Node name for S&R":"FeiMao_326_SimpleTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.8"}},"widgets_values":["你好呀"]},{"id":257,"type":"FeiMao_326_GeneralAPINode","pos":[2095.4409449398636,-1881.4536559883452],"size":[421.9375,574],"flags":{},"order":29,"mode":0,"inputs":[{"localized_name":"image_1","name":"image_1","shape":0,"type":"IMAGE","link":409},{"localized_name":"image_2","name":"image_2","shape":0,"type":"IMAGE","link":411},{"localized_name":"image_3","name":"image_3","shape":0,"type":"IMAGE","link":412},{"localized_name":"api_baseurl","name":"api_baseurl","shape":0,"type":"STRING","widget":{"name":"api_baseurl"},"link":null},{"localized_name":"api_key","name":"api_key","shape":0,"type":"STRING","widget":{"name":"api_key"},"link":null},{"localized_name":"model","name":"model","shape":0,"type":"STRING","widget":{"name":"model"},"link":null},{"localized_name":"role","name":"role","shape":0,"type":"STRING","widget":{"name":"role"},"link":null},{"localized_name":"prompt","name":"prompt","shape":0,"type":"STRING","widget":{"name":"prompt"},"link":null},{"localized_name":"seed","name":"seed","shape":0,"type":"INT","widget":{"name":"seed"},"link":null},{"localized_name":"temperature","name":"temperature","shape":0,"type":"FLOAT","widget":{"name":"temperature"},"link":null},{"localized_name":"max_tokens","name":"max_tokens","shape":0,"type":"INT","widget":{"name":"max_tokens"},"link":null},{"localized_name":"control_after_generate","name":"control_after_generate","shape":0,"type":"COMBO","widget":{"name":"control_after_generate"},"link":null},{"localized_name":"cleanup_local_gpu","name":"cleanup_local_gpu","shape":0,"type":"BOOLEAN","widget":{"name":"cleanup_local_gpu"},"link":null},{"name":"image_4","type":"IMAGE","link":null}],"outputs":[{"localized_name":"describe","name":"describe","shape":0,"type":"STRING","links":[438]},{"localized_name":"seed","name":"seed","shape":0,"type":"INT","links":null},{"localized_name":"image","name":"image","shape":0,"type":"IMAGE","links":null}],"properties":{"aux_id":"FeiMao-326/Comfyui-General-API-Node","Node name for S&R":"FeiMao_326_GeneralAPINode","cnr_id":"general-api-node","ver":"06f91e232c4a432205f26e82017dcf8895513d7b","ue_properties":{"widget_ue_connectable":{"api_baseurl":true,"api_key":true,"model":true,"role":true,"prompt":true,"seed":true,"temperature":true,"max_tokens":true,"control_after_generate":true,"cleanup_local_gpu":true},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":["http://127.0.0.1:11434/v1","ollama","gemma4:e4b","You are a world-class Game CG Animation Director and an elite AI Video Prompt Engineer. Your expertise lies in crafting extraordinary fantasy battles with intricate visual effects, cinematic camera language, fluid character animations, and complex, grand magical formations—just like top-tier game cinematics. Your mission is to analyze three input images ([image_1], [image_2], [image_3] representing start, middle, and end frames) and create a seamless, visually compelling, imaginative 6-keyframe video prompt sequence connecting these moments with intensified epic flair and narrative coherence.","Please strictly adhere to your role as a Game CG Director and Prompt Engineer. Your task is to analyze the provided [image_1] (start frame), [image_2] (middle frame), and [image_3] (end frame).\n\nYour main goal is to create a logically flowing, visually stunning six-keyframe video prompt sequence, smoothly transitioning from [image_1] through [image_2] to [image_3].\n\nPlease incorporate the following elements and requirements into your creation:\n\nStory & Action:\n\nConstruct an intense fantasy combat sequence with a clear progression: the confrontation ignites in [image_1], reaches a dramatic climax at [image_2], and resolves with explosive impact or transformation at [image_3].\n\nMake the actions coherent and escalate tension logically (e.g., Character A casts a devastating spell, Character B responds with a counter, magical forces collide).\n\nVisual Effects (VFX) & Magic Formations:\n\nVFX: Vividly describe spell lights, magical energy, elemental flows, explosions, and particle effects.\nFor example: “A celestial blaze radiates arcs of lightning, scattering golden embers through swirling dark mist.”\n\nMagic Formations: Portray supernatural matrices, rune circles, or dimensional rifts, illustrating their ignition and visual evolution across the sequence.\nFor example: “A spiraling glyph array unfolds beneath the combatants, energized lines flaring upward into radiant pillars.”\n\nCinematic Camera Language:\n\nExplicitly state dynamic camera actions for each keyframe such as:\n\nExtreme close-up: Capture a character’s fierce gaze or spell-charged hand.\n\nRapid zoom-out: Reveal the catastrophic scale of unleashed magic.\n\nOrbit shot: Camera circles an explosive clash or magic formation.\n\nTracking shot: Follows a projectile, spell beam, or charging character.\n\nEnsure each camera movement amplifies the drama and clarity.\n\nEnvironmental Changes & Epic Atmosphere:\n\nLet the environment react to magic and battle—terrain upheaval, weather turbulence, debris, energy distortions, or reality ripples.\n\nHighlight the scale and awe—cracked earth, shattered pillars, swirling storm clouds, glowing portals.\n\nOutput Format:\n\nGenerate keyframe prompts.\n\nEach prompt must include: {main subject, character action, environmental change, VFX detail, magic formation, camera movement/angle}.\n\nSeparate each prompt with “--” for easy post-processing.\n\nPlease begin your creative process now.\n最终用中文回答我",112420005342677,0,0.6,4096,"fixed",true]},{"id":247,"type":"FeiMao_326_GeneralAPINode","pos":[2943.155604925826,-1910.7331065540402],"size":[400,554],"flags":{},"order":17,"mode":0,"inputs":[{"localized_name":"image_1","name":"image_1","shape":0,"type":"IMAGE","link":410},{"localized_name":"image_2","name":"image_2","shape":0,"type":"IMAGE","link":null},{"localized_name":"image_3","name":"image_3","shape":0,"type":"IMAGE","link":null},{"localized_name":"api_baseurl","name":"api_baseurl","shape":0,"type":"STRING","widget":{"name":"api_baseurl"},"link":null},{"localized_name":"api_key","name":"api_key","shape":0,"type":"STRING","widget":{"name":"api_key"},"link":null},{"localized_name":"model","name":"model","shape":0,"type":"STRING","widget":{"name":"model"},"link":null},{"localized_name":"role","name":"role","shape":0,"type":"STRING","widget":{"name":"role"},"link":null},{"localized_name":"prompt","name":"prompt","shape":0,"type":"STRING","widget":{"name":"prompt"},"link":null},{"localized_name":"seed","name":"seed","shape":0,"type":"INT","widget":{"name":"seed"},"link":null},{"localized_name":"temperature","name":"temperature","shape":0,"type":"FLOAT","widget":{"name":"temperature"},"link":null},{"localized_name":"max_tokens","name":"max_tokens","shape":0,"type":"INT","widget":{"name":"max_tokens"},"link":null},{"localized_name":"control_after_generate","name":"control_after_generate","shape":0,"type":"COMBO","widget":{"name":"control_after_generate"},"link":null},{"localized_name":"cleanup_local_gpu","name":"cleanup_local_gpu","shape":0,"type":"BOOLEAN","widget":{"name":"cleanup_local_gpu"},"link":null}],"outputs":[{"localized_name":"describe","name":"describe","shape":0,"type":"STRING","links":[436]},{"localized_name":"seed","name":"seed","shape":0,"type":"INT","links":null},{"localized_name":"image","name":"image","shape":0,"type":"IMAGE","links":null}],"properties":{"aux_id":"FeiMao-326/Comfyui-General-API-Node","Node name for S&R":"FeiMao_326_GeneralAPINode","cnr_id":"general-api-node","ver":"06f91e232c4a432205f26e82017dcf8895513d7b","ue_properties":{"widget_ue_connectable":{"api_baseurl":true,"api_key":true,"model":true,"role":true,"prompt":true,"seed":true,"temperature":true,"max_tokens":true,"control_after_generate":true,"cleanup_local_gpu":true},"version":"7.1","input_ue_unconnectable":{}}},"widgets_values":["http://127.0.0.1:11434/v1","ollama","gemma4:e4b","You are a silent and efficient prompt generation engine. Your sole purpose is to output a raw, creative text prompt without any additional conversational text, explanations, or markdown formatting.","Provide a vivid and detailed description of the given image. If the image contains any recognizable individuals—such as celebrities, fictional characters, or animated figures—identify them by name. Your description should be specific and imaginative, while remaining under 200 words.Do not add any surrounding text or labels.\n最终用中文回答我",853551719100189,0,0.6,4096,"fixed",true]},{"id":277,"type":"FeiMao_326_GeneralAPINode","pos":[230.37148361703635,-2300.828723966644],"size":[428,554],"flags":{},"order":27,"mode":0,"inputs":[{"localized_name":"image_1","name":"image_1","shape":0,"type":"IMAGE","link":407},{"localized_name":"image_2","name":"image_2","shape":0,"type":"IMAGE","link":null},{"localized_name":"image_3","name":"image_3","shape":0,"type":"IMAGE","link":null},{"localized_name":"api_baseurl","name":"api_baseurl","shape":0,"type":"STRING","widget":{"name":"api_baseurl"},"link":null},{"localized_name":"api_key","name":"api_key","shape":0,"type":"STRING","widget":{"name":"api_key"},"link":461},{"localized_name":"model","name":"model","shape":0,"type":"STRING","widget":{"name":"model"},"link":null},{"localized_name":"role","name":"role","shape":0,"type":"STRING","widget":{"name":"role"},"link":null},{"localized_name":"prompt","name":"prompt","shape":0,"type":"STRING","widget":{"name":"prompt"},"link":null},{"localized_name":"seed","name":"seed","shape":0,"type":"INT","widget":{"name":"seed"},"link":null},{"localized_name":"temperature","name":"temperature","shape":0,"type":"FLOAT","widget":{"name":"temperature"},"link":null},{"localized_name":"max_tokens","name":"max_tokens","shape":0,"type":"INT","widget":{"name":"max_tokens"},"link":null},{"localized_name":"control_after_generate","name":"control_after_generate","shape":0,"type":"COMBO","widget":{"name":"control_after_generate"},"link":null},{"localized_name":"cleanup_local_gpu","name":"cleanup_local_gpu","shape":0,"type":"BOOLEAN","widget":{"name":"cleanup_local_gpu"},"link":null}],"outputs":[{"localized_name":"describe","name":"describe","shape":0,"type":"STRING","links":[434]},{"localized_name":"seed","name":"seed","shape":0,"type":"INT","links":null},{"localized_name":"image","name":"image","shape":0,"type":"IMAGE","links":null}],"properties":{"Node name for S&R":"FeiMao_326_GeneralAPINode","cnr_id":"general-api-node","ver":"c5eb20763a9562b0810f55c4f805c3af165406c7","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"}},"widgets_values":["https://integrate.api.nvidia.com/v1","","moonshotai/kimi-k2.5","You are a helpful assistant. Follow the user's instructions exactly. Output only the requested content without conversational filler, markdown formatting, or explanations.","Describe this image in detail.\n“请用中文回答我”",1015879432945327,"randomize",0.6,4096,"fixed",true]},{"id":331,"type":"FeiMao_326_SimpleTextNode","pos":[-275.14481978869634,-1559.0519408355349],"size":[243.640625,140],"flags":{},"order":10,"mode":0,"inputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","widget":{"name":"text"},"link":null}],"outputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","links":[461,462]}],"title":"API","properties":{"Node name for S&R":"FeiMao_326_SimpleTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.8"}},"widgets_values":[""]},{"id":325,"type":"FeiMao_326_ShowTextNode","pos":[650.1600553334699,-954.6808057672818],"size":[390.78125,322.328125],"flags":{},"order":23,"mode":0,"inputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","link":433}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":0,"type":"STRING","links":null}],"properties":{"Node name for S&R":"FeiMao_326_ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.8"}},"widgets_values":[]},{"id":330,"type":"FeiMao_326_SimpleTextNode","pos":[-224.71801677169142,-747.0572116513122],"size":[245.71875,163.5625],"flags":{},"order":11,"mode":0,"inputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","widget":{"name":"text"},"link":null}],"outputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","links":[]}],"title":"MODEL","properties":{"Node name for S&R":"FeiMao_326_SimpleTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.8"}},"widgets_values":["gemini-3.1-pro\ngemini-3.1-pro-preview\ngemini-3.1-pro-image-preview"]},{"id":323,"type":"FeiMao_326_ShowTextNode","pos":[438.61044248424,199.7820160085114],"size":[420.375,538.265625],"flags":{},"order":48,"mode":0,"inputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","link":432}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":0,"type":"STRING","links":null}],"properties":{"Node name for S&R":"FeiMao_326_ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.8"}},"widgets_values":[]},{"id":298,"type":"LoadImage","pos":[-283.25754596707145,-2233.3081614766224],"size":[295.140625,518.453125],"flags":{},"order":12,"mode":0,"inputs":[{"localized_name":"图像","name":"image","type":"COMBO","widget":{"name":"image"},"link":null},{"localized_name":"选择文件上传","name":"upload","type":"IMAGEUPLOAD","widget":{"name":"upload"},"link":null}],"outputs":[{"localized_name":"图像","name":"IMAGE","type":"IMAGE","links":[407,447]},{"localized_name":"遮罩","name":"MASK","type":"MASK","links":null}],"properties":{"cnr_id":"comfy-core","ver":"0.3.71","Node name for S&R":"LoadImage","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.1"}},"widgets_values":["Gemini_Generated_Image_9fc87r9fc87r9fc8.png","image"]},{"id":300,"type":"LoadImage","pos":[1613.1491335101964,-1605.3866575046447],"size":[225,344],"flags":{},"order":13,"mode":0,"inputs":[{"localized_name":"图像","name":"image","type":"COMBO","widget":{"name":"image"},"link":null},{"localized_name":"选择文件上传","name":"upload","type":"IMAGEUPLOAD","widget":{"name":"upload"},"link":null}],"outputs":[{"localized_name":"图像","name":"IMAGE","type":"IMAGE","links":[411]},{"localized_name":"遮罩","name":"MASK","type":"MASK","links":null}],"properties":{"cnr_id":"comfy-core","ver":"0.3.71","Node name for S&R":"LoadImage","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.1"}},"widgets_values":["IMG_1398 (1).PNG","image"]},{"id":301,"type":"LoadImage","pos":[1858.5803148563691,-1487.4836506685208],"size":[225,344],"flags":{},"order":14,"mode":0,"inputs":[{"localized_name":"图像","name":"image","type":"COMBO","widget":{"name":"image"},"link":null},{"localized_name":"选择文件上传","name":"upload","type":"IMAGEUPLOAD","widget":{"name":"upload"},"link":null}],"outputs":[{"localized_name":"图像","name":"IMAGE","type":"IMAGE","links":[412]},{"localized_name":"遮罩","name":"MASK","type":"MASK","links":null}],"properties":{"cnr_id":"comfy-core","ver":"0.3.71","Node name for S&R":"LoadImage","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.1"}},"widgets_values":["a03a38cff37d84bcc9d1d83ca6a661882fd0da19f436a6618599258b411f16c7.png","image"]},{"id":327,"type":"FeiMao_326_ShowTextNode","pos":[814.4254099174085,-1623.1884477423582],"size":[390.78125,322.328125],"flags":{},"order":36,"mode":0,"inputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","link":435}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":0,"type":"STRING","links":null}],"properties":{"Node name for S&R":"FeiMao_326_ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.8"}},"widgets_values":[]},{"id":272,"type":"FeiMao_326_GeneralAPINode","pos":[245.63752925205472,-1685.3791281746605],"size":[404.765625,554],"flags":{},"order":28,"mode":0,"inputs":[{"localized_name":"image_1","name":"image_1","shape":0,"type":"IMAGE","link":447},{"localized_name":"image_2","name":"image_2","shape":0,"type":"IMAGE","link":null},{"localized_name":"image_3","name":"image_3","shape":0,"type":"IMAGE","link":null},{"localized_name":"api_baseurl","name":"api_baseurl","shape":0,"type":"STRING","widget":{"name":"api_baseurl"},"link":null},{"localized_name":"api_key","name":"api_key","shape":0,"type":"STRING","widget":{"name":"api_key"},"link":462},{"localized_name":"model","name":"model","shape":0,"type":"STRING","widget":{"name":"model"},"link":null},{"localized_name":"role","name":"role","shape":0,"type":"STRING","widget":{"name":"role"},"link":null},{"localized_name":"prompt","name":"prompt","shape":0,"type":"STRING","widget":{"name":"prompt"},"link":null},{"localized_name":"seed","name":"seed","shape":0,"type":"INT","widget":{"name":"seed"},"link":null},{"localized_name":"temperature","name":"temperature","shape":0,"type":"FLOAT","widget":{"name":"temperature"},"link":null},{"localized_name":"max_tokens","name":"max_tokens","shape":0,"type":"INT","widget":{"name":"max_tokens"},"link":null},{"localized_name":"control_after_generate","name":"control_after_generate","shape":0,"type":"COMBO","widget":{"name":"control_after_generate"},"link":null},{"localized_name":"cleanup_local_gpu","name":"cleanup_local_gpu","shape":0,"type":"BOOLEAN","widget":{"name":"cleanup_local_gpu"},"link":null}],"outputs":[{"localized_name":"describe","name":"describe","shape":0,"type":"STRING","links":[435]},{"localized_name":"seed","name":"seed","shape":0,"type":"INT","links":null},{"localized_name":"image","name":"image","shape":0,"type":"IMAGE","links":null}],"properties":{"aux_id":"FeiMao-326/Comfyui-General-API-Node","Node name for S&R":"FeiMao_326_GeneralAPINode","cnr_id":"general-api-node","ver":"c5eb20763a9562b0810f55c4f805c3af165406c7","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"}},"widgets_values":["https://integrate.api.nvidia.com/v1","","meta/llama-3.2-90b-vision-instruct","","请用中文描述图中人物",1082828295436340,"randomize",0.6,4096,"fixed",true]},{"id":332,"type":"FeiMao_326_ShowTextNode","pos":[2557.82158675121,-1790.5793319121508],"size":[344.71875,513.078125],"flags":{},"order":37,"mode":0,"inputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","link":438}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":0,"type":"STRING","links":null}],"properties":{"Node name for S&R":"FeiMao_326_ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.8"}},"widgets_values":[]},{"id":312,"type":"FeiMao_326_ShowTextNode","pos":[4498.1253656650215,-1163.8094113668906],"size":[492.625,463.8125],"flags":{},"order":34,"mode":0,"inputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","link":420}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":0,"type":"STRING","links":null}],"properties":{"Node name for S&R":"FeiMao_326_ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.8"}},"widgets_values":[]},{"id":329,"type":"FeiMao_326_SimpleTextNode","pos":[1598.5091666255507,-837.8387008791399],"size":[449.046875,601.328125],"flags":{},"order":15,"mode":0,"inputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","widget":{"name":"text"},"link":null}],"outputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","links":[437]}],"properties":{"Node name for S&R":"FeiMao_326_SimpleTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.8"}},"widgets_values":["Keep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Perfect front view closeup low angle symmetrical wide angle perspective. Shot from the floor looking at the grill and windshield. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Perfect rear view low angle symmetrical wide angle perspective. Shot from the floor looking up at the rear bumper, tail lights, spoiler. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Perfect high angle 3/4 front wide angle perspective. Shot from the floor looking up at the car. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Perfect high angle 3/4 rear wide angle perspective. Dutch tilt. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Cropped view front quarter panel closeup. Shot head on to only capture front wheel front quarter panel, hood. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Cropped view rear quarter panel closeup. Shot head on to only capture rear wheel rear quarter panel, hood. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Top-down view looking directly down at the top of the car. Showing the full car centrally placed in the image from above. Immaculate texture and material detail. *\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Cropped view - Closeup shot from a mount on the front tire lookin down the side of the car. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Closeup shot from a mount on the spolier looking towards the front of the car from a rear view capturing the rear windshield and roof. Immaculate texture and material detail.*\n\nKeep this exact car and preserve the fine details of the branding. Preserve the environment. \n\nChange: Perfect front view. Cropped closeup showing the left side of the car. Shot from eye low angle at left side of the car showing the left headlight, front fender, windshield. Immaculate texture and material detail.*\n\n\n\n "]},{"id":317,"type":"FeiMao_326_ShowTextNode","pos":[3009.0375429852684,-760.233572091086],"size":[304.984375,165.671875],"flags":{},"order":50,"mode":0,"inputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","link":426}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":0,"type":"STRING","links":null}],"properties":{"Node name for S&R":"FeiMao_326_ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.8"}},"widgets_values":[]},{"id":347,"type":"FeiMao_326_ShowTextNode","pos":[4612.591326554559,-1947.1861063094973],"size":[484.53125,620.625],"flags":{},"order":33,"mode":0,"inputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","link":448}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":0,"type":"STRING","links":null}],"properties":{"Node name for S&R":"FeiMao_326_ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.8"}},"widgets_values":[]},{"id":352,"type":"FeiMao_326_GetListElement","pos":[2601.255139069419,139.78918379748848],"size":[326.296875,104],"flags":{},"order":44,"mode":0,"inputs":[{"localized_name":"list_input","name":"list_input","shape":0,"type":"LIST","link":452},{"localized_name":"index","name":"index","shape":0,"type":"INT","widget":{"name":"index"},"link":null}],"outputs":[{"localized_name":"item","name":"item","shape":0,"type":"STRING","links":[456]}],"properties":{"aux_id":"FeiMao-326/Comfyui-General-API-Node","Node name for S&R":"FeiMao_326_GetListElement","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0"},"widgets_values":[6]},{"id":353,"type":"FeiMao_326_GetListElement","pos":[2596.3423591402725,322.8295549885547],"size":[326.296875,104],"flags":{},"order":45,"mode":0,"inputs":[{"localized_name":"list_input","name":"list_input","shape":0,"type":"LIST","link":453},{"localized_name":"index","name":"index","shape":0,"type":"INT","widget":{"name":"index"},"link":null}],"outputs":[{"localized_name":"item","name":"item","shape":0,"type":"STRING","links":[457]}],"properties":{"aux_id":"FeiMao-326/Comfyui-General-API-Node","Node name for S&R":"FeiMao_326_GetListElement","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0"},"widgets_values":[7]},{"id":354,"type":"FeiMao_326_GetListElement","pos":[2582.828362867345,502.1850449660094],"size":[326.296875,104],"flags":{},"order":46,"mode":0,"inputs":[{"localized_name":"list_input","name":"list_input","shape":0,"type":"LIST","link":454},{"localized_name":"index","name":"index","shape":0,"type":"INT","widget":{"name":"index"},"link":null}],"outputs":[{"localized_name":"item","name":"item","shape":0,"type":"STRING","links":[458]}],"properties":{"aux_id":"FeiMao-326/Comfyui-General-API-Node","Node name for S&R":"FeiMao_326_GetListElement","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0"},"widgets_values":[8]},{"id":355,"type":"FeiMao_326_GetListElement","pos":[2579.9770916461903,660.1030113600214],"size":[326.296875,104],"flags":{},"order":47,"mode":0,"inputs":[{"localized_name":"list_input","name":"list_input","shape":0,"type":"LIST","link":455},{"localized_name":"index","name":"index","shape":0,"type":"INT","widget":{"name":"index"},"link":null}],"outputs":[{"localized_name":"item","name":"item","shape":0,"type":"STRING","links":[459]}],"properties":{"aux_id":"FeiMao-326/Comfyui-General-API-Node","Node name for S&R":"FeiMao_326_GetListElement","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.2"},"cnr_id":"general-api-node","ver":"cb8c4f37b2fee83bff6005c34e4d3023ce41dbf0"},"widgets_values":[9]},{"id":356,"type":"FeiMao_326_ShowTextNode","pos":[3043.6685868636287,186.95933703944206],"size":[270.375,140],"flags":{},"order":55,"mode":0,"inputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","link":456}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":0,"type":"STRING","links":null}],"properties":{"Node name for S&R":"FeiMao_326_ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.8"}},"widgets_values":[]},{"id":357,"type":"FeiMao_326_ShowTextNode","pos":[3029.1508388349575,414.7829672231412],"size":[270.375,140],"flags":{},"order":56,"mode":0,"inputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","link":457}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":0,"type":"STRING","links":null}],"properties":{"Node name for S&R":"FeiMao_326_ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.8"}},"widgets_values":[]},{"id":358,"type":"FeiMao_326_ShowTextNode","pos":[3043.6685868636287,602.4022680376822],"size":[270.375,140],"flags":{},"order":57,"mode":0,"inputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","link":458}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":0,"type":"STRING","links":null}],"properties":{"Node name for S&R":"FeiMao_326_ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.8"}},"widgets_values":[]},{"id":359,"type":"FeiMao_326_ShowTextNode","pos":[3024.6841519866657,800.0722914420282],"size":[270.375,140],"flags":{},"order":58,"mode":0,"inputs":[{"localized_name":"text","name":"text","shape":0,"type":"STRING","link":459}],"outputs":[{"localized_name":"字符串","name":"STRING","shape":0,"type":"STRING","links":null}],"properties":{"Node name for S&R":"FeiMao_326_ShowTextNode","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.8"}},"widgets_values":[]},{"id":366,"type":"LoadImage","pos":[-236.65204383737273,193.6931216017224],"size":[225,344],"flags":{},"order":16,"mode":0,"inputs":[{"localized_name":"图像","name":"image","type":"COMBO","widget":{"name":"image"},"link":null},{"localized_name":"选择文件上传","name":"upload","type":"IMAGEUPLOAD","widget":{"name":"upload"},"link":null}],"outputs":[{"localized_name":"图像","name":"IMAGE","type":"IMAGE","links":[460]},{"localized_name":"遮罩","name":"MASK","type":"MASK","links":null}],"properties":{"cnr_id":"comfy-core","ver":"0.3.71","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.5.1"},"Node name for S&R":"LoadImage"},"widgets_values":["Gemini_Generated_Image_9fc87r9fc87r9fc8.png","image"]}],"links":[[364,256,0,258,0,"LIST"],[365,256,0,259,0,"LIST"],[366,256,0,260,0,"LIST"],[367,256,0,261,0,"LIST"],[368,256,0,262,0,"LIST"],[369,256,0,263,0,"LIST"],[381,269,2,278,0,"IMAGE"],[407,298,0,277,0,"IMAGE"],[409,299,0,257,0,"IMAGE"],[410,299,0,247,0,"IMAGE"],[411,300,0,257,1,"IMAGE"],[412,301,0,257,2,"IMAGE"],[418,310,0,264,0,"STRING"],[420,255,0,312,0,"STRING"],[421,254,0,313,0,"STRING"],[422,254,1,314,0,"STRING"],[423,254,2,315,0,"STRING"],[424,254,3,316,0,"STRING"],[425,260,0,320,0,"STRING"],[426,259,0,317,0,"STRING"],[427,258,0,318,0,"STRING"],[428,261,0,319,0,"STRING"],[429,262,0,324,0,"STRING"],[430,263,0,321,0,"STRING"],[431,253,0,322,0,"STRING"],[432,251,0,323,0,"STRING"],[433,269,0,325,0,"STRING"],[434,277,0,326,0,"STRING"],[435,272,0,327,0,"STRING"],[436,247,0,328,0,"STRING"],[437,329,0,256,0,"STRING"],[438,257,0,332,0,"STRING"],[439,334,0,255,0,"STRING"],[440,335,0,255,1,"STRING"],[441,339,0,255,2,"STRING"],[442,340,0,255,3,"STRING"],[443,341,0,255,4,"STRING"],[447,298,0,272,0,"IMAGE"],[448,264,0,347,0,"STRING"],[452,256,0,352,0,"LIST"],[453,256,0,353,0,"LIST"],[454,256,0,354,0,"LIST"],[455,256,0,355,0,"LIST"],[456,352,0,356,0,"STRING"],[457,353,0,357,0,"STRING"],[458,354,0,358,0,"STRING"],[459,355,0,359,0,"STRING"],[460,366,0,251,0,"IMAGE"],[461,331,0,277,4,"STRING"],[462,331,0,272,4,"STRING"]],"groups":[{"id":7,"title":"Text Iterator","bounding":[3602.355907594222,-2061.2991332885435,1540.9806498928065,766.3696847589775],"color":"#3f789e","font_size":24,"flags":{}},{"id":8,"title":"Text Split By Delimiter (Array) Get List Element (List)","bounding":[1582.0044947743686,-1026.7103559516177,1833.8169382993406,1959.2110393999221],"color":"#3f789e","font_size":24,"flags":{}},{"id":9,"title":"JSON Parser","bounding":[3610.899763275097,-343.1132180839943,1176.3395449705422,889.887588099335],"color":"#3f789e","font_size":24,"flags":{}},{"id":10,"title":"Text Batch Replace","bounding":[3607.6821668513903,-1258.6626780579936,1469.994831063348,898.4015511851885],"color":"#3f789e","font_size":24,"flags":{}},{"id":11,"title":"Ollama","bounding":[1581.2302140281286,-2074.803094990241,1999.1968767855083,1025.190887652889],"color":"#3f789e","font_size":24,"flags":{}},{"id":12,"title":"nvidia","bounding":[-348.80217703815595,-2384.2227261780768,1828.7700013456952,1281.562835929001],"color":"#3f789e","font_size":24,"flags":{}},{"id":13,"title":"Gemini","bounding":[-247.17637064906836,-1040.5207818910394,1301.164241787248,1126.0513913760017],"color":"#3f789e","font_size":24,"flags":{}},{"id":14,"title":"DeepSeek","bounding":[1107.7061487235085,-1036.1102753291957,431.678952499194,869.1139382589404],"color":"#3f789e","font_size":24,"flags":{}},{"id":15,"title":"Perplexity","bounding":[-247.47913313515437,111.43052767652122,1136.4269615902874,660.9551214175602],"color":"#3f789e","font_size":24,"flags":{}}],"config":{},"extra":{"0246.VERSION":[0,0,4],"ds":{"scale":0.28531167061101637,"offset":[3563.0127205777944,2649.7238017476875]},"ue_links":[],"links_added_by_ue":[],"workflowRendererVersion":"LG"},"version":0.4} +>>>>>>> e9ec5ee (feat: Release v1.0.6 with 6 new advanced text nodes and Nodes 2.0 (Vue UI) optimization)