ACEStep Time Range β‘π ‘π π £π
Convert seconds to ACE-Step latent frame numbers
- info
- start_frame
- end_frame
Most of the guider nodes in this pack are kind enough to take start/end times in plain seconds. But ACE-Step itself works in latent frames, and if you're doing anything more custom - slicing a latent manually, wiring frame indices into something outside this pack's ready-made nodes - you need the actual frame numbers. This tiny node does the conversion.
Part of ryanontheinside's ACE-Step utility set, the kind of node you don't think about until you need it.
How it works
Give it a start and end time in seconds, and it converts both to frame indices using the latent frame rate the rest of the ACE-Step nodes in this pack assume, then hands you an info string summarizing the conversion alongside the raw numbers. It's deliberately a one-trick node - no rounding options, no alternate rate input - which keeps it predictable at the cost of flexibility you'll only miss if you're deep in custom latent surgery.
The inputs and outputs that matter
start_time- default 0.end_time- default 10.
Both in seconds. Outputs are info (a readable summary string), start_frame, and end_frame - the two INT values you'd actually wire into anything downstream that wants frame indices instead of seconds.
How to install it
Via ComfyUI Manager, search RyanOnTheInside. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/ryanontheinside/ComfyUI_RyanOnTheInside
then restart. Nothing to download beyond the node code itself.
Common issues & troubleshooting
Frame numbers look off by roughly a factor of two. The frame rate this node assumes isn't exposed as an input, so it's baked in for one ACE-Step generation. If your numbers seem wrong, you're likely mixing 1.0-era latents (which run at a different rate) with 1.5-era timing, or vice versa - check which version's nodes you're actually working with elsewhere in the graph.
Not sure you even need this node. If you're only using the higher-level guiders (Extend, Hybrid, Lego) and the Mask Visualizer, you probably don't - they all take seconds directly. This one is for when you're stepping outside those and need raw frame math yourself.
start_time after end_time, or negative values. Nothing in the schema stops you from entering a range that doesn't make sense; the node will convert whatever numbers you give it, so if the resulting frames look inverted or nonsensical, check your own inputs before assuming the conversion is broken.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| start_time | FLOAT | 0.00β1000 | β |
| end_time | FLOAT | 10.00β1000 | β |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| info | STRING | β |
| start_frame | INT | β |
| end_frame | INT | β |