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

WaveSpeedAI WAN 2.5 Text-to-Video Fast

Wan 2.5 video you can't run locally (unless you pay for it)

By razvanmatei-sf·Created 12 months ago·Updated 9 months ago· 0
WaveSpeedAI WAN 2.5 Text-to-Video Fast
  • 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: there are no weights. Alibaba took the numbered Wan series API-only after 2.2, and the 2.5 text-to-video tier never shipped anything you can download. So every "Wan 2.5" video you see on the internet was made on somebody's rented cloud GPU - or through a hosted API like this. That's what this node is: a paid, hosted Wan 2.5 text-to-video call wrapped up in a ComfyUI node so it feels like local generation, minus the 24GB of VRAM and the three-hour first run.

It's from razvanmatei-sf/razv-wavespeed ("ComfyUI Razv WaveSpeed Nodes"), a pack that wraps the WaveSpeed AI API. Every node in the pack talks to that cloud API and bills you per generation. The "Fast" in the name is a real thing - it's the fast tier of the hosted Wan 2.5 service, so your clip comes back faster (and likely cheaper) than the standard tier.

How it works

You wire in a WaveSpeedAI Client node (the pack's one required connection for everything), give it a prompt, and the node POSTs to the /api/v3/alibaba/wan-2.5/text-to-video-fast endpoint with your API key in the auth header.

The interesting bit is sync vs async, which trips people up. In async mode (default), the node submits the job, gets back a task ID, then polls the API every 2 seconds for up to 30 minutes until the video is done. Sync mode waits on the API's response directly. Either way you end up with the same thing: a video_url string, which is the only output. Nothing is saved for you - grab that URL and download it, or feed it into a save/URL-download node you already have.

The inputs that matter

You'll actually touch four things:

  • prompt - the video description. Multiline, so take your time.
  • size - 1280*720, 720*1280, 1920*1080, or 1080*1920. This is the one beginners get wrong: 1280*720 is landscape, 720*1280 is portrait. Check the order.
  • duration - 5 or 10 seconds. Only two choices.
  • audio - optional, and worth knowing about: a URL to a wav/mp3 (3–30 seconds, max 15MB) that guides the video. This is the audio-prompting mode, not the final soundtrack.

Also there: negative_prompt, enable_prompt_expansion (the API rewrites/expands your prompt for you - handy when your prompt is vague), seed (-1 for random), and enable_sync_mode. Keep sync mode off until you're debugging; async gives you a running task ID in the console instead of a frozen graph.

Install

It's a shared pack, so it's one install for all twenty-plus nodes:

cd ComfyUI/custom_nodes
git clone https://github.com/razvanmatei-sf/razv-wavespeed
# restart ComfyUI

Or use ComfyUI Manager and search for "razv-wavespeed". Then you need an API key from wavespeed.ai. Copy config.ini.tmp to config.ini inside the pack folder and paste the key under [API], or skip the file and type the key into the WaveSpeedAI Client node, or set a WAVESPEED_API_KEY env var. The node checks the field first, then config.ini, then the env var.

Common issues

  • It costs money. There's no free tier doing this for you; every clip is a paid API call. Don't build a 500-clip batch and walk away.
  • Name confusion: "WaveSpeed" in ComfyUI land usually means the acceleration pack (first-block cache) that speeds up local Flux/LTX/Hunyuan. That's a totally different project from the WaveSpeed AI API these nodes call. You're reading about the API one.
  • Missing nodes after install: the pack's requirements.txt is suspiciously bare (requests, pillow, numpy, torch), but the code also pulls in av, torchaudio, pydantic, and comfy_api at load time. ComfyUI usually ships those. If no WaveSpeed node shows up at all, that silent import failure is your suspect - check they're importable in your Python env.
  • Timeouts: the fast tier is fast, but queueing happens. If it throws after 30 minutes, that's the API's cap, not your network.
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