diff --git a/CHANGELOG.md b/CHANGELOG.md index a7f07a0..c4740c8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,138 @@ +# 1.0.0 (2025-02-16) + + +### Bug Fixes + +* added missing start command ([9a7ffdb](https://github.com/wesleywxie/runpod-worker-comfy/commit/9a7ffdb078d2f75194c86ed0b8c2d027592e52c3)) +* check_server default values for delay and check-interval ([4945a9d](https://github.com/wesleywxie/runpod-worker-comfy/commit/4945a9d65b55aae9117591c8d64f9882d200478e)) +* convert environment variables to int ([#70](https://github.com/wesleywxie/runpod-worker-comfy/issues/70)) ([7ab3d2a](https://github.com/wesleywxie/runpod-worker-comfy/commit/7ab3d2a234325c2a502002ea7bdee7df3e0c8dfe)) +* create directories which are required to run ComfyUI ([#58](https://github.com/wesleywxie/runpod-worker-comfy/issues/58)) ([6edf62b](https://github.com/wesleywxie/runpod-worker-comfy/commit/6edf62b0f4cd99dba5c22dd76f51c886f57a28ed)) +* don’t persist credentials ([1546420](https://github.com/wesleywxie/runpod-worker-comfy/commit/15464201b24de0746fe365e7635540330887a393)) +* don't run ntpdate as this is not working in GitHub Actions ([2f7bd3f](https://github.com/wesleywxie/runpod-worker-comfy/commit/2f7bd3f71f24dd3b6ecc56f3a4c27bbc2d140eca)) +* fix unit test failure due to missing keys ([31970b8](https://github.com/wesleywxie/runpod-worker-comfy/commit/31970b88b54e1e0125974b663d80f9753ce7594a)) +* fixed grammar error ([8273fe7](https://github.com/wesleywxie/runpod-worker-comfy/commit/8273fe79dce2edbac83a35ca2ba94734b56e6f83)) +* fixed grammar issue ([d55a062](https://github.com/wesleywxie/runpod-worker-comfy/commit/d55a0621475346abdd5aff85505595fa6236415a)) +* fixed the syntax error ([ac3dddb](https://github.com/wesleywxie/runpod-worker-comfy/commit/ac3dddb0939bb76a7118bf112e39b406afcebf41)) +* fixed typo for ipadatper ([5d7c166](https://github.com/wesleywxie/runpod-worker-comfy/commit/5d7c1663ea559c5a17242f1b4f0e7c0b15986a16)) +* fixed unit test failure ([794ec6e](https://github.com/wesleywxie/runpod-worker-comfy/commit/794ec6e42c1857f4b3350a68c9fbdbe392dc40ab)) +* fixed unit test failures ([eaef45a](https://github.com/wesleywxie/runpod-worker-comfy/commit/eaef45ae61c5b7f8c61d717e7d873f3c8dfae6fc)) +* got rid of syntax error ([c04de4d](https://github.com/wesleywxie/runpod-worker-comfy/commit/c04de4dea93dbe586a9a887e04907b33597ff73e)) +* images in subfolders are not working, fixes [#12](https://github.com/wesleywxie/runpod-worker-comfy/issues/12) ([37480c2](https://github.com/wesleywxie/runpod-worker-comfy/commit/37480c2d217698f799f6388ff311b9f8c6c38804)) +* lock torch version 2.5.1 to avoid image upscaling issue ([538f1c7](https://github.com/wesleywxie/runpod-worker-comfy/commit/538f1c7891d2f418e84a48e6d8a03d632e8be1ac)) +* only handle type output images ([f42a72e](https://github.com/wesleywxie/runpod-worker-comfy/commit/f42a72eb06661e1ccd5880ff5a36ac5b93b01a99)) +* path should be "loras" and not "lora" ([8e579f6](https://github.com/wesleywxie/runpod-worker-comfy/commit/8e579f63e18851b0be67bff7a42a8e8a46223f2b)) +* put snapshot file in the right place ([69be408](https://github.com/wesleywxie/runpod-worker-comfy/commit/69be4087e80a0375b52b4ecbc642393827b58053)) +* removed xl_more_art-full_v1 because civitai requires login now ([2e8e638](https://github.com/wesleywxie/runpod-worker-comfy/commit/2e8e63801a7672e4923eaad0c18a4b3e2c14d79c)) +* return the output of "process_output_image" and access jobId correctly ([#11](https://github.com/wesleywxie/runpod-worker-comfy/issues/11)) ([dc655ea](https://github.com/wesleywxie/runpod-worker-comfy/commit/dc655ea0dd0b294703f52f6017ce095c3b411527)) +* **semantic-release:** added .releaserc ([#21](https://github.com/wesleywxie/runpod-worker-comfy/issues/21)) ([12b763d](https://github.com/wesleywxie/runpod-worker-comfy/commit/12b763d8703ce07331a16d4013975f9edc4be3ff)) +* start the container in all cases ([413707b](https://github.com/wesleywxie/runpod-worker-comfy/commit/413707bf130eb736afd682adac8b37fa64a5c9a4)) +* update the version inside of semanticrelease ([d93e991](https://github.com/wesleywxie/runpod-worker-comfy/commit/d93e991b82251d62500e20c367a087d22d58b20a)) +* updated path to "comfyui" ([37f66d0](https://github.com/wesleywxie/runpod-worker-comfy/commit/37f66d04b8c98810714ffbc761412f3fcdb1d861)) +* use custom GITHUB_TOKEN to bypass branch protection ([9b6468a](https://github.com/wesleywxie/runpod-worker-comfy/commit/9b6468a40b8a476d7812423ff6fe7b73f5f91f1d)) +* use specific python version ([dcffb09](https://github.com/wesleywxie/runpod-worker-comfy/commit/dcffb090741c5679413a6cf0f060a272caa4058a)) +* use system version of python since setup-python action does not support debian linux very well ([2a75cb3](https://github.com/wesleywxie/runpod-worker-comfy/commit/2a75cb345c23e6cafc0e3246a9caedc7001110cb)) + + +### Features + +* add esrgan 4x upscaling model ([cd0f83c](https://github.com/wesleywxie/runpod-worker-comfy/commit/cd0f83c1f095a57a6c24b55f0dedb4c5e07bf5fa)) +* add esrgan x2 plus too ([1920eee](https://github.com/wesleywxie/runpod-worker-comfy/commit/1920eee9ccb5b85e4556647c4af9cc31fac347c9)) +* add libglib2.0-0 dependency ([86d9a65](https://github.com/wesleywxie/runpod-worker-comfy/commit/86d9a65f20040b1d3b9a9ea11176758884f7b286)) +* added default ComfyUI workflow ([fa6c385](https://github.com/wesleywxie/runpod-worker-comfy/commit/fa6c385e0dc9487655b42772bb6f3a5f5218864e)) +* added FLUX.1 schnell & dev ([9170191](https://github.com/wesleywxie/runpod-worker-comfy/commit/9170191eccb65de2f17009f68952a18fc008fa6a)) +* added runpod as local dependency ([9deae9f](https://github.com/wesleywxie/runpod-worker-comfy/commit/9deae9f5ec723b93540e6e2deac04b8650cf872a)) +* added sensible defaults and default platform ([3f5162a](https://github.com/wesleywxie/runpod-worker-comfy/commit/3f5162af85ee7d0002ad65a7e324c3850e00a229)) +* added unit tests for everthing, refactored the code to make it better testable, added test images ([a7492ec](https://github.com/wesleywxie/runpod-worker-comfy/commit/a7492ec8f289fc64b8e54c319f47804c0a15ae54)) +* added xl_more_art-full_v1, improved comments ([9aea8ab](https://github.com/wesleywxie/runpod-worker-comfy/commit/9aea8abe1375f3d48aa9742c444b5242111e3121)) +* automatically update latest version ([7d846e8](https://github.com/wesleywxie/runpod-worker-comfy/commit/7d846e8ca3edcea869db3e680f0b423b8a98cc4c)) +* base64 image output ([#8](https://github.com/wesleywxie/runpod-worker-comfy/issues/8)) ([76bf0b1](https://github.com/wesleywxie/runpod-worker-comfy/commit/76bf0b166b992a208c53f5cb98bd20a7e3c7f933)) +* build ipadater only ([d839c40](https://github.com/wesleywxie/runpod-worker-comfy/commit/d839c403e62b9980b0c7a27b6bfcf0c1df137bc7)) +* download ipadapter dependencies ([bf7b8d6](https://github.com/wesleywxie/runpod-worker-comfy/commit/bf7b8d654d797b49905e16d0e24a5db82e57e46b)) +* example on how to configure the .env ([4ed5296](https://github.com/wesleywxie/runpod-worker-comfy/commit/4ed529601394e8a105d171ab1274737392da7df5)) +* image-input, renamed "prompt" to "workflow", added "REFRESH_WORKER" ([#14](https://github.com/wesleywxie/runpod-worker-comfy/issues/14)) ([5f5e390](https://github.com/wesleywxie/runpod-worker-comfy/commit/5f5e390dfda9d3ef8ce9b5578aade1bee600bf5c)) +* logs should be written to stdout so that we can see them inside the worker ([fc731ff](https://github.com/wesleywxie/runpod-worker-comfy/commit/fc731fffcd79af67cf6fcdf6a6d3df6b8e30c7b5)) +* network-volume; execution time config; skip default images; access ComfyUI via web ([#35](https://github.com/wesleywxie/runpod-worker-comfy/issues/35)) ([070cde5](https://github.com/wesleywxie/runpod-worker-comfy/commit/070cde5460203e24e3fbf68c4ff6c9a9b7910f3f)), closes [#16](https://github.com/wesleywxie/runpod-worker-comfy/issues/16) +* remove sdxl and flux1-schnell. add ipadapter ([89122f5](https://github.com/wesleywxie/runpod-worker-comfy/commit/89122f542c6a795fd95572ba06803ec3bc1a30e9)) +* run the worker locally ([#19](https://github.com/wesleywxie/runpod-worker-comfy/issues/19)) ([34eb32b](https://github.com/wesleywxie/runpod-worker-comfy/commit/34eb32b72455e6e628849e50405ed172d846d2d9)) +* simplified and added compatibility with Windows ([9f41231](https://github.com/wesleywxie/runpod-worker-comfy/commit/9f412316a743f0539981b408c1ccd0692cff5c82)) +* simplified input ([35c2341](https://github.com/wesleywxie/runpod-worker-comfy/commit/35c2341deca346d4e6df82c36e101b7495f3fc03)) +* simplified input to just have "prompt", removed unused code ([0c3ccda](https://github.com/wesleywxie/runpod-worker-comfy/commit/0c3ccda9c5c8cdc56eae829bb358ceb532b36371)) +* support ipadapter ([cd8b9da](https://github.com/wesleywxie/runpod-worker-comfy/commit/cd8b9dadb4695d74892c740819c770255de25f61)) +* support sd3 ([#46](https://github.com/wesleywxie/runpod-worker-comfy/issues/46)) ([dde69d6](https://github.com/wesleywxie/runpod-worker-comfy/commit/dde69d6ca75eb7e4c5f01fd17e6da5b62f8a401f)) +* try handling multiple image results ([d782778](https://github.com/wesleywxie/runpod-worker-comfy/commit/d782778249cc12c5ac8a60babb6367ccbe437389)) +* updated path to "comfyui", added "ntpdate" to have the time of the container in sync with AWS ([2fda578](https://github.com/wesleywxie/runpod-worker-comfy/commit/2fda578d62460275abec11d6b2fbe5123d621d5f)) +* use local ".env" to load env variables, mount "comfyui/output" to localhost so that people can see the generated images ([aa645a2](https://github.com/wesleywxie/runpod-worker-comfy/commit/aa645a233cd6951d296d68f7ddcf41b14b3f4cf9)) +* use models from huggingface, not from local folder ([b1af369](https://github.com/wesleywxie/runpod-worker-comfy/commit/b1af369bb577c0aaba8875d8b2076e1888356929)) +* use self-hosted github runner to publish release ([2ba551b](https://github.com/wesleywxie/runpod-worker-comfy/commit/2ba551b334a52d1c8628c8fad3f8e2da65a6b5bf)) +* wait until server is ready, wait until image generation is done, upload to s3 ([ecfec13](https://github.com/wesleywxie/runpod-worker-comfy/commit/ecfec1349da0d04ea5f21c82d8903e1a5bd3c923)) + + +### BREAKING CHANGES + +* we have 3 different images now instead of just one: base, sdxl and sd3 + +* ci: use branch name for creating dev releases + +* ci: replace "/" with "-" to have a valid tag name + +* ci: correctly handle the tag name + +* ci: build an image that contains sd3 using docker bake + +* ci: use "set" instead of "args" + +* ci: use "env" instead of "set" + +* ci: use variables instead of args + +* ci: set variables directly for the targets + +* ci: write the secrets into the GITHUB_ENV + +* ci: handle env variables correctly + +* ci: use env variables from GitHub Variables + +* ci: added back to env + +* ci: print out env + +* ci: adding the vars directly into the workflow + +* ci: example workflow for sd3 + +* ci: renamed DOCKERHUB_REPO to DOCKERHUB_REPOSITORY + +* ci: removed quotes for DOCKERHUB_REPOSITORY + +* ci: only use DOCKERHUB_REPO in bake + +* ci: added vars into sd3 target + +* ci: added direct target + +* ci: back to basics + +* ci: multi-stage build to not expose the HUGGINGFACE_ACCESS_TOKEN + +* ci: write everything into GITHUB_ENV again + +* ci: use correct name for final stage + +* ci: use correct runner + +* fix: make sure to use the latest versions of all packages + +* ci: simplified variables for all targets + +* docs: added 3 images, updated build your own image + +* docs: updated TOC + +* ci: updated name + +* ci: use docker bake to publish 3 images instead of just 1 + ## [1.2.3](https://github.com/wesleywxie/runpod-worker-comfy/compare/1.2.2...1.2.3) (2025-02-13) diff --git a/README.md b/README.md index ca7888f..ea8de0b 100644 --- a/README.md +++ b/README.md @@ -54,11 +54,11 @@ Read our article here: https://blib.la/blog/comfyui-on-runpod ## Quickstart - 🐳 Choose one of the five available images for your serverless endpoint: - - `timpietruskyblibla/runpod-worker-comfy:1.2.3-base`: doesn't contain anything, just a clean ComfyUI - - `timpietruskyblibla/runpod-worker-comfy:1.2.3-flux1-schnell`: contains the checkpoint, text encoders and VAE for [FLUX.1 schnell](https://huggingface.co/black-forest-labs/FLUX.1-schnell) - - `timpietruskyblibla/runpod-worker-comfy:1.2.3-flux1-dev`: contains the checkpoint, text encoders and VAE for [FLUX.1 dev](https://huggingface.co/black-forest-labs/FLUX.1-dev) - - `timpietruskyblibla/runpod-worker-comfy:1.2.3-sdxl`: contains the checkpoint and VAE for [Stable Diffusion XL](https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0) - - `timpietruskyblibla/runpod-worker-comfy:1.2.3-sd3`: contains the checkpoint for [Stable Diffusion 3 medium](https://huggingface.co/stabilityai/stable-diffusion-3-medium) + - `timpietruskyblibla/runpod-worker-comfy:1.0.0-base`: doesn't contain anything, just a clean ComfyUI + - `timpietruskyblibla/runpod-worker-comfy:1.0.0-flux1-schnell`: contains the checkpoint, text encoders and VAE for [FLUX.1 schnell](https://huggingface.co/black-forest-labs/FLUX.1-schnell) + - `timpietruskyblibla/runpod-worker-comfy:1.0.0-flux1-dev`: contains the checkpoint, text encoders and VAE for [FLUX.1 dev](https://huggingface.co/black-forest-labs/FLUX.1-dev) + - `timpietruskyblibla/runpod-worker-comfy:1.0.0-sdxl`: contains the checkpoint and VAE for [Stable Diffusion XL](https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0) + - `timpietruskyblibla/runpod-worker-comfy:1.0.0-sd3`: contains the checkpoint for [Stable Diffusion 3 medium](https://huggingface.co/stabilityai/stable-diffusion-3-medium) - ℹ️ [Use the Docker image on RunPod](#use-the-docker-image-on-runpod) - 🧪 Pick an [example workflow](./test_resources/workflows/) & [send it to your deployed endpoint](#interact-with-your-runpod-api) @@ -70,14 +70,14 @@ Read our article here: https://blib.la/blog/comfyui-on-runpod - Returned as base64-encoded string (default) - Uploaded to AWS S3 ([if AWS S3 is configured](#upload-image-to-aws-s3)) - There are a few different Docker images to choose from: - - `timpietruskyblibla/runpod-worker-comfy:1.2.3-flux1-schnell`: contains the [flux1-schnell.safetensors](https://huggingface.co/black-forest-labs/FLUX.1-schnell) checkpoint, the [clip_l.safetensors](https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/clip_l.safetensors) + [t5xxl_fp8_e4m3fn.safetensors](https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/t5xxl_fp8_e4m3fn.safetensors) text encoders and [ae.safetensors](https://huggingface.co/black-forest-labs/FLUX.1-schnell/resolve/main/ae.safetensors) VAE for FLUX.1-schnell - - `timpietruskyblibla/runpod-worker-comfy:1.2.3-flux1-dev`: contains the [flux1-dev.safetensors](https://huggingface.co/black-forest-labs/FLUX.1-dev) checkpoint, the [clip_l.safetensors](https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/clip_l.safetensors) + [t5xxl_fp8_e4m3fn.safetensors](https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/t5xxl_fp8_e4m3fn.safetensors) text encoders and [ae.safetensors](https://huggingface.co/black-forest-labs/FLUX.1-dev/resolve/main/ae.safetensors) VAE for FLUX.1-dev - - `timpietruskyblibla/runpod-worker-comfy:1.2.3-sdxl`: contains the checkpoints and VAE for Stable Diffusion XL + - `timpietruskyblibla/runpod-worker-comfy:1.0.0-flux1-schnell`: contains the [flux1-schnell.safetensors](https://huggingface.co/black-forest-labs/FLUX.1-schnell) checkpoint, the [clip_l.safetensors](https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/clip_l.safetensors) + [t5xxl_fp8_e4m3fn.safetensors](https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/t5xxl_fp8_e4m3fn.safetensors) text encoders and [ae.safetensors](https://huggingface.co/black-forest-labs/FLUX.1-schnell/resolve/main/ae.safetensors) VAE for FLUX.1-schnell + - `timpietruskyblibla/runpod-worker-comfy:1.0.0-flux1-dev`: contains the [flux1-dev.safetensors](https://huggingface.co/black-forest-labs/FLUX.1-dev) checkpoint, the [clip_l.safetensors](https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/clip_l.safetensors) + [t5xxl_fp8_e4m3fn.safetensors](https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/t5xxl_fp8_e4m3fn.safetensors) text encoders and [ae.safetensors](https://huggingface.co/black-forest-labs/FLUX.1-dev/resolve/main/ae.safetensors) VAE for FLUX.1-dev + - `timpietruskyblibla/runpod-worker-comfy:1.0.0-sdxl`: contains the checkpoints and VAE for Stable Diffusion XL - Checkpoint: [sd_xl_base_1.0.safetensors](https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0) - VAEs: - [sdxl_vae.safetensors](https://huggingface.co/stabilityai/sdxl-vae/) - [sdxl-vae-fp16-fix](https://huggingface.co/madebyollin/sdxl-vae-fp16-fix/) - - `timpietruskyblibla/runpod-worker-comfy:1.2.3-sd3`: contains the [sd3_medium_incl_clips_t5xxlfp8.safetensors](https://huggingface.co/stabilityai/stable-diffusion-3-medium) checkpoint for Stable Diffusion 3 medium + - `timpietruskyblibla/runpod-worker-comfy:1.0.0-sd3`: contains the [sd3_medium_incl_clips_t5xxlfp8.safetensors](https://huggingface.co/stabilityai/stable-diffusion-3-medium) checkpoint for Stable Diffusion 3 medium - [Bring your own models](#bring-your-own-models) - Based on [Ubuntu + NVIDIA CUDA](https://hub.docker.com/r/nvidia/cuda) @@ -113,7 +113,7 @@ This is only needed if you want to upload the generated picture to AWS S3. If yo - In the dialog, configure: - Template Name: `runpod-worker-comfy` (it can be anything you want) - Template Type: serverless (change template type to "serverless") - - Container Image: `/:tag`, in this case: `timpietruskyblibla/runpod-worker-comfy:1.2.3-sd3` (or `-base` for a clean image or `-sdxl` for Stable Diffusion XL or `-flex1-schnell` for FLUX.1 schnell) + - Container Image: `/:tag`, in this case: `timpietruskyblibla/runpod-worker-comfy:1.0.0-sd3` (or `-base` for a clean image or `-sdxl` for Stable Diffusion XL or `-flex1-schnell` for FLUX.1 schnell) - Container Registry Credentials: You can leave everything as it is, as this repo is public - Container Disk: `20 GB` - (optional) Environment Variables: [Configure S3](#upload-image-to-aws-s3)