Extensions/ComfyUI-FunPack
ComfyUI Extension

ComfyUI-FunPack

An AI movie studio inside ComfyUI: a browser-based studio with timeline, per-scene prompts and one-click montage generation, plus a self-improving engine that learns from your ratings. Every feature is a module, so a broken one is simply absent.

By digital-garbage·Created about a year ago·Updated 2 days ago· 20
digital-garbage/ComfyUI-FunPack
Nodes23
On cloudLocal install
CategoryFunPack/Conditioning, FunPack/Loaders
Stars20
Updated2 days ago

Nodes (23)

FunPack Apply Prompt Markup

Putting (word:1.5) back on models that toss it

FunPack/Conditioning
FunPack Checkpoint Loader

One .safetensors, three sockets, and a status line that tells the truth

FunPack/Loaders
FunPack CLIP Loader

The CLIP loader that actually speaks Gemma (and GGUF)

FunPack/Loaders
FunPack Cut Opening

Deleting the first second your video model wasted

FunPack/Output
FunPack Decode

The VAE Decode that knows MiniMax H3 isn't one tensor

FunPack/Output
FunPack Diffusion Model Loader

Fp8, GGUF and an attention backend in one node

FunPack/Loaders
FunPack Empty Latent

Stop hand-typing latent dimensions for video models

FunPack/Latent
FunPack Enhance Prompt

A language model rewrites your prompt before the encoder ever sees it

FunPack/Conditioning
FunPack Identity Transfer

Carrying a face into a video clip without a LoRA

FunPack/Conditioning
FunPack Latent Resample

The sharpen-or-upscale step between your two passes

FunPack/Latent
FunPack Load Latent Upscaler

The latent upscaler ComfyUI's own loader won't open

FunPack/Latent
FunPack Load Media

Load Image, except the id comes from FunPack's media bin

FunPack/Media
FunPack Load Modifiers

Stack the taste mods on the model, not inside the sampler

FunPack/Sampling
FunPack LoRA Loader

The loader that just loads — no learning, no surprises

FunPack/Loaders
FunPack Modifier Settings

One JSON box instead of forty sliders nobody can wire

FunPack/Sampling
FunPack Negative Erase

Giving the negative prompt a job when you're sampling at CFG 1

FunPack/Conditioning
FunPack Prompt Markup

Attention weights that mean what you thought they meant

FunPack/Conditioning
FunPack Sampler

A sampler that refuses to become a hub

FunPack/Sampling
FunPack Save Video

Stop paying libx264's single-threaded tax at the end of every run

FunPack/Output
FunPack Shot Camera

A camera operator made of regex, and that's the point

FunPack/Conditioning
FunPack Train LoRA

A whole training run hidden in one output node

FunPack/Training
FunPack Upscale Video

Upscale the finished clip and keep the sound

FunPack/Output
FunPack VAE Loader

A VAE loader where dtype is the whole point

FunPack/Loaders
Readme

ComfyUI-FunPack v5 "Cunning Cranberry"

FunPack v5 is here. It is a browser studio for video inside ComfyUI: a timeline with one clip per scene, a Composer for your prompts, pipeline cards instead of graphs, and modules that learn from your ratings - all on the regular ComfyUI backend.

<p align="left"> <a href="https://ko-fi.com/M4M61MBGIT"><img src="https://img.shields.io/badge/Support%20me%20on%20Ko--fi-FF5E5B?style=for-the-badge&amp;logo=kofi&amp;logoColor=white" alt="Ko-fi" height="36"></a>&nbsp; <a href="https://patreon.com/digitalgarbage?utm_medium=unknown&amp;utm_source=join_link&amp;utm_campaign=creatorshare_creator&amp;utm_content=copyLink"><img src="https://img.shields.io/badge/Become%20a%20Patron-FF424D?style=for-the-badge&amp;logo=patreon&amp;logoColor=white" alt="Patreon" height="36"></a>&nbsp; <a href="https://cloud.vast.ai/?ref_id=308176"><img src="https://img.shields.io/badge/Run%20on-Vast.ai-BCFF41?style=for-the-badge&amp;logoColor=000000" alt="Vast.ai" height="36"></a> </p>

[!IMPORTANT] FunPack is an open-source hobby project maintained by single person, available to you for zero cost. It means resources such as time and money are limited, and there is no "QA team" to review every single feature and report every bug. If you discover a bug or wish to suggest a new feature, feel free to open a new issue in this repo's Issues.

<p align="center"><img src="docs/images/studio.jpg" alt="FunPack studio: preview, scene settings and a six-clip timeline" width="900"></p>

What v5 is

A rewrite from scratch, not an update of 4.x. Every feature is a module that announces itself, so nothing can be forgotten in the UI, no wire can be missed, and a module that fails to load is simply left out while the run carries on. Open it at /funpack/ in your browser.

  • Timeline studio: one clip per scene, media bin, preview, takes, rating, Export, Render, a project wizard and a guided tour.
  • Composer: write the story in one box, with a cut word, templates, $variables and shortcuts.
  • Models & Pipeline: the pipeline as cards, not a graph. Pick files, swap or add nodes (any installed custom node), wire outputs to inputs, import a ComfyUI workflow. The server refuses what would not build and says why.
  • Modules: switch each feature on or off in Settings. A pipeline runs without an optional node whose module is missing, and tells you so.
  • Learning from ratings: rate a clip and the guidance, steering and prompt modules start acting on your taste once they have enough ratings.
  • Auto Montage: builds a new cut from your rendered clips; the originals stay untouched.

The full list of features, and what is proven and what is experimental, is in CHANGELOG.md.

A look around

Every picture below is the real app, shown with an abstract demo project (clips made with ffmpeg, no model output).

Write the story once

Composer holds the whole story in one box. A cut word splits it into scenes, $variables fill in what repeats, and templates and shortcuts keep your own wording close. The optional Enhance tab has a language model polish each prompt.

<p align="center"><img src="docs/images/composer-story.jpg" alt="Composer, Story tab" width="900"></p> <p align="center"><img src="docs/images/composer-enhance.jpg" alt="Composer, Enhance tab" width="900"></p>

Start a project in three steps

The Project Setup Wizard picks your look, names the project and loads the pipeline of the model you will use. No tabs, one step at a time.

<p align="center"><img src="docs/images/wizard.jpg" alt="Project Setup Wizard" width="900"></p>

Pipeline as cards, not a graph

Pick a file in each card, swap or add nodes, import a ComfyUI workflow. FunPack says when every slot is filled and names the first thing missing when it is not.

<p align="center"><img src="docs/images/pipeline.jpg" alt="Models and Pipeline" width="900"></p>

Every module, one place

Modules announce their own settings, so Engine settings is always complete. Turn any module on or off in Settings > Modules.

<p align="center"><img src="docs/images/engine.jpg" alt="Engine settings" width="900"></p> <p align="center"><img src="docs/images/modules.jpg" alt="Modules" width="900"></p>

Quick sampler settings

Steps, sampler, scheduler, seed and the common switches are one click away from the timeline, without leaving the clip you are working on.

<p align="center"><img src="docs/images/sampler.jpg" alt="Quick sampler settings" width="900"></p>

Picker wheel

Press the middle mouse button anywhere and your most used actions fan out under the pointer. Release on one to run it. Which actions appear is up to you.

<p align="center"><img src="docs/images/wheel.jpg" alt="Picker wheel" width="900"></p>

Auto Montage

Builds a new cut at the end of the timeline from your rendered clips. The originals stay as they are.

<p align="center"><img src="docs/images/montage.jpg" alt="Auto Montage" width="900"></p>

Train your own LoRA (add-on)

Teach the model your style from your own media and results you rated. Pick the data, describe each item, press Start. It is an add-on you switch on in Settings > Modules, and it has been run on MiniMax H3 only.

<p align="center"><img src="docs/images/training-data.jpg" alt="LoRA training, data step" width="900"></p> <p align="center"><img src="docs/images/training-tags.jpg" alt="LoRA training, tags step" width="900"></p> <p align="center"><img src="docs/images/training-train.jpg" alt="LoRA training, train step" width="900"></p>

Dark or light

<p align="center"><img src="docs/images/studio-light.jpg" alt="Light theme" width="900"></p>

Installation

With git, inside your ComfyUI/custom_nodes directory:

git clone https://github.com/digital-garbage/ComfyUI-FunPack

comfy-cli (comfy node install ComfyUI-FunPack) and ComfyUI-Manager install what is published on Comfy Registry. They give you 5.0 only once it is published there: check Settings > About FunPack after installing.

Dependencies

FunPack includes a requirements.txt file for its Python dependencies.

Install them with:

pip install -r requirements.txt

FunPack uses your existing ComfyUI/PyTorch install.

Models

  • MiniMax H3: the model v5 is built and tested around.
  • Stable Diffusion 1.5: experimental.
  • LTX 2.x: UNTESTED. It has never been run on a real LTX model and nobody plans to test it soon. You are free to try it; if you hit problems, please report them in Issues.

Documentation

Start with How to start generating with FunPack. The app also has a guided tour: Help -> Start tour.

Writing a module or a UI feature? Start with Developing FunPack.

Version history is available in CHANGELOG.md.

Classic FunPack (4.x)

FunPack 4 was a different app: Cutting Room, with Easy Gen as its simple mode, and no modules. It is no longer developed, but it is kept for anyone who prefers it: git clone -b v4-classic https://github.com/digital-garbage/ComfyUI-FunPack, or browse the v4-classic branch.

Feedback

If you have suggestions, questions, or ideas for new features, feel free to open an issue or submit a pull request.

Intent

FunPack is provided under GNU General Public License V3, which gives you broad rights to use, modify and distribute the original/modified version of it as long as the original license text is included. FunPack places no limitations on types of content you can generate by using it, meaning both SFW and NSFW content are fine as long as you don't violate your local laws. GPLv3 does not grant you rights for such violations.

However, I do not endorse using FunPack and/or demonstrating it alongside morally and legally questionable/prohibited content, including:

  • Non-consensual explicit depiction of a real person;
  • Explicit depiction of minors;
  • Depiction of violence and gore targeted at a real person.

I do not provide support to users who use FunPack in such cases, and in case I detect it, any support will be immediately ceased.

Thanks for understanding.

Thank you

I express my deepest gratitude to:

  • OpenAI and ChatGPT Codex;
  • xAI and Grok Build;
  • Anthropic and Claude Code;
  • Team Cursor and Composer model;
  • DeepSeek team and model;
  • Google and Gemini;
  • Lightricks and the LTX-Video model; FunPack's identity-transfer phase tag is a port of ltx_core (Apache-2.0);
  • ComfyUI-LTXVideo — the LTX nodes used by the LTX pipeline presets;
  • ComfyUI-KJNodes — utility nodes used by the H3 pipeline presets;
  • ComfyUI-GGUF — reads quantized .gguf encoders when it is installed;
  • ComfyUI-H3-SLA-Attention (MIT) — the SLA block-sparse attention for MiniMax H3 is ported from it, and its kernel and block map come from LightX2V (Apache-2.0);
  • ComfyUI-MiniMaxH3_LatentUpscaler by Tr1dae — the tiled H3 decode and the X2 Detail VAE output handling are ported from its "VAE Decode (fast)";
  • the authors of the papers behind the sampling modules: ALG (arXiv 2506.08456), FreeSliders (2511.00103), Decisiveness (2510.01184), momentum (2602.20360), "Pulling The REINS" (2606.17257) and STAS (2603.17825);
  • OpenCut — the in-browser non-linear video editor whose UI and interaction patterns inspired FunPack's timeline studio;
  • Inter and IBM Plex Mono — the fonts of the app (SIL Open Font License; copies in app/assets/fonts);
  • musubi-tuner by kohya-ss (Apache-2.0) — the LoRA training add-on's loop (which layers get a LoRA, per-block checkpointing, noise sampling and loss weighting, optimizer and learning rate) and its block swap (a number of transformer blocks kept in system memory) follow its MiniMax H3 training recipe;
  • ComfyUI and its whole community.

Without all of you, this project would've been impossible.

With <3

DigitalGarbage