Tencent Hy3 review: set the reasoning effort or get nothing back
Hy3 (hy3) is a reasoning model that writes careful, correctly formatted business documents, and it has one trap: leave the reasoning effort unset and it can think until it hits max_tokens and return an empty answer. Set reasoning.effort and give it room, and it is a capable, cheap model.
What it is
Hy3 is an open model Tencent released in July 2026.
- Mixture of experts: 295B total, 21B active (8 of 192 experts per token)
- Context window: about 262K tokens
- Input and output: text
- Tool calling, and a configurable reasoning depth
Five tasks, side by side
We sent the same five tasks to several models. The tasks were in Japanese, which is a demanding test of formal register: Japanese business letters have fixed opening and closing salutations, and polite forms change depending on who is being spoken about.
| Task | Hy3's result |
|---|---|
| Apology email for a delayed delivery | Correct formal letter format, opening and closing salutations paired. Included the new delivery date and the steps taken to prevent a repeat |
| Three-point summary of an article | Accurate, with headings; it caught the currency-risk point |
| Fix two politeness errors in a sentence | Both correct, including the subtle one: using an honorific for someone at your own company |
| Math word problem | Solved it two ways, by the classic substitution method and with equations; the answer came out to 7.2 items, so it flagged that the numbers should be checked |
| Haiku with a seasonal word | With no reasoning effort set, it thought until the token limit and returned nothing (below) |
The email stood out. Several of the other models closed with 敬具 (keigu, the formal sign-off) without opening with its partner 拝啓 (haikei), a mistake a Japanese reader notices at once. Hy3 paired them correctly and even used the set closing phrase まずは、書中をもちましてお詫び申し上げます ("for now, please accept this letter as our apology"). It was usable as written.
Set the reasoning effort
On the haiku task, with no effort set, Hy3 spent all 4,000 tokens of max_tokens on reasoning and returned an empty answer, twice out of two tries. Reasoning tokens are billed as output, so that is a charge with nothing to show for it.
Setting reasoning.effort on the same prompt changed the result:
| Effort | Response time | Output tokens | Answer |
|---|---|---|---|
| not set | about 60 s | 4,000 | none (hit the limit) |
low | about 33 s | 2,024 | キー敲き 秋灯の下 バグ沈む ("keys tapping / under the autumn lamp / the bug goes down") |
medium | about 33 s | 2,316 | 短夜に バグと戦う エンジニア ("a short summer night / fighting with bugs / an engineer") |
The medium haiku is a correct 5-7-5, and its explanation of the seasonal word (mijikayo, "short night," a summer word) was accurate. With Hy3, set reasoning.effort to fit the task and leave plenty of headroom in max_tokens.
These runs were made in July 2026. FastMetal has since moved Hy3 to a different upstream host; the model is the same, but check the behavior on your own prompts.
Cost
- Reasoning tokens bill as output tokens. On these tasks, 80 to 90 percent of the output was reasoning.
- The rates are low. Hy3 is billed per million input and output tokens; current prices are on the models page.
- Setting the effort cuts both the response time and the output tokens you pay for.
Good fit, poor fit
Good fit
- Formal documents where the format has to be right, such as client emails and external letters
- Proofreading and correcting tone
- Agents that use tool calls
Poor fit
- Any setup where you can't set the reasoning effort
- Chat that has to answer within a few seconds; these runs took 15 to 60 seconds each
FAQ
Why does Hy3 return an empty answer?
It spent the whole output budget on reasoning. Set reasoning.effort to low or medium and raise max_tokens.
Is it good for business writing?
In our tests it got the formal format right, down to paired salutations and the set closing phrase. It is good enough for drafting external documents.
Does Hy3 support tool calling?
Yes, pass tools as usual.
Try it on FastMetal
curl https://api.fastmetal.ai/v1/chat/completions \
-H "Authorization: Bearer $FASTMETAL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "hy3",
"max_tokens": 4000,
"reasoning": {"effort": "medium"},
"messages": [{"role": "user", "content": "Write a 150-word email apologizing to a client for a delayed delivery."}]
}'
The same API key and balance work for every other model; change model to compare. How to set the reasoning depth is in reasoning controls, and the full list is in the model catalog.