Seedance 2.0 Mini Spicy · Image to Video
The uncensored option that doesn't cost the earth
- image_url
- last_image_url
- video
- task id
Every "Spicy" node in this pack is the same model with the content policy loosened, and the price you pay is usually real. Mini Spicy is the exception worth knowing about: at $0.0387 per second it's the cheapest uncensored Seedance on offer, well under half of 2.0 Spicy proper ($0.114/s) and 2.5 Spicy ($0.216/s). You trade 1080p and 4K for that, and honestly for a lot of the work this tier exists for, 480p or 720p is not the bottleneck.
This node animates a still you supply: bytedance/seedance-2.0-mini-spicy/image-to-video, 4 to 15 seconds, sound included, up to 720p.
The whole node, basically
The schema on the Spicy variants is deliberately narrow. There is no bitrate_mode, no watermark, no return_last_frame - those are Fast/full-tier conveniences. What's left:
image_url- anIMAGEsocket; Load Image wires straight in. It's listed first in the schema because it's the required anchor.prompt- scene, action, camera movement, mood.aspect_ratio- defaults toadaptive, which follows the still you connected. Also takes 16:9, 9:16, 4:3, 3:4, 1:1, 21:9.resolution- 480p or 720p, and that's the ceiling on this tier.duration_seconds- an integer slider, 4 to 15. No smart-duration-1on the Spicy nodes; you name a number and that number is the billed quantity.generate_audio- native synchronised audio, on by default. Switching it off doesn't reduce the rate on this model.seed- fixed after generate by default, so re-queueing the graph reuses the cached result instead of billing you twice.
Optional last_image_url gives the shot a closing frame - "last frame image URL for video continuation", in the author's words. Handy for stitching two Spicy clips into one movement.
Outputs are the standard pair: video for Save Video, task id for your console or a support ticket.
What uncensored does and doesn't mean here
It means the endpoint runs a looser policy than the stock Seedance 2.0 route. It does not mean you're running a different set of weights you can inspect, merge or fine-tune - closed models don't come with weights, and there's nothing local to patch. You're taking the provider's word for what its Spicy tier does, which is the same bargain as every reseller and proxy in this corner of the ecosystem. Test on your own content before committing a project to it.
Also worth being clear-eyed about: your prompt and your still go to SpicyAPI's servers, which then call ByteDance's model. Nothing about this is private, and that's the mechanism rather than a flaw.
Install
ComfyUI Manager → search SpicyAPI → Install. Or, from a terminal:
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, or set SPICY_API_KEY on a headless box. Restart once more so the node list reflects your account. Nothing to pip install, nothing to download - the pack ships zero dependencies beyond ComfyUI itself.
Before you queue ten takes
Two habits save money here. Set Settings > SpicyAPI > Max cost per run so a run quoted above your ceiling stops before it charges anything. And remember seed is on fixed by default: queueing the same graph twice is free the second time because the result is cached, while randomize buys you a new take every run. Interrupting a run is not a cancel - the job keeps going on SpicyAPI, is charged if it succeeds, and its output sits in your console for up to 14 days.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| image_url | IMAGE | Start image URL to guide the video generation. | |
| prompt | STRING | Describe the scene, action, camera movement, and mood for the video. | |
| aspect_ratio | COMBO | adaptive | The aspect ratio of the generated video. Use adaptive to follow the input image. |
| resolution | COMBO | 720p | The output video resolution. |
| duration_seconds | INT | 54–15 | The duration of the generated video in seconds (4-15s). |
| generate_audio | BOOLEAN | true | Whether to generate native audio synchronized with the output video. Defaults to true. |
| 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. |
| last_image_urlopt | IMAGE | Last frame image URL for video continuation. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| task id | STRING | The SpicyAPI task id, for the console logs or support. |