Image baseline policy reference

August 31, 2026 ยท View on GitHub

Topics: generation, kudos, workers

Two separate authorities decide what a request may ask of the baselines it names, and neither is a table in this repository:

  • The served baseline catalog. Published on models.aihorde.net and read through model_reference.baseline_record(baseline). It states what exists for a model family: which ControlNet, layer-diffusion and QR-code weights have been published, whether the architecture has a remix mechanism, whether a flow-matching timestep shift is meaningful for it, and the kudos, batching, lease and resolution-floor policy the horde applies to it.
  • The bridge feature table. BRIDGE_BASELINE_FEATURES in horde/bridge_reference.py, keyed by bridge version. It states which bridge releases actually render a feature on a baseline.

horde/baseline_policy.py reads both and nothing else. To add a baseline, see add an image baseline.

What each authority decides

FeatureCatalog capabilityBridge featureRejection code
flow_shiftflow_matchingflow_shiftFlowShiftInapplicable
hires_fix-hires_fixHiResMismatch
transparenttransparenttransparentInvalidTransparencyModel
workflow: qr_codeqr_code-ControlNetMismatch.
control_type with no weightscontrolnet_types_unavailable-ControlNetUnsupported
control_typecontrolnetcontrol_typeControlNetMismatch
source_processing: remixremix-InvalidRemix

A feature that both columns cover needs both to allow it. The features are evaluated in the order above, so a request tripping two of them is refused for the first.

A request naming several models can be dispatched for any of them, so a feature is accepted only where every requested baseline renders it.

Which bridge releases render what

bridge_supports(feature, baseline, bridge_agent=None) is the only reader. It is cumulative by version in the same way get_bridge_capabilities is: a worker gets the union of every version at or below its own.

BridgeVersionFeatureBaselines
AI Horde Worker reGen1hires_fixSD1, SD2 768, SD2 512, SDXL
AI Horde Worker reGen1control_typeSD1, SD2 768, SD2 512
AI Horde Worker reGen6hires_fixStable Cascade
AI Horde Worker reGen8transparentSD1, SDXL
AI Horde Worker reGen17flow_shiftFlux.1, Flux Schnell, Flux Dev, Qwen-Image
AI Horde Worker13hires_fixSD1, SD2 768, SD2 512
AI Horde Worker15control_typeSD1, SD2 768, SD2 512

Accepting a request asks whether any known bridge kind at any version renders the combination, so a request is refused with 400 only where nothing in the fleet could ever run it. Dispatch asks the same question of the worker's own agent, so an older worker holding the model is passed over rather than sent a job it would render wrongly. The flux graph capability stays a flat capability checked at dispatch alone.

The horde policy on a baseline

Read with policy(baseline), which returns the record's horde_policy or the par default.

FieldMeaning
kudosWhat one generation costs relative to a par baseline.
kudos_qr_code, kudos_hiresThe factor where that workflow changes the shape of the render rather than only its settings.
batchingHow much this baseline's cost inflates in the batch size calculation, which holds the batch count down for an architecture that wants most of a card.
ttlHow much longer than its sampler work implies a lease runs.
resolution_floorThe resolution every user reaches regardless of queue pressure. Zero claims no floor.

An uncatalogued baseline

A baseline the catalog publishes no record for, including one the installed horde_model_reference vocabulary does not carry, is given conservative capabilities and priced at par. A plain txt2img request remains accepted, while baseline-dependent workflows are refused until the catalog states that the required weights or mechanism exist and, where applicable, a bridge release states that it renders them.