GithubHelp home page GithubHelp logo

curtisds / sd-model-preview-xd Goto Github PK

View Code? Open in Web Editor NEW

This project forked from vetchems/sd-model-preview

73.0 73.0 8.0 19.54 MB

Displays preview files for models.

License: MIT License

Python 71.03% JavaScript 19.11% CSS 9.86%

sd-model-preview-xd's People

Contributors

curtisds avatar hjnasd avatar mx avatar n15g avatar vetchems avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

sd-model-preview-xd's Issues

half screen issue

Hello,
I added sd-model-preview-xd to my SD Automatic1111 and the GUI only goes half-way across my web browser. No error messages, and SD still works - it's just not full screen across my browser. Left side is good, but right half is just blank. I can remove the extension and the issue goes away.

Re-installed Automatic1111, and then sd-model-preview-xd, and recreated the issue.
When I remove the extension, the problem goes away.

Running SD Automatic1111 on Windows 11. 32GB RAM on i7-8700K with and RTX 4070.
Tried this on my normal browser (Firefox - then repeated it on Chrome, and a fresh install of Opera)

Wondering if you have seen this before, or if there is a fix for it.
THANKS for all you do!!!

Please consider associating metadata/images with a model by directory name instead of by file name

Rather than having to manually rename metadata and image files and trying to wrestle with fiddly file matching rules, would it not be better to simply create a directory (in the model directory or elsewhere) with the same filename as the model, and load the metadata/images from that directory regardless of filenames? It would be easier to set up, easier to manage and cleaner.

For setup, you would only need to create the directory with the model's name. All images and metadata could be dumped in there without having to worry about renaming. If a model gets a minor update that doesn't warrant modifying the metadata or images, you only need to change the directory name to match the new model version, not all the individual files. You model preview subdirectory would only contain as many directories as you have models, instead of several times as many individual files - therefore being easier to navigate.

LyCORIS previews missing after a1111-sd-webui-lycoris auto deactivation

Checked for extensions updates in A1111 v1.5.2, upon restart i had this message:

========================= a1111-sd-webui-lycoris =========================
Starting from stable-diffusion-webui version 1.5.0
a1111-sd-webui-lycoris extension is no longer needed

All its features have been integrated into the native LoRA extension
LyCORIS models can now be used as if there are regular LoRA models

This extension has been automatically deactivated
Please remove this extension
==========================================================================

Its removal seem to prevent LyCORIS tab to show up on both the Models Previews tab and the models viewer/selector in txt2img.

Additional note: Lycos are present in the lists, just mixed up with Loras. In the Models Previews tab, order is alphabetical, in the txt2img tab, Lycos always show up by the end of the list and insert the <lora:xxx:1> keyword (I don't know if this intended behavior ?)

Interface broken in Automatic1111 v1.6.0

With the extension installed the UI gets broken. See the pictures provided below

Extension Off
1

Extension On
2

The UI is cut into half. This was tested on Firefox and Edge.
No error messages in terminal.

Hope you can fix it.

[Possible bug]: LoRA section not showing previews

The LoRA section of the preview page doesnt show any text or image files from the folders where the models are saved.
Checkpoint, Hypernetwork and Embedding work as intended.

In the LoRA section, the list shows all models twice: Once just the name, beneath name and hash. No display, no matter which entry is selected (attached scrrenshot).

Automatic1111 commit -> AUTOMATIC1111/stable-diffusion-webui@0cc0ee1
I use the "Additional network" addon -> https://github.com/kohya-ss/sd-webui-additional-networks.git

Update: While I'm writing this, I checked for myself what's happening if I disable the extension.
And, what can I say, after deactivating it, the display for LoRAs works.

So, I guess then this isn't a bug, but rather a conflict. of the extension.
But to be honest, I somehow like the extension, because of the tab with those whole bunch of infos I can have for the models. If you can manage to sort this issue easily, please do so. Otherwise I have to switch this extension off and on. Not very convenient, but ... well ... :)
preview

Do not recognize metadata on jpg

Metadata work with png files but not with jpg.

if I drop a .jpg/.jpeg in PNG Info tab the metadata is show but the metadata for the same jpg is not copyable in model preview.
it's important because loading jpg/jpeg are more fast than png I think and images from civitai use jpeg extension also

Two another qol points is to have separated sub folders preview for model previews to simulate sub categories sub folders, with a configurable preview size because the preview are a bit little on large screen

thank for this good mod

Feature request: Tag/category support

This may be a stretch and outside your intended scope, but I would really appreciate some way to filter the model list. I know I'm probably an outlier with over 250 models in my model directory, but being able to narrow down the list with tags or even simple categories would be a huge benefit.

For tags, perhaps we could create a .tags file for each model with a list of appropriate tags? It could match to a model by filename or directory, just as the images and .txt files do. Or if it would be easier, even a single tag file with a line for each model. Something like model="learn_v01.safetensors" tags="PORTRAITS, GIRL, WOMAN, LEATHER, PHOTO, ART, SFW, SD15" or whatever formatting you need. Then the extension could filter the model list by one or more of those tags. It would be amazing if it could scrape the tags from civitai, but that's probably asking too much.

If tags are too much of a hassle, I'd happily settle for sorting models based on directory/subdirectory. Right now I have all the model metadata directories in a ModelPreview directory. If I could create subdirectories in there for ART, PHOTO, and BOTH, and within each of those have subdirectories for NSFW, SFW, and BOTH, and then sort all the metadata folders into those folders. If the preview extension could then let me drill down into the appropriate folder and just display those models, that alone would be a big time saver.

PS: Thank you for adding match-by-directory. It's been a big help.

[Question] How to have preview files match multiple models?

I'm very happy that this extension exists. But I came now to a point, where multiple files within the same folder exist and nameing gets complex.
For all (Checkpoints, Hypernetworks, Embeddings and LoRA) I use a text file with all the information from the page I downloaded it from. In it stuf like URL, descripti on, triggerwords, example prompts, etc.

As long there is only one file, everything is good. But already at checkpoints, who have multiple versions and maybe inpainting versions, the naming gets wonky. And embeddings get that complicated, too.

For example:
Foldername: SoCalGuitarist Cinema768 Embeddings
Files in it:
Cinema768-Analog.pt
Cinema768-BW.pt
Cinema768-Classic.pt
Cinema768-Digital.pt
Cinema768-SilentFilm.pt
no_unrealistic768.pt

So ... what setting should be chosen and how should the txt file be named, so that I can have 1 txt for all those files ... ?
Creating/Copying the same txt files multipke times is not an option. Multiple single folders for the same stuff neither.

For this specific case above I created a txt file named Cinema768.txt and choose option "Loose", as I thought this would work. But it doesn't. "No preview" on all those files when selected from the dropdown.

Any ideas how this can be solved?

[Feature Request] Textual inversion embeddings skipped

Depending on if model is 1.x or 2.x WebUI loads respective compatible embeddings

Currently in embeddings tab it just shows Textual inversion embeddings loaded

but as the extension goal IMO seems to be to display info, pics on all Checkpoints, TI, HT and Lora, it would be a good addition
to also display Textual inversion embeddings skipped as well, as extra skipped tab?

pretty sure you know how to get it, but as reference

https://github.com/vladmandic/sd-extension-system-info

does it

[Bug]: Some console error

On start up I see some console error:

...\stable-diffusion-webui\modules\gradio_extensons.py:25: GradioUnusedKwargWarning: You have unused kwarg parameters in Button, please remove them: {'type': 'secondary'}
  res = original_IOComponent_init(self, *args, **kwargs)

If add-on will turn off error will disappear either.

version: v1.6.0
python: 3.10.11
torch: 2.0.1+cu118
xformers: 0.0.20
gradio: 3.41.2
checkpoint: [171c237b86]

Doesn't work with models on diferent drive?

I am getting this error due to the fact that my models are on a different SSD than where the sd-webui is located.
Is there any fix for this? I have yet to try it if the sd-webui is also located on that drive but can try that later when I have some free time.
This is the error I get when trying to load the model previews though.
File "C:\stable-diffusion-webui\venv\lib\site-packages\gradio\routes.py", line 337, in run_predict output = await app.get_blocks().process_api( File "C:\stable-diffusion-webui\venv\lib\site-packages\gradio\blocks.py", line 1015, in process_api result = await self.call_function( File "C:\stable-diffusion-webui\venv\lib\site-packages\gradio\blocks.py", line 833, in call_function prediction = await anyio.to_thread.run_sync( File "C:\stable-diffusion-webui\venv\lib\site-packages\anyio\to_thread.py", line 31, in run_sync return await get_asynclib().run_sync_in_worker_thread( File "C:\stable-diffusion-webui\venv\lib\site-packages\anyio\_backends\_asyncio.py", line 937, in run_sync_in_worker_thread return await future File "C:\stable-diffusion-webui\venv\lib\site-packages\anyio\_backends\_asyncio.py", line 867, in run result = context.run(func, *args) File "C:\stable-diffusion-webui\extensions\sd-model-preview-xd\scripts\modelpreview.py", line 233, in show_model_preview return show_preview(modelname.replace(".ckpt","").replace(".safetensors",""), directories) File "C:\stable-diffusion-webui\extensions\sd-model-preview-xd\scripts\modelpreview.py", line 291, in show_preview html_code, found_md_file, found_txt_file = search_and_display_previews(name, paths) File "C:\stable-diffusion-webui\extensions\sd-model-preview-xd\scripts\modelpreview.py", line 194, in search_and_display_previews relative_path = os.path.relpath(path, current_directory) File "C:\Users\User\.pyenv\pyenv-win\versions\3.10.6\lib\ntpath.py", line 744, in relpath raise ValueError("path is on mount %r, start on mount %r" % ( ValueError: path is on mount 'F:', start on mount 'C:'

Thanks!

The tab won't appear

Error:

Error executing callback ui_tabs_callback for /xxx/SD/extensions/sd-model-preview-xd/scripts/modelpreview.py
Traceback (most recent call last):
  File "/xxx/SD/modules/script_callbacks.py", line 125, in ui_tabs_callback
    res += c.callback() or []
  File "/xxx/SD/extensions/sd-model-preview-xd/scripts/modelpreview.py", line 680, in on_ui_tabs
    gr.HTML(elem_id='modelpreview_xd_setting', value='<script id="modelpreview_xd_setting_json" type="application/json">{ "LimitSize": ' + ( "true" if shared.opts.model_preview_xd_limit_sizing else "false" ) + ' }</script>', visible=False)
  File "/xxx/SD/modules/shared.py", line 467, in __getattr__
    return super(Options, self).__getattribute__(item)
AttributeError: 'Options' object has no attribute 'model_preview_xd_limit_sizing'

Make Model Preview Extension work with hidden folders

When using folder for previews, the folders also appear in the Extra Networks cards, and having lots of models, Extra networks get bloated with folders that have no use there.

I was able to hide the folder in Extra Networks making the folder to start with a period ".", but then Model Previews won´t find the folder.

Can you make this extension to work with hidden folders? (starting with ".").

Possible to filter based on multiple tags?

Thank you so much for adding .tags support. I can't seem to get it to filter for multiple tags, though. I see that it will recognize a comma as a logical OR, but I haven't found how to make it do a logical AND. IE "tag1, tag2" will display any model with either tag, but I can't figure out how to get it to only display models with both tags.

If this functionality is already present, please let me know how to trigger it. If not, please consider adding it.

Thanks.

Some improvements I would like to see

I would like a option to let images and notes be in the same folder as the models to avoid having the preview folder count as a category for the models.
CategoryIssue

Also I think the notes section should be visible even if you don't have a note file for that model and have that field be editable in the UI to create or edit the text files for you instead of having to make text files manually.

And lastly the note field often show up really small and require you to scroll even if there is plenty of room to have it show everything.
Notes Issue

Ty for making this btw!

[Bug] Models in subdirectories do not work (should be fixed but waiting on confirmation)

Could there be support for models in sub directories like below?
EX:

- stable-diffusion-webui/
    - models/
        - Stable-diffusion/
            - aaaaa.ckpt
            - aaaaa.png
            - aaaaa.txt
            - models_to_test/   <---sub directories like these don't work
      	      - bbbbb.ckpt
      	      - bbbbb.png
      	      - bbbbb.txt
            - favorite_models/
      	      - ccccc.ckpt
      	      - ccccc.png
      	      - ccccc.txt

Similar to how the original project this is forked from allowed.
It would make organizing a bit less burdensome with a large amount of files.

[Feature request]: Info and preview images side by side

As in the title. I would love to see an option to have the info text on the left and the preview images on the right of the screen.
It's a PITA to have to resize the text field, just to either read the text or to view the previews.
It should be possible to display split like the model dropdown and the filter box.

Zwischenablagebild

No preview show up, exceptions thrown in console

Using commit de2146e in automatic1111 v1.4.1

When selecting a model, or anything else from the dropdowns in the model previews tab, an exception is shown:

Traceback (most recent call last):
  File "C:\automatic1111\stable-diffusion-webui\venv\lib\site-packages\gradio\routes.py", line 422, in run_predict
    output = await app.get_blocks().process_api(
  File "C:\automatic1111\stable-diffusion-webui\venv\lib\site-packages\gradio\blocks.py", line 1323, in process_api
    result = await self.call_function(
  File "C:\automatic1111\stable-diffusion-webui\venv\lib\site-packages\gradio\blocks.py", line 1051, in call_function
    prediction = await anyio.to_thread.run_sync(
  File "C:\automatic1111\stable-diffusion-webui\venv\lib\site-packages\anyio\to_thread.py", line 33, in run_sync
    return await get_asynclib().run_sync_in_worker_thread(
  File "C:\automatic1111\stable-diffusion-webui\venv\lib\site-packages\anyio\_backends\_asyncio.py", line 877, in run_sync_in_worker_thread
    return await future
  File "C:\automatic1111\stable-diffusion-webui\venv\lib\site-packages\anyio\_backends\_asyncio.py", line 807, in run
    result = context.run(func, *args)
  File "C:\automatic1111\stable-diffusion-webui\extensions\sd-model-preview-xd\scripts\modelpreview.py", line 811, in show_model_preview
    return show_preview(modelname, get_checkpoints_dirs(), "checkpoints")
  File "C:\automatic1111\stable-diffusion-webui\extensions\sd-model-preview-xd\scripts\modelpreview.py", line 842, in show_preview
    html_code, found_md_file, found_prompts_file, found_txt_file = search_and_display_previews(name, paths)
  File "C:\automatic1111\stable-diffusion-webui\extensions\sd-model-preview-xd\scripts\modelpreview.py", line 587, in search_and_display_previews
    civitai_pattern = re.compile(r'^.*' + re.escape(model_name) + r'.*(?i:\.' + civitai_generic_pattern + r')$')
TypeError: can only concatenate str (not "re.Pattern") to str

civitai_generic_pattern should be civitai_ext_pattern ? (I barely know anything about python...)

But if i change that, another one pops up:

Traceback (most recent call last):
  File "C:\automatic1111\stable-diffusion-webui\venv\lib\site-packages\gradio\routes.py", line 422, in run_predict
    output = await app.get_blocks().process_api(
  File "C:\automatic1111\stable-diffusion-webui\venv\lib\site-packages\gradio\blocks.py", line 1323, in process_api
    result = await self.call_function(
  File "C:\automatic1111\stable-diffusion-webui\venv\lib\site-packages\gradio\blocks.py", line 1051, in call_function
    prediction = await anyio.to_thread.run_sync(
  File "C:\automatic1111\stable-diffusion-webui\venv\lib\site-packages\anyio\to_thread.py", line 33, in run_sync
    return await get_asynclib().run_sync_in_worker_thread(
  File "C:\automatic1111\stable-diffusion-webui\venv\lib\site-packages\anyio\_backends\_asyncio.py", line 877, in run_sync_in_worker_thread
    return await future
  File "C:\automatic1111\stable-diffusion-webui\venv\lib\site-packages\anyio\_backends\_asyncio.py", line 807, in run
    result = context.run(func, *args)
  File "C:\automatic1111\stable-diffusion-webui\extensions\sd-model-preview-xd\scripts\modelpreview.py", line 812, in show_model_preview
    return show_preview(modelname, get_checkpoints_dirs(), "checkpoints")
  File "C:\automatic1111\stable-diffusion-webui\extensions\sd-model-preview-xd\scripts\modelpreview.py", line 843, in show_preview
    html_code, found_md_file, found_prompts_file, found_txt_file = search_and_display_previews(name, paths)
  File "C:\automatic1111\stable-diffusion-webui\extensions\sd-model-preview-xd\scripts\modelpreview.py", line 682, in search_and_display_previews
    civitai_info_html = create_civitai_info_html(file_path)
  File "C:\automatic1111\stable-diffusion-webui\extensions\sd-model-preview-xd\scripts\modelpreview.py", line 460, in create_civitai_info_html
    meta_list_items = "\n".join([f"<li><strong>{key}:</strong> {meta_data.get(key,'')}</li>" for key in meta_data])
TypeError: 'NoneType' object is not iterable

Thank you

Model Preview stopped working

Hi I've just solved a problem that I had for a couple of weeks. The Model Preview have stopped working,
there was a following traceback during webui startup:

*** Error loading script: modelpreview.py
    Traceback (most recent call last):
      File "/Users/ge/stable-diffusion-webui/modules/scripts.py", line 515, in load_scripts
        script_module = script_loading.load_module(scriptfile.path)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/Users/ge/stable-diffusion-webui/modules/script_loading.py", line 13, in load_module
        module_spec.loader.exec_module(module)
      File "<frozen importlib._bootstrap_external>", line 940, in exec_module
      File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
      File "/Users/ge/stable-diffusion-webui/extensions/sd-model-preview-xd/scripts/modelpreview.py", line 14, in <module>
        from lxml.html.clean import Cleaner
      File "/Users/ge/stable-diffusion-webui/venv-torch-nightly/lib/python3.11/site-packages/lxml/html/clean.py", line 18, in <module>
        raise ImportError(
    ImportError: lxml.html.clean module is now a separate project lxml_html_clean.
    Install lxml[html_clean] or lxml_html_clean directly.

---

The problem could be solved by running

pip install --upgrade lxml_html_clean

I am not sure what needs to be changed in the code to have this dependency updated.

[Feature request] 增加读取civitai.info中示例图generation_info以及send to txt2img、send to img2img、send to inpaint、send to extras功能

1.希望可以增加读取civitai.info中示例图generation_info的功能
在使用过程中发现,使用civitai helper下载lora元数据后,在civitai.info中的有些示例图没有meta_data数据,但是将图片导入png_info中可以读取到generation_info
2.希望增加send to txt2img、send to img2img、send to inpaint、send to extras功能
在使用过程中,如果想要复制某个示例图的生成信息到txt2img或者img2img 很不方便,所以希望增加此功能
ps:我自己使用愚蠢的方法实现了以上2个功能,希望作者可以参考
修改\sd-model-preview-xd\scripts\modelpreview.py文件

		civitai_info_html.append(f"""<div class='img-prop-container'><div class='img-container'>
			<img id="ci-image-{i}" src="{image.get('url','')}" onclick="imageZoomIn(event)" />
			""")

更改为

		if meta_data:
			civitai_info_html.append(f"""<div class='img-prop-container'><div class='img-container'>
				<img id="ci-image-{i}" src="{image.get('url','')}" onclick="imageZoomIn(event)" />
				""")
		else: 
			import requests
			img_src = image.get('url','')
			try:
				response = requests.get(img_src, timeout=(5, 10))
				encoded_image = base64.b64encode(response.content)
				img_data = encoded_image.decode('utf-8')
				civitai_info_html.append(f"""<div class='img-prop-container'><div class='img-container'>
					<img id="ci-image-{i}" src="data:image/jpeg;base64,{img_data}" onclick="imageZoomIn(event)" />
					""")
			except requests.exceptions.RequestException as e:
				print(e)
				civitai_info_html.append(f"""<div class='img-prop-container'><div class='img-container'>
					<img id="ci-image-{i}" src="{image.get('url','')}" onclick="imageZoomIn(event)" />
					""")

		with gr.Row(elem_id=f"{tab_id_key}_modelpreview_xd_tags_row", elem_classes="modelpreview_xd_tags_row"):
			preview_tags = gr.HTML(elem_id=f"{tab_id_key}_modelpreview_xd_tags_div", elem_classes="modelpreview_xd_tags_div", visible=False)

语句下面添加

		import modules.generation_parameters_copypaste as parameters_copypaste
		from modules.call_queue import wrap_gradio_gpu_call, wrap_queued_call, wrap_gradio_call
		from modules.extras import run_pnginfo
		with gr.Row(equal_height=False):
			with gr.Column(variant='panel'):
				image = gr.Image(elem_id="pnginfo_image", label="Source", source="upload", interactive=True, type="pil")

			with gr.Column(variant='panel'):
				html = gr.HTML()
				generation_info = gr.Textbox(visible=False, elem_id="pnginfo_generation_info")
				html2 = gr.HTML()
				with gr.Row():
					buttons = parameters_copypaste.create_buttons(["txt2img", "img2img", "inpaint", "extras"])

				for tabname, button in buttons.items():
					parameters_copypaste.register_paste_params_button(parameters_copypaste.ParamBinding(
						paste_button=button, tabname=tabname, source_text_component=generation_info, source_image_component=image,
					))

		image.change(
			fn=wrap_gradio_call(run_pnginfo),
			inputs=[image],
			outputs=[html, generation_info, html2],
		)

将sd-model-preview-xd界面中的示例图拖拽到下面的图像框中即可读取图片信息,以及将图片信息send to txt2img、send to img2img、send to inpaint、send to extras

[Question] Image embed references in markdown

I might be overthinking this, but is it possible to have markdown image embeds show up?

Like:

# Some Header
![](./path/to/image1.png)
Description

# Another Header
![](./path/to/image2.png)
Description

I haven't been able to make them appear even when trying direct paths like ![](file:///C:/path/to/image.png)

[Feature Request] Shift Internal Scrollbar to Root of Page

Hi there. Firstly, this extension is a personal favourite and is a fantastic way to track and keep assets organised with docs attached. Well done

I have forked this to allow me to restyle the cards to match the extra network styling and some extra tidbits. The item currently out of my skill scope is I'd like to remove the scroll bar. I find it a hindrance to viewing when there is a handful of images and docs

Cheers, again fantastic. I hope you keep this alive

[Bug]: 本地化错误和.lora、embeddings、hypernetworks中文件名错误

抱歉我的英文不好,害怕问题描述不清楚,所以直接使用中文提交问题。
1.本地化错误:
当使用[stable-diffusion-webui-localization-zh_Hans]插件进行本地化后,[sd-model-preview-xd]tab中的“Checkpoints”被本地化为了"模型",造成点击附加网络中Checkpoints里的[sd-model-preview-xd]按钮失效
分析原因:
[sd-model-preview-xd]按钮识别tab名称不符
临时解决办法:
把sd-model-preview-xd\javascript\event_handlers.js中的modelToSelect = "Checkpoints";改为modelToSelect = "模型";,case "Checkpoints":改为case "模型":
2.lora、embeddings、hypernetworks中如果名称包含 “.”和大写字母 那么点击[sd-model-preview-xd]按钮无法正常获取元数据,例如:2.5D_sweetprettygirl_v1.safetensors这个lora。
分析原因:
sd-model-preview-xd获取的附加网络列表名字是不带后缀的,比如2.5D_sweetprettygirl_v1.safetensors这个lora,获取到的是2.5D_sweetprettygirl_v1这个名字,clean_modelname(modelname)函数将其分割为了2和.5D_sweetprettygirl_v1后缀,然后进行后缀变更小写为.5_sweetprettygirl_v1,合并后名字变成了2.5d_sweetprettygirl_v1,所以无法读取元数据
临时解决办法:
将def clean_modelname(modelname):函数中的
name, ext = os.path.splitext(modelname)
ext = ext.lower()
modelname = name + ext
语句删除

I'm developing something: MgM (Model Gallery Maker) {collaboration}

Hello, since a few days ago I am developing a plugin for WebUI whose function is to generate a gallery for the models downloaded from civitai.com.
It parses the Json data of each model and generates an html.
It is in embryonic stage but it is functional and, together with model-preview-xd, it works quite well.

I have several more ideas to improve it, maybe we could collaborate?

some examples:

image
image
image

it is a fact that model management is a problem as well as something very important and useful.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.