BCE: Batch Comfy Extensions - New Comfy in Flame framework

Hey Everyone!

Well it has been forever and a day, I hope are are well.

I’ve been working on a Flame-Comfy project for a while, and I’m about ready to publish the repo. I thought I would throw out a Where I’m At video and see what everyone (who is interested) thought.
It is a slightly different philosophy that the other (Great) Comfy strategies. This system/framework gives you a node in batch that does the comfy rendering for you. Right now I have the Outpaint Node working, with a clear path to Inpaint, Upscale, etc.. The BCE system supports local, lan and cloud(!!) mode rendering and is EXR all the way through. You prep, launch, then import right to Batch, and all your parameters, including seed and prompt, are saved with the node, and therefore the Batch setup. It is basically a custom UI matchbox node that feeds into a comfy template, plus a lot of python.
The overview video is bit long, but there was much to talk about(!)

I figure I can get the repo cleaned up and the docs polished in a few days, maybe a week. Since this will be a community project, and feedback ahead of time only helps.

Cheers!

-----------------------------------------------Beak

super cool! Is it fairly straightforward to tweak the comfy setup? Eg change the model from Flux if a new one comes out?

Yes, with the restriction of the expected parameters to and from mbox<–>comfy, meaning: the template has comfy nodes with keywords in them, like LoadEXR [BCE:LOAD], and Ksampler [BCE:SAMPLE] etc. When you prep a job, it reads the values from the Outpaint Node like"steps", “guide”, “seed” and so on, then patches the template by looking at the json entry for the node containing “[BCE:SAMPLE]” for example, and patches in the seed and steps values. Then that patched API json gets set to comfy.
So the slight catch lies in changing the shape of the overall template, like if you were to go to a SD 3.5 model, or something not Flux, there would be a little work (but not impossible), in the v01 world :), where like ‘guidance’ would now mean Classifier Free Guidance, CFG, instead of Flux Guidance, so that would have to skip looking for the Flux Guide node and just write that value into the sampler’s cfg instead.
For the first release I wanted to get the “Works most of the time” solution, which Flux Fill does, and run with it.
I think for the future roadmap, having a more clearly defined set of parameters defined might help, but overall it would be easier to just make a Outpaint SD node. The tasks are split out into several python files. I suppose my next video should be about the internals of BCE, and how to mod it!

Did that make sense? Heh, I’ve had me head down in this code hole for a while, sometimes I assume people know things that I never told them(!)

Let me know an I’ll send you the comfy json template.

--------------------------Beak

@Beak Just a heads-up, your API key is prefectly visable in the video. You might want to change that less some ass hat starts racking up your bill.

That aside, super cool what you’ve done here!

Thanks! Heh, I killed that API key before I posted, but nice catch :slight_smile: I did want it to be a real API key for the demo, in a nothing behind my back… kind of way.

----------Beak

While I’m finishing up the repo, here is a quick look behind the scenes in BCE. This should shed some light on the whole process.

I keep saying that I’m close to publishing the repo, and heh, this time I really am. I will do a couple more vids on how to change templates and add a new BCE node, with one of those on creating a different node like Inpaint. I will then add those to the repo.

As always feedback is welcome.

Stay tuned, almost there…

-– — — — — Beak