Nodes/ComfyUI Razv WaveSpeed Nodes/WaveSpeedAI WAN 2.5 Text-to-Video
ComfyUI Node

WaveSpeedAI WAN 2.5 Text-to-Video

Wan 2.5 Has No Weights — This Node Is the Only Way to Run It From ComfyUI

By razvanmatei-sf·Created 12 months ago·Updated 9 months ago· 0
WaveSpeedAI WAN 2.5 Text-to-Video
  • client
  • video_url
prompt
size1280*720
negative_prompt
audio
duration5
enable_prompt_expansionfalse
seed-1
enable_sync_modefalse

Here's the thing about Wan 2.5 that most people don't realize until they go looking for it: there are no weights. Wan 2.1 and 2.2 put open-source video on the map - 14B diffusion transformer, uncensored, Apache 2.0, the whole community's base layer. Then Alibaba took the numbered series behind an API and never looked back; 2.5, 2.6, and 2.7 ship nowhere you can download. So if you want "Wan 2.5" inside ComfyUI, you're not going to find a checkpoint for it. You're going to find WaveSpeedAI WAN 2.5 Text-to-Video, which runs the model remotely and drops the clip back into your graph.

That's the honest value proposition: this node is an API door for a model that otherwise lives in a separate web app. You pay per clip on WaveSpeed's hosted service instead of burning VRAM on the 14B you already have locally.

How it works

It's a thin client under a friendly face. The node takes your prompt, resolution, and duration, POSTs them to api.wavespeed.ai/api/v3/alibaba/wan-2.5/text-to-video, then polls until the render completes (up to a 30-minute cap). Generation happens on WaveSpeed's servers; your machine just makes an HTTP call and waits.

Two features make the Wan 2.5 node more interesting than its siblings. First, audio: you can pass an audio URL (3–30 seconds, wav or mp3, ≤15MB) and the video generation is guided by that audio - lips, motion, and rhythm shaped by the track. That's a real Wan 2.x capability, not a gimmick toggle. Second, enable_prompt_expansion, which lets the API rewrite and enhance your prompt before generating - handy if your prompt writing is lazy, mildly dangerous if you care about exact control.

The inputs that matter

  • client - required, the WAVESPEED_AI_API_CLIENT output from a WaveSpeedAI Client node. No client, no call.
  • prompt - multiline text description. This is the whole creative input for text-to-video.
  • size - six options from 832×480 up to 1080p (1920×1080 / 1080×1920). Default 1280×720.
  • duration - 5 or 10 seconds. Default 5.
  • negative_prompt - describe what you don't want. Worth filling in; hosted models love to add random objects.
  • audio - the optional audio-guidance URL described above.

seed (-1 for random) and enable_sync_mode round it out. The output is a single video_url string - a hosted file, not a video tensor. You can't feed it straight into local post-processing; preview it or open the URL.

Installing it

Same install for the whole Razv WaveSpeed pack. ComfyUI Manager → search "razv-wavespeed" → Install, or:

cd ComfyUI/custom_nodes
git clone https://github.com/razvanmatei-sf/razv-wavespeed.git
cd razv-wavespeed
pip install -r requirements.txt

Restart, then create a WaveSpeedAI Client node and paste in your wavespeed.ai API key. Skip the config-file dance - the README's documented format (key =) doesn't match what the code reads (api_key =), and pasting the key directly into the Client node sidesteps the whole thing.

Where people get burned

Two traps, both easy. First, the naming collision: when ComfyUI people say "WaveSpeed," half the time they mean the inference acceleration project (chengzeyi/Comfy-WaveSpeed) that gives 2–3x speedups on local models. That is not what this is. This pack calls the WaveSpeed AI API - you need a paid key from wavespeed.ai. Second, don't come here expecting open-weight Wan. If you just want a local video model, Wan 2.2 still exists and runs beautifully on your own card. This node is specifically for the API-only version. And if the node doesn't appear after install, install PyAV (av) and torchaudio by hand - the pack's code needs them even though they're missing from requirements.txt.

CategoryWaveSpeedAI

Inputs (9)

NameTypeDefaultDescription
clientWAVESPEED_AI_API_CLIENT
promptSTRINGText description for video generation
sizeCOMBO1280*720Video resolution (width*height)
negative_promptoptSTRINGDescribe what you don't want in the video
audiooptSTRINGAudio URL to guide video generation (3-30 seconds, wav/mp3, ≤15MB)
durationoptCOMBO5Video duration in seconds
enable_prompt_expansionoptBOOLEANfalseAutomatically expand and enhance the prompt
seedoptINT-1-1–2147483647Random seed for reproducible results. -1 for random seed
enable_sync_modeoptBOOLEANfalseWait for generation to complete before returning

Outputs (1)

NameTypeDescription
video_urlSTRING