Built for: game art, film pre-vis, graphic novels, animated graphic novels, and authentic sound design. Everything here is driven from a terminal or a script, not from the node graph — the graph is where you design a workflow, the API is where you run ten thousand of them.
The node editor is the wrong tool for production. It is excellent for inventing a pipeline and useless for executing one: you cannot batch it, you cannot diff it, you cannot review it, and you cannot hand it to a machine.
So The Forge treats ComfyUI as a render server:
workflows/*.json the pipelines, authored once in the GUI, exported as API format
presets/*.json house style — the prompt fragments and settings that make it OURS
jobs/*.jsonl the work, one line per output
forge.py submits, polls, retrieves, names, and files the results
A job file is reviewable. A job file is diffable. A job file can be written by another program — which is the whole point, because the thing that makes a graphic novel or a game expensive is not the render, it is the thousand consistent renders.
From the ComfyUI terminal (Comfy Desktop → the >_ icon in the bottom-left
sidebar → Terminal), one line:
powershell -ExecutionPolicy Bypass -File "$env:USERPROFILE\Downloads\gf-forge\bootstrap.ps1"It is idempotent — run it again any time. It resumes interrupted downloads, skips anything already present, and prints a manifest at the end.
Selective install if you do not want all of it:
.\bootstrap.ps1 -Skip video # image + audio only
.\bootstrap.ps1 -Only audio # just the sound stack
.\bootstrap.ps1 -DryRun # print what it would fetch, and how big| model | licence | why |
|---|---|---|
| FLUX.1-schnell fp8 | Apache-2.0 | The quality tier. Four steps, no CFG, and it understands a paragraph. Fits 12 GB in fp8. This is the default for concept art, splash plates and covers. |
| SDXL base 1.0 | CreativeML Open RAIL++ | The workhorse. Enormous ControlNet and IP-Adapter ecosystem, which is what you need for consistency, and consistency is what a graphic novel is made of. |
| ControlNet Union SDXL | Apache-2.0 | One model, every control: depth, canny, lineart, openpose, scribble, tile. Pose control is how you get the same character in a different panel. |
| IP-Adapter Plus SDXL + CLIP-ViT-H | Apache-2.0 | The most important model in this list for you. It transfers style from reference images. Point it at the existing Ghost Front plates and new art comes back in the same hand. This is how you extend an art library instead of restarting it. |
| 4x-UltraSharp + RealESRGAN x4 | GPL / BSD | Upscale. Tile-upscale a 1024 plate to 4096 for print. |
| SAM + GroundingDINO | Apache-2.0 | Text-prompted segmentation. "Cut the figure out of every cell of this sheet" becomes one command. |
| model | licence | why |
|---|---|---|
| Wan 2.1 T2V 1.3B | Apache-2.0 | The best open text-to-video that fits 12 GB. This is your animated-graphic-novel engine. |
| Wan 2.1 I2V (14B, offloaded) | Apache-2.0 | Image-to-video: take a finished panel and move it. Slower, worth it. |
| SVD XT 1.1 | Stability Community | Short image-to-video with excellent camera coherence. Good for the "the panel drifts" look. |
| AnimateDiff v3 + motion LoRAs | Apache-2.0 | Loops, and camera-motion LoRAs (pan/zoom/tilt/roll) you can direct. |
| RIFE + FILM interpolation | MIT / Apache-2.0 | 8 fps → 24/60. Essential: generate few frames, interpolate the rest. |
| model | licence | why |
|---|---|---|
| ACE-Step v1 3.5B | Apache-2.0 | Full music generation with lyrics, structure and instrument control. This is your orchestra and your guitars. Genuinely good at a scored cue rather than a loop. |
| Stable Audio Open 1.0 | Stability Community | Trained on Freesound — it is a sound effects model first. "Bolt action rifle, close, indoor, concrete" comes back as that. This is your authentic SFX engine. |
| MMAudio | MIT | Video-to-audio: give it a shot, get foley that hits the cuts. For film work this is the one that feels like magic. |
| MusicGen Melody | CC-BY-NC (check before commercial use) | Melody-conditioned: hum it, or feed it a MIDI-ish reference, get it orchestrated. |
ComfyUI-Manager, VideoHelperSuite, KJNodes, Impact Pack, rgthree-comfy, ComfyUI_essentials, Frame Interpolation, ControlNet Aux, IPAdapter Plus, Segment Anything, ACE-Step nodes, MMAudio nodes.
# one image
python forge.py run workflows/txt2img_flux.json \
--set prompt="a ruined Normandy farmhouse at night, painted plate, 16:6" \
--out art/plates/
# a batch, from a job file
python forge.py batch jobs/chapter_plates.jsonl --out art/plates/
# the same character, twelve poses, consistent, via IP-Adapter + pose control
python forge.py sheet --ref art/hawke_ref.png --poses poses/walk8.json \
--out art/sheets/hawke_walk/
# a music cue
python forge.py audio workflows/music_ace.json \
--set prompt="slow funeral march, solo horn, muffled timpani, 1944, 52 bpm" \
--set seconds=90 --out audio/cues/
# a sound effect, ten variants for round-robin
python forge.py audio workflows/sfx_stable.json \
--set prompt="M1911 pistol shot, close, outdoor, night, no reverb tail" \
--n 10 --out audio/sfx/m1911/
# a panel, animated
python forge.py video workflows/i2v_wan.json \
--set image=art/panels/p014.png \
--set prompt="slow push in, ash falling, the figure does not move" \
--out film/panels/forge.py handles: queueing over the HTTP API, progress, retry, seed
management, deterministic filenames, sidecar .json metadata for every output
(so you can always reproduce a frame), and a --contact flag that builds a
contact sheet of the batch so you can review a hundred images in one look.
presets/ghostfront.json carries the project's own look as prompt fragments
and settings, so every generation starts inside the art direction rather than
next to it: the flat three-value gouache cel, above-right key, indigo shadows,
#2A2A2E ground, no outlines, the division colour grammar (oxblood for
FLESH, gunmetal-and-brass for STAHL, radium green for CHEMIE, arc-light blue
for GLOCKE), and the sheet geometry the cutter expects — 160×160 cells,
8 columns, feet on y=148, mass on x=80.
Add your own under presets/. A preset is the difference between a tool and
a studio.