One node per capability and no mode dropdown, because a mode widget spanning two sampling paths is a mistake this line has already paid for. Shared plumbing sits at module scope so a second node cannot drift from this one. Built on ComfyUI core alone — no second pack to install, which is the whole premise. Core's own fl2va node supplies the conditioning and keyframes; the sampling and the two decodes mirror core's SamplerCustomAdvanced, VAEDecode and vae_decode_audio, and say so where they do, so they can be diffed against the source rather than trusted. What it refuses to offer: sampler, scheduler, cfg, sigma shift, negative prompt. What it guards: the checkpoint family (fl2va vs ref2va, read out of the workflow because nothing in the MODEL object carries the filename), the canvas — core does NOT round the output canvas on this path, so the menu is the only guard — and both frames' fitting, which core does asymmetrically and silently. 66 offline checks in tests/test_offline.py, no pytest and no GPU needed. They caught the canvas claim above, which an earlier draft had backwards.
88 lines
3.5 KiB
Markdown
88 lines
3.5 KiB
Markdown
# SimpleShot
|
|
|
|
ComfyUI nodes for workflows that run the first time.
|
|
|
|
One pack to install. No second custom pack, no dependency chain, no missing
|
|
node named in an error you have to go and look up. Each node here wraps a whole
|
|
generation path into a single block with only the settings that change your
|
|
result — so the workflow around it is a handful of loaders and a save node, and
|
|
there is almost nothing to wire wrongly.
|
|
|
|
## What's in it
|
|
|
|
| Node | What it does |
|
|
|---|---|
|
|
| **SimpleShot H3 - First/Last Frame to Video + Audio** | MiniMax-H3 video **with generated sound**, from a prompt and optionally a first frame, a last frame, or both. |
|
|
|
|
More nodes will follow, one per capability. They are added, never changed: a
|
|
workflow you downloaded today keeps working after an update.
|
|
|
|
## Install
|
|
|
|
**The easy way — ComfyUI Manager**
|
|
|
|
1. Open ComfyUI, click **Manager**, then **Custom Nodes Manager**.
|
|
2. Search for **SimpleShot**.
|
|
3. Click **Install**, then **Restart ComfyUI**.
|
|
|
|
That's it. The workflow's model files are downloaded by ComfyUI itself the first
|
|
time you open the workflow — it asks, and it puts each file in the right folder.
|
|
|
|
**Or by hand, from a ZIP**
|
|
|
|
1. On this page, click the green **Code** button, then **Download ZIP**.
|
|
2. Unzip it.
|
|
3. Move the unzipped folder into `ComfyUI/custom_nodes/`, and rename it to
|
|
`ComfyUI-SimpleShot` (a ZIP download adds `-main` to the name).
|
|
4. Restart ComfyUI.
|
|
|
|
The finished path should look like
|
|
`ComfyUI/custom_nodes/ComfyUI-SimpleShot/__init__.py`. If you unzipped one
|
|
folder too deep, ComfyUI will not see the nodes.
|
|
|
|
**Or with git**, if that is your habit:
|
|
|
|
```
|
|
cd ComfyUI/custom_nodes
|
|
git clone https://github.com/manzakin/ComfyUI-SimpleShot
|
|
```
|
|
|
|
Nothing to `pip install` — the pack has no dependencies of its own.
|
|
|
|
## Requirements
|
|
|
|
- A recent ComfyUI. MiniMax-H3 support has to be built in; if it is not, the
|
|
node says so in a sentence and tells you to update.
|
|
- The H3 model files, about 42 GB in total, which ComfyUI can fetch for you.
|
|
- Enough GPU for a 21 GB checkpoint. This is the honest limit: the software side
|
|
is frictionless, the hardware side cannot be. The node takes its model as a
|
|
link, so you can point it at a smaller community version instead.
|
|
|
|
## What the nodes deliberately do not offer
|
|
|
|
No sampler, no scheduler, no cfg, no sigma shift, no negative prompt. Those are
|
|
settings whose realistic effect here is to break a working render, so they are
|
|
fixed at values that are known to work. What is exposed is what changes the
|
|
picture: the prompt, your images, how long, how big, and how many steps.
|
|
|
|
Durations and canvas sizes are menus rather than numbers for the same reason.
|
|
Both have hard constraints in this model — a frame count off its grid and a
|
|
canvas off a multiple of 32 fail deep inside the sampler with a message that
|
|
names nothing you can act on. The menu only offers values that work.
|
|
|
|
## When something goes wrong
|
|
|
|
Every node returns an **info** output. Wire it into a **Preview Any** node and
|
|
it tells you what actually ran: frame count, canvas, which checkpoint was
|
|
loaded, and how each of your images was fitted. Most surprises are answered
|
|
there — for example, a first frame is *stretched* to the canvas while a last
|
|
frame is *centre-cropped*, which is invisible until you know it.
|
|
|
|
If a node refuses to run, the message is meant to be a complete instruction. If
|
|
you get one that is not, please open an issue with it — a message that leaves
|
|
you stuck is a bug in this pack.
|
|
|
|
## Licence
|
|
|
|
MIT. Runs inside ComfyUI, which is GPL-3.0.
|