Cine con IA · Duración
8 Seconds Isn't 192 Frames, and Your Video Model Knows It
- frames
- segundos_reales
- info
Here is the failure everyone hits once. You type 8 seconds into your workflow, the model wants a frame count, you multiply by 24, and you get a shape complaint - or a render that just… doesn't move right. Local video models don't take arbitrary frame counts. They take counts that land on a grid, and the grid is different per model. Cine con IA · Duración (CineDuracion) is a seconds-to-frames converter that already knows the grid.
The mechanism
The node rounds segundos × fps, then nudges the result onto the model's frame grid using desfase + n × rejilla. For MiniMax H3 that's a grid of 17 with an offset of 5 - so 124 frames, 141, 158, and so on. For LTX-2.5 it's a grid of 8 with offset 1, which matches what the LTX model card asks for ("divisible by 8 plus 1" - off-grid values fail rather than round).
Inputs default to H3's numbers, and the advanced section is hidden unless you flip avanzado on. Only touch rejilla and desfase if you're driving a model whose grid you actually know.
Inputs and outputs
segundos runs 0.5 to 60, defaulting to 8. fps is a five-item list: 24 · nativo H3, plus 25, 30, 48 and 60. rejilla (17) and desfase (5) are the grid. minimo_fotogramas (5) is a floor so a short request doesn't produce something degenerate. avanzado reveals the grid fields.
Three outputs: frames (INT), segundos_reales (FLOAT), and info (STRING). Feed frames into Escena's length. You don't need segundos_reales for anything except sanity - and you should look at it, because it is usually not the number you asked for.
That's the point of the node, honestly. Ask for 8 seconds at 24 fps and you get 192 frames, exactly on grid. Ask for 5 seconds and you get 120 frames, which rounds up to 124 - 5.17 real seconds. That half-second gap is the difference between "the model is broken" and "I asked for a frame count it can't make."
The warnings are the good part
info does three useful things. It tells you the real duration. It flags when fps isn't 24 with "H3 generates at 24 fps: for 48/60 use interpolation" - i.e. don't try to get smooth motion by lying to the frame count, do it in Salida. And it tells you when you've left H3's trained range: the model card documents 4–15 seconds, so the node warns below 4 s, gives a milder "under 5.2 s, usually comes out worse" between 4 and 5.2, and warns above 15 s.
Take the 5.2 s warning seriously. The field's unsolved constraint is clip length - Wan's native context is 81 frames, about five seconds, and everything longer is chunking with identity drift across the seams. H3's 124–362 frame range exists for the same underlying reason, and the floor is real: short H3 clips lose the camera move first and the coherence second.
Install
Part of the pack, so:
cd ComfyUI/custom_nodes
git clone https://github.com/chaLords/ComfyUI-Cine-con-IA.git
Restart, then look for Cine con IA in the node menu. No extra Python packages - the pack's pyproject.toml declares no dependencies. What it does need is fished out of core: a recent ComfyUI (0.34.2 or newer) with the native MiniMax H3 nodes, plus the H3 model files themselves. The pack's Modelos node downloads those.
Traps
All the fields live in the node's "optional" group, deliberately - the author's comment in the source explains it: a widget hidden behind "advanced" may not travel in the prompt, and if those fields were required, the server would reject a render over a value you never saw. It means nothing here breaks if some field goes missing, and also that a stale value can ride along invisibly. Flip avanzado on once and confirm 17/5 before you trust a render.
Second trap: this node outputs frame counts, not a schedule. Changing duration changes how much room the model has to move the camera, and 192 frames of a shot that was tested at 124 will not behave the same way. If a camera recipe worked at one length, run it at that length first.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| segundosopt | FLOAT | 8.00.5–60 | — |
| fpsopt | COMBO | 24 · nativo H3 | 5 options: 24 · nativo H3, 25, 30, 48, 60 |
| rejillaopt | INT | 171–64 | MiniMax H3 usa 17: los fotogramas se ajustan a 'desfase' + n*rejilla |
| desfaseopt | INT | 50–64 | — |
| minimo_fotogramasopt | INT | 51–4096 | — |
| avanzadoopt | BOOLEAN | false | Muestra la rejilla del modelo. Solo hace falta si cambias de modelo de video: H3 usa 17/5, otros usan otra rejilla. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| frames | INT | — |
| segundos_reales | FLOAT | — |
| info | STRING | — |