Seedance 2.0 Fast · Text to Video
And there's a web-search toggle in there
- video
- last frame
- task id
Text to video at 720p with sound, from ByteDance's faster 2.0 tier. It's the node you use when you have a shot in your head and no reference to give it.
And it has a checkbox almost nobody expects: enable_web_search. Turn it on and the model searches the web for information related to your prompt before rendering - which sounds like a curiosity until you want something vaguely current or specific ("a 1970s rally car on a gravel stage") and don't want to trust the training set. The tooltip is also honest that requests with it on are billed at the web-search rate, and in the shipped price table that's a jump of roughly half again over the standard per-second rate. So: off unless you need it.
How it works
The node assembles a request from your widgets, quotes it, submits it under an idempotency key so a retry can't double-charge, polls with live status printed on the node, and downloads the MP4 as a ComfyUI VIDEO. Fields left at defaults are omitted so the model picks. Nothing runs locally; the model itself is closed, so calling it is the only route, and the trade is per-call metering instead of GPU time.
The inputs that matter
prompt - subject, action, camera, light, sound and constraints. Because generate_audio is on by default, include the sound. Models produce a generic wind-and-hum ambient if you don't say otherwise.
duration_seconds - 4 to 15 seconds, or -1 for smart duration where the model decides. The billed quantity, so it's also your main cost control.
resolution - 480p or 720p. Explore at 480p; the money is better spent on takes than pixels at this tier.
aspect_ratio - adaptive by default, plus 16:9, 9:16, 4:3, 3:4, 1:1, 21:9. With no source image, adaptive effectively means the model chooses, so set it explicitly if you care about the frame.
generate_audio - request synchronised output audio. For 2.0 Fast, unlike 1.5 Pro, the per-second rate in the shipped table doesn't change with this switch, so there's no reason to turn it off unless you hate the track.
enable_web_search - described above. Use it for specificity, not as a default.
return_last_frame - returns the clip's last frame as an IMAGE on the last frame output. With it off, that socket blocks anything downstream rather than emitting a blank.
bitrate_mode - standard or high. Encoding only; high is worth it for anything you'll grade or deliver.
watermark - off by default. Leave it.
seed - fixed by default. Same graph, same clip, no second bill. Randomise when you mean it.
Outputs
video, last frame (needs return_last_frame), and task id. The last-frame output is what makes multi-shot sequences workable in one graph: shot A's final frame becomes shot B's opening image.
Installing it
ComfyUI Manager → search PopNow → Install → restart. Manual route:
cd ComfyUI/custom_nodes
git clone https://github.com/popnow-ai/popnow-comfyui
Then a key from popnow.ai/api/console/keys, entered under Settings > PopNow or exported as POPNOW_API_KEY, and a second restart so your account's catalog becomes the node list. No model downloads; the pack installs nothing beyond what ComfyUI already ships.
Where people get burned
Web search pricing is the sneaky one: leave the toggle on out of curiosity and every run after that is quietly more expensive. It's the first thing to check when a quote looks wrong.
Smart duration (-1) plus web search is the combination that produces quotes people don't expect - both make the run less predictable, and only the quote stage protects you. Set Settings > PopNow > Max credits per run.
Text-only video also fails in a specific way worth knowing: with no image anchoring the look, the model's house style shows through harder, and text or logos in frame come out as decorative nonsense. If a shot needs exact branding, generate the still first and use Seedance 2.0 Fast · Image to Video - it starts from your pixels instead of guessing.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Describe the intended subject, action, camera, light, sound, and constraints. | |
| aspect_ratio | COMBO | adaptive | Output frame ratio. |
| resolution | COMBO | 720p | Output resolution. |
| duration_seconds | COMBO | 5 | Requested output duration in seconds. Pass -1 for smart duration: the model picks the length itself instead of a fixed number. |
| generate_audio | BOOLEAN | true | Request synchronised output audio. |
| enable_web_search | BOOLEAN | false | Let the model search the web for information related to the prompt before rendering. Requests with it on are billed at the web-search rate. |
| 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. |
| return_last_frame | BOOLEAN | false | Also return the clip’s final frame as a separate image. |
| bitrate_mode | COMBO | standard | Encoding bitrate of the delivered file: standard, or high for crisper detail and a larger file. |
| watermark | BOOLEAN | false | Add the model’s visible "AI generated" watermark to the video. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| last frame | IMAGE | Needs return_last_frame turned on. |
| task id | STRING | The PopNow task id, for the API console logs or support. |