RupertAvery / DiffusionToolkit

Metadata-indexer and Viewer for AI-generated images
MIT License
761 stars 47 forks source link

Web version #164

Open ItsNoted opened 10 months ago

ItsNoted commented 10 months ago

Will there ever be a web version of this that I can host and view remotely? I’m looking for this exact app but a web version! I’m ripping my hair out looking for something just like this but a web app. (Not really but I’ve been looking for a while now)

aa956 commented 10 months ago

It's hard to port Windows app to web, you'll have to basically scrap and re-implement most of the UI part. Even changing the GUI framework is hard in .NET world :)

What have you tried? Have you tried any of the following?

  1. Filebrowser. No support for diffusion metadata but one of the simplest/best remote file browsers, it shows images and is fast to install and run. You can set e.g. automatic1111 to save the image metadata to the json sidecar file and look at two files - image for image, json for generation metadata. I'm using filebrowser to quickly browse images on desktop machine when connected to home network through VPN.

  2. A lot of the gallery apps? Like a LOT of them. Browse here Awesome-Selfhosted / Photo and Video Galleries. Some may be even simple enough to extend/add plugin to allow for diffusion metadata extraction: it's mostly either text chunks in PNG or UserComment exif fields for JPEG if I recall correctly.

  3. Some gallery extensions for automatic1111 webui? I'm not using it myself, but maybe Image Browser for A1111 will work? If you start automatic1111 with --listen you can use it from your LAN. If you VPN tunnel into your LAN you can use it even from your phone? Although, gradio on the phone screen is probably not the best experience :)

  4. It appears to be abandoned by the author but if you know something about node.js? Try to look at this project Breadboard Stable Diffusion browser. That should be similar to what you are asking for. Shame it's not updated anymore, according to the description it is exactly the project I'd like to run on linux machine that hosts my Stable Diffusion generations. Unfortunately I'm unable to run it, there's some npm dependency problem that I know nothing about how to troubleshoot.

ItsNoted commented 10 months ago

It's hard to port Windows app to web, you'll have to basically scrap and re-implement most of the UI part. Even changing the GUI framework is hard in .NET world :)

What have you tried? Have you tried any of the following?

  1. Filebrowser. No support for diffusion metadata but one of the simplest/best remote file browsers, it shows images and is fast to install and run. You can set e.g. automatic1111 to save the image metadata to the json sidecar file and look at two files - image for image, json for generation metadata. I'm using filebrowser to quickly browse images on desktop machine when connected to home network through VPN.
  2. A lot of the gallery apps? Like a LOT of them. Browse here Awesome-Selfhosted / Photo and Video Galleries. Some may be even simple enough to extend/add plugin to allow for diffusion metadata extraction: it's mostly either text chunks in PNG or UserComment exif fields for JPEG if I recall correctly.
  3. Some gallery extensions for automatic1111 webui? I'm not using it myself, but maybe Image Browser for A1111 will work? If you start automatic1111 with --listen you can use it from your LAN. If you VPN tunnel into your LAN you can use it even from your phone? Although, gradio on the phone screen is probably not the best experience :)
  4. It appears to be abandoned by the author but if you know something about node.js? Try to look at this project Breadboard Stable Diffusion browser. That should be similar to what you are asking for. Shame it's not updated anymore, according to the description it is exactly the project I'd like to run on linux machine that hosts my Stable Diffusion generations. Unfortunately I'm unable to run it, there's some npm dependency problem that I know nothing about how to troubleshoot.

Yep. Filebrowser is amazing. Been using it for a long long time. It's not really ideal for image gallery though. Thumbnails are too small even on the larger setting. It's really not meant to be used as an image browser. It would be nice if it could be modified to work as one.

I've looked at all the self hosted image galleries already too. None of them are efficient enough to allow you to add workflow dialogue and prompts to the images in a way where they can be easily accessed and copied for later use. They do best as just image galleries that display images and that's what they are for lol. But yes, there's no perfect solution out there yet... yet.

aa956 commented 10 months ago

Actually it looked interesting and I've got breadboard running on debian. Don't know how to get rid of electron (so you need a desktop environment unless you know some nodejs to eradicate this strange dependency. Who in their right mind would package a web browser + web server into desktop app????) but it listens on localhost:2000. So you can either ssh tunnel the port or set up e.g. a nginx proxy: image

ItsNoted commented 10 months ago

Actually it looked interesting and I've got breadboard running on debian. Don't know how to get rid of electron (so you need a desktop environment unless you know some nodejs to eradicate this strange dependency. Who in their right mind would package a web browser + web server into desktop app????) but it listens on localhost:2000. So you can either ssh tunnel the port or set up e.g. a nginx proxy: image

Can it run in Docker? I'll have to take a looksy. Thanks again.

aa956 commented 10 months ago

Theoretically? Absolutely, app is just javascript web server running on node.js

Problem is, it includes the electron (basically a full blown web browser) as a dependency to present itself as a desktop app. I'm not sure if it will install unmodified in docker as docker containers have no desktop libraries by default, but you'll have to try yourself.

My knowledge of node.js is too limited to remove the electron dependency but someone proficient in javascript development certainly can do it.

ItsNoted commented 10 months ago

Theoretically? Absolutely, app is just javascript web server running on node.js

Problem is, it includes the electron (basically a full blown web browser) as a dependency to present itself as a desktop app. I'm not sure if it will install unmodified in docker as docker containers have no desktop libraries by default, but you'll have to try yourself.

My knowledge of node.js is too limited to remove the electron dependency but someone proficient in javascript development certainly can do it.

It doesn't allow me to edit the prompts? Ugh!