├── .github ├── CONTRIBUTING.md └── workflows │ └── test_and_publish.yml ├── .gitignore ├── LICENSE.txt ├── README.md ├── example_output.png ├── examples ├── README.md ├── cmdline.py ├── deep_dive.py └── parse_video.py ├── pdm.lock ├── pyproject.toml ├── src └── sd_parsers │ ├── __init__.py │ ├── __main__.py │ ├── _parser_manager.py │ ├── data │ ├── __init__.py │ ├── generators.py │ ├── model.py │ ├── prompt.py │ ├── prompt_info.py │ └── sampler.py │ ├── exceptions.py │ ├── extractors │ ├── __init__.py │ ├── _get_exif_value.py │ ├── _jpeg_usercomment.py │ ├── _png_image_info.py │ ├── _png_image_text.py │ └── _png_stenographic_alpha.py │ ├── parsers │ ├── __init__.py │ ├── _automatic1111.py │ ├── _comfyui.py │ ├── _dummy_parser.py │ ├── _fooocus.py │ ├── _invokeai │ │ ├── __init__.py │ │ ├── _variant_dream.py │ │ ├── _variant_invokeai_meta.py │ │ ├── _variant_sd_metadata.py │ │ └── parser.py │ ├── _novelai.py │ └── _parser.py │ └── py.typed └── tests ├── __init__.py ├── resources ├── bad_images │ ├── empty_file.png │ ├── empty_image.jpg │ ├── empty_image.png │ └── text_after_idat.png └── parsers │ ├── AUTOMATIC1111 │ ├── automatic1111_cropped.jpg │ ├── automatic1111_cropped.png │ ├── automatic1111_stealth.png │ └── automatic1111_stealth.py │ ├── ComfyUI │ ├── WanVideoWrapper.py │ ├── __init__.py │ ├── img2img_cropped.png │ ├── img2img_cropped.py │ ├── night_evening_day_morning_cropped.png │ ├── night_evening_day_morning_cropped.py │ ├── noisy_latents_3_subjects_cropped.png │ └── unclip_2pass_cropped.png │ ├── Fooocus │ └── fooocus1_cropped.png │ ├── InvokeAI │ ├── __init__.py │ ├── invokeai_dream1.png │ ├── invokeai_dream1.py │ ├── invokeai_imeta1.png │ ├── invokeai_imeta1.py │ ├── invokeai_sdmeta1.png │ └── invokeai_sdmeta1.py │ └── NovelAI │ └── novelai1_cropped.png ├── test_automatic1111.py ├── test_comfyui.py ├── test_fooocus.py ├── test_invokeai.py ├── test_novelai.py ├── test_parser_manager.py └── tools ├── __init__.py ├── crop_image.py └── crop_image.sh /.github/CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/.github/CONTRIBUTING.md -------------------------------------------------------------------------------- /.github/workflows/test_and_publish.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/.github/workflows/test_and_publish.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/README.md -------------------------------------------------------------------------------- /example_output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/example_output.png -------------------------------------------------------------------------------- /examples/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/examples/README.md -------------------------------------------------------------------------------- /examples/cmdline.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/examples/cmdline.py -------------------------------------------------------------------------------- /examples/deep_dive.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/examples/deep_dive.py -------------------------------------------------------------------------------- /examples/parse_video.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/examples/parse_video.py -------------------------------------------------------------------------------- /pdm.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/pdm.lock -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/pyproject.toml -------------------------------------------------------------------------------- /src/sd_parsers/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/src/sd_parsers/__init__.py -------------------------------------------------------------------------------- /src/sd_parsers/__main__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/src/sd_parsers/__main__.py -------------------------------------------------------------------------------- /src/sd_parsers/_parser_manager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/src/sd_parsers/_parser_manager.py -------------------------------------------------------------------------------- /src/sd_parsers/data/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/src/sd_parsers/data/__init__.py -------------------------------------------------------------------------------- /src/sd_parsers/data/generators.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/src/sd_parsers/data/generators.py -------------------------------------------------------------------------------- /src/sd_parsers/data/model.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/src/sd_parsers/data/model.py -------------------------------------------------------------------------------- /src/sd_parsers/data/prompt.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/src/sd_parsers/data/prompt.py -------------------------------------------------------------------------------- /src/sd_parsers/data/prompt_info.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/src/sd_parsers/data/prompt_info.py -------------------------------------------------------------------------------- /src/sd_parsers/data/sampler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/src/sd_parsers/data/sampler.py -------------------------------------------------------------------------------- /src/sd_parsers/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/src/sd_parsers/exceptions.py -------------------------------------------------------------------------------- /src/sd_parsers/extractors/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/src/sd_parsers/extractors/__init__.py -------------------------------------------------------------------------------- /src/sd_parsers/extractors/_get_exif_value.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/src/sd_parsers/extractors/_get_exif_value.py -------------------------------------------------------------------------------- /src/sd_parsers/extractors/_jpeg_usercomment.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/src/sd_parsers/extractors/_jpeg_usercomment.py -------------------------------------------------------------------------------- /src/sd_parsers/extractors/_png_image_info.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/src/sd_parsers/extractors/_png_image_info.py -------------------------------------------------------------------------------- /src/sd_parsers/extractors/_png_image_text.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/src/sd_parsers/extractors/_png_image_text.py -------------------------------------------------------------------------------- /src/sd_parsers/extractors/_png_stenographic_alpha.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/src/sd_parsers/extractors/_png_stenographic_alpha.py -------------------------------------------------------------------------------- /src/sd_parsers/parsers/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/src/sd_parsers/parsers/__init__.py -------------------------------------------------------------------------------- /src/sd_parsers/parsers/_automatic1111.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/src/sd_parsers/parsers/_automatic1111.py -------------------------------------------------------------------------------- /src/sd_parsers/parsers/_comfyui.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/src/sd_parsers/parsers/_comfyui.py -------------------------------------------------------------------------------- /src/sd_parsers/parsers/_dummy_parser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/src/sd_parsers/parsers/_dummy_parser.py -------------------------------------------------------------------------------- /src/sd_parsers/parsers/_fooocus.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/src/sd_parsers/parsers/_fooocus.py -------------------------------------------------------------------------------- /src/sd_parsers/parsers/_invokeai/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/src/sd_parsers/parsers/_invokeai/__init__.py -------------------------------------------------------------------------------- /src/sd_parsers/parsers/_invokeai/_variant_dream.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/src/sd_parsers/parsers/_invokeai/_variant_dream.py -------------------------------------------------------------------------------- /src/sd_parsers/parsers/_invokeai/_variant_invokeai_meta.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/src/sd_parsers/parsers/_invokeai/_variant_invokeai_meta.py -------------------------------------------------------------------------------- /src/sd_parsers/parsers/_invokeai/_variant_sd_metadata.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/src/sd_parsers/parsers/_invokeai/_variant_sd_metadata.py -------------------------------------------------------------------------------- /src/sd_parsers/parsers/_invokeai/parser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/src/sd_parsers/parsers/_invokeai/parser.py -------------------------------------------------------------------------------- /src/sd_parsers/parsers/_novelai.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/src/sd_parsers/parsers/_novelai.py -------------------------------------------------------------------------------- /src/sd_parsers/parsers/_parser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/src/sd_parsers/parsers/_parser.py -------------------------------------------------------------------------------- /src/sd_parsers/py.typed: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/resources/bad_images/empty_file.png: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/resources/bad_images/empty_image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/tests/resources/bad_images/empty_image.jpg -------------------------------------------------------------------------------- /tests/resources/bad_images/empty_image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/tests/resources/bad_images/empty_image.png -------------------------------------------------------------------------------- /tests/resources/bad_images/text_after_idat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/tests/resources/bad_images/text_after_idat.png -------------------------------------------------------------------------------- /tests/resources/parsers/AUTOMATIC1111/automatic1111_cropped.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/tests/resources/parsers/AUTOMATIC1111/automatic1111_cropped.jpg -------------------------------------------------------------------------------- /tests/resources/parsers/AUTOMATIC1111/automatic1111_cropped.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/tests/resources/parsers/AUTOMATIC1111/automatic1111_cropped.png -------------------------------------------------------------------------------- /tests/resources/parsers/AUTOMATIC1111/automatic1111_stealth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/tests/resources/parsers/AUTOMATIC1111/automatic1111_stealth.png -------------------------------------------------------------------------------- /tests/resources/parsers/AUTOMATIC1111/automatic1111_stealth.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/tests/resources/parsers/AUTOMATIC1111/automatic1111_stealth.py -------------------------------------------------------------------------------- /tests/resources/parsers/ComfyUI/WanVideoWrapper.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/tests/resources/parsers/ComfyUI/WanVideoWrapper.py -------------------------------------------------------------------------------- /tests/resources/parsers/ComfyUI/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/resources/parsers/ComfyUI/img2img_cropped.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/tests/resources/parsers/ComfyUI/img2img_cropped.png -------------------------------------------------------------------------------- /tests/resources/parsers/ComfyUI/img2img_cropped.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/tests/resources/parsers/ComfyUI/img2img_cropped.py -------------------------------------------------------------------------------- /tests/resources/parsers/ComfyUI/night_evening_day_morning_cropped.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/tests/resources/parsers/ComfyUI/night_evening_day_morning_cropped.png -------------------------------------------------------------------------------- /tests/resources/parsers/ComfyUI/night_evening_day_morning_cropped.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/tests/resources/parsers/ComfyUI/night_evening_day_morning_cropped.py -------------------------------------------------------------------------------- /tests/resources/parsers/ComfyUI/noisy_latents_3_subjects_cropped.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/tests/resources/parsers/ComfyUI/noisy_latents_3_subjects_cropped.png -------------------------------------------------------------------------------- /tests/resources/parsers/ComfyUI/unclip_2pass_cropped.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/tests/resources/parsers/ComfyUI/unclip_2pass_cropped.png -------------------------------------------------------------------------------- /tests/resources/parsers/Fooocus/fooocus1_cropped.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/tests/resources/parsers/Fooocus/fooocus1_cropped.png -------------------------------------------------------------------------------- /tests/resources/parsers/InvokeAI/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/resources/parsers/InvokeAI/invokeai_dream1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/tests/resources/parsers/InvokeAI/invokeai_dream1.png -------------------------------------------------------------------------------- /tests/resources/parsers/InvokeAI/invokeai_dream1.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/tests/resources/parsers/InvokeAI/invokeai_dream1.py -------------------------------------------------------------------------------- /tests/resources/parsers/InvokeAI/invokeai_imeta1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/tests/resources/parsers/InvokeAI/invokeai_imeta1.png -------------------------------------------------------------------------------- /tests/resources/parsers/InvokeAI/invokeai_imeta1.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/tests/resources/parsers/InvokeAI/invokeai_imeta1.py -------------------------------------------------------------------------------- /tests/resources/parsers/InvokeAI/invokeai_sdmeta1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/tests/resources/parsers/InvokeAI/invokeai_sdmeta1.png -------------------------------------------------------------------------------- /tests/resources/parsers/InvokeAI/invokeai_sdmeta1.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/tests/resources/parsers/InvokeAI/invokeai_sdmeta1.py -------------------------------------------------------------------------------- /tests/resources/parsers/NovelAI/novelai1_cropped.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/tests/resources/parsers/NovelAI/novelai1_cropped.png -------------------------------------------------------------------------------- /tests/test_automatic1111.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/tests/test_automatic1111.py -------------------------------------------------------------------------------- /tests/test_comfyui.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/tests/test_comfyui.py -------------------------------------------------------------------------------- /tests/test_fooocus.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/tests/test_fooocus.py -------------------------------------------------------------------------------- /tests/test_invokeai.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/tests/test_invokeai.py -------------------------------------------------------------------------------- /tests/test_novelai.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/tests/test_novelai.py -------------------------------------------------------------------------------- /tests/test_parser_manager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/tests/test_parser_manager.py -------------------------------------------------------------------------------- /tests/tools/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/tests/tools/__init__.py -------------------------------------------------------------------------------- /tests/tools/crop_image.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/tests/tools/crop_image.py -------------------------------------------------------------------------------- /tests/tools/crop_image.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d3x-at/sd-parsers/HEAD/tests/tools/crop_image.sh --------------------------------------------------------------------------------