A frog playing the cello on the back of a whale, with a Caribbean island behind it. That was the deliberately surreal prompt given to Qwen3.8-Flash-Next-IQ4_XS running on llama.cpp with OpenWebUI. The model returned an SVG: not a description, but a vector file. And here the less obvious part begins.

The test, reported on Reddit, recorded 27,711 input tokens, 41,562 output tokens, and 69,273 total tokens, with a 256K q8 context configured. The author says he is impressed by the result, but notes one detail: the same SVG looks different in the OpenWebUI preview compared with the macOS preview. In the browser, the palms and music notes are missing.

The line between model and renderer

The difference is not just anecdotal. An SVG is structured code: it defines shapes, text, groups, and transformations. When an element disappears in one environment and not in another, suspicion falls on the rendering engine, not necessarily on the LLM. SVG viewers do not all implement the same features, especially if the file uses filters, masks, or CSS properties. For anyone evaluating a local model, the methodological point is this: measuring the quality of a visual generation by looking only at the frontend preview can lead to false conclusions. A visual defect may be a browser limitation, while a formally incoherent file may pass unnoticed in a tolerant renderer.

The configuration also matters. The model runs in IQ4_XS format, a quantization designed to reduce footprint while keeping acceptable quality. With long contexts like the one used in this test, the q8 cache reduces memory consumption: a common trade-off in self-hosted deployments. The fact that the system handled a generation of more than 40,000 tokens without losing the shape of the original prompt is a sign of stability, but it says nothing about why two previews diverge. The two variables — model quality and rendering fidelity — remain entangled until they are separated.

The source does not report the GPU or the amount of VRAM involved, but the quantized format suggests a memory constraint typical of non-enterprise machines. The suggestion to add parameters to animate the whale and the water broadens the discussion. Moving from a static image to an animated scene means turning the SVG into a program with movement variables. At that point the model must not only produce correct markup, but also accept incremental changes while preserving coherence with the code already generated. That is coding-assistant territory more than image-generation territory: a boundary that local models are beginning to explore.

For on-premise deployment, the case is not a demonstration of technical superiority, but a reminder: the output of the LLM does not coincide with what the user sees. In self-hosted workflows where models are compared, testing across multiple renderers — not the single preview — is what makes the output truly readable.