LLMTR Qwen 3.5 4B
Qwen 3.5 4B is a first-party chat model hosted by us in Turkey. It is called through /v1/chat/completions with the canonical model id llmtr/qwen3-5-4b. It is small and fast, and fits Turkish chat, summarization, classification, RAG chatbots, and agent flows that need tool calling.
| Property | Value |
|---|---|
| Model id | llmtr/qwen3-5-4b |
| Context window | 131,072 tokens (128K) |
| Price (input / output / cache read) | $1.00 / $3.00 / $0.25 per 1M tokens |
| Image input | No |
| Prompt cache | Yes |
| Tool calling | Yes |
| Thinking mode | Yes, on by default |
| Audio / video input | No |
| Image generation | No |
curl "$LLMTR_BASE_URL/v1/chat/completions" \ -H "Authorization: Bearer llmtr-your_key" \ -H "Content-Type: application/json" \ -d '{ "model": "llmtr/qwen3-5-4b", "messages": [ { "role": "user", "content": "Summarize this product description in two sentences." } ], "max_tokens": 2048 }'Thinking is on by default
Section titled “Thinking is on by default”The model runs a reasoning pass before producing an answer. That reasoning is returned to you in message.reasoning_content, and the tokens it produces are spent from your max_tokens budget.
The practical consequence: if the budget is small, reasoning consumes all of it, content comes back empty, and finish_reason is length.
{ "choices": [ { "message": { "role": "assistant", "content": "", "reasoning_content": "..." }, "finish_reason": "length" } ], "usage": { "completion_tokens": 400 }}Set max_tokens to at least 2048 on a default call.
If you expect a short answer, turn thinking off. Both forms do the same thing:
// The :fast suffix on the model id{ "model": "llmtr/qwen3-5-4b:fast", "messages": [{ "role": "user", "content": "Is this review positive or negative? One word." }], "max_tokens": 16 }
// Or the reasoning field in the request body{ "model": "llmtr/qwen3-5-4b", "reasoning": false, "messages": [{ "role": "user", "content": "Is this review positive or negative? One word." }], "max_tokens": 16 }With thinking off the response carries no reasoning_content, no extra tokens are spent, and answers get noticeably faster. The :think suffix keeps thinking on, which is already the default.
Reasoning tokens are billed as output and are already counted inside completion_tokens; they are not billed twice.
Input types
Section titled “Input types”The model accepts text only. An image_url, audio or video part in the message returns 400 unsupported_input:
{ "error": { "message": "Model does not support image input", "type": "unsupported_input" }}For work that needs image understanding, pick one of the catalog models that supports image input.
Tool calling
Section titled “Tool calling”The model supports the standard OpenAI tools schema and returns real tool_calls:
{ "choices": [ { "message": { "role": "assistant", "content": "", "tool_calls": [ { "id": "call_1", "type": "function", "function": { "name": "get_weather", "arguments": "{\"city\":\"Ankara\"}" } } ] }, "finish_reason": "tool_calls" } ]}In multi-step flows, append the assistant message to the history with its tool_calls and, when present, its reasoning_content. Leaving thinking on improves quality in tool-calling flows, so keep max_tokens generous.
Prompt cache
Section titled “Prompt cache”Repeated prompt prefixes (a long system prompt, a fixed RAG context, an agent loop) are served from the cache. Cached tokens are reported in prompt_tokens_details.cached_tokens and billed at the cache read rate instead of the input rate:
"usage": { "prompt_tokens": 1087, "completion_tokens": 3, "total_tokens": 1090, "prompt_tokens_details": { "cached_tokens": 1065 }}Here 1065 tokens are billed at $0.25/1M and the remaining 22 at $1.00/1M. To lower cost, keep the fixed content at the start of the message array and the varying content at the end.
A cache hit is not guaranteed: a prefix may miss on its first repeats and hits become more consistent as it stays in use. Billing always follows the real value reported in cached_tokens; requests without a hit are billed at the normal input rate. Treat the cache as a cost optimization, not a guaranteed discount.
Context window
Section titled “Context window”The context window is 131,072 tokens per request and covers the prompt and the completion together. Requests above that limit return 400. Split long documents across requests instead of sending them whole, or select the relevant section with RAG.