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.36k stars 2.4k forks source link

[enhancement]: Save and Load Canvas As Project / Full Project Management #6984

Open RicoRaw opened 1 week ago

RicoRaw commented 1 week ago

Is there an existing issue for this?

Contact Details

No response

What should this feature add?

It would be great if we had the ability to save the entire stack of layers (and their settings) all at once, as a single file or image. Ideally looking for a "Save Project" button, saving the information and settings for Global Reference, Regional Guidance, Control Layers, etc. May as well include the generation settings also, making it a true project management solution. Perhaps a save button at the top of the stack next to the opacity drop-down called "Save Canvas As Project".

If we're working on a complex session and then move on to another project, it would be nice to come back to the previous workflow at some point, and still have the settings from that last session, without piecing everything back together. Invoke could save the projects in the Assets tab, but it would be more sensible to have a Projects tab (or a Load Project button somewhere more conspicuous).
This is similar to the way Photoshop or Affinity files retain the settings and effects in each layer of the document.

Alternatives

No response

Additional Content

No response

psychedelicious commented 1 week ago

It's been on the list since work commenced on Canvas V2, but we didn't have time to implement it yet. I'm not sure when we will get to it, but this is the natural next step for Canvas and would really make it feel like a "proper" application.

This would also provided a solution for the intermediate images issue. Intermediate images are image files created during generation, but not the final output image. Intermediates are not shown int he gallery.

Currently, the canvas's image data is typically stored as intermediate images. If you clear the intermediates, your previous canvas states can't be recalled, which is a major bummer.

With Canvas Projects, we'd save all of the canvas images separately and be able to not worry about the intermediate images.

RicoRaw commented 5 days ago

It's been on the list since work commenced on Canvas V2, but we didn't have time to implement it yet. I'm not sure when we will get to it, but this is the natural next step for Canvas and would really make it feel like a "proper" application.

This would also provide a solution for the intermediate images issue. Intermediate images are image files created during generation, but not the final output image. Intermediates are not shown in the gallery.

Currently, the canvas's image data is typically stored as intermediate images. If you clear the intermediates, your previous canvas states can't be recalled, which is a major bummer.

With Canvas Projects, we'd save all of the canvas images separately and be able to not worry about the intermediate images.

My heart nearly jumped when I saw the Gallery Session and Canvas Session menu options, thinking I would find a Save Session somewhere. No worries though @psychedelicious, I know Invoke is in your capable hands. With such a prolific team of contributors, I can only imagine how full the plate is.

I've been using Invoke since version 2.3.1 so I don't mind the wait. I still use ComfyUI for professional projects, but nothing beats the "feel" of playing and experimenting with artistic concepts in Invoke.

I have another "heavy lift" enhancement related to dual-monitor support, but that will be in a separate enhancement entry. Keep up the stellar job.

psychedelicious commented 5 days ago

Ahhh sorry for the emotional rollercoaster there haha! There will be a substantially larger announcement when we get to the proper canvas projects implementation. Thanks for the kind words.