Styles and shared key combos

Styles and shared key combos

A few enhancement has been added to the shared keys and the styles capability which was recently onboarded. Let's list them in kind

First you can now transfer kudos directly to a shared key, instead of a user. Simply provide the shared key ID where you would before provide just the username. The kudos will still go towards the underlying user, but as an addendum, the shared key kudos will be increased automatically by the same amount (if it wasn't already unlimited). This avoids the owner of the shared key having to take an extra action to top up that key every time and should smooth out collaboration, allowing multiple horde accounts to maintain a public key shared with many others, once more extending our mutual aid functionalities.

The second feature allows one to assign shared keys to styles. When a shared key is assigned to a style, if it is still valid (i.e. not expired and has kudos) it is used to automatically "power" generations using that style by anyone using that style! This means that anyone using that style will not only get the style prefilled, but will also experience potentially much faster generation times (especially if the shared key's owner is also running their own worker, since the worker will prioritize their own user).

The concept here is to smoothen how easy it is to share the horde with others who might not be as technical. Now instead of requiring them to add the style and also copy-paste your shared key, they just need to remember an easy style name to use.

There's a few things you need to be aware when using this new functionality:

  • A single shared key can be assigned to more than 1 style.
  • The shared key assigned to a style is always visible in the style description and therefore considered public information.
  • Shared keys assigned to styles cannot be used in isolation. They can only be used as part of that style. As such shared keys are always public, it prevents them being emptied out outside of that style use.
  • If the shared key assigned to a style runs out of kudos or expires, the users invoking that style will use their own API key as usual.

If you're an integrator, the relevant API endpoints have been updated. Now when creating or updating a style, you can also optionally pass a sharedkey UUID (that shared key has to already exist) and it will be then tied to that style.

We hope that this will further promote collaboration and the free sharing of priority with those who need it! Let us know how it goes.