Releases: SaladTechnologies/comfyui-api
Releases · SaladTechnologies/comfyui-api
1.8.2 - Resiliency Improvements
- more resilient process to wait for and retrieve workflow outputs.
- Old process:
- submit
- wait for success event on ws
- make a single request to get output from history endpoint
- New process:
- submit
- slow poll history endpoint AND wait for success event on ws
- when success event arrives, increase poll rate to history endpoint, and hit it again immediately. Poll until outputs arrive. Note: this is almost always on the first try, but there is a race condition between comfyui writing outputs to local storage, and comfyui sending the success event on ws, so one request to the history endpoint after the success event is not always adequate.
- Old process:
- introduce automatic retries on prompt webhooks. defaults to 3, with a 1 second delay
- new test cases
1.8.1 - Greatly Longer Fetch Timeouts
- Workflow endpoints would previously fail if the prompt took more than 300s. This issue did not affect the main
/prompt
endpoint, and so went undetected in testing. The issue also affected warmup workflows. This timeout has been increased from fetch's default timeout of 300s, to no limit. - Remove unused
chokidar
package, which was previously used for filewatching. the filewatching mechanism has since been removed in favor of watching websocket events and checking the history endpoint - Test case for Cosmos 1.0 7b
resolves #21
1.8.0 - Comfy Events Via Webhook
- Failed generations now emit a
prompt.failed
webhook if a webhook url is provided in the request - ComfyUI emits a stream of events via the websocket connection. You can now subscribe to any or all of these by configuring
SYSTEM_WEBHOOK_URL
andSYSTEM_WEBHOOK_EVENTS
. The events will be sent to the configured url. See documentation for more information - Under-the-hood change: while waiting for a prompt to complete, instead of polling the history endpoint, we watch the websocket stream.
- You can configure
MAX_QUEUE_DEPTH
to make the readiness probe fail when ComfyUI's internal queue has more items than the configured amount. - Move to comfy 0.3.12 base images
1.7.2 - fixes to restart behavior
- fixed a bug where comfy exits would not correctly reject a promise, causing the restart behavior to not work
- fixed a bug where a failing warmup workflow was ignored, which allowed the server to start anyways, and pass health checks. Now if the warmup workflow fails, the server will not become healthy, and will instead exit.
- fixed a bug in the release workflow
- fixed a typo in the readme
- add github action workflow for building docker images when a release is published
1.7.1 - Auto-restart, non-fatal file conversion errors
- A new configuration option
ALWAYS_RESTART_COMFYUI
, which defaults to false. When true, the api will restart the comfyui service in the event that it exits. when false, the api server will itself exit when comfyui exits. /health
and/ready
now have slightly different behaviors to accommodate the above./health
will always return 200 once the server is up and warm./ready
will return 503 during comfyui restarts.- In the event converting a file fails, the unconverted file will be returned. Previously, this would be a failed request.
- Test cases: cogvideox and mochi
- Begin work migrating to ghcr, scripts to build
runtime
anddevel
versions of the comfyui base image, and of the respective comfyui api images. - Workflow endpoints now support an asynchronous
generateWorkflow
export. - Webhooks of completed outputs now include a new field
.event
that will beoutput.complete
. This opens the door for other events to be emitted via webhook, such as for failed generations, comfyui status, etc.
resolves #15
Release 1.7.0 - Support Video Workflows
- adds support for workflows with multiple output types and dynamic numbers of outputs. this includes a lot of video workflows, including animatediff, ltx video, and hunyuan video
- Adds an additional field to the response body
.filenames
, an array of strings that are the filenames of the base64 encoded files. this became necessary because animatediff workflows can return files of multiple types. - corrects the installation of
sharp
to always use thewasm32
version, which is required to successfully package it withpkg
- ditches filewatcher mechanism in favor of polling comfyui history endpoint
- tests! at last this project has automated testing, done against a live server actually generating images/videos.
resolves #13
Release 1.6.1
There was a bit of code that was specific to loading the environment on an ai-dock image. this has been changed so that it can be disabled, allowing for different base images.
Release 1.6.0
Release 1.6.0
Release 1.5.0
Release 1.5.0
Release 1.4.2
Release 1.4.2