Seedance 1.5 Pro · Text to Video
A whole shot with sound from one prompt
- video
- task id
This is the Seedance 1.5 Pro node with the image input taken away. No still, no Load Image, no first frame - you type a prompt, the model builds the shot and the soundtrack in the same pass, and you get back 4 to 12 seconds of finished video. From $0.0112 per second.
Why would you want it when every local video model wants a first frame too? Because sometimes the shot doesn't exist yet. You're blocking out a sequence, testing whether a camera idea reads, or writing the prompt first and generating the still later once you like the direction. Text-to-video is a cheap way to audition ideas, and at this rate a 5-second 480p take costs less than a coffee.
The catch is the same as every text-to-video model: without a frame to anchor it, composition and character identity drift more. If you care about a specific face, use the image-to-video node.
What it does under the hood
The pack is a client, not a sampler. On Run it quotes the job, sends the prompt and settings to bytedance/seedance-1.5-pro/text-to-video, polls while ByteDance's servers render, then downloads the MP4 and hands it to your graph as a ComfyUI VIDEO. No VRAM, no weights, no local dependencies - just an internet connection and a key.
The controls you'll actually touch
prompt is the whole creative input, and it's a multiline box, so use it: subject, action, camera movement and mood in one go. The author's own phrasing, and it's the right advice.
aspect_ratio- 21:9, 16:9, 4:3, 1:1, 3:4, 9:16. Six real choices, noadaptiveon this node, because there's nothing to adapt to. Pick the delivery format up front; vertical for social, 21:9 if you want it to feel like a film still.resolution- 480p, 720p or 1080p. Higher tiers cost more per second.duration_seconds- 4 to 12, integer. This is literally the billed quantity.generate_audio- on by default. Leave it on if you want a synced soundtrack; turning it off drops the rate noticeably.camera_fixed- the sleeper setting. The model loves to invent a slow push or drift on its own. If the shot should be locked off, say so with this switch rather than fighting it in the prompt.
seed is fixed by default, so re-queueing the same graph gives you the cached result instead of a second charge. Randomize it deliberately, one take at a time.
The node exposes video for Save Video and task id for your console or a support ticket. That's the lot.
Install
ComfyUI Manager → search SpicyAPI → Install. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/spicyapi-ai/comfyui-spicyapi
Restart ComfyUI. Then Settings > SpicyAPI → paste a key from spicyapi.ai/console/keys (or set SPICY_API_KEY), and restart once more so the node list is fetched for your account. The pack needs no pip install and downloads no model files.
There's a template for this kind of graph in ComfyUI's template browser under comfyui-spicyapi, which is a lot faster than wiring your first one from scratch.
Troubleshooting
- Nothing runs without a key. "No SpicyAPI key is set" is the literal error.
- Set a spend cap. Settings > SpicyAPI > Max cost per run - anything quoted above it stops before you're charged. With text-to-video it's easy to queue a dozen takes on a whim; the cap is what makes that safe.
- Cancelling doesn't refund. Interrupting ends your wait, not the job. It finishes on SpicyAPI, gets charged if it succeeds, and lands in your console for up to 14 days.
40004means the option combination isn't served - change the field the message names.- A model missing from the menu means the list predates it. Restart ComfyUI.
Your key is never written into a workflow or into saved PNG metadata; it lives in user/spicyapi/config.json, readable only by your account.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | What to generate: subject, action, camera movement and mood. | |
| aspect_ratio | COMBO | 16:9 | Aspect ratio of the generated video. |
| resolution | COMBO | 720p | Output resolution. Super-resolution tiers are not offered. |
| duration_seconds | INT | 54–12 | Clip length in seconds. This is the billed quantity. |
| generate_audio | BOOLEAN | true | Generate a native soundtrack synchronised to the picture. |
| camera_fixed | BOOLEAN | false | Lock the camera to produce a stable, fixed-position shot. |
| 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. |