After introducing Hetzner’s new AI inference API, one question remained that none of the existing sources answered: how good is the offered model at German? The existing Qwen reviews measure benchmarks and English tasks. For use in a German business something else matters, namely whether the model understands a customer email, can reply formally and does so without embarrassing mistakes.
So I created an API token and gave Qwen3.6-35B-A3B seven tasks of the kind that come up daily in a small company. All outputs in this piece are verbatim and unedited, and I kept the full raw data. Up front: the result splits in two, and the dividing line runs exactly between structured tasks and free text.
The numbers first
On speed, I had quoted the measurements of an English first-look test yesterday. Now I can put my own next to them: across five runs, time to first token sat at a median of 244 milliseconds, with one cold-start outlier at 1.2 seconds. On throughput, 681 tokens came back in 3.8 seconds, roughly 181 tokens per second. Somewhat slower than the 224 from the first look, but the same order of magnitude, and more than enough for anything running in the background. A typical classification task was fully answered in half a second.
Where the model convinces
The first task was an agitated customer email, booking page down, revenue loss, callback request, with the instruction to classify it as JSON. The answer came back exactly in the required format, category correct, urgency correct, reasoning in flawless German:
{"kategorie": "Supportanfrage", "dringlichkeit": "hoch", "begruendung": "Die E-Mail beschreibt einen kritischen technischen Ausfall, der unmittelbare geschäftliche Schäden verursacht und eine sofortige technische Intervention erfordert."}
The same picture with data extraction: from a freely worded message by a bakery, the model pulled name, company, phone number, request and preferred date cleanly into the given JSON fields. And on the correction task, a text full of deliberate errors, every single fix landed, including the spot where a wrong German “dass” had to become a correct “das”, with the commas right at the end too.
That is one half of the verdict, and it is better than I expected: wherever a schema pins down the output, the small model works fast, precisely and in correct German.
Photo: markusspiske / Unsplash
A side note on image handling, since the model accepts images alongside text. It passed a casual test with a garden photo of two Labradors confidently, refused to be led astray by the deliberately wrong trick question about “sad-looking calves”, corrected that these are two visibly relaxed dogs, and identified the hydrangeas and roses in the flower bed along the way. For quick image pre-checks that is genuinely usable.
Where it gets uncomfortable
The other half starts with the task of turning a casual message into a formal reply. In the first run, this sentence sat in the middle of the business email:
“Das Gesamtbudget beläuft sich auf 2500 Euro bei einer预计eten Laufzeit von drei Wochen.”
That is not a rendering glitch. 预计 is Chinese and means “expected”, the model switched languages in the middle of a German word. Because a single slip is not a finding, I repeated the same brief six more times: in three of the six repeats 预计 appeared again, four out of seven runs in total, each time at the same semantic spot, where “voraussichtlich” belonged. That is reproducible, not bad luck.
Photo: kellysikkema / Unsplash
The effect is not limited to that one spot either. In a later, longer chat test the model slipped “Es gibt keinen永久的 Stream” into the middle of a German explanation, 永久 being Chinese for permanent. Different topic, different word, same mechanism.
Two further weaknesses showed in free text. When rephrasing, the model repeatedly flipped the perspective and “accepted the offer” it was supposed to be making as the service provider. And the layman’s explanation contained a plain German grammar error (“unnötige Ärger”). None of it is dramatic, but all of it is exactly the kind of mistake that sticks in a real customer email.
The much-cited arithmetic weakness, by the way, I could not confirm: the control task, 17 times 23 plus 4, was answered correctly with 395, with and without thinking mode.
The undocumented thinking trap
While testing I fell into a trap that presumably catches everyone who wires up the API naively. My first call returned a seemingly empty answer, the content field was null. The solution to the riddle: Qwen3.6 on Hetzner runs as a thinking model by default. It reasons first, and those steps land in a separate field called reasoning. Set the token limit tight, and the thinking consumes the entire budget before any visible answer exists. From the outside it looks like a broken API.
It can be switched off with a parameter that is currently documented nowhere:
response = client.chat.completions.create(
model="Qwen/Qwen3.6-35B-A3B-FP8",
messages=[{"role": "user", "content": "..."}],
extra_body={"chat_template_kwargs": {"enable_thinking": False}},
)
The difference is drastic. The arithmetic control question took 0.2 seconds without thinking, and 12 seconds plus 373 tokens with it, for exactly the same result. For short, well-defined tasks the thinking mode belongs switched off.
What follows from this
My conclusion after this test is more precise than the usual “small model, limited quality”. Qwen3.6 on the Hetzner API is already a usable workhorse for everything that runs behind the scenes and is secured by a schema: classifying and pre-sorting enquiries, pulling data out of messages, internal summaries, correction help. Exactly these tasks make up the lion’s share of business automation, and for them the model is enough, free and on German servers.
What I advise against is unreviewed free text with outside impact. A model that sprinkles Chinese characters into a formal German email in more than half of the runs does not write customer communication without a human looking over it. That may change with larger models on the same infrastructure. For the current offering, it stands.
If you are weighing which of your workflows can sensibly be automated with a model like this and where a stronger model or a human should stay in the loop, feel free to get in touch. Drawing exactly that line is the first thing I clarify in projects like these.
FAQ
Can I use Qwen3.6 on the Hetzner API for customer communication?+
For unreviewed text that goes straight out, I clearly advise against it. In testing, more than half of the runs put a Chinese character into a formal German business email, alongside occasional perspective errors. What works well are behind-the-scenes tasks where a human or a fixed schema checks the output: classifying, extracting, summarising, correcting.
Why does the API return seemingly empty answers?+
Because Qwen3.6 on Hetzner runs as a thinking model by default. The reasoning steps land in a field called reasoning, and with a tight token limit the thinking consumes the entire budget before any visible answer appears in the content field. The fix is the chat_template_kwargs parameter with enable_thinking set to false, which makes the model answer directly. As of now this is documented nowhere.
How big is the difference with and without thinking mode?+
Substantial. The same simple arithmetic task took 0.2 seconds and a handful of tokens without thinking, and 12 seconds and 373 tokens with it, for an identical result. For short, well-defined tasks the thinking mode is simply not worth it.
Where do Chinese characters in German answers come from?+
Qwen is a Chinese model, and in smaller model sizes tokens from the dominant training language occasionally slip through under generation pressure. In testing it happened reproducibly at the same semantic spot: where German would need the word for expected, the Chinese word for it appeared. Larger models show this less often, but for a 35-billion-parameter model it cannot be argued away.
Want to know more?
In a free intro call we discuss how you can use these topics for your company. Not a sales pitch, but an honest assessment.
Book a free intro call



