SenseNova-U1.5-8B-MoT-pose-bf16

A pose-transfer tier of SenseNova-U1.5-8B-MoT for sensenova-u1-swift on Apple silicon: the RefControl pose adapter merged into the base checkpoint and cast to bf16.

What it does

Restages the person in a reference photo into the pose of an OpenPose-style skeleton, keeping their identity, clothing and scene. It is a two-reference edit, and the slot order matters:

Image-1: <image>
Image-2: <image>
apply pose from image 1 with reference from image 2

Image 1 is the skeleton, image 2 the identity/appearance frame. Swap them and the model reproduces the appearance frame's own pose and ignores the skeleton.

sensenova-cli --weights SenseNova-U1.5-8B-MoT-pose-bf16 \
  --edit-image skeleton.png --edit-image identity.jpg \
  --prompt $'Image-1: <image>\nImage-2: <image>\napply pose from image 1 with reference from image 2' \
  --width 768 --height 768 --steps 28 --cfg 4.0 --out posed.npy

From Swift, through the MLXEngine wrapper:

let package = SenseNovaU1Package(configuration: .init(variant: .poseBf16))
try await package.load()
let response = try await package.run(
    IEditRequest(
        images: [skeleton, identity],            // 1 = pose, 2 = appearance
        prompt: SenseNovaVariant.posePrompt,
        width: 768, height: 768, steps: 28, seed: 42))

Performance (M5 Max)

resident after load 35.1 GB

Use pose-8bit unless you specifically need reference-precision weights โ€” it reproduces these renders on every valid fixture at 19.0 GB.

Provenance

  • Base: sensenova/SenseNova-U1.5-8B-MoT @ 07d76f61 (Apache-2.0). Hub main has since moved to 19bc874e, a bf16 re-shard of the same weights; this artifact was converted from the pinned revision.
  • Adapter: RefControl pose LoRA v1 @ 3000 steps โ€” rank 32 / alpha 32, neo_hf_lora layout, 294 gen-stream (*_mot_gen) projections, trained on (skeleton, reference, target) triples. Merged in fp32 as W += (alpha/rank)ยทBA and cast back; all 294 targets matched.
  • Conversion: sensenova-cli --weights <base> --lora <adapter> --convert <out>.
  • The merge is exactly as wide as the adapter claims: against the plain bf16 artifact, 882 tensors differ โ€” 294 targets ร— {{weight, scales, biases}} โ€” and nothing else. A zero-B copy of the adapter through the same path reproduces the plain artifact tensor for tensor.

Training data: Wikimedia Commons (CC-BY / CC-BY-SA) and Pexels footage. The source frames are not redistributed; these are merged weights.

Tiers

pose-8bit reproduces the pose-bf16 renders on all five valid held-out fixtures, so it is the recommended tier. pose-bf16 exists for reference-precision work.

This is a base-checkpoint merge, not a distillation โ€” text-to-image, think mode and visual question answering all still run on these weights, though the generation stream is pose-biased. For plain generation use the base tiers.

Licence

Apache-2.0, following the base checkpoint. Port code is MIT.

Downloads last month
15
Safetensors
Model size
18B params
Tensor type
BF16
ยท
MLX
Hardware compatibility
Log In to add your hardware

Quantized

Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for mlx-community/SenseNova-U1.5-8B-MoT-pose-bf16

Finetuned
(16)
this model

Collection including mlx-community/SenseNova-U1.5-8B-MoT-pose-bf16