halogen-flash-server, which runs local language models and auxiliary tasks on a single AMD Strix Halo machine, released 0.18.12 on October 20, 2026. According to the project announcement, startup waits for loaded auxiliary models are shorter, and edits can now combine multiple photos. Flash checkpoints (model weight files) are unchanged.
Four-image editing and shorter NPU startup waits
Multi-image editing. Multiple images can be submitted together for edits such as placing an object from one photo into another. /v1/images/edits now accepts 1~4 image parts. Prompts refer to images in submission order as "image 1", "image 2", and so on. The feature request came from GitHub issue #179, whose author wanted to place an object from one photo into another.
Shorter NPU startup waits. All NPU model bundles have been reissued with a fast startup path. According to the project announcement, warm requests are about 2% (1024x1024 images) to 36% (photo questions) faster, with unchanged answers. The new files require 0.18.12 or later.
Fewer GPU stalls during cache copies. Copies now go through a staging buffer, an intermediate area pinned in place by default. When the host moves GPU-connected memory, all GPU work queues stall. The new path halved this lost time in project tests.
Table: NPU image generation and editing times
Conditions: Editing output is 512×512; 1024×1024 is available only with one input photo
Unit: seconds (approximate values from the project documentation)
| NPU image task (flux2-klein-4b) | Time |
|---|---|
| Image generation 512×512 | 약 3 |
| Image generation 1024×1024 | 약 10 |
| Image editing, 512×512 (1 photo) | 약 5 |
| Image editing, 512×512 (2 photos) | 약 7.5 |
| Image editing, 512×512 (3 photos) | 약 10 |
| Image editing, 512×512 (4 photos) | 약 12.5 |
| Image editing, 1024×1024 (1 photo) | 약 12.5 |
These are approximate values from the project documentation (docs/NPU.md). Time increases evenly with each additional photo, up to four inputs. mask is unsupported, so edits targeting only part of an image must be described in the prompt.
Modest prompt processing and generation gains on the same machines
The project loaded one model on each of two Ryzen AI Max+ 395 (128GB) machines and tested default settings: cache enabled and reasoning generation disabled. bench tested 10 prompts with drafting, which generates candidate tokens in advance for joint verification, and greedy decoding, which picks the most likely token at each step. Average generation speed rose from 64.0→66.1 tok/s for v2 and 65.1→66.1 tok/s for ht43.
Table: v2 prompt processing speed, 0.18.11 and 0.18.12
Conditions: v2, about 85W sustained package power, A/B on the same machine and in the same session
Unit: tokens/second
| Test conditions | v2 0.18.11 | v2 0.18.12 |
|---|---|---|
| Cache off, 8,192 tokens | 1,833 | 1,877 |
| Cache off, 32,768 tokens | 1,783 | 1,822 |
| Cache on (cold), 8,192 tokens | 1,746 | 1,787 |
| Cache on (cold), 32,768 tokens | 1,808 | 1,849 |
Table: ht43 prompt processing speed, 0.18.11 and 0.18.12
Conditions: ht43, about 120W default settings, A/B on the same machine and in the same session
Unit: tokens/second
| Test conditions | ht43 0.18.11 | ht43 0.18.12 |
|---|---|---|
| Cache off, 8,192 tokens | 1,762 | 1,835 |
| Cache off, 32,768 tokens | 1,808 | 1,865 |
| Cache on (cold), 8,192 tokens | 1,743 | 1,815 |
| Cache on (cold), 32,768 tokens | 1,809 | 1,864 |
Prompt processing improved by about 2.1~4.2%, while generation improved by about 3.3% for v2 and 1.5% for ht43. The release notes attribute improvements to reduced work in the stage that verifies multiple drafts together. Each table compares only changes between versions on the same machine.
Update NPU files with the new image tag
HALOGEN_DOWNLOAD in the 0.18.12 image downloads the new NPU files. The original example below combines two photos after loading the image model. It asks to place the cat from the second photo on the bench in the first.
curl -s localhost:8731/v1/images/edits -F model=flux2-klein-4b -F "image[]=@scene.png" -F "image[]=@cat.png" \
-F prompt="put the cat from image 2 on the bench in image 1, matching its light" -F seed=7Useful for teams running auxiliary tasks, but memory and power remain shared
Teams already running classification, embedding, reranking, moderation, streaming guards, speech recognition, image generation, and editing alongside Flash models benefit most. However, Flash models slow down slightly while the NPU is actively working. The two engines share the memory bus and the chip’s power budget.
According to the project release notes, output at temperature 0 remains byte-for-byte identical to 0.18.11.
For the performance improvements and new observability metrics, change the image tag to 0.18.12, and add flux2-klein-4b to HALOGEN_NPU_MODELS to use image editing as well.
