invoke-ai / InvokeAI

Invoke is a leading creative engine for Stable Diffusion models, empowering professionals, artists, and enthusiasts to generate and create visual media using the latest AI-driven technologies. The solution offers an industry leading WebUI, and serves as the foundation for multiple commercial products.
https://invoke-ai.github.io/InvokeAI/
Apache License 2.0
23.83k stars 2.45k forks source link

[enhancement]: Node UI usability, and possibly missing basic functionality? #3884

Closed cchance27 closed 1 year ago

cchance27 commented 1 year ago

Is there an existing issue for this?

Contact Details

No response

What should this feature add?

I'm trying to get the feel for the nodeui in 3.0.0 because it seems powerful and would allow for complex operations, coming from comfy it seems that either I'm missing how to do some basic thing's or the UI is missing some basic ... usability items I sort of expected would make it even into an experimental version.

Alternatives

No response

Aditional Content

No response

psychedelicious commented 1 year ago

Node editor is in an experimental, MVP state - hence being disabled by default. We've been using it for months and are painfully aware of what is missing. Rest assured, when an update includes the proper release of the node editor, we'll provide a polished user experience.

hipsterusername commented 1 year ago

Major: Removing nodes? Click > Backspace Major: Remove edges? Click > Backspace

zopieux commented 1 year ago

One thing that I believe is super important if you want to increase adoption and get feedback from more (non particularly savvy) users which otherwise have no idea what to do in this tab:

hipsterusername commented 1 year ago

We plan on supporting a graph library to store templates in the future.

Mikec78660 commented 1 year ago

One thing that I believe is super important if you want to increase adoption and get feedback from more (non particularly savvy) users which otherwise have no idea what to do in this tab:

  • [ ] Add a "presets" button which (for now) loads a basic setup for sampling, basically replicating the normal txt2img without any advanced stuff like controlnet or LoRAs: model loader, pos/neg prompts, noise generation, text to latents and image preview.

Someone had suggested being able to load the current UI settings into the node editor. I think that would be a great approach to introducing people to the node editor.

zopieux commented 1 year ago

Yes, it's the obvious next step once the entire backend is neatly node-ified. The UI becomes a friendly "builder" for a given graph, so you can losslessly switch to Nodes in which you can do more tweaking and more advanced stuff. Ideally it'd also be possible to switch back to the UI if the graph is the right shape for the normal UI.

The step after that is Python code generation of the graph so you can take full control over the workflow. But it's definitely out of scope :-)

psychedelicious commented 1 year ago

@hipsterusername Just tying back to our previous convo, this is the kind of functionality we can achieve by making the linear UI a function of the graph. It's very similar to how the node editor works but we need another layer of data for UI nodes to support it.

Right now reactflow handles this for us, we'd need a custom setup to dynamically populate the linear ui based on a graph template.

hipsterusername commented 1 year ago

@psychedelicious - Hear you. Think we need to think through how to achieve this while not turning it into a longer term effort - The people need their nodes.