SenseTime shipped the production release of SenseNova-U1.5-8B-MoT on August 20 — an Apache-2.0, 8-billion-parameter checkpoint that handles text-to-image, image editing, and visual understanding in a single native unified model. It generates native 4K images, follows 3,000–4,000-character instructions, and holds its own against GPT-Image-2 on dense layouts and localized edits. The model runs on one consumer GPU, and the repo ships inference scripts, ComfyUI workflows, and a distilled 8-step LoRA for fast generation.
What makes this worth your time: no router, no pipeline of separate expert models. Everything stays in one 8B checkpoint, which means shorter call chains and cheaper deployment — and for once, "8B" actually means it runs on hardware you can buy.
What changed from the preview
U1.5 keeps the NEO-unify architecture from the original SenseNova-U1: pixels and tokens live in one Mixture-of-Transformers backbone, with no visual encoder (VE) and no VAE standing between understanding and generation. The production release adds a smarter training recipe on top:
- Split-train, merge-back: specialized experts for text rendering, aesthetics, and editing are trained separately, then fused back into one model with MOPD (multi-teacher online policy distillation). You deploy one 8B checkpoint, not a fleet of models.
- Post-training targets the three classic pain points: instruction following (counts, positions, styles, "don't touch X"), visual preference (composition, material, lighting), and edit preservation (keep unedited regions intact).
- Prompt Enhancement (PE): a standalone script turns a short brief into structured Render JSON before generation — recommended for complex or multi-constraint requests.
Local deployment
The reference environment is Python 3.11, PyTorch 2.8, CUDA 12.8. Use uv to get the exact locked environment:
# 1. Install
git clone https://github.com/OpenSenseNova/SenseNova-U1.git
cd SenseNova-U1
uv sync
source .venv/bin/activate
# 2. Text-to-image — native 4K output
python examples/t2i/inference.py \
--model_path sensenova/SenseNova-U1.5-8B-MoT \
--prompt "A cinematic mountain lake at sunrise, realistic photography." \
--width 2048 --height 2048 \
--device_map auto \
--output output.png
# 3. Image editing — say explicitly what must NOT change
python examples/editing/inference.py \
--model_path sensenova/SenseNova-U1.5-8B-MoT \
--image input.png \
--prompt "Change the jacket to cobalt blue. Preserve the face, pose, background, lighting, and framing." \
--output edited.png
Speed it up: 8-step distilled LoRA
The official base runs 50 sampling steps at cfg_scale 4.0. The released 8-step LoRA cuts inference to 8 steps at cfg_scale 1.0 — several times faster for iteration-heavy workflows:
hf download sensenova/SenseNova-U1.5-8B-MoT-LoRAs \
SenseNova-U1.5-8B-MoT-LoRA-8step.safetensors \
--local-dir ./sensenova/SenseNova-U1.5-8B-MoT-LoRAs
python examples/t2i/inference.py \
--model_path sensenova/SenseNova-U1.5-8B-MoT \
--lora_path ./sensenova/SenseNova-U1.5-8B-MoT-LoRAs/SenseNova-U1.5-8B-MoT-LoRA-8step.safetensors \
--prompt "A recipe sharing card with nine dishes arranged in a clean grid." \
--cfg_scale 1.0 --cfg_norm none --timestep_shift 3.0 --num_steps 8 \
--output fast.png
No 24 GB card? Community Q8 GGUF checkpoints exist for the U1.5 preview line, and official GGUF weights are on the way — pass the quantized file with --gguf_checkpoint and keep --model_path on the base checkpoint. There are also ComfyUI workflows under apps/comfyui, plus a LightLLM + LightX2V path for production serving.
Prompt best practices
- State the negative space explicitly. Editing quality depends on what you tell the model not to touch: "Preserve the face, pose, background, lighting, and framing."
- Lower
cfg_scalewhen output looks over-cooked. Over-emphasized high-frequency detail or oversaturated color is the known failure mode; dropping cfg fixes it in most cases. - Route complex requests through PE. For multi-subject, multi-reference, or text-heavy work, run the brief through
src/sensenova_u1_5/image_pe.py(any OpenAI-compatible API) and feed the resulting JSON as the prompt. - Know the weak spots: dense small mixed Chinese-English text, exact counts in constrained layouts, faces and hands, and multi-turn multi-reference edits can drift. One-shot edits with a single reference are the most reliable.
Resources
- GitHub: OpenSenseNova/SenseNova-U1
- Model: SenseNova-U1.5-8B-MoT on Hugging Face · ModelScope · HF collection
- Free online demo: SenseNova-Studio
- Technical report: arXiv:2605.12500 · Cookbook:
docs/u1.5_best_practices.mdin the repo