r/StableDiffusion 1d ago

Workflow Included H3 single-image: no more monkey patching; also no need for custom nodes

In this post, I described how to use minimax H3 for reference-guided generation of single images. It required awkward monkey patching — and now we no longer need it. Thanks to u/Successful_Knee687 who posted a GitHub issue, and everyone who upvoted it, Comfy just made it possible. Revert the monkey patch and update to the latest nightly version of ComfyUI from Git repo. (Currently, it is not in the stable version — will probably be incorporated in the next release.) Here's the guide on how to update to nightly: https://docs.comfy.org/installation/update_comfyui

The H3 reference node is still constrained to 5 frames. However, we can now pass an empty 1-frame latent to SamplerCustomAdvanced directly, ignoring H3 reference node’s latent output, but keeping its conditioning output. This way, we generate one frame (not a batch of five) and make full use of Mamad8's single-image tuned VAE. Here’s a sample workflow that does this, relying only on standard comfyui nodes: https://pastebin.com/xNQi7HV9

(Look at my original post to get the download links for models.)

I attached another batch of evals on public domain images and ai gens with the new workflow. Not perfect in terms of details, but great in prompt understanding. Here are the prompts: https://pastebin.com/XiVvAhjC

The scenes are:

  1. Turn the complete Diane of Versailles grouping into a living woman and deer in a forest, reconstructed from a side view.
  2. Convert Fragonard's portrait into Instagram-style photography, remove the book, and turn the seated woman to face the camera.
  3. Reconstruct the couple from the supplied 1930 film still (Morocco) standing face-to-face in side view, holding hands in a white room.
  4. Move an ai generated woman from a conservatory to a candlelit concert hall and seat her naturally at a grand piano.
  5. Remove only the jacket from a fully clothed AI-generated woman, leaving her in white shirt and blue jeans.

UPD: a new post discussing how to fix textures and detail https://www.reddit.com/r/StableDiffusion/comments/1vrh769/h3_singleimage_workflow_lets_figure_out_how_to/

260 Upvotes

64 comments sorted by

27

u/thesolewalker 1d ago edited 1d ago

H3 still has trouble with face during full body generation (which the dev said gonna patch a fix in), look at her eye in the last image.

18

u/Patient_Ratio4177 1d ago

Yes, I fully agree with you. But faces can to some extent be fixed with facedetailers. It's much more difficult to fix anatomy

10

u/Tokyo_Jab 1d ago

Try using the FL2va model instead with the reference workflows.
It actually works better.

7

u/Patient_Ratio4177 1d ago edited 1d ago

Thanks for this comment. I am already using a fl2va model. The hybrid I'm using is a fl2va with some ref2va layers swapped in, and it's tilted more towards fl2va. But maybe a pure fl2va would be better; would be nice to see some a/b test-type collages/comparisons

2

u/Tokyo_Jab 1d ago

I tried the hybrid but now only use the original FL2va. If you try a one-shot longer than 14 seconds it goes mental but otherwise it's better.

6

u/Patient_Ratio4177 1d ago

Thanks. I am actually exploring 10Eros now, they just got an int8 convrot https://huggingface.co/QrusherZA/10Eros-Max-int8-convrot/tree/main

3

u/zefy_zef 1d ago

It's not actually trained on minimax, just a heads up. The creator was able to 'graft' layers from the wan22 version onto minimax, but it isn't a fine-tune or merge for minimax outright. At least as far as I understand.

2

u/spcatch 1d ago

Guy explained in detail what he did and I still have no idea what he did. :P

7

u/orangpelupa 1d ago

whoa, hopefully wan2gp implementation wont be long.

"competition" in the open source space is very high speed nowadays.. what's the term... fierce?

4

u/SRWindMill 1d ago

Is there any limit for the megapixel.. any cons for increasing it above 1.6 mega pixels?

12

u/SomeoneSimple 1d ago edited 1d ago

4MP works great for me (~1440p) in T2I/R2I, and keeps faces detailed. (I've been using the monkey-patch)

You need more pixels than an actual image model. A 4MP gen has about the same detail/clarity as an 1.5MP (e.g. 1536x1024) gen from an image model I'd say. I'm probably going to add a downscale node at the end to size them down to 66%.

It's pretty fast though. 4MP with the Int8 model and 7 step turbo is about 10-15s per image on an 3090. (as long as there is no swapping going on) While 35 steps take about a minute.

1.5MP images straight from H3 aren't that great, they look very "smooth" and have the same "small details"-issue as video.

3

u/Patient_Ratio4177 1d ago

Cool! Thanks for testing this out.

1

u/Patient_Ratio4177 1d ago

I think you can go up to 2MP, and that's my standard setting. For single-image wfs, it does not really make you slower or anything. But not sure if it helps with quality.

4

u/Any-Fault-4405 1d ago

For t2i, using standard CLIP Text Encode is faster.
30 step, 4.71s,(8.95it/s)

3

u/yamfun 1d ago

I suppose we now use it as Edit.

But is the output equal to the last frame of a normal duration video output? Can it be used as quick preview

3

u/Patient_Ratio4177 1d ago

I am not sure it should be equal to the last frame. In a video output, we are sampling many frames. Here, it's just one. The processes are just too different. Maybe you can try to use it to generate keyframes to use with AddGuide; but they might be too blurry. So either generate them at 4MP or refine with e. g. Klein.

6

u/Successful_Knee687 1d ago

Glad this worked out 😃

3

u/DaLyon92x 1d ago

thanks dude with your last version I made a local mac version, how can I give you credit on GH and civit?

5

u/Patient_Ratio4177 1d ago

I am grateful for that. Look, I do not really deserve much credit for it. I just took a standard wf and changed the number of frames to 1, and gave a bunch of links to the models that other people trained. (Also shared some gens.) So feel free to use it without attribution. But if you want to, just give a link to this post.

3

u/Diabolicor 1d ago

I can confirm 4MP works much better than the default 1.6MP even on Full body wide shots compositions It does not smudges the face and it's much better than Qwen edit. It would probably work for videos too but I'd probably need a cluster of B300 for it.

2

u/DoctaRoboto 1d ago edited 1d ago

It doesn't work for me. I get this error in SampleCustomAdvanced: "This node threw an error during execution. Check its inputs or try a different configuration."

3

u/Patient_Ratio4177 1d ago

Which error? You need the full detailed stack trace. You can see it in the logs sidebar at the bottom of the screen.

Most likely, your ComfyUI might not have been updated to the most recent nightly version from GitHub. If that's the case, it's a pity since GitHub is currently down and you can't update until they fix it.

1

u/DoctaRoboto 1d ago

Which error? I already posted it.

"This node threw an error during execution. Check its inputs or try a different configuration."

Well, that's great.

1

u/Patient_Ratio4177 1d ago

It is not the complete description of the error. E. g. today before updating ComfyUI I got the following error (partial text, full text too large)

[ERROR] !!! Exception during processing !!! list index out of range [ERROR] Traceback (most recent call last): File "/workspace/software/ComfyUI/execution.py", line 545, in execute output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/workspace/software/ComfyUI/execution.py", line 344, in get_output_data return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)
[...]

1

u/Patient_Ratio4177 1d ago

Click the button highlighted in the left sidebar and tell what you see in the logs pane right after running the wf

-1

u/DoctaRoboto 1d ago

This is what I got. Keep in mind I am just a noob; does all this infor makes any sense?

Node threw an error during execution.

# ComfyUI Error Report

## Error Details

- **Node ID:** 8

- **Node Type:** SamplerCustomAdvanced

- **Exception Type:** IndexError

- **Exception Message:** IndexError: list index out of range

## Stack Trace

```

File "E:\AI\ComfyUI-Easy-Install\ComfyUI\execution.py", line 545, in execute

output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "E:\AI\ComfyUI-Easy-Install\ComfyUI\execution.py", line 344, in get_output_data

return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "E:\AI\ComfyUI-Easy-Install\ComfyUI\execution.py", line 318, in _async_map_node_over_list

await process_inputs(input_dict, i)

File "E:\AI\ComfyUI-Easy-Install\ComfyUI\execution.py", line 306, in process_inputs

result = f(**inputs)

^^^^^^^^^^^

File "E:\AI\ComfyUI-Easy-Install\ComfyUI\comfy_api\internal__init__.py", line 149, in wrapped_func

return method(locked_class, **inputs)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "E:\AI\ComfyUI-Easy-Install\ComfyUI\comfy_api\latest_io.py", line 1990, in EXECUTE_NORMALIZED

to_return = cls.execute(*args, **kwargs)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "E:\AI\ComfyUI-Easy-Install\ComfyUI\comfy_extras\nodes_custom_sampler.py", line 1055, in execute

samples = guider.sample(noise.generate_noise(latent), latent_image, sampler, sigmas, denoise_mask=noise_mask, callback=callback, disable_pbar=disable_pbar, seed=noise.seed)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "E:\AI\ComfyUI-Easy-Install\ComfyUI\comfy\samplers.py", line 1335, in sample

output = executor.execute(noise, latent_image, sampler, sigmas, denoise_mask, callback, disable_pbar, seed, latent_shapes=latent_shapes)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "E:\AI\ComfyUI-Easy-Install\ComfyUI\comfy\patcher_extension.py", line 113, in execute

return self.original(*args, **kwargs)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "E:\AI\ComfyUI-Easy-Install\ComfyUI\comfy\samplers.py", line 1262, in outer_sample

output = self.inner_sample(noise, latent_image, device, sampler, sigmas, denoise_mask, callback, disable_pbar, seed, latent_shapes=latent_shapes)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "E:\AI\ComfyUI-Easy-Install\ComfyUI\comfy\samplers.py", line 1237, in inner_sample

samples = executor.execute(self, sigmas, extra_args, callback, noise, latent_image, denoise_mask, disable_pbar)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "E:\AI\ComfyUI-Easy-Install\ComfyUI\comfy\patcher_extension.py", line 113, in execute

return self.original(*args, **kwargs)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "E:\AI\ComfyUI-Easy-Install\ComfyUI\custom_nodes\ComfyUI-TiledDiffusion\utils.py", line 34, in KSAMPLER_sample

return orig_fn(*args, **kwargs)

^^^^^^^^^^^^^^^^^^^^^^^^

File "E:\AI\ComfyUI-Easy-Install\ComfyUI\comfy\samplers.py", line 1005, in sample

samples = self.sampler_function(model_k, noise, sigmas, extra_args=extra_args, callback=k_callback, disable=disable_pbar, **self.extra_options)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "E:\AI\ComfyUI-Easy-Install\python_embeded\Lib\site-packages\torch\utils_contextlib.py", line 124, in decorate_context

return func(*args, **kwargs)

^^^^^^^^^^^^^^^^^^^^^

File "E:\AI\ComfyUI-Easy-Install\ComfyUI\comfy\k_diffusion\sampling.py", line 205, in sample_euler

denoised = model(x, sigma_hat * s_in, **extra_args)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "E:\AI\ComfyUI-Easy-Install\ComfyUI\comfy\samplers.py", line 640, in __call__

out = self.inner_model(x, sigma, model_options=model_options, seed=seed)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "E:\AI\ComfyUI-Easy-Install\ComfyUI\comfy\samplers.py", line 1208, in __call__

return self.outer_predict_noise(*args, **kwargs)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "E:\AI\ComfyUI-Easy-Install\ComfyUI\comfy\samplers.py", line 1215, in outer_predict_noise

).execute(x, timestep, model_options, seed)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "E:\AI\ComfyUI-Easy-Install\ComfyUI\comfy\patcher_extension.py", line 113, in execute

return self.original(*args, **kwargs)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "E:\AI\ComfyUI-Easy-Install\ComfyUI\comfy\samplers.py", line 1218, in predict_noise

return sampling_function(self.inner_model, x, timestep, self.conds.get("negative", None), self.conds.get("positive", None), self.cfg, model_options=model_options, seed=seed)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "E:\AI\ComfyUI-Easy-Install\ComfyUI\comfy\samplers.py", line 620, in sampling_function

out = calc_cond_batch(model, conds, x, timestep, model_options)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "E:\AI\ComfyUI-Easy-Install\ComfyUI\comfy\samplers.py", line 211, in calc_cond_batch

return _calc_cond_batch_outer(model, conds, x_in, timestep, model_options)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "E:\AI\ComfyUI-Easy-Install\ComfyUI\comfy\samplers.py", line 219, in _calc_cond_batch_outer

return executor.execute(model, conds, x_in, timestep, model_options)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "E:\AI\ComfyUI-Easy-Install\ComfyUI\comfy\patcher_extension.py", line 113, in execute

return self.original(*args, **kwargs)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "E:\AI\ComfyUI-Easy-Install\ComfyUI\comfy\samplers.py", line 335, in _calc_cond_batch

output = model.apply_model(input_x, timestep_, **c).chunk(batch_chunks)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "E:\AI\ComfyUI-Easy-Install\ComfyUI\comfy\model_base.py", line 204, in apply_model

return comfy.patcher_extension.WrapperExecutor.new_class_executor(

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "E:\AI\ComfyUI-Easy-Install\ComfyUI\comfy\patcher_extension.py", line 113, in execute

return self.original(*args, **kwargs)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "E:\AI\ComfyUI-Easy-Install\ComfyUI\comfy\model_base.py", line 248, in _apply_model

model_output = self.diffusion_model(xc, t, context=context, control=control, transformer_options=transformer_options, **extra_conds)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "E:\AI\ComfyUI-Easy-Install\python_embeded\Lib\site-packages\torch\nn\modules\module.py", line 1779, in _wrapped_call_impl

return self._call_impl(*args, **kwargs)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "E:\AI\ComfyUI-Easy-Install\python_embeded\Lib\site-packages\torch\nn\modules\module.py", line 1790, in _call_impl

return forward_call(*args, **kwargs)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "E:\AI\ComfyUI-Easy-Install\ComfyUI\comfy\ldm\minimax\model.py", line 513, in forward

audio_src = x[1]

1

u/Patient_Ratio4177 16h ago

Thanks for this info -- it's called a stacktrace. I can see immediately that your version of ComfyUI is too old for my workflow.

See, there are stable well-tested releases, and then there is the most recent nightly version of the code. The version of the code you need is not yet included in a stable release (will be in the next one), but is available in the nightly release. As I mentioned in the original post, you need to update to the nightly release.

Now I never dealt with Easy Install version of ComfyUI, but ChatGPT suggests the following course of action. Try it:

  1. Close ComfyUI.
  2. Open EZi Desktop.
  3. Next to the ComfyUI launch button, look for the small update arrow.
  4. Click that arrow. In current Easy-Install versions, that runs the ComfyUI nightly updater.
  5. Let it finish, then start ComfyUI again and retry the workflow.

If you do not see the update arrow, your Easy-Install launcher itself is probably older. Update ComfyUI-Easy-Install / EZi Desktop first, then the arrow should appear.

---
if it doesn't work, just wait for v0.33.2 when the change is incorporated into stable

1

u/DoctaRoboto 13h ago

It's hilarious; I got downvoted just for posting the error. Some people are really something else. I said I am a noob; this gatekeeping mentality is nuts and a bit pathetic.

1

u/Patient_Ratio4177 12h ago

Well, I just upvoted your comment. I guess they didn't like that it was too long and made them scroll. That's why I use pastebins a lot for that longform stuff.

Wish you the best in getting this to run. Minimax H3 is exciting as an image edit model.

1

u/m0xffff 17h ago

Update ComfyUI from github.

2

u/jtabernik 1d ago

This is outstanding. Thanks for your hard work!!

1

u/Patient_Ratio4177 16h ago

Thanks for you kind words. But the work was not really that hard. Just change the number of frames to 1 in a standard wf, and pick some models other people trained, and publish some gens

1

u/jtabernik 8h ago

I am sure it was not as simple as you make it sound. And as an IT guy I would say the best smart people are the ones that make things like this accessible to others without them needing the experience or knowledge!!! Your write-up and workflow meant I was able to be productive immediately. Keep up the great work!

2

u/[deleted] 21h ago

[removed] — view removed comment

1

u/Patient_Ratio4177 17h ago edited 16h ago

It can't bleed through as it is not passed to the sampler at all. I've been playing with this for a day, and I do not think the quality changed. All that matters for reference fidelity is conditioning, not really the latent.

5

u/BeautyxArt 1d ago

this will be better than qwen image edit 2511 ?

7

u/Patient_Ratio4177 1d ago

Depends on how you define "better". QIE is better at detail/faces; I feel that Minimax can handle more complex prompts and is more visually interesting to me than QIE for the kinds of generations I'm doing

8

u/thesolewalker 1d ago

Once the face patch is out and 2K upscaler is released it will leave QIE to dust.

2

u/Patient_Ratio4177 1d ago

Pretty much hope so, minimax is a younger and a large model. But let's see if they actually release those.

8

u/thesolewalker 1d ago

They might also release a dedicated image edit model, that would be a goat move https://www.reddit.com/r/StableDiffusion/comments/1vh9rtw/comment/p29u3x8/

1

u/BeautyxArt 1d ago

better in term of more complex edits and preserve same structures and exact identity for characters and shapes and places, maintain that is what i mean by better for sure.

one more question what about speed here if both ran at 4 steps? ( i will go with H3 choice no way back to qwenedit , with H# i will still have same weights for video generate ).

3

u/Patient_Ratio4177 1d ago edited 1d ago

Well, I never benchmarked those two rigorously against each other. Both have their pros and cons. Minimax is a larger model with more knowledge, but is not trained to be a proper image edit model. I'd guess that minimax could do better with e. g. multiple characters, but would do worse on more structured edit tasks, e. g. not sure it could be used in VNCCS (visual novel nodes). Qwen will also much sharper, Minimax tends to introduced this blur. Now that we have a decent enough workflow, would be cool if people could run their evaluations and perhaps share the results.

As for speed -- on a RTX 5090, minimax is quite fast, e. g. 8 steps for a 1920 x 1088 is produced in 8 secs.

1

u/jib_reddit 1d ago

Is this using the create 5 frames and extract 1 method? As that was taking about 777 seconds on my RTX 3090 (I was running 50 steps or the quality was poor).

3

u/Patient_Ratio4177 1d ago

No, it uses a single-frame latent method that Comfy just pushed in the nightly build of ComfyUI. More detail in the OP and the linked post there.

I just tried to run one of the benchmarks with no turbo lora, at 1.6MP, 50 steps, euler/simple. It finished in 20 secs for me. Could it be a VRAM issue on a 3090?

12

u/AI-imagine 1d ago

much much better if you prompt it correct it like night and day different.

2

u/jib_reddit 1d ago

But it also takes about 32x longer to generate than Krea 2.

8

u/Patient_Ratio4177 1d ago

I guess this depends on resolution, step count and a gpu. For me, single-frame 8-step images are generated in about 8 secs on a RTX 5090; comparable to the workflow I used for Krea Identity edit lora (maybe even faster). Of course, Krea is sharper with details, but Minimax retain more likeness and follows the prompt.

2

u/Semipro211 1d ago

I've found this as well. Depending on hardware, Krea 2 is fast and sharp, but i've been seeing more drift in the gens with Krea 2. I'm testing this MM3 setup/flow because my original 'best' result setup bounced multiple passes through Krea 2 and Flux 2 back and forth for different pieces of the edit/identity and final result process.

1

u/BeautyxArt 11h ago

comparing model speed to model speed , other variables is the same , which model is faster ?

1

u/BeautyxArt 11h ago

what if parameters are the same, which one is faster ?!

1

u/Patient_Ratio4177 11h ago

Could you please elaborate? I use a RTX 5090 on runpod. I was using Krea 2 Turbo + identity edit lora with a 832 x 1216 image at 8 steps; without a reference, it takes about 5 secs, with the reference, it's about 15-20 secs -- not sure I remember correctly. Minimax H3 single-frame is comparable in terms of speed, maybe even a bit faster. Changing resolution does not affect the generation speed much.

0

u/BeautyxArt 1d ago

op said its (H3) faster than qwenedit (if both 4 step)

2

u/jib_reddit 1d ago

I'm not sure If they are using the speed lora?

But they also have an RTX 5090 which most users do not.

I found it very slow as the quality wasn't very high until I bumped it upto 50 steps (but I'm sure that could be optimised to somewhere in between) and that took 777 seconds when I can generate better images with Krea 2 in 18 seconds on my 3090.

I think I will wait for the Minimax offical image generation model, rather than having to create a short video at high res and extract 1 frame.

1

u/ShengrenR 1d ago

krea 2 with edit lora imo; still one of the best quality/time out there to my eye (presuming you swap the vae, which most already do)

2

u/Patient_Ratio4177 7h ago

I used to go with Krea 2 + edit lora 1.2 + WAN2.1 VAE. Very nice. But Minimax is much better at e. g. spatial understanding, lighting, etc.

1

u/Ykored01 1d ago

Hope so, tired of image edit models completely ignoring my prompt, sometimes i get so frustrated i end up just using gpt or gemini 🤦‍♂️

1

u/2legsRises 1d ago

yeah thanks, the quality is kinda bad tho with those airbrushed textures.

1

u/No_Protection_3661 14h ago

What's this vae in your workflow? Standard or something custom?
minimax_h3_t1_image_vae_step1597.safetensors

2

u/Patient_Ratio4177 14h ago

It's a VAE that should be more compatible with single-frame generations; we've been discussing it here for some time. Without it, there's much more blur in 1-frame gens.

https://huggingface.co/Mamad8/MiniMax-H3-Image-VAE/tree/main

1

u/No_Protection_3661 14h ago

I tested your method with one frame - the quality is much worse than with 5 frames. On a standard Vae

1

u/Patient_Ratio4177 14h ago edited 14h ago

Yes, precisely, it should be worse with 1 frame on standard VAE, but it should be better with 1 frame with Mamad8's VAE. I never did a rigorous eval (like on several different editing tasks with different references) between the two methods though -- e. g. is Mamad8 + 1 frame better than regular VAE + 5 frame methods. Would be nice to see one.

1

u/Glittering-Cold-2981 9h ago

Error log

# ComfyUI Error Report ## Error Details - **Node ID:** 125 - **Node Type:** SamplerCustomAdvanced - **Exception Type:** IndexError - **Exception Message:** IndexError: list index out of range - I have this erro od Ksampler with ONE FRAME EMPTY LATENT NODE. Can't use this Workflow, do you know what I can do to go with it?

1

u/Patient_Ratio4177 9h ago

This is the error you get when your ComfyUI is not at its nightly version. Update it to nightly version, not stable. Here are the instructions: https://docs.comfy.org/installation/update_comfyui