{ "YCYY_OpenAI_Text_API": { "display_name": "OpenAI Text API", "description": "OpenAI and OpenAI-compatible text, image and video API.", "inputs": { "api_name": { "name": "api_name" }, "model": { "name": "model" }, "system_prompt": { "name": "system_prompt" }, "user_prompt": { "name": "user_prompt" }, "persist_context": { "name": "persist_context", "tooltip": "Persist chat context between calls" }, "clear_history": { "name": "clear_history", "tooltip": "Clear the current conversation history" }, "stream": { "name": "stream", "tooltip": "If true, the model response is streamed to the client as it is generated using server-sent events (SSE)." }, "images": { "name": "images", "tooltip": "Optional image input" }, "videos": { "name": "videos", "tooltip": "Optional video input; unsupported APIs return an error" }, "config_options": { "name": "config_options", "tooltip": "Configuration override" }, "proxy_options": { "name": "proxy_options", "tooltip": "Proxy override" }, "advanced_options": { "name": "advanced_options", "tooltip": "Advanced model options" }, "skill_options": { "name": "skill_options", "tooltip": "Optional progressive Skill configuration from OpenAI Text Skill Options" } }, "outputs": { "0": { "name": "Result" }, "1": { "name": "Conversation", "tooltip": "Full redacted Pi Skill Agent ledger for Skill calls" }, "2": { "name": "Skill Trace" } } }, "YCYY_OpenAI_Image_API": { "display_name": "OpenAI Image API", "description": "Generate or edit images using the OpenAI Image API (supports gpt-image model series)", "inputs": { "prompt": { "name": "prompt", "tooltip": "Text prompt used to generate or edit the image" }, "model": { "name": "model", "tooltip": "OpenAI GPT image model" }, "size": { "name": "size", "tooltip": "Output image size. Select 'Custom' to specify custom width and height" }, "custom_width": { "name": "custom width", "tooltip": "Used only when size is 'Custom'. Must be a multiple of 16" }, "custom_height": { "name": "custom height", "tooltip": "Used only when size is 'Custom'. Must be a multiple of 16" }, "quality": { "name": "quality", "tooltip": "Image quality level (auto, low, medium, high)" }, "background": { "name": "background", "tooltip": "Return image with or without background. 'transparent' outputs PNG with alpha transparency" }, "n": { "name": "n", "tooltip": "Number of images to generate (1 to 10)" }, "seed": { "name": "seed", "tooltip": "Random seed for generation" }, "images": { "name": "images", "tooltip": "Optional reference image(s) for image editing. GPT image models support up to 16 images" }, "mask": { "name": "mask", "tooltip": "Optional mask for inpainting (white areas will be replaced). Requires exactly one reference image" }, "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" } }, "outputs": { "0": { "name": "image" }, "1": { "name": "info" } } }, "YCYY_Preview_API_Result": { "display_name": "Preview API Result", "description": "Render text as a Markdown preview with copy support.", "inputs": { "source": { "name": "source", "tooltip": "Markdown or plain text to preview" } }, "outputs": { "0": { "name": "text" } } }, "YCYY_OpenAI_Text_Skill_Options": { "display_name": "OpenAI Text Skill Options", "description": "Load a local SKILL.md package for progressive use by OpenAI Text API.", "inputs": { "skill_name": { "name": "skill_name", "tooltip": "Select a configured local Skill" }, "description": { "name": "Skill description", "tooltip": "Read-only description of the selected Skill" } }, "outputs": { "0": { "name": "skill_options" } } }, "YCYY_OpenAI_Text_Advanced_Options": { "display_name": "OpenAI Text Advanced Options", "description": "Pass custom JSON parameters to the OpenAI Text API.", "inputs": { "options_json": { "name": "JSON options", "tooltip": "A JSON object containing protocol/API-specific request parameters. Example:\n{\n \"temperature\": 0.7,\n \"reasoning\": {\n \"effort\": \"medium\"\n }\n}" } }, "outputs": { "0": { "name": "advanced_options" } } }, "YCYY_Gemini_Image_API": { "display_name": "Gemini Image API", "inputs": { "images": { "name": "images", "tooltip": "Optional image(s) to use as context for the model" }, "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" }, "prompt": { "name": "prompt" }, "model": { "name": "model" }, "aspectRatio": { "name": "aspectRatio", "tooltip": "The model defaults to matching the output image size to that of your input image, or otherwise generates 1:1 squares. You can control the aspect ratio of the output image using the aspect ratio" }, "imageSize": { "name": "imageSize", "tooltip": "Control the resolution of the output image. 1K is approximately 1024x1024, 2K is approximately 2048x2048, 4K is approximately 4096x4096 (Only effective for the gemini-3 model)." }, "enableSearch": { "name": "enableSearch", "tooltip": "Use the Google Search tool to generate images based on real-time information (Only effective for the gemini-3 model)" }, "seed": { "name": "seed", "tooltip": "Seed to use for generation" } }, "outputs": { "0": { "name": "Image" }, "1": { "name": "String" } } }, "YCYY_Grok_Image_API": { "display_name": "Grok Image API", "description": "This node uses the xAI Grok Image API to generate or edit images.", "inputs": { "images": { "name": "images", "tooltip": "Optional reference image(s) for editing. Up to 3 images (1 for pro model)." }, "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" }, "prompt": { "name": "prompt", "tooltip": "The prompt used to generate or edit the image" }, "model": { "name": "model", "tooltip": "Grok image model" }, "aspect_ratio": { "name": "aspect_ratio", "tooltip": "Aspect ratio of the generated image. 'auto' matches input image in edit mode or generates 1:1." }, "resolution": { "name": "resolution", "tooltip": "Resolution of the output image (1K or 2K)." }, "quality": { "name": "quality", "tooltip": "Quality level, supported only by the grok-imagine-image-2.0 model." }, "number_of_images": { "name": "number_of_images", "tooltip": "Number of images to generate (1 to 10)." }, "seed": { "name": "seed", "tooltip": "Seed to use for generation." } }, "outputs": { "0": { "name": "Image" }, "1": { "name": "Info" } } }, "YCYY_Ollama_VLM_API": { "display_name": "Ollama VLM API", "description": "This node uses the Ollama VLM model for image reasoning and analysis.", "inputs": { "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" } }, "outputs": { "0": { "name": "String" } } }, "YCYY_Ollama_LLM_API": { "display_name": "Ollama LLM API", "description": "This node uses the Ollama LLM model for conversation.", "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": { "name": "system_prompt" }, "user_prompt": { "name": "user_prompt" }, "model": { "name": "model" }, "persist_context": { "name": "persist_context", "tooltip": "Persist chat context between calls (multi-turn conversation)" }, "clear_history": { "name": "clear_history", "tooltip": "Clear conversation history and start a new conversation" } }, "outputs": { "0": { "name": "Result", "tooltip": "Return result" }, "1": { "name": "Conversation", "tooltip": "All historical conversation" } } }, "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": { "name": "max_tokens" }, "temperature": { "name": "temperature" }, "top_p": { "name": "top_p" }, "enable_max_tokens": { "name": "enable_max_tokens", "tooltip": "Whether to enable max tokens" }, "enable_temperature": { "name": "enable_temperature", "tooltip": "Whether to enable temperature" }, "enable_top_p": { "name": "enable_top_p", "tooltip": "Whether to enable top_p" }, "enable_thinking": { "name": "enable_thinking", "tooltip": "Whether to enable thinking" } }, "outputs": { "0": { "name": "advanced_options", "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; leave empty to inherit the selected API configuration" }, "api_key": { "name": "api_key", "tooltip": "Override the API key; leave empty to inherit the selected API configuration" }, "api_protocol": { "name": "api_protocol", "tooltip": "Override the API protocol, or choose inherit to use the selected API configuration" }, "timeout": { "name": "timeout", "tooltip": "Override the request timeout in seconds; 0 inherits the selected API configuration" } }, "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_Image_Preset": { "display_name": "Gemini Image Preset", "description": "This node provides presets for the Gemini Image API.", "inputs": { "preset": { "name": "preset", "tooltip": "Gemini image preset name" }, "description": { "name": "description", "tooltip": "Gemini image preset description" }, "prompt": { "name": "prompt", "tooltip": "Gemini image preset prompt" } }, "outputs": { "0": { "name": "String" } } }, "YCYY_Gemini_Speaker_Options": { "display_name": "Gemini Speaker Options", "description": "This node builds a single speaker option for Gemini multi-speaker TTS.", "inputs": { "speaker": { "name": "speaker", "tooltip": "Speaker name used in the conversation text" }, "voiceName": { "name": "voiceName", "tooltip": "The voice assigned to this speaker" } }, "outputs": { "0": { "name": "speaker_options", "tooltip": "Single speaker option item for Gemini multi-speaker TTS" } } }, "YCYY_Gemini_Batch_Speakers_Options": { "display_name": "Gemini Batch Speakers Options", "description": "This node merges two Gemini multi-speaker option arrays.", "inputs": { "speaker_options1": { "name": "speaker_options1", "tooltip": "The first speaker options array" }, "speaker_options2": { "name": "speaker_options2", "tooltip": "The second speaker options array" } }, "outputs": { "0": { "name": "speaker_options", "tooltip": "Merged speaker options array" } } }, "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" } } }, "YCYY_Gemini_TTS_Multi_API": { "display_name": "Gemini TTS Multi API", "description": "This node uses the Google Gemini TTS API to generate multi-speaker speech from text.", "inputs": { "text": { "name": "text", "tooltip": "Conversation text. Include speaker labels that match the configured speaker names." }, "speaker_options": { "name": "speaker_options", "tooltip": "Speaker option array from Gemini Speaker Options or Gemini Batch Speakers Options" }, "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" }, "seed": { "name": "seed", "tooltip": "Seed to use for generation" } }, "outputs": { "0": { "name": "Audio" }, "1": { "name": "String" } } }, "YCYY_Gemini_STT_API": { "display_name": "Gemini STT API", "description": "This node uses the Google Gemini STT API to transcribe speech to text.", "inputs": { "audio": { "name": "audio", "tooltip": "The audio to transcribe" }, "prompt": { "name": "prompt", "tooltip": "The prompt to guide the transcription. You can ask for specific formats or instructions." }, "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" } }, "outputs": { "0": { "name": "String" }, "1": { "name": "String" } } }, "YCYY_ModelScope_Image_API": { "display_name": "ModelScope Image API", "description": "Generate or edit images through the ModelScope API. Connecting an image enables edit mode.", "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" }, "prompt": { "name": "prompt", "tooltip": "Prompt used to generate or edit the image" }, "negative_prompt": { "name": "negative_prompt", "tooltip": "Negative prompt" }, "api_name": { "name": "api name", "tooltip": "Select a ModelScope image API name" }, "model": { "name": "model" }, "width": { "name": "width" }, "height": { "name": "height" }, "steps": { "name": "steps" }, "guidance": { "name": "guidance" }, "image": { "name": "image", "tooltip": "Optional source image. Connect it to edit an image; leave it disconnected to generate one" } }, "outputs": { "0": { "name": "Image" }, "1": { "name": "String" } } }, "YCYY_Image_Compare": { "display_name": "Compare Images", "description": "Compares two images side by side with a slider.", "inputs": { "image_a": { "name": "Image A", "tooltip": "The image displayed on the left side of the comparison slider." }, "image_b": { "name": "Image B", "tooltip": "The image displayed on the right side of the comparison slider." } } } }