Nodes/comfyui-stillfront/SF WaveSpeed Wan 2.5 Text to Video
ComfyUI Node

SF WaveSpeed Wan 2.5 Text to Video

API-only, and this node is the API

By razvanmatei-sf·Created 9 months ago·Updated 7 months ago· 0
SF WaveSpeed 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 a fact that explains this node's entire existence: Wan 2.5 has no open weights. Alibaba previewed it as a cloud-only model in September 2025, promised open weights would follow, and never released them. Same story for 2.6 and 2.7. So the only way to run Wan 2.5 is through an API - and this node is that API wearing a ComfyUI skin, calling /api/v3/alibaba/wan-2.5/text-to-video on WaveSpeed's servers.

If you've been running Wan 2.2 locally and wondering what the successor feels like, this is the test-drive. And it has a party trick the open Wan never had: an audio input. You can feed it a wav or mp3 URL (3–30 seconds, ≤15MB per the tooltip) and the video is generated to be conditioned on that audio. Native synchronized sound is exactly the capability the KB flags as Wan's eternal gap - and here it is as a text field in a node.

How it works

You give it a prompt, a size, and optionally a negative prompt, an audio URL, a duration (5 or 10 seconds), and a prompt-expansion toggle. The node POSTs to the Alibaba-hosted Wan 2.5 endpoint via WaveSpeed and returns a hosted video_url (STRING) once the job completes. enable_prompt_expansion is worth knowing about: when on, the API automatically expands and enhances your prompt before generation - handy if your prompt is terse, but it does mean what you wrote isn't exactly what gets generated. For precise control, leave it off.

The inputs that matter

  • client - required, from the SF WaveSpeed Client node.
  • prompt - the scene description. Text-to-video needs real visual language; "a fox running through snow, slow motion, shallow depth of field" beats a two-word wish.
  • size - six widthheight choices from 832480 up to 19201080, including both portrait orientations. Default is 1280720.
  • audio - the standout input. A URL to a wav/mp3 (3–30s, ≤15MB) that the video gets conditioned on. Leave blank for silent or prompt-only generation.
  • negative_prompt - optional, what to avoid.
  • duration - 5 or 10 seconds.
  • enable_prompt_expansion - off by default; flip on for automatic prompt enhancement.
  • seed - -1 for random; fix it to reproduce.
  • enable_sync_mode - default off; the node polls until the video's done either way.

Output: video_url (STRING) - a hosted link, not a file in your output folder.

Install

Standard pack install. ComfyUI Manager → search "SF ComfyUI Nodes" → install → restart, or:

cd ComfyUI/custom_nodes
git clone https://github.com/Stillfront/comfyui-sf-nodes.git
cd comfyui-sf-nodes
pip install -r requirements.txt

Then an SF WaveSpeed Client node with your WaveSpeed key (widget, config.ini [API] api_key, or the WAVESPEED_API_KEY env var). No model downloads - which is the point: the model you can't download is exactly what this node runs for you.

Gotchas

  • The audio input is a URL too - a local file won't work. Upload your wav/mp3 somewhere public first, and respect the 3–30s / 15MB limits or the call fails.
  • "Expanded prompt" means changed prompt. With enable_prompt_expansion on, don't expect frame-perfect adherence to your wording; it's the API's rewrite.
  • URL output. The node hands you a link; add a download step if your workflow needs the file locally.
  • README config drift: the README's wavespeed_api_key example doesn't match the api_key key the code reads. Copy config.ini.tmp.

Honest verdict: Wan 2.5 isn't the open-weights model everyone was promised, and if you're a strict local-everything person, this node isn't for you. But if you've been curious about the API-only Wan line - or you want a video whose motion and audio arrive in the same call - this is the only way to get it inside ComfyUI, and it's a good one.

CategoryStillfront/WaveSpeed

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