Nodes/SpicyAPI/Wan 2.5 · Text to Video
ComfyUI Node

Wan 2.5 · Text to Video

Text in, ten seconds of video with sound out

By spicyapi-ai·Created 21 days ago·Updated 2 days ago· 2
Wan 2.5 · Text to Video
  • audio_url
  • video
  • task id
◄prompt►
◄negative_prompt►
◄aspect_ratio16:9►
◄resolution720p►
◄duration_seconds5►
◄enable_prompt_expansionfalse►
◄seed0►

A prompt, a shape, a length, and a clip that arrives with audio already baked in. Five or ten seconds, 480p to 1080p, five aspect ratios including vertical. From $0.045 per second - a ten-second 720p take lands around forty-five cents.

The interesting question with any Wan 2.5+ node isn't "is this better than 2.2" so much as "is this better than 2.2 plus a sound model plus a video model plus stitching." For short social-format shots, generated dialogue and ambience that match the picture is a lot of pipeline you didn't have to build.

Why this is a hosted-only model

Wan 2.2 is the last open Wan - 2.5 arrived as a cloud preview that promised open weights and never shipped them, and everything after it stayed API-only. There is no local Wan 2.5 to download, whatever a content farm says; those pages are fabricated and their links are dead.

So the fair comparison is against the open path: Wan 2.2 locally with fine-tunes and LoRAs, a separate audio model, and edits to line them up. That's free after the electricity but it's a weekend of assembly, and it isn't ten seconds at 1080p. If your job is a talking shot with sound and you're on a laptop, paying here is the whole point of the exercise.

What the node does under the hood

It uploads nothing (there's no input media), posts the job, polls until the file URLs exist, downloads the MP4 and hands it back as a standard ComfyUI VIDEO. If you wire in an audio_url, that clip is uploaded first and the model follows it for lip sync and pacing. The whole pack installs as pure Python - no weights, no compiled extras, no GPU.

The inputs

prompt is the shot: subject, action, camera, light, pacing. Be specific about movement, because motion is what Wan is good at and generic prompts waste that. negative_prompt is worth ten seconds of your time - list what must not appear.

aspect_ratio covers 16:9, 9:16, 1:1, 4:3 and 3:4, which is more freedom than most video endpoints give you. resolution is 480p, 720p or 1080p. duration_seconds is 5 or 10 - nothing in between, so plan your shot around one of the two.

audio_url is the optional AUDIO socket: connect an audio node and the clip is generated to follow it. If you're doing a music sync or a spoken line, this is the difference between "close enough" and "on the beat."

enable_prompt_expansion is off by default. It's useful when you have a vague brief and want the service to invent detail; it's harmful when your prompt contains something precise you care about. seed repeats a draw exactly - the whole trick to comparing two prompt phrasings without wondering whether the dice moved.

Outputs: video → Save Video or downstream video nodes; task id → a string you can log for support.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/spicyapi-ai/comfyui-spicyapi

Restart, then paste a key from spicyapi.ai/console/keys into Settings > SpicyAPI - or find the pack in ComfyUI Manager by searching "SpicyAPI". Restart once after adding the key so the node list comes from your account's catalogue. The key is stored in the ComfyUI user folder rather than as a node widget, so it can't leak through a shared workflow or an image's metadata; on a remote box, set SPICY_API_KEY.

Cost and failure modes

The badge on the node shows a rate, never a total - video is priced per output second, so the real number is the rate times the length you pick. Set Max cost per run in the SpicyAPI settings and anything quoted above it stops before the charge. Leave the seed's control after generate on fixed unless you intend to pay for a new take; flipping it to randomize re-bills every queue.

Cancelling doesn't refund. The job finishes on the server and is charged if it succeeds, so check your console (results live there for 14 days) before re-running.

Error codes are specific enough to act on: 40004 means that option combination has no deployment and the message names the parameter to change; 40310 means your account's email isn't verified; 50302 means the run failed upstream and was refunded, so just queue it again; No SpicyAPI key is set means what it says.

CategorySpicyAPI/Video/Alibaba

Inputs (8)

NameTypeDefaultDescription
promptSTRINGDescribe the subject, action, camera, light, pacing, and boundaries for the shot.
negative_promptSTRINGList what must not appear in the shot.
aspect_ratioCOMBO16:9Output aspect ratio.
resolutionCOMBO720pOutput resolution.
duration_secondsCOMBO5Requested output length in seconds.
enable_prompt_expansionBOOLEANfalseAllow the service to expand the submitted creative brief before generation.
seedINT00–2147483647Same seed and settings, same result. Set 'control after generate' to randomize to get a new result on every run; every run is billed.
audio_urloptAUDIOAudio track that drives lip sync or pacing.

Outputs (2)

NameTypeDescription
videoVIDEO—
task idSTRINGThe SpicyAPI task id, for the console logs or support.