HunyuanVideo 1.5 · Text to Video
Cheap, Silent, and Weirdly Unfiltered
- video
- task id
Text to video, 5 or 8 seconds, 480p or 720p, from $0.024 per second. Five seconds costs about twelve cents. That's a draft-stage price in a market where a single premium clip can cost more than your whole afternoon of experiments - and it's the reason to care about a model whose local community has largely moved on.
The pitch, honestly
HunyuanVideo is Tencent's open video line. The KB's verdict on it is unsentimental: it got there first in December 2024, got overtaken by Wan, and by mid-2026 the standing community answer was that nobody runs it any more - the niches it owned (looping, avatar) went to Wan Animate and the VACE Video Joiner. Version 1.5, the 8.3B step-distilled build behind this node, is fast and follows prompts well for its size; one user's 40-second 5090 generation was the thread that sold people on it.
So a hosted version is a strange but sensible offering: the model's real strengths are speed and prompt adherence, and you can rent those without downloading 8.3B of weights or investing in a workflow everyone else abandoned. The two things to accept up front are that the output is a silent 24 fps MP4 - no native audio pass, so if you need sound in the clip use a Vidu or MiniMax node - and that you get seconds, not scenes: 5 or 8, no more.
The author flags no content filter on this route. That's consistent with Hunyuan's open-weights reputation, which the KB describes as uncensored out of the box, with nothing in the licence or acceptable-use text forbidding sexual content.
Inputs
Text-to-video is the plainest shape in the pack: no image socket, no references, no last frame. What you set:
- prompt - the scene, the action, the camera. Required. Say what the camera does, not just what's in frame; motion descriptions are what this model is good at.
- negative_prompt - blur, extra limbs, text. Its default is empty, which is fine, but on a cheap model a few specifics here earn their keep.
- aspect_ratio -
16:9or9:16. Vertical for socials, landscape for everything else. - resolution -
480por720p. - duration_seconds -
5or8. The price dial. - seed - same seed and settings, same result. Nice for A/B-ing a prompt change against one variable.
Outputs: video, a ComfyUI VIDEO that goes straight into Save Video, and task id for support or console lookup. It isn't an output node on its own, so nothing is saved until you connect something downstream.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/spicyapi-ai/comfyui-spicyapi
Restart, then Settings > SpicyAPI, paste a key from spicyapi.ai/console/keys, and restart once more - the node list is rebuilt from your account catalogue each time ComfyUI starts, so a model that exists on the site but not in your menu is a restart away. On a server, SPICY_API_KEY in the environment saves you the round trip.
The install is genuinely empty: dependencies = [], and the pack uses only aiohttp, torch, Pillow and PyAV, all bundled with ComfyUI. No model files, no pip step, no chance of stomping on another pack's version pins. Python 3.10+ and the V3 node API (0.39 tested). Manager-installable by pack title too.
Where people get burned
The failure modes here are the pack's, not the model's. No SpicyAPI key is set means exactly that. 40004, "no deployment serves this combination," means one of your options isn't served - the message names the field. 40310 is an unverified email. Anything ending in request_id ... should go to support verbatim.
On money: every run is billed, and the pack ships these nodes with control-after-generate set to fixed precisely so an accidental re-queue reuses the cached result instead of charging twice. When you do want a fresh roll, switch it to randomize and accept the second charge. A cancelled run keeps going on SpicyAPI's servers, is charged if it succeeds, and its result stays in your console for up to 14 days. Put a ceiling in Settings > SpicyAPI > Max cost per run and over-budget runs are refused before submission.
Last thing, and it's the useful one: because 480p 5-second clips are this cheap, run three prompts rather than one and pick. The gap between "prompt that reads well" and "prompt this model actually likes" is bigger than the clip cost.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Describe the scene, the action and the camera. | |
| negative_prompt | STRING | Things to keep out of the clip, such as blur, extra limbs or text. | |
| aspect_ratio | COMBO | 16:9 | Output aspect ratio. |
| resolution | COMBO | 720p | Output resolution. |
| duration_seconds | COMBO | 5 | Output length: 5 or 8 seconds. Billed per second. |
| seed | INT | 00–2147483647 | Same seed and settings, same result. Set 'control after generate' to randomize to get a new result on every run; every run is billed. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| task id | STRING | The SpicyAPI task id, for the console logs or support. |