SD 1.5 ControlNets for the Snapdragon NPU (QNN)
Qualcomm QNN context binaries of SD 1.5 ControlNet v1.1 models, for Nightmare Mobile's SD 1.5 Swap models (checkpoints converted with npuforge as SD1.5 Swap, whose UNet takes ControlNet residuals as inputs). One file per type and chip tier; any Swap model uses them, and the app downloads the right one for your phone.
| type | source | tiers |
|---|---|---|
depth/ |
lllyasviel/control_v11f1p_sd15_depth |
controlnet_8gen2.bin, controlnet_8gen1.bin, controlnet_min.bin |
openpose/ |
lllyasviel/control_v11p_sd15_openpose |
controlnet_8gen2.bin, controlnet_8gen1.bin |
canny/ |
lllyasviel/control_v11p_sd15_canny |
controlnet_8gen2.bin, controlnet_8gen1.bin, controlnet_min.bin |
Tiers: 8gen2 = Hexagon v73 context (Snapdragon 8 Gen 2 and newer: 8 Gen 3, 8 Elite,
8 Elite Gen 5); 8gen1 = v69 context with 8 MB VTCM (Snapdragon 8 Gen 1 / 8+ Gen 1); min =
v68 context with 2 MB VTCM (Snapdragon 888; slower). Newer chips load older-arch contexts.
Format: QAIRT 2.49, w8a16, 512ร512, NHWC, the Qualcomm AI Hub ControlNet IO contract โ
inputs latent, timestep, text_emb, image_cond (the hint, 0..1); outputs
down_block_0..11, mid_block (13 residuals). โ QAIRT 2.49 contexts need fp16 on the NPU,
which Snapdragon 8s Gen 4 (SM8735) lacks.
Hints: depth โ near = white (Depth Anything V2 Small maps, or any MiDaS-style map); openpose
โ OpenPose skeletons on black; canny โ white edges on black (OpenCV Canny(img, 100, 200)).
Calibrated on hints made exactly that way, fitted into 512ร512 on black.
Licence
These are derivatives of lllyasviel's ControlNet v1.1 weights, released under the CreativeML OpenRAIL-M licence; its use-based restrictions apply to these files and to any redistribution of them. Built by converting those weights; no retraining.