🌊 ComfyUI-WaveSpeed

License: MIT ComfyUI

A generic, flexible node to integrate any WaveSpeed model into ComfyUI — including Nano Banana Pro, Wan 2.1, Flux, Kling, Veo, and more.

✅ Direct upload to WaveSpeed CDN (cloudfront.net)
✅ Terminal progress bar (just like KSampler)
✅ Image & video output support
✅ Fully configurable via endpoint_url — just paste from WaveSpeed Playground!
✅ Example workflow included 🎁


📦 Installation

From your ComfyUI/custom_nodes folder:

git clone https://github.com/fmartinellidev/ComfyUI-WaveSpeed.git

Or download the ZIP and extract into ComfyUI/custom_nodes/ComfyUI-WaveSpeed.

Restart ComfyUI.


🧩 Included Nodes

Node Description
WaveSpeed API (Generic) Run any WaveSpeed endpoint (nano-banana-pro, wan-2.1, flux-dev, etc.)
WaveSpeed API Key Loader Inject API key without environment variables
WaveSpeed Image Uploader Upload directly to WaveSpeed CDN (official cloudfront.net URLs)

🛠️ WaveSpeed API (Generic) — Inputs & Outputs

🔤 Inputs

Input Type Required Description
prompt STRING ✅ Main prompt for generation
endpoint_url STRING ✅ Full API endpoint (e.g. https://api.wavespeed.ai/api/v3/google/nano-banana-pro/edit)
poll_interval INT ✅ Seconds between status checks (default: 3)
image IMAGE ❌ Input image tensor (auto-uploaded to WaveSpeed CDN)
image_url STRING ❌ Direct image URL (overrides image)
api_key STRING ❌ API key (overrides WAVESPEED_API_KEY env var)
extra_payload STRING ❌ Additional JSON payload (see below)

📤 Outputs

Output Type Description
image IMAGE Generated image (512×512 black placeholder for video)
request_id STRING WaveSpeed job ID (e.g. a1b2c3...)
raw_response STRING Full JSON response (useful for debugging or video URLs)

⚙️ How to Use

1. Get your API key

Go to WaveSpeed Dashboard → API Keys and copy your key.

2. Find the endpoint

In WaveSpeed Playground, open DevTools (F12 → Network tab), run a generation, and copy the POST URL.

Model Example endpoint_url
Nano Banana Pro https://api.wavespeed.ai/api/v3/google/nano-banana-pro/edit
Wan 2.1 + LoRA https://api.wavespeed.ai/api/v3/models/wan-2.1/i2v-720p-lora
Flux Dev (T2I) https://api.wavespeed.ai/api/v3/models/flux-dev/t2i
Kling V2.1 (T2V) https://api.wavespeed.ai/api/v3/models/kling/v2.1/video

3. Configure extra_payload (JSON)

This field lets you send any additional parameters the endpoint expects.

{
  "resolution": "2k",
  "output_format": "png"
}

🔹 Wan 2.1 with LoRA

{
  "resolution": "1080p",
  "lora_weights": [
    {
      "lora": "nano-banana-pro",
      "weight": 1.0
    }
  ]
}

🔹 Flux Dev

{
  "aspect_ratio": "16:9",
  "output_format": "png",
  "steps": 20
}

💡 Tip: Copy the payload directly from the Request Payload in DevTools!


🎁 Example Workflow Included

A ready-to-run workflow (example_workflow.json) is included in the repository — demonstrating:

  • LoadImage → WaveSpeed Image Uploader
  • Prompt Snippet Extractor for batch expressions
  • WaveSpeed API (Generic) with Nano Banana Pro
  • SaveImage using filename from snippet extractor

👉 Just load example_workflow.json in ComfyUI and run!


🤝 Contributions

PRs are welcome! For major changes, please open an issue first.


Made with ❤️ by fmartinellidev to FP8 Studio.
Inspired by WaveSpeed AI


S
Description
No description provided
Readme MIT
45 KiB
Languages
Python 100%