> ## Documentation Index
> Fetch the complete documentation index at: https://lmsysorg-cursor-upstream-qwen38-flash-next-rocm-image-fe21.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# SenseNova-U1.5-8B-MoT

export const DiffusionModelTags = ({tags = []}) => {
  const normalizedTags = Array.isArray(tags) ? tags : [tags];
  return <div className="not-prose sgd-model-tags">
      {normalizedTags.map(tag => <span key={tag} className="sgd-chip">
          {tag}
        </span>)}
    </div>;
};

<DiffusionModelTags tags={["image", "text-to-image", "Chinese typography", "poster layouts", "native pipeline"]} />

## 1. Model Introduction

[SenseNova-U1.5-8B-MoT](https://huggingface.co/sensenova/SenseNova-U1.5-8B-MoT) is a text-to-image model in the SenseNova-U1 family. It is useful for high-resolution poster, infographic, and enterprise visual-generation workloads where prompt following, layout structure, and Chinese text rendering are important.

Built on [NEO-Unify](https://huggingface.co/blog/sensenova/neo-unify), this release improves composition, color harmony, material rendering, and local visual detail for native high-resolution generation. It also focuses on clearer Chinese and English text rendering, stronger infographic layout structure, and more reliable execution of complex prompts with object counts, spatial relationships, styles, and multiple constraints.

## 2. SGLang-diffusion Installation

SGLang-diffusion offers multiple installation methods. You can choose the most suitable installation method based on your hardware platform and requirements.

Please refer to the [official SGLang-diffusion installation guide](../../../docs/sglang-diffusion/installation) for installation instructions.

## 3. Model Deployment

### 3.1 Offline Image Generation

SenseNova-U1.5-8B-MoT is a text-to-image model. You can run a single offline generation job with `sglang generate`:

```bash Command theme={null}
sglang generate \
  --model-path sensenova/SenseNova-U1.5-8B-MoT \
  --prompt "A cinematic mountain lake at sunrise, realistic photography." \
  --width 2048 \
  --height 2048 \
  --guidance-scale 4.0 \
  --num-inference-steps 50 \
  --seed 42 \
  --output-file-path output_sensenova_u15.png
```

### 3.2 Recommended Resolutions

SenseNova-U1 was trained around the 2K-pixel resolution tier. The SGLang pipeline only supports positive `--width` and `--height` values that are divisible by 32, and generation quality may degrade for untrained size combinations.

Recommended resolution tiers:

| Aspect ratio | Resolution                    |
| ------------ | ----------------------------- |
| 1:1          | `2048 x 2048`                 |
| 16:9 / 9:16  | `2720 x 1536` / `1536 x 2720` |
| 3:2 / 2:3    | `2496 x 1664` / `1664 x 2496` |
| 4:3 / 3:4    | `2368 x 1760` / `1760 x 2368` |
| 2:1 / 1:2    | `2880 x 1440` / `1440 x 2880` |
| 3:1 / 1:3    | `3456 x 1152` / `1152 x 3456` |
| 9:16 4K      | `2304 x 4096`                 |

## 4. API Usage

For complete API documentation, please refer to the [official API usage guide](../../../docs/sglang-diffusion/api/openai_api).

### 4.1 Generate an Image

```python Example theme={null}
import base64
from openai import OpenAI

client = OpenAI(api_key="EMPTY", base_url="http://localhost:30000/v1")

response = client.images.generate(
    model="sensenova/SenseNova-U1.5-8B-MoT",
    prompt="A clean technology poster with structured layout and clear typography.",
    n=1,
    response_format="b64_json",
)

image_bytes = base64.b64decode(response.data[0].b64_json)
with open("output_sensenova_u15.png", "wb") as f:
    f.write(image_bytes)
```

## 5. Advanced usage

### 5.1 Dynamic request batching

Start the server with dynamic batching enabled:

```bash Command theme={null}
sglang serve \
  --model-path sensenova/SenseNova-U1.5-8B-MoT \
  --port 30000 \
  --batching-max-size 2 \
  --batching-delay-ms 100
```

Submit requests concurrently so they arrive within the batching delay. Requests
in one batch must use the same resolution, inference steps, guidance settings,
and output options. Requests with multiple outputs or `think_mode=true` are
executed sequentially.

### 5.2 Ascend NPU optimizations

On Ascend NPU, SenseNova-U1 automatically uses fused inference attention,
RMSNorm, and SwiGLU MLP operators for supported inputs. FIA and SwiGLU fall back
when their requirements are not met. Run one complete warmup request before
benchmarking because the fused MLP packs its gate and up projection weights on
first use.

## 6. Benchmark

### 6.1 Speedup benchmark

#### 6.1.1 Single-run profile

<Tabs>
  <Tab title="NVIDIA A800">
    This is a single-run profile for smoke validation rather than a formal benchmark. Environment: NVIDIA A800; workload: vbench text-to-image, 1 prompt, concurrency 1, 1 output per prompt; warmup: none; repetitions: 1; dispersion: not reported; baseline: none; revisions: PR checkout and resolved model snapshot at run time; output validation: request completed and returned one image.

    **Server Command**:

    ```shell Command theme={null}
    sglang serve \
      --model-path sensenova/SenseNova-U1.5-8B-MoT \
      --port 30000
    ```

    **Benchmark Command**:

    ```shell Command theme={null}
    python3 -m sglang.multimodal_gen.benchmarks.bench_serving \
      --dataset vbench \
      --task text-to-image \
      --num-prompts 1 \
      --max-concurrency 1 \
      --port 30000
    ```

    **Result**:

    ```text Output theme={null}
    ================= Serving Benchmark Result =================
    Task:                                         text-to-image
    Model:                                        /workspace/models/ModelScope/SenseNova/SenseNova-U1.5-8B-MoT
    Dataset:                                      vbench
    --------------------------------------------------
    Benchmark duration (s):                       13.10
    Request rate:                                 inf
    Max request concurrency:                      1
    Successful requests:                          1/1
    Completed outputs:                            1
    Outputs per prompt:                           1
    --------------------------------------------------
    Request throughput (req/s):                   0.08
    Output throughput (outputs/s):                0.08
    Latency Mean (s):                             13.10
    Latency Median (s):                           13.10
    Latency P90 (s):                              13.10
    Latency P95 (s):                              13.10
    Latency P99 (s):                              13.10
    --------------------------------------------------
    Peak Memory Max (MB):                         34326.00
    Peak Memory Mean (MB):                        34326.00
    Peak Memory Median (MB):                      34326.00
    ------------------------------------------------------------
    ```
  </Tab>

  <Tab title="Ascend 910C">
    Environment: one Ascend 910C; workload: four concurrent 2048 x 2048
    text-to-image requests, 50 denoising steps, CFG 4, BF16.

    | Batch size | NPU operators          | Duration (s) | Throughput (images/s) | Mean latency (s) | Peak reserved memory (MB) |
    | ---------: | ---------------------- | -----------: | --------------------: | ---------------: | ------------------------: |
    |          1 | Disabled               |       234.28 |               0.01707 |           146.47 |                     35698 |
    |          2 | Disabled               |       234.83 |               0.01703 |           176.06 |                     37870 |
    |          1 | FIA + RMSNorm + SwiGLU |       205.94 |               0.01942 |           128.80 |                     35718 |
    |          2 | FIA + RMSNorm + SwiGLU |       195.02 |               0.02051 |           146.33 |                     37850 |

    Optimized B1 improves throughput by 13.76% over unoptimized B1. Optimized
    B2 improves throughput by 20.42% over unoptimized B2 and by 5.60% over
    optimized B1.
  </Tab>
</Tabs>
