-
Worker Bridges now have to send a new field in the pop payload called bridge_agent. It should be in the form of
name:version:url
. For exampleAI Horde Worker:11:https://github.com/db0/AI-Horde-Worker
This will allow people to better know the capabilities of each worker
-
Exposed bridge_agent in the worker info
-
api/v2/generate/async now supports
tiling
boolean inparams
. Check API/doc
- Restricted generic terms like
girl
andboy
from NSFW models - added
shared
boolean onapi/v2/generate/status
to know if a generation was shared to create the LAION dataset.
- R2 uploads now defaults to True
- Fixed uploading images as censored=True causing a 404
- Fixed not being able to serve models with >30 chars
- Added regex endpoint for filters
- When trying to submit on an aborted gen, will get a different error than a duplicate one
- Added Filtering API
- Increased the jobs dropped needed to think a worker is suspicious
- Added thread locking for starting generations to avoid the n going negative
- Added post-processing capabilities. GFPGAN and RealESRGAN_x4plus
- Added clean shutdown capability
- Added rate limiter information to headers (@jamdon2)
- Adaptive samplers now consume kudos as if they are at 50 steps always.
Please check the API documentation for each new field.
Used in /v2/generate/async
, /v2/generate/sync
- Added 'post_processing' key
- increased amount of models allows in 'models' key
- Added 'shutdown' key
The horde workers can now run multiple threads. The horde has been adjusted to show proper speed when workers have multiple threads.
- Anon user has a different concurrency per model. Anon can only queue 10 images per worker serving that model. That means anon cannot request images for models that don't have any workers! I had to add this countermeasure because I noticed someone queueing 500 images on a model that had very few workers, therefore choking the whole queue for other anon usage.
- Lowered limits before upfront kudos are required.
- Now the resolution threshold is based on how many concurrent requests are currently in the queue to a min of 576x576 which will remain always available without kudos.
- steps threshold lowered to 50
- pseudonymous users start with 14 kudos, which will allow them to always have a bit more kudos to do some extra steps or resolution.
- oauth users start with 25 kudos, which will allow them to always even more kudos to do some extra steps or resolution compared to pseudonymous.
- request status check is now cached for 1 second to reduce server load.
- pseudonymous and oauth users cannot transfer their starting kudos baseline.
Please check the API documentation for each new field.
- The new online key for workers will allow to mark which workers are currently online for each team
- Team performance now only takes into account online workers
Used in /v2/worker/{worker_id}
, /v2/teams
, /v2/teams/{team_id}
etc
- Added 'online' key
Used in /v2/worker/
and /v2/worker/{worker_id}
- Added 'threads' key
- Tweaked Blacklist
- Added 4 new samplers. Cannot use new samplers on img2img yet
- added Karras
- Extra check to avoid two workers picking up the same job
- Source mask can now be sent to img2img
- Added IP timeout for Corrupted Prompts
- Added ability to create teams and join them with workers. Each worker will record how much kudos, requests and MPS they're generated to their team. This has no utility by itself other than allowinf self-organization. The new APIs developed allow trusted users to create new teams, but anyone can dedicate their worker to a specific team by using the worker PUT. You can list all teams or query a specific one.
- Added cache to the various endpoints. My server started lagging because python started getting overwhelmed from all the calculations. This helps release some of this stress at the cost of some data not being up to date. The big APIs like /users and /workers are caching for 10 seconds, while individual users and workers and the model list do so only for a couple seconds. This is mostly to help with the hundreds of users on UIs hammering for details.
Please check the API documentation for each new field.
- `/v2/teams/
/v2/teams/{team_id}
- Now validation is happening via Fields
- New key:
reset_suspicion
- New key:
team
- New key:
contact
- New key:
team
- Now validation is happening via Fields
- New key:
reset_suspicion
- New key:
contact
- New key:
contact
- New requests for specific server IDs will abort immediately if that ID does not corresponds to a server
- Workers in maintenance can now accept requests from their owner only. Workers in maintenance do not gain kudos for uptime.
- Takes into account denoising strength for kudos calculations on img2img
- Tightened filter
Please check the API documentation for each new field.
- New key:
kudos
- New key:
is_possible
- Uncompleted jobs will now be restarted. A request which ends up with 3 restarted jobs will abort
- Cancelled requests will reward kudos to workers who've already started the request
- better Kudos calculation
- k_heun and k_dps now count as double steps for kudos
- Allow resolutions higher than 1024x1024 and steps more than 100. But Those requests require the user to have the kudos upfront.
- Increase suspicion if workers lose too many jobs in an hour
- suspicious users cannot transfer kudos
- suspicious users cannot receive kudos
- bleached model name
- workers cannot serve more than 30 models
- clients with unsafe IPs will now only connect to trusted workers.
- Prevents negative kudos transfer
This is as far back as my current changelog goes. This header does not contain all the changes until 2.0
- Increased suspicion threshold
- More Corrupt prompts filtering
- Fix bad kudos transfer marshalling
- Avoid runtime error during /users retrieve
Please check the API documentation for each new field.
Adds inpainting/outpainting support
- New key:
source_processing
- New key:
source_mask
Added performance info on models
- New key:
performance
- New key:
queued
- New key:
eta