diff --git a/gemini/gemini_image_node.py b/gemini/gemini_image_node.py index d792856..8b7785b 100644 --- a/gemini/gemini_image_node.py +++ b/gemini/gemini_image_node.py @@ -175,7 +175,7 @@ class GeminiImage(io.ComfyNode): io.AnyType.Input( id="proxy_options", optional=True, - tooltip="Optional proxy configuration override from YCYY API Proxy Config Options" + tooltip="Optional proxy configuration override from YCYY API Proxy Options" ), io.String.Input( id="prompt", diff --git a/gemini/gemini_tts_node.py b/gemini/gemini_tts_node.py index 9ddfe33..c663d28 100644 --- a/gemini/gemini_tts_node.py +++ b/gemini/gemini_tts_node.py @@ -154,7 +154,7 @@ class GeminiTTS(io.ComfyNode): io.String.Input( id="text", multiline=True, - tooltip="The text to convert to speech" + tooltip="The text to convert to speech.You can control style, tone, accent, and pace using natural language prompts.For example:Say in an spooky whisper:\"By the pricking of my thumbs...Something wicked this way comes\"" ), io.AnyType.Input( id="config_options", diff --git a/locales/en/nodeDefs.json b/locales/en/nodeDefs.json index 3fd43ab..31307f0 100644 --- a/locales/en/nodeDefs.json +++ b/locales/en/nodeDefs.json @@ -6,13 +6,13 @@ "name": "images", "tooltip": "Optional image(s) to use as context for the model" }, - "config_options":{ + "config_options": { "name": "config_options", "tooltip": "Optional configuration override from YCYY API Config Options" }, - "proxy_options":{ + "proxy_options": { "name": "proxy_options", - "tooltip": "Optional proxy configuration override from YCYY API Proxy Config Options" + "tooltip": "Optional proxy configuration override from YCYY API Proxy Options" }, "prompt": { "name": "prompt" @@ -46,19 +46,19 @@ } } }, - "YCYY_Gemini_Image_Preset":{ + "YCYY_Gemini_Image_Preset": { "display_name": "Gemini Image Preset", "description": "This node provides presets for the Gemini Image API.", "inputs": { - "preset":{ + "preset": { "name": "preset", "tooltip": "Gemini image preset name" }, - "description":{ + "description": { "name": "description", "tooltip": "Gemini image preset description" }, - "prompt":{ + "prompt": { "name": "prompt", "tooltip": "Gemini image preset prompt" } @@ -69,14 +69,22 @@ } } }, - "YCYY_Ollama_VLM_API":{ + "YCYY_Ollama_VLM_API": { "display_name": "Ollama VLM API", "description": "This node uses the Ollama VLM model for image reasoning and analysis.", "inputs": { - "images":{ + "images": { "name": "images", "tooltip": "Images used for analysis" }, + "config_options": { + "name": "config_options", + "tooltip": "Optional configuration override from YCYY API Config Options" + }, + "proxy_options": { + "name": "proxy_options", + "tooltip": "Optional proxy configuration override from YCYY API Proxy Options" + }, "model": { "name": "model" } @@ -87,18 +95,26 @@ } } }, - "YCYY_Ollama_LLM_API":{ + "YCYY_Ollama_LLM_API": { "display_name": "Ollama LLM API", "description": "This node uses the Ollama LLM model for conversation.", - "inputs": { - "advanced_options":{ + "inputs": { + "config_options": { + "name": "config_options", + "tooltip": "Optional configuration override from YCYY API Config Options" + }, + "proxy_options": { + "name": "proxy_options", + "tooltip": "Optional proxy configuration override from YCYY API Proxy Options" + }, + "advanced_options": { "name": "advanced_options", "tooltip": "Optional configuration for the model.Accepts inputs from the Ollama LLM Advanced Options node." }, - "system_prompt":{ + "system_prompt": { "name": "system_prompt" }, - "user_prompt":{ + "user_prompt": { "name": "user_prompt" }, "model": { @@ -124,17 +140,17 @@ } } }, - "YCYY_Ollama_LLM_Advanced_Options":{ + "YCYY_Ollama_LLM_Advanced_Options": { "display_name": "Ollama LLM Advanced Options", "description": "This node provides advanced options for the ollama LLM model.", - "inputs": { - "max_tokens":{ + "inputs": { + "max_tokens": { "name": "max_tokens" }, - "temperature":{ + "temperature": { "name": "temperature" }, - "top_p":{ + "top_p": { "name": "top_p" }, "enable_max_tokens": { @@ -160,5 +176,86 @@ "tooltip": "Advanced options for the model." } } + }, + "YCYY_API_Config_Options": { + "display_name": "API Config Options", + "description": "This node provides override API config options.", + "inputs": { + "base_url": { + "name": "base_url", + "tooltip": "Override the API base URL" + }, + "api_key": { + "name": "api_key", + "tooltip": "Override the API key" + }, + "timeout": { + "name": "timeout", + "tooltip": "Override the request timeout in seconds" + } + }, + "outputs": { + "0": { + "name": "config_options", + "tooltip": "Override configuration options" + } + } + }, + "YCYY_API_Proxy_Options": { + "display_name": "API Proxy Options", + "description": "This node provides override API proxy options.", + "inputs": { + "enable": { + "name": "enable", + "tooltip": "Enable or disable proxy" + }, + "http": { + "name": "http", + "tooltip": "HTTP proxy address (e.g., http://127.0.0.1:7890)" + }, + "https": { + "name": "https", + "tooltip": "HTTPS proxy address (e.g., http://127.0.0.1:7890)" + } + }, + "outputs": { + "0": { + "name": "proxy_options", + "tooltip": "Override proxy options" + } + } + }, + "YCYY_Gemini_TTS_API": { + "display_name": "Gemini TTS API", + "description": "This node uses the Google Gemini TTS API to generate speech from text.", + "inputs": { + "text": { + "name": "text", + "tooltip": "The text to convert to speech.You can control style, tone, accent, and pace using natural language prompts.For example:Say in an spooky whisper:\"By the pricking of my thumbs...Something wicked this way comes\"" + }, + "config_options": { + "name": "config_options", + "tooltip": "Optional configuration override from YCYY API Config Options" + }, + "proxy_options": { + "name": "proxy_options", + "tooltip": "Optional proxy configuration override from YCYY API Proxy Options" + }, + "model": { + "name": "model" + }, + "voiceName": { + "name": "voiceName", + "tooltip": "The voice to use for speech synthesis" + } + }, + "outputs": { + "0": { + "name": "Audio" + }, + "1": { + "name": "String" + } + } } } \ No newline at end of file diff --git a/locales/zh/nodeDefs.json b/locales/zh/nodeDefs.json index 9047209..26551c5 100644 --- a/locales/zh/nodeDefs.json +++ b/locales/zh/nodeDefs.json @@ -9,11 +9,11 @@ }, "config_options":{ "name": "配置选项", - "tooltip": "可选配置可从 YCYY API 配置选项中进行覆盖" + "tooltip": "可选配置覆盖选项,来自 YCYY API 配置选项" }, "proxy_options":{ - "name": "代理配置选项", - "tooltip": "可选的代理配置覆盖来自 YCYY API 代理配置选项。" + "name": "代理选项", + "tooltip": "可选代理覆盖选项,来自 YCYY API 代理选项" }, "prompt": { "name": "prompt" @@ -78,6 +78,14 @@ "name": "图像", "tooltip": "用于分析的图像(支持多个)" }, + "config_options":{ + "name": "配置选项", + "tooltip": "可选配置覆盖选项,来自 YCYY API 配置选项" + }, + "proxy_options":{ + "name": "代理选项", + "tooltip": "可选代理覆盖选项,来自 YCYY API 代理选项" + }, "model": { "name": "模型" } @@ -92,6 +100,14 @@ "display_name": "Ollama 文本 API", "description": "该节点使用 Ollama 大语言模型进行对话", "inputs": { + "config_options":{ + "name": "配置选项", + "tooltip": "可选配置覆盖选项,来自 YCYY API 配置选项" + }, + "proxy_options":{ + "name": "代理选项", + "tooltip": "可选代理覆盖选项,来自 YCYY API 代理选项" + }, "advanced_options":{ "name": "高级选项", "tooltip": "模型的高级选项(可选),接受来自 Ollama 文本高级选项节点的输入。" @@ -117,7 +133,7 @@ "outputs": { "0": { "name": "结果", - "tooltip": "返回结果" + "tooltip": "返回结果文本" }, "1": { "name": "上下文", @@ -161,5 +177,86 @@ "tooltip": "模型的高级选项。" } } + }, + "YCYY_API_Config_Options": { + "display_name": "API 配置选项", + "description": "该节点提供了覆盖 API 配置选项的功能", + "inputs": { + "base_url": { + "name": "base_url", + "tooltip": "覆盖 API 基础 URL" + }, + "api_key": { + "name": "api_key", + "tooltip": "覆盖 API 密钥" + }, + "timeout": { + "name": "timeout", + "tooltip": "以秒为单位覆盖请求超时时间" + } + }, + "outputs": { + "0": { + "name": "配置选项", + "tooltip": "覆盖配置选项" + } + } + }, + "YCYY_API_Proxy_Options": { + "display_name": "API 代理选项", + "description": "该节点提供了覆盖 API 代理选项的功能", + "inputs": { + "enable": { + "name": "enable", + "tooltip": "启用或禁用代理" + }, + "http": { + "name": "http", + "tooltip": "HTTP 代理地址(例如 http://127.0.0.1:7890)" + }, + "https": { + "name": "https", + "tooltip": "HTTPS 代理地址(例如 http://127.0.0.1:7890)" + } + }, + "outputs": { + "0": { + "name": "代理选项", + "tooltip": "覆盖代理选项" + } + } + }, + "YCYY_Gemini_TTS_API": { + "display_name": "Gemini 文本转语音 API", + "description": "该节点使用 Google Gemini TTS API 将文本转换为语音", + "inputs": { + "text": { + "name": "text", + "tooltip": "需要转换为语音的文本" + }, + "config_options":{ + "name": "配置选项", + "tooltip": "可选配置覆盖选项,来自 YCYY API 配置选项" + }, + "proxy_options":{ + "name": "代理选项", + "tooltip": "可选代理覆盖选项,来自 YCYY API 代理选项" + }, + "model": { + "name": "model" + }, + "voiceName": { + "name": "语音名称", + "tooltip": "用于语音合成的语音" + } + }, + "outputs": { + "0": { + "name": "Audio" + }, + "1": { + "name": "String" + } + } } } \ No newline at end of file diff --git a/ollama/ollama_llm_node.py b/ollama/ollama_llm_node.py index 74774cc..86b657b 100644 --- a/ollama/ollama_llm_node.py +++ b/ollama/ollama_llm_node.py @@ -108,12 +108,12 @@ class OllamaLLM(io.ComfyNode): io.AnyType.Input( id="config_options", optional=True, - tooltip="Optional configuration override from YCYY Ollama Config Options" + tooltip="Optional configuration override from YCYY API Config Options" ), io.AnyType.Input( id="proxy_options", optional=True, - tooltip="Optional proxy configuration override from YCYY Proxy Config Options" + tooltip="Optional proxy configuration override from YCYY API Proxy Options" ), io.AnyType.Input( id="advanced_options", diff --git a/ollama/ollama_vlm_node.py b/ollama/ollama_vlm_node.py index b4978e2..3657477 100644 --- a/ollama/ollama_vlm_node.py +++ b/ollama/ollama_vlm_node.py @@ -112,12 +112,12 @@ class OllamaVLM(io.ComfyNode): io.AnyType.Input( id="config_options", optional=True, - tooltip="Optional configuration override from YCYY Ollama Config Options" + tooltip="Optional configuration override from YCYY API Config Options" ), io.AnyType.Input( id="proxy_options", optional=True, - tooltip="Optional proxy configuration override from YCYY Proxy Config Options" + tooltip="Optional proxy configuration override from YCYY API Proxy Config Options" ), io.Image.Input( "images", diff --git a/options/config_options_node.py b/options/config_options_node.py index 0f4fd8c..422ecbb 100644 --- a/options/config_options_node.py +++ b/options/config_options_node.py @@ -8,8 +8,8 @@ class ConfigOptions(io.ComfyNode): @classmethod def define_schema(cls) -> io.Schema: return io.Schema( - node_id="YCYY_Config_Options", - display_name="Config Options", + node_id="YCYY_API_Config_Options", + display_name="API Config Options", category="YCYY/API/utils", inputs=[ io.String.Input( @@ -38,7 +38,7 @@ class ConfigOptions(io.ComfyNode): tooltip="Override configuration options" ) ], - description="This node provides configuration override options (base_url, api_key, timeout)." + description="This node provides override API config options." ) @classmethod diff --git a/options/proxy_options_node.py b/options/proxy_options_node.py index 48cd3ea..252682e 100644 --- a/options/proxy_options_node.py +++ b/options/proxy_options_node.py @@ -8,8 +8,8 @@ class ProxyOptions(io.ComfyNode): @classmethod def define_schema(cls) -> io.Schema: return io.Schema( - node_id="YCYY_Proxy_Options", - display_name="Proxy Options", + node_id="YCYY_API_Proxy_Options", + display_name="API Proxy Options", category="YCYY/API/utils", inputs=[ io.Boolean.Input( @@ -34,10 +34,10 @@ class ProxyOptions(io.ComfyNode): io.AnyType.Output( id="proxy_options", display_name="proxy_options", - tooltip="Proxy configuration override" + tooltip="Override proxy options" ) ], - description="This node provides proxy configuration override options (enable, http, https)." + description="This node provides override API proxy options." ) @classmethod diff --git a/pyproject.toml b/pyproject.toml index 87e0b3d..d9c71c3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "ycyy-api" description = "Freely call APIs in ComfyUI" -version = "1.0.0" +version = "1.1.0" license = {file = "LICENSE"} # classifiers = [ # # For OS-independent nodes (works on all operating systems)