# 🌸 ComfyUI-Pollinations-BYOP [![ComfyUI](https://img.shields.io/badge/ComfyUI-Custom_Node-blue)](https://github.com/comfyanonymous/ComfyUI) [![Pollinations.ai](https://img.shields.io/badge/API-Pollinations.ai-pink)](https://pollinations.ai/) [![Pollinations GitHub](https://img.shields.io/badge/Source-Pollinations_Repo-black)](https://github.com/pollinations/pollinations) [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT) The latest ComfyUI custom node suite for **[Pollinations.ai](https://pollinations.ai/)** with full **BYOP (Bring Your Own Pollen)** support. Generate high-quality images, text, videos and audio using state-of-the-art models (like **Flux**, **DeepSeek**, and **Wan 2.6**) directly inside ComfyUIβ€”**without using any of your local GPU VRAM.** Whether you are running on an 8GB laptop or a cloud server, this node suite offloads the heavy compute lifting to the Pollinations API. --- ## ✨ Features * **Zero Local VRAM Required:** Generation happens entirely in the cloud. * **Multimodal Generation:** Create Images, Videos, Audio and Text all from within your node tree. * **BYOP Support:** Seamlessly integrate your Pollinations API Key to use your own "Pollen" quota, bypassing anonymous rate limits and supporting the ecosystem. * **Lightning Fast:** Outputs load directly as standard ComfyUI `IMAGE` and `STRING` formats, ready for immediate downstream processing (Upscaling, I2V, Compositing). --- ## 🧩 Nodes Included & Supported Models ### 1. πŸŒΈπŸ–ΌοΈ Pollinations Image Gen (BYOP) Generates high-fidelity images directly to a ComfyUI `IMAGE` tensor. * **Supported Models:** * `MarcosFRG/flux-1-schnell` * `MarcosFRG/flux-1-schnell:paid πŸ’Ž` * `MarcosFRG/flux-2-klein-4b` * `alibaba/wan-2.7-image πŸ’Ž` * `alibaba/wan-2.7-image-pro πŸ’Ž` * `aurora πŸ’Ž` * `black-forest-labs/flux.1-kontext-pro` * `black-forest-labs/flux.1-schnell` * `black-forest-labs/flux.1.1-pro` * `black-forest-labs/flux.2-flex πŸ’Ž` * `black-forest-labs/flux.2-klein-4b` * `black-forest-labs/flux.2-max πŸ’Ž` * `black-forest-labs/flux.2-pro πŸ’Ž` * `bytedance/seedream-4.0 πŸ’Ž` * `bytedance/seedream-4.5 πŸ’Ž` * `bytedance/seedream-5.0-lite πŸ’Ž` * `bytedance/seedream-5.0-pro πŸ’Ž` * `chigwell/gpt-image-2 πŸ’Ž` * `chigwell/gpt-image-2.5 πŸ’Ž` * `community/MarcosFRG/flux-1-schnell` * `community/MarcosFRG/flux-1-schnell:paid πŸ’Ž` * `community/MarcosFRG/flux-2-klein-4b` * `community/chigwell/gpt-image-2 πŸ’Ž` * `community/chigwell/gpt-image-2.5 πŸ’Ž` * `community/rekty/rekty-dev-3 πŸ’Ž` * `community/rekty/rekty-dev-v2 πŸ’Ž` * `community/scriptsnsenses-sys/sdxl-lightning-free` * `community/sharktide/gpt-image-2.5-flare-input-cheap πŸ’Ž` * `community/sharktide/gpt-image-2.5-sunburst-input-cheap πŸ’Ž` * `community/sharktide/inferenceport-ai-gpt-image-2.5-flare πŸ’Ž` * `community/sharktide/inferenceport-ai-gpt-image-2.5-sunburst πŸ’Ž` * `community/sharktide/inferenceport-ai-gpt-image-router πŸ’Ž` * `community/sharktide/inferenceport-ai-image-ultra πŸ’Ž` * `community/sharktide/inferenceport-ai-lightning-image-plus` * `community/sharktide/inferenceport-ai-lightning-image-turbo` * `community/vendouple/anima πŸ’Ž` * `community/vendouple/uncensored-image-v2` * `dreamshaper` * `flux` * `flux-2-flex πŸ’Ž` * `flux-2-pro πŸ’Ž` * `flux-klein` * `google/gemini-2.5-flash-image πŸ’Ž` * `google/gemini-3-pro-image πŸ’Ž` * `google/gemini-3.1-flash-image πŸ’Ž` * `google/gemini-3.1-flash-lite-image πŸ’Ž` * `gpt-image` * `gpt-image-1-mini` * `gpt-image-1.5` * `gpt-image-2` * `gpt-image-large` * `gptimage` * `gptimage-large` * `grok-aurora πŸ’Ž` * `grok-imagine πŸ’Ž` * `grok-imagine-image πŸ’Ž` * `grok-imagine-image-2.0 πŸ’Ž` * `grok-imagine-image-pro πŸ’Ž` * `grok-imagine-image-quality πŸ’Ž` * `grok-imagine-pro πŸ’Ž` * `ideogram-ai/ideogram-v4-balanced πŸ’Ž` * `ideogram-ai/ideogram-v4-quality πŸ’Ž` * `ideogram-ai/ideogram-v4-turbo πŸ’Ž` * `ideogram-v4-balanced πŸ’Ž` * `ideogram-v4-quality πŸ’Ž` * `ideogram-v4-turbo πŸ’Ž` * `inferenceport-ai/lightning-image-turbo πŸ’Ž` * `klein` * `kontext` * `krea πŸ’Ž` * `krea-2 πŸ’Ž` * `krea/krea-2-medium πŸ’Ž` * `lykon/dreamshaper-8-lcm` * `microsoft/mai-image-2.5-flash` * `microsoft/mai-image-2.6` * `microsoft/mai-image-2.6-flash` * `nanobanana πŸ’Ž` * `nanobanana-2 πŸ’Ž` * `nanobanana-2-lite πŸ’Ž` * `nanobanana-lite πŸ’Ž` * `nanobanana-pro πŸ’Ž` * `nanobanana2 πŸ’Ž` * `nanobanana2lite πŸ’Ž` * `openai/gpt-image-1-mini` * `openai/gpt-image-1.5` * `openai/gpt-image-2` * `openai/gpt-image-2.5-flare πŸ’Ž` * `openai/gpt-image-2.5-sunburst πŸ’Ž` * `p-image πŸ’Ž` * `p-image-edit πŸ’Ž` * `pruna πŸ’Ž` * `pruna-edit πŸ’Ž` * `pruna-image πŸ’Ž` * `pruna-image-edit πŸ’Ž` * `prunaai/p-image πŸ’Ž` * `prunaai/p-image-edit πŸ’Ž` * `qwen-image πŸ’Ž` * `qwen-image-2512 πŸ’Ž` * `qwen-image-3 πŸ’Ž` * `qwen-image-edit πŸ’Ž` * `qwen-image-edit-plus πŸ’Ž` * `qwen-image-plus πŸ’Ž` * `qwen/qwen-image πŸ’Ž` * `qwen/qwen-image-2.1 πŸ’Ž` * `qwen/qwen-image-3 πŸ’Ž` * `recraft-svg πŸ’Ž` * `recraft-v4.1-svg πŸ’Ž` * `recraft-v4.1-vector πŸ’Ž` * `recraft-vector πŸ’Ž` * `recraft/recraft-v4.1-flash πŸ’Ž` * `recraft/recraft-v4.1-vector πŸ’Ž` * `rekty/rekty-dev-3 πŸ’Ž` * `rekty/rekty-dev-v2 πŸ’Ž` * `sana` * `scriptsnsenses-sys/sdxl-lightning-free` * `seedream πŸ’Ž` * `seedream-5-pro πŸ’Ž` * `seedream-pro πŸ’Ž` * `seedream-pro-5 πŸ’Ž` * `seedream5 πŸ’Ž` * `seedream5-pro πŸ’Ž` * `sharktide/gpt-image-2.5-flare-input-cheap πŸ’Ž` * `sharktide/gpt-image-2.5-sunburst-input-cheap πŸ’Ž` * `sharktide/inferenceport-ai-gpt-image-2.5-flare πŸ’Ž` * `sharktide/inferenceport-ai-gpt-image-2.5-sunburst πŸ’Ž` * `sharktide/inferenceport-ai-gpt-image-router πŸ’Ž` * `sharktide/inferenceport-ai-image-ultra πŸ’Ž` * `sharktide/inferenceport-ai-lightning-image-plus` * `sharktide/inferenceport-ai-lightning-image-turbo` * `tongyi-mai/z-image-turbo` * `vendouple/anima πŸ’Ž` * `vendouple/uncensored-image-v2` * `wan-image πŸ’Ž` * `wan-image-pro πŸ’Ž` * `wan-img πŸ’Ž` * `wan-img-pro πŸ’Ž` * `wan2.7-image πŸ’Ž` * `wan2.7-image-pro πŸ’Ž` * `x-ai/grok-imagine-image πŸ’Ž` * `x-ai/grok-imagine-image-2.0 πŸ’Ž` * `x-ai/grok-imagine-image-quality πŸ’Ž` * `z-image` * `z-image-turbo` * `zimage` * **Parameters:** `prompt`, `model`, `width`, `height`, `seed`, `api_key`, `negative_prompt` ### 2. 🌸🎞️ Pollinations Video Gen (BYOP) Generates high-quality AI video. * **Supported Models:** * `alibaba/happyhorse-1.1 πŸ’Ž` * `alibaba/wan-2.2-fast πŸ’Ž` * `alibaba/wan-2.6 πŸ’Ž` * `alibaba/wan-2.7 πŸ’Ž` * `alibaba/wan-3.0 πŸ’Ž` * `bytedance/seedance-1-pro-fast πŸ’Ž` * `bytedance/seedance-2.0 πŸ’Ž` * `bytedance/seedance-2.0-fast πŸ’Ž` * `bytedance/seedance-2.0-mini πŸ’Ž` * `bytedance/seedance-2.5 πŸ’Ž` * `google/gemini-omni-1.1-flash πŸ’Ž` * `google/veo-3.1-fast πŸ’Ž` * `grok-imagine-video πŸ’Ž` * `grok-imagine-video-1.5 πŸ’Ž` * `grok-video-pro πŸ’Ž` * `happy-horse-1.1 πŸ’Ž` * `happyhorse πŸ’Ž` * `happyhorse-1.1 πŸ’Ž` * `heygen/heygen-video-1 πŸ’Ž` * `minimax-h3 πŸ’Ž` * `minimax/minimax-h3 πŸ’Ž` * `minimax/minimax-h3-max πŸ’Ž` * `minimax/minimax-h3-max-turbo πŸ’Ž` * `p-video πŸ’Ž` * `p-video-1080p πŸ’Ž` * `p-video-720p πŸ’Ž` * `pruna-video πŸ’Ž` * `pruna-video-1080p πŸ’Ž` * `prunaai/p-video πŸ’Ž` * `seedance-2 πŸ’Ž` * `seedance-2.0 πŸ’Ž` * `seedance-2.0-fast πŸ’Ž` * `seedance-2.0-mini πŸ’Ž` * `seedance-2.5 πŸ’Ž` * `seedance-pro πŸ’Ž` * `veo πŸ’Ž` * `veo-1080 πŸ’Ž` * `veo-1080p πŸ’Ž` * `veo-3.1-fast πŸ’Ž` * `veo-3.1-fast-1080p πŸ’Ž` * `veo-720p πŸ’Ž` * `video πŸ’Ž` * `wan πŸ’Ž` * `wan-2.2 πŸ’Ž` * `wan-2.7 πŸ’Ž` * `wan-3.0 πŸ’Ž` * `wan-fast πŸ’Ž` * `wan-i2v πŸ’Ž` * `wan-pro πŸ’Ž` * `wan-pro-1080 πŸ’Ž` * `wan-pro-1080p πŸ’Ž` * `wan2.2 πŸ’Ž` * `wan2.6 πŸ’Ž` * `wan2.7 πŸ’Ž` * `wan2.7-1080p πŸ’Ž` * `x-ai/grok-imagine-video πŸ’Ž` * `x-ai/grok-imagine-video-1.5 πŸ’Ž` * **Parameters:** `prompt`, `model`, `seed`, `api_key` ### 3. πŸŒΈπŸ€– Pollinations Text Gen (BYOP) Leverage top-tier LLMs for prompt expansion, dynamic tagging, or scriptwriting inside your workflow. * **Supported Models:** * `AkshayCoder48/code-pair` * `AkshayCoder48/free-clips πŸ’Ž` * `AkshayCoder48/free-voice` * `AkshayCoder48/prompt-to-art πŸ’Ž` * `AkshayCoder48/researcher πŸ’Ž` * `Catniti/catniti-ai-agent` * `Catniti/muse-glimmer-30b` * `Catniti/nemotron-3.5-lightning` * `CloudCompile/pollinations-code-agent-but-weird` * `Creatneworld/catgpt-comic πŸ’Ž` * `Creatneworld/lamplighter πŸ’Ž` * `Creatneworld/pen` * `Creatneworld/sirius-elevator-descent πŸ’Ž` * `Guest453/show-your-work` * `JustScriptzz/gpt-oss-120b` * `Lorodn4x/Kimi-K2.7-Code` * `MarcosFRG/deepseek-v4-flash-0731` * `MarcosFRG/deepseek-v4-flash-0731:paid πŸ’Ž` * `MarcosFRG/gemini-3-flash-preview:paid πŸ’Ž` * `MarcosFRG/gemini-3.1-flash-lite` * `MarcosFRG/gemma-4-26b-a4b:paid πŸ’Ž` * `MarcosFRG/gemma-4-31b:paid πŸ’Ž` * `MarcosFRG/glm-5.3-flash` * `MarcosFRG/glm-5.3:paid πŸ’Ž` * `MarcosFRG/metraxai` * `MarcosFRG/minimax-m3:paid πŸ’Ž` * `MarcosFRG/nemotron-3.5-lightning:paid πŸ’Ž` * `MarcosFRG/qwen3.8-27b:paid πŸ’Ž` * `Takax62/minimax-m3-429b-vml` * `YoannDev90/agentic-gt` * `YoannDev90/muse-glimmer-30b:free` * `YoannDev90/poolside-laguna-s-2.1:free` * `YoannDev90/qwen3.7-flash` * `ZapGaming/mercury-2.5-ultrafast` * `afanasevmylife/gazette` * `afanasevmylife/polyrouter` * `aikhusus2025-ctrl/ember-perch` * `aikhusus2025-ctrl/sirius-elevator` * `aikhusus2025-ctrl/sirius-scorekeeper` * `amazon-nova-2-lite` * `amazon-nova-micro` * `amazon/nova-2-lite-v1` * `amazon/nova-micro-v1` * `anthropic/claude-fable-5 πŸ’Ž` * `anthropic/claude-fable-5.1 πŸ’Ž` * `anthropic/claude-haiku-4.5 πŸ’Ž` * `anthropic/claude-opus-4.6 πŸ’Ž` * `anthropic/claude-opus-4.7 πŸ’Ž` * `anthropic/claude-opus-5 πŸ’Ž` * `anthropic/claude-opus-5.5 πŸ’Ž` * `anthropic/claude-sonnet-4.6 πŸ’Ž` * `anthropic/claude-sonnet-5 πŸ’Ž` * `anthropic/claude-sonnet-5.5 πŸ’Ž` * `chatgpt-5.6-luna` * `chatgpt-5.6-sol` * `chatgpt-5.6-terra` * `chatgpt-luna` * `chatgpt-sol` * `chatgpt-terra` * `chigwell/gpt-6.1-sol πŸ’Ž` * `chigwell/llm7-pro πŸ’Ž` * `claude πŸ’Ž` * `claude-fable-5 πŸ’Ž` * `claude-fast πŸ’Ž` * `claude-haiku πŸ’Ž` * `claude-haiku-4.5 πŸ’Ž` * `claude-large πŸ’Ž` * `claude-opus πŸ’Ž` * `claude-opus-4.5 πŸ’Ž` * `claude-opus-4.6 πŸ’Ž` * `claude-opus-4.7 πŸ’Ž` * `claude-opus-4.8 πŸ’Ž` * `claude-opus-5 πŸ’Ž` * `claude-sonnet πŸ’Ž` * `claude-sonnet-4.6 πŸ’Ž` * `claude-sonnet-5 πŸ’Ž` * `cohere-command-a-plus` * `cohere-command-a-plus-05-2026` * `cohere/command-a-plus` * `command-a-plus` * `command-a-plus-05-2026` * `community/AkshayCoder48/code-pair` * `community/AkshayCoder48/free-clips πŸ’Ž` * `community/AkshayCoder48/free-voice` * `community/AkshayCoder48/prompt-to-art πŸ’Ž` * `community/AkshayCoder48/researcher πŸ’Ž` * `community/Catniti/catniti-ai-agent` * `community/Catniti/muse-glimmer-30b` * `community/Catniti/nemotron-3.5-lightning` * `community/CloudCompile/pollinations-code-agent-but-weird` * `community/Creatneworld/catgpt-comic πŸ’Ž` * `community/Creatneworld/lamplighter πŸ’Ž` * `community/Creatneworld/pen` * `community/Creatneworld/sirius-elevator-descent πŸ’Ž` * `community/Guest453/show-your-work` * `community/JustScriptzz/gpt-oss-120b` * `community/Lorodn4x/Kimi-K2.7-Code` * `community/MarcosFRG/deepseek-v4-flash-0731` * `community/MarcosFRG/deepseek-v4-flash-0731:paid πŸ’Ž` * `community/MarcosFRG/gemini-3-flash-preview:paid πŸ’Ž` * `community/MarcosFRG/gemini-3.1-flash-lite` * `community/MarcosFRG/gemma-4-26b-a4b:paid πŸ’Ž` * `community/MarcosFRG/gemma-4-31b:paid πŸ’Ž` * `community/MarcosFRG/glm-5.3-flash` * `community/MarcosFRG/glm-5.3:paid πŸ’Ž` * `community/MarcosFRG/metraxai` * `community/MarcosFRG/minimax-m3:paid πŸ’Ž` * `community/MarcosFRG/nemotron-3.5-lightning:paid πŸ’Ž` * `community/MarcosFRG/qwen3.8-27b:paid πŸ’Ž` * `community/Takax62/minimax-m3-429b-vml` * `community/YoannDev90/agentic-gt` * `community/YoannDev90/muse-glimmer-30b:free` * `community/YoannDev90/poolside-laguna-s-2.1:free` * `community/YoannDev90/qwen3.7-flash` * `community/ZapGaming/mercury-2.5-ultrafast` * `community/afanasevmylife/gazette` * `community/afanasevmylife/polyrouter` * `community/aikhusus2025-ctrl/ember-perch` * `community/aikhusus2025-ctrl/sirius-elevator` * `community/aikhusus2025-ctrl/sirius-scorekeeper` * `community/chigwell/gpt-6.1-sol πŸ’Ž` * `community/chigwell/llm7-pro πŸ’Ž` * `community/fadyabohamza-netizen/frugal` * `community/gggff123/Inkling` * `community/gggff123/step-3.7-flash` * `community/immature-yt/alara-nova-1` * `community/iotserver24/kimi-k2.7-code-nitro` * `community/iotserver24/supercharge` * `community/morriszdweck/osaii-api-fast` * `community/morriszdweck/osaii-api-smart` * `community/morriszdweck/osaii-swarm` * `community/pegalink/gemini-3.1-pro-preview πŸ’Ž` * `community/pegalink/gemini-3.8-flash πŸ’Ž` * `community/pegalink/gemini-pro-coder πŸ’Ž` * `community/pegalink/hy4-preview-coding πŸ’Ž` * `community/pollinations-ai/floret` * `community/pollinations-ai/midijourney` * `community/pollinations-ai/polli` * `community/scriptsnsenses-sys/diffusiongema-26B-free` * `community/scriptsnsenses-sys/gemini-3.1-pro-free` * `community/scriptsnsenses-sys/glm-5.3-flash-free` * `community/scriptsnsenses-sys/muse-spark-1.2-contributor-free` * `community/sharktide/3D-agent` * `community/sharktide/inferenceport-ai-gemini-2.5-flash` * `community/sharktide/inferenceport-ai-kimi-k2.7-code-deep-logician πŸ’Ž` * `community/sharktide/inferenceport-ai-lightning-text-v2` * `community/sharktide/inferenceport-ai-lightning-text-v2-expanded-knowledge` * `community/sharktide/inferenceport-ai-lightning-text-v2.1 πŸ’Ž` * `community/sharktide/inferenceport-ai-qwen-3.8-27b` * `community/smplstuff/title-generator` * `community/tomdacatto/Humanish-Roleplay-Llama-3.1-8B πŸ’Ž` * `community/tomdacatto/Qwen3.8-Flash-Next πŸ’Ž` * `community/tomdacatto/ezra` * `community/tomdacatto/gemma-4-31B-it-uncensored πŸ’Ž` * `community/tomdacatto/gotcha-scout` * `community/tomdacatto/llama-3.1-8B` * `community/tomdacatto/tiered-health-router` * `community/vendouple/claude-opus-5.5:stable πŸ’Ž` * `community/vendouple/claude-sonnet-5.5:stable πŸ’Ž` * `community/vendouple/gpt-6-luna` * `community/vendouple/gpt-6-sol:stable πŸ’Ž` * `community/vendouple/gpt-6.1-sol:stable πŸ’Ž` * `community/voodoohop/airforce-doubao-pro` * `community/voodoohop/airforce-grok-4-fast` * `community/voodoohop/airforce-qwen3-max` * `community/voodoohop/catgpt-comic πŸ’Ž` * `community/voodoohop/email-overview πŸ’Ž` * `community/xiaotian1171/triage-router` * `deepseek` * `deepseek-flash` * `deepseek-lite` * `deepseek-pro πŸ’Ž` * `deepseek-v4` * `deepseek-v4-flash` * `deepseek-v4-lite` * `deepseek-v4-pro πŸ’Ž` * `deepseek/deepseek-v4-flash` * `deepseek/deepseek-v4-flash-vision-exp πŸ’Ž` * `deepseek/deepseek-v4-pro πŸ’Ž` * `deepseek/deepseek-v4.1-flash` * `fadyabohamza-netizen/frugal` * `gemini πŸ’Ž` * `gemini-2.5-flash-lite πŸ’Ž` * `gemini-2.5-flash-lite-search πŸ’Ž` * `gemini-2.5-flash-search πŸ’Ž` * `gemini-2.5-pro πŸ’Ž` * `gemini-3-flash πŸ’Ž` * `gemini-3-flash-preview πŸ’Ž` * `gemini-3.1-flash-lite πŸ’Ž` * `gemini-3.1-flash-lite-preview πŸ’Ž` * `gemini-3.1-flash-lite-search πŸ’Ž` * `gemini-3.1-pro πŸ’Ž` * `gemini-3.5-flash πŸ’Ž` * `gemini-3.5-flash-lite πŸ’Ž` * `gemini-3.5-flash-lite-search πŸ’Ž` * `gemini-3.5-flash-search πŸ’Ž` * `gemini-3.6-flash πŸ’Ž` * `gemini-3.6-flash-search πŸ’Ž` * `gemini-fast πŸ’Ž` * `gemini-flash-lite πŸ’Ž` * `gemini-flash-lite-3.1 πŸ’Ž` * `gemini-flash-lite-3.5 πŸ’Ž` * `gemini-large πŸ’Ž` * `gemini-search πŸ’Ž` * `gemini-search-fast πŸ’Ž` * `gemini-search-large πŸ’Ž` * `gemma πŸ’Ž` * `gemma-4 πŸ’Ž` * `gemma-4-26b πŸ’Ž` * `gemma-4-26b-a4b πŸ’Ž` * `gemma-4-26b-a4b-it πŸ’Ž` * `gemma-4-31b πŸ’Ž` * `gemma-4-31b-it πŸ’Ž` * `gemma-large πŸ’Ž` * `gggff123/Inkling` * `gggff123/step-3.7-flash` * `glm πŸ’Ž` * `glm-5.2 πŸ’Ž` * `glm-5.3` * `glm-5p2 πŸ’Ž` * `google/gemini-2.5-flash-lite πŸ’Ž` * `google/gemini-2.5-flash-lite:search πŸ’Ž` * `google/gemini-3-flash-preview πŸ’Ž` * `google/gemini-3.1-pro-preview πŸ’Ž` * `google/gemini-3.5-flash-lite πŸ’Ž` * `google/gemini-3.7-flash πŸ’Ž` * `google/gemini-3.8-flash πŸ’Ž` * `google/gemma-4-26b-a4b-it πŸ’Ž` * `google/gemma-4-31b-it πŸ’Ž` * `gpt-4o-mini-audio-preview` * `gpt-4o-mini-audio-preview-2024-12-17` * `gpt-5-mini` * `gpt-5-nano` * `gpt-5-nano-2025-08-07` * `gpt-5.2` * `gpt-5.2-reasoning` * `gpt-5.4` * `gpt-5.4-mini` * `gpt-5.4-nano` * `gpt-5.4-reasoning` * `gpt-5.5` * `gpt-5.5-reasoning` * `gpt-5.6-luna` * `gpt-5.6-sol` * `gpt-5.6-terra` * `gpt-audio` * `gpt-audio-1.5` * `gpt-audio-2025-12-15` * `gpt-audio-mini` * `gpt-audio-mini-2025-12-15` * `gpt-oss` * `gpt-oss-20b` * `grok` * `grok-4` * `grok-4-1-fast` * `grok-4-1-fast-non-reasoning` * `grok-4-1-fast-reasoning` * `grok-4-20` * `grok-4-20-non-reasoning` * `grok-4-20-reasoning` * `grok-4-3` * `grok-4-5` * `grok-4-fast` * `grok-4.3` * `grok-4.5` * `grok-4.6` * `grok-fast` * `grok-large` * `grok-legacy` * `grok-non-reasoning` * `grok-reasoning` * `immature-yt/alara-nova-1` * `inception πŸ’Ž` * `inception-mercury πŸ’Ž` * `inception/mercury-2 πŸ’Ž` * `inception/mercury-2.5-preview πŸ’Ž` * `inclusionai/ling-3.0-flash-vl πŸ’Ž` * `inkling πŸ’Ž` * `inkling-small πŸ’Ž` * `inkling-small-20260730 πŸ’Ž` * `iotserver24/kimi-k2.7-code-nitro` * `iotserver24/supercharge` * `jaredpalmer/kev-4b` * `jev` * `kimi` * `kimi-code πŸ’Ž` * `kimi-k2.6` * `kimi-k2.7 πŸ’Ž` * `kimi-k2.7-code πŸ’Ž` * `kimi-k2p6` * `kimi-k2p7 πŸ’Ž` * `kimi-k3` * `kimi-large` * `kimi-reasoning` * `kimi-thinking` * `laguna πŸ’Ž` * `laguna-s-2.1 πŸ’Ž` * `laguna-s2.1 πŸ’Ž` * `llama` * `llama-3.3` * `llama-3.3-70b` * `llama-4 πŸ’Ž` * `llama-4-maverick πŸ’Ž` * `llama-4-maverick-17b-128e-instruct-fp8 πŸ’Ž` * `llama-4-scout πŸ’Ž` * `llama-4-scout-17b-16e-instruct πŸ’Ž` * `llama-maverick πŸ’Ž` * `llama-maverick-17b πŸ’Ž` * `llama-scout πŸ’Ž` * `llama-scout-17b πŸ’Ž` * `llama-v3p3-70b-instruct` * `longcat πŸ’Ž` * `longcat-2 πŸ’Ž` * `longcat-2.0 πŸ’Ž` * `meituan/longcat-2.0 πŸ’Ž` * `mercury πŸ’Ž` * `mercury-2 πŸ’Ž` * `meta/llama-3.3-70b-instruct` * `meta/llama-4-maverick πŸ’Ž` * `meta/llama-4-scout πŸ’Ž` * `meta/muse-glimmer-30b πŸ’Ž` * `meta/muse-spark-1.2 πŸ’Ž` * `midijourney` * `midijourney-large` * `mimo πŸ’Ž` * `mimo-2.5 πŸ’Ž` * `mimo-2.5-pro πŸ’Ž` * `mimo-pro πŸ’Ž` * `mimo-v2.5 πŸ’Ž` * `mimo-v2.5-pro πŸ’Ž` * `minimax` * `minimax-3` * `minimax-m2.5 πŸ’Ž` * `minimax-m2.7 πŸ’Ž` * `minimax-m2p5 πŸ’Ž` * `minimax-m2p7 πŸ’Ž` * `minimax-m3` * `minimax/minimax-m2.7 πŸ’Ž` * `minimax/minimax-m3` * `minimax3` * `mistral πŸ’Ž` * `mistral-4 πŸ’Ž` * `mistral-large` * `mistral-large-3` * `mistral-small πŸ’Ž` * `mistral-small-2503 πŸ’Ž` * `mistral-small-2603 πŸ’Ž` * `mistral-small-3.1 πŸ’Ž` * `mistral-small-3.2 πŸ’Ž` * `mistral-small-3.2-24b-instruct-2506 πŸ’Ž` * `mistral-small-4 πŸ’Ž` * `mistralai/mistral-large-3` * `mistralai/mistral-small-3.2 πŸ’Ž` * `mistralai/mistral-small-4 πŸ’Ž` * `moonshotai/kimi-k2.6` * `moonshotai/kimi-k2.7-code πŸ’Ž` * `moonshotai/kimi-k3` * `morriszdweck/osaii-api-fast` * `morriszdweck/osaii-api-smart` * `morriszdweck/osaii-swarm` * `muse-glimmer πŸ’Ž` * `muse-spark πŸ’Ž` * `muse-spark-1.1 πŸ’Ž` * `muse-spark-1.2 πŸ’Ž` * `nemotron πŸ’Ž` * `nemotron-3-ultra πŸ’Ž` * `nemotron-3-ultra-550b-a55b πŸ’Ž` * `nemotron-3.5-lightning` * `nova` * `nova-2` * `nova-2-lite` * `nova-fast` * `nova-micro` * `nvidia-nemotron-3-ultra πŸ’Ž` * `nvidia/nemotron-3-ultra πŸ’Ž` * `nvidia/nemotron-3.5-lightning` * `openai` * `openai-audio` * `openai-audio-large` * `openai-fast` * `openai-large` * `openai-mini` * `openai-reasoning` * `openai/gpt-4o-mini πŸ’Ž` * `openai/gpt-5-nano` * `openai/gpt-5.3-codex` * `openai/gpt-5.4` * `openai/gpt-5.4-mini` * `openai/gpt-5.4-nano` * `openai/gpt-5.5` * `openai/gpt-5.6-luna` * `openai/gpt-5.6-sol` * `openai/gpt-5.6-terra` * `openai/gpt-6-astra` * `openai/gpt-6-luna` * `openai/gpt-6-sol` * `openai/gpt-6.1-sol` * `openai/gpt-audio-1.5` * `openai/gpt-audio-mini` * `openai/gpt-oss-20b` * `ovh-reasoning` * `pegalink/gemini-3.1-pro-preview πŸ’Ž` * `pegalink/gemini-3.8-flash πŸ’Ž` * `pegalink/gemini-pro-coder πŸ’Ž` * `pegalink/hy4-preview-coding πŸ’Ž` * `perplexity πŸ’Ž` * `perplexity-deep πŸ’Ž` * `perplexity-fast πŸ’Ž` * `perplexity-high πŸ’Ž` * `perplexity-pro πŸ’Ž` * `perplexity-reasoning πŸ’Ž` * `perplexity/sonar πŸ’Ž` * `perplexity/sonar-pro πŸ’Ž` * `perplexity/sonar-reasoning-pro πŸ’Ž` * `pollinations-ai/floret` * `pollinations-ai/midijourney` * `pollinations-ai/polli` * `pollinations/midijourney` * `pollinations/midijourney-large` * `poolside-laguna-s-2.1 πŸ’Ž` * `poolside/laguna-s-2.1 πŸ’Ž` * `qwen-coder` * `qwen-coder-large πŸ’Ž` * `qwen-large πŸ’Ž` * `qwen-max πŸ’Ž` * `qwen-safety` * `qwen-vision πŸ’Ž` * `qwen-vision-pro πŸ’Ž` * `qwen-vl πŸ’Ž` * `qwen-vl-pro πŸ’Ž` * `qwen/qwen3-coder-30b-a3b-instruct` * `qwen/qwen3-coder-next πŸ’Ž` * `qwen/qwen3-vl-235b-a22b-thinking πŸ’Ž` * `qwen/qwen3-vl-30b-a3b-instruct πŸ’Ž` * `qwen/qwen3.7-flash πŸ’Ž` * `qwen/qwen3.7-max πŸ’Ž` * `qwen/qwen3.7-plus πŸ’Ž` * `qwen/qwen3.8-2.4t-a95b` * `qwen/qwen3.8-27b πŸ’Ž` * `qwen/qwen3.8-flash πŸ’Ž` * `qwen/qwen3.8-max πŸ’Ž` * `qwen/qwen3.8-max-0902 πŸ’Ž` * `qwen/qwen3guard-gen-8b` * `qwen3-coder` * `qwen3-coder-30b-a3b-instruct` * `qwen3-coder-next πŸ’Ž` * `qwen3-vl πŸ’Ž` * `qwen3-vl-235b πŸ’Ž` * `qwen3-vl-235b-a22b-thinking πŸ’Ž` * `qwen3-vl-30b-a3b-instruct πŸ’Ž` * `qwen3-vl-instruct πŸ’Ž` * `qwen3-vl-plus πŸ’Ž` * `qwen3-vl-pro πŸ’Ž` * `qwen3.6 πŸ’Ž` * `qwen3.6-plus πŸ’Ž` * `qwen3.7 πŸ’Ž` * `qwen3.7-flash πŸ’Ž` * `qwen3.7-max πŸ’Ž` * `qwen3.7-plus πŸ’Ž` * `qwen3.8-2.4t-a95b` * `qwen3.8-27b πŸ’Ž` * `qwen3.8-max πŸ’Ž` * `qwen3guard-gen-8b` * `qwen3p6-plus πŸ’Ž` * `qwen3p7-max πŸ’Ž` * `qwen3p7-plus πŸ’Ž` * `respan/span-01-lite` * `scriptsnsenses-sys/diffusiongema-26B-free` * `scriptsnsenses-sys/gemini-3.1-pro-free` * `scriptsnsenses-sys/glm-5.3-flash-free` * `scriptsnsenses-sys/muse-spark-1.2-contributor-free` * `sharktide/3D-agent` * `sharktide/inferenceport-ai-gemini-2.5-flash` * `sharktide/inferenceport-ai-kimi-k2.7-code-deep-logician πŸ’Ž` * `sharktide/inferenceport-ai-lightning-text-v2` * `sharktide/inferenceport-ai-lightning-text-v2-expanded-knowledge` * `sharktide/inferenceport-ai-lightning-text-v2.1 πŸ’Ž` * `sharktide/inferenceport-ai-qwen-3.8-27b` * `smplstuff/title-generator` * `sonar πŸ’Ž` * `sonar-deep πŸ’Ž` * `sonar-pro πŸ’Ž` * `sonar-reasoning πŸ’Ž` * `sonar-reasoning-pro πŸ’Ž` * `sonnet-5 πŸ’Ž` * `spark πŸ’Ž` * `spark-1.1 πŸ’Ž` * `step-3.5-flash πŸ’Ž` * `step-3.7-flash πŸ’Ž` * `step-flash πŸ’Ž` * `step-flash-3.5 πŸ’Ž` * `step-flash-3.7 πŸ’Ž` * `stepfun-3.5-flash πŸ’Ž` * `stepfun-flash πŸ’Ž` * `stepfun/step-3.5-flash πŸ’Ž` * `stepfun/step-3.7-flash πŸ’Ž` * `tencent/hy3 πŸ’Ž` * `tencent/hy4-preview πŸ’Ž` * `thinkingmachines/inkling πŸ’Ž` * `thinkingmachines/inkling-small πŸ’Ž` * `tomdacatto/Humanish-Roleplay-Llama-3.1-8B πŸ’Ž` * `tomdacatto/Qwen3.8-Flash-Next πŸ’Ž` * `tomdacatto/ezra` * `tomdacatto/gemma-4-31B-it-uncensored πŸ’Ž` * `tomdacatto/gotcha-scout` * `tomdacatto/llama-3.1-8B` * `tomdacatto/tiered-health-router` * `typesafe/jev` * `typesafe/jev-1.13` * `vendouple/claude-opus-5.5:stable πŸ’Ž` * `vendouple/claude-sonnet-5.5:stable πŸ’Ž` * `vendouple/gpt-6-luna` * `vendouple/gpt-6-sol:stable πŸ’Ž` * `vendouple/gpt-6.1-sol:stable πŸ’Ž` * `voodoohop/airforce-doubao-pro` * `voodoohop/airforce-grok-4-fast` * `voodoohop/airforce-qwen3-max` * `voodoohop/catgpt-comic πŸ’Ž` * `voodoohop/email-overview πŸ’Ž` * `x-ai/grok-4.20` * `x-ai/grok-4.3` * `x-ai/grok-4.6` * `x-ai/grok-4.7 πŸ’Ž` * `xiaomi/mimo-v2.5 πŸ’Ž` * `xiaomi/mimo-v2.5-pro πŸ’Ž` * `xiaomi/mimo-v2.6-flash πŸ’Ž` * `xiaomi/mimo-v2.6-pro πŸ’Ž` * `xiaotian1171/triage-router` * `z-ai/glm-5.2 πŸ’Ž` * `z-ai/glm-5.3` * `z-ai/glm-5.3-flash` * `z-ai/glm-5.3-flashx πŸ’Ž` * **Parameters:** `prompt`, `system_instruction`, `model`, `temperature`, `seed`, `api_key` ### 4.πŸŒΈπŸ”Š Pollinations Audio Gen (BYOP) Text-to-speech, music generation, and audio transcription. * **Supported Models:** * `assemblyai-pro` * `assemblyai-u2` * `assemblyai-u3-pro` * `assemblyai-u3.5-pro` * `assemblyai-universal-2` * `assemblyai-universal-3-5-pro` * `assemblyai-universal-3-pro` * `assemblyai-universal-3.5-pro` * `assemblyai/universal-2` * `assemblyai/universal-3.5-pro` * `audio-cleanup πŸ’Ž` * `csm πŸ’Ž` * `csm-1b πŸ’Ž` * `dialogue πŸ’Ž` * `eleven πŸ’Ž` * `eleven-dialogue πŸ’Ž` * `eleven-flash πŸ’Ž` * `eleven-multilingual-v2 πŸ’Ž` * `eleven-sfx πŸ’Ž` * `eleven-sound-effects πŸ’Ž` * `eleven-v2 πŸ’Ž` * `eleven-voice-changer πŸ’Ž` * `eleven-voice-isolator πŸ’Ž` * `elevenflash πŸ’Ž` * `elevenlabs πŸ’Ž` * `elevenlabs/eleven-flash-v2.5 πŸ’Ž` * `elevenlabs/eleven-multilingual-sts-v2 πŸ’Ž` * `elevenlabs/eleven-multilingual-v2 πŸ’Ž` * `elevenlabs/eleven-text-to-sound-v2 πŸ’Ž` * `elevenlabs/eleven-v3 πŸ’Ž` * `elevenlabs/eleven-v3:dialogue πŸ’Ž` * `elevenlabs/music-v2 πŸ’Ž` * `elevenlabs/music-v2.5 πŸ’Ž` * `elevenlabs/scribe-v2 πŸ’Ž` * `elevenlabs/stem-separation πŸ’Ž` * `elevenlabs/voice-isolator πŸ’Ž` * `elevenmusic πŸ’Ž` * `fal-ai/stable-audio-3/medium πŸ’Ž` * `fish-audio-s2.1-pro πŸ’Ž` * `fish-audio/s2.1-pro πŸ’Ž` * `flash πŸ’Ž` * `google/gemini-3.5-transcribe πŸ’Ž` * `google/gemini-3.8-flash-lite-tts πŸ’Ž` * `google/gemini-3.8-flash-tts πŸ’Ž` * `google/lyria-3-clip-preview πŸ’Ž` * `google/lyria-3.5 πŸ’Ž` * `gpt-transcribe` * `grok-transcribe πŸ’Ž` * `grok-tts πŸ’Ž` * `hexgrad-kokoro-82m πŸ’Ž` * `hexgrad/kokoro-82m πŸ’Ž` * `kokoro πŸ’Ž` * `kokoro-82m πŸ’Ž` * `kokoro-tts πŸ’Ž` * `lyria πŸ’Ž` * `lyria-3 πŸ’Ž` * `lyria-3-clip πŸ’Ž` * `multilingual-v2 πŸ’Ž` * `music πŸ’Ž` * `openai/gpt-transcribe` * `openai/tts-1` * `openai/tts-1-hd` * `openai/whisper-large-v3` * `qwen-tts πŸ’Ž` * `qwen-tts-instruct πŸ’Ž` * `qwen/qwen3-tts-flash πŸ’Ž` * `qwen/qwen3-tts-instruct-flash πŸ’Ž` * `qwen3-tts πŸ’Ž` * `qwen3-tts-flash πŸ’Ž` * `qwen3-tts-instruct πŸ’Ž` * `qwen3-tts-instruct-flash πŸ’Ž` * `scribe πŸ’Ž` * `scribe-v2 πŸ’Ž` * `scribe_v2 πŸ’Ž` * `sesame-csm πŸ’Ž` * `sesame-csm-1b πŸ’Ž` * `sesame/csm-1b πŸ’Ž` * `sfx πŸ’Ž` * `sound-effects πŸ’Ž` * `speech-to-speech πŸ’Ž` * `stability-ai/stable-audio-3 πŸ’Ž` * `stability-ai/stable-audio-3-medium πŸ’Ž` * `stability-audio πŸ’Ž` * `stable-audio πŸ’Ž` * `stable-audio-2.5 πŸ’Ž` * `stable-audio-3 πŸ’Ž` * `stable-audio-3-large πŸ’Ž` * `stable-audio-3-medium πŸ’Ž` * `stable-audio-large πŸ’Ž` * `text-to-dialogue πŸ’Ž` * `text-to-speech πŸ’Ž` * `tts πŸ’Ž` * `tts-1 πŸ’Ž` * `tts-1-hd πŸ’Ž` * `tts-flash πŸ’Ž` * `tts-multilingual πŸ’Ž` * `universal-2` * `universal-3-5-pro` * `universal-3-pro` * `universal-3.5-pro` * `voice-changer πŸ’Ž` * `voice-isolator πŸ’Ž` * `whisper` * `whisper-1` * `whisper-large-v3` * `x-ai/grok-transcribe πŸ’Ž` * `x-ai/grok-tts πŸ’Ž` --- ## πŸ“Έ Screenshots ![πŸŒΈπŸ–ΌοΈ Pollinations Image Gen](images/Pollinations_Image_Gen_(BYOP).png) ![🌸🎞️ Pollinations Video Gen](images/Pollinations_Video_Gen_URL_(BYOP).png) ![πŸŒΈπŸ€– Pollinations Text Gen](images/Pollinations_Text_Gen_(BYOP).png) ![πŸŒΈπŸ”Š Pollinations Audio Gen](images/Pollinations_Audio_Gen_(BYOP).png) --- ## βš™οΈ Installation ### Method 1: ComfyUI Manager (Recommended) 1. Open the **ComfyUI Manager**. 2. Click **Install Custom Nodes**. 3. Search for `Pollinations BYOP`. 4. Click Install and restart ComfyUI. ### Method 2: Manual Git Clone 1. Navigate to your ComfyUI `custom_nodes` directory in your terminal: ```bash cd ComfyUI/custom_nodes ``` 2. Clone this repository: ```bash git clone https://github.com/ChunkyPanda29/ComfyUI-Pollinations-BYOP.git ``` 3. Restart ComfyUI. --- ## πŸ› οΈ How to Use 1. Double-click your ComfyUI canvas and search for **`Pollinations`**. 2. Select your desired node (**Image**, **Video**, or **Text**). 3. **prompt:** Enter your creative description. 4. **model:** Select your desired engine from the dropdown list. 5. **api_key (Optional but Recommended):** Paste your Pollinations API key here (See instructions below). 6. Connect the output to a **Save Image**, **Video Combine**, or **Show Text** node. 7. Click **Queue Prompt**! --- ## πŸ” Official BYOP (Bring Your Own Pollen) Integration This node suite implements the official [Pollinations BYOP specification](https://github.com/pollinations/pollinations/blob/main/BRING_YOUR_OWN_POLLEN.md) with support for: - βœ… **Device Code Flow** - Browser-free authentication for headless/CLI environments - βœ… **App Key Attribution** - Track your app's traffic for tier upgrades - βœ… **User Info Retrieval** - Display username, email, and balance --- ## πŸ”‘ How to get your API Key (BYOP) Pollinations operates on a unique **"Pollen"** economy. While anonymous generation is free, it is heavily rate-limited. By using your own API key, you unlock your personal daily/weekly free Pollen grants, allowing for faster and more consistent generation. ### Method 1: BYOP Login Node (Recommended) The easiest way - no copy/pasting keys! 1. Add the **πŸ”πŸŒΈ Pollinations BYOP Login** node to your workflow 2. Toggle **"Click to Login"** β†’ the node will show you a URL and code 3. Go to the URL on any device and enter the code 4. Return to ComfyUI - your key is now saved automatically! ### Method 2: Manual Key Entry 1. Go to **[enter.pollinations.ai](https://enter.pollinations.ai/)**. 2. Sign in using your Discord or Google account. 3. Once logged in, your API key will be visible on your dashboard. 4. Copy the key and paste it into the `api_key` field of the ComfyUI node. 5. *That's it! Your ComfyUI workflow is now fueled by your own Pollen.* --- ## πŸ” API Key Configuration (Set Once) You no longer need to paste your API Key into every node. You have three ways to set it: ### Method 1: ComfyUI Settings Menu (Easiest) 1. Open ComfyUI. 2. Click the **Settings** (gear icon) in the ComfyUI menu. 3. Scroll down to the **"Pollinations (BYOP)"** section. 4. Paste your API key into the textbox. 5. The key is now saved locally and will be used automatically by all Pollinations nodes! ### Method 2: Environment Variable Set an environment variable on your system (useful for cloud servers like RunPod): `POLLINATIONS_API_KEY=sk_your_key_here` ### Method 3: Node-Level Override If you want to use a different key for a specific node, just paste it into the `api_key` field on the node itself. This will always take priority over global settings. --- ## ❓ FAQ **Q: Does this cost money?** **A:** No! Pollinations provides free anonymous generations, and every registered user receives a free allowance of "Pollen" every week. You only pay if you decide to use the Paid Models πŸ’Ž or scale up massively and buy extra Pollen. **Q: Why does my generation fail or timeout?** **A:** If you are leaving the `api_key` field blank, you are using the anonymous public tier, which can experience high traffic or strict rate limits. **Adding your free API key solves this.** **Q: Does this download large models to my hard drive?** **A:** No. This is a pure API node. Your local installation size will remain exactly the same, making it perfect for budget 8GB VRAM setups. **Q: Can I chain these nodes together?** **A:** Yes! A popular workflow is to use the **Text Gen** node to expand a simple idea into a highly detailed visual prompt, then feed that string directly into the **Image Gen** node, and finally pass that image output into a Video generation node. --- ## 🀝 Contributing Feel free to submit pull requests or open issues! Devs who contribute to Pollinations integrations can earn "Dev Points" to unlock Seed Status and greater API limits. ```