Model reference
One page per model, for the models served at https://developer.amd.com.cn/radeon/api/v1.
GET /v1/models is the source of truth for what is available —
a page existing here does not guarantee the model is currently published. All of them answer on
/v1/chat/completions except MinerU2.5-Pro, which is
document OCR and has its own endpoint.
Specifications
Section titled “Specifications”| Model | Context | Image input | Thinks with reasoning_effort omitted |
|---|---|---|---|
| DeepSeek-V4-Flash | 1,048,576 | ❌ | ❌ |
| DeepSeek-V4-Flash-Vision-Exp | 1,048,576 | ✅ | ❌ |
| DeepSeek-V4.1-Flash | 1,048,576 | ✅ | ❌ |
| Qwen3.8-Flash-Next | 262,144 | ✅ | ✅ |
| Qwen3.8-27B | 131,072 | ✅ | ✅ |
| GLM-5.3-Flash | 262,144 | ❌ | ✅ |
| MiMo-V2.6-Flash | 1,048,576 | ✅ | ✅ |
| MiniCPM5-2B | 131,072 | ❌ | ❌ |
MiMo-V2.6-Flash is the only model here that also
accepts audio input, and the only one that accepts a strict json_schema.
MinerU2.5-Pro is not in this table: it takes a PDF or
an image on POST /v1/ocr, returns Markdown, and is billed per page. The parameters below do not
apply to it.
Supported reasoning_effort values
Section titled “Supported reasoning_effort values”The accepted tiers differ per model:
| Model | Accepted values |
|---|---|
| DeepSeek-V4-Flash | none minimal low medium high xhigh max |
| DeepSeek-V4-Flash-Vision-Exp | none minimal low medium high xhigh max |
| DeepSeek-V4.1-Flash | none minimal low medium high xhigh max |
| Qwen3.8-Flash-Next | none low medium xhigh |
| Qwen3.8-27B | low medium xhigh |
| GLM-5.3-Flash | low medium high |
| MiMo-V2.6-Flash | none and the usual tiers — send none to disable thinking |
The parameter may also be omitted entirely. MiniCPM5-2B does not return separated thinking, so
reasoning_effort does not apply to it.
Thinking behaviour
Section titled “Thinking behaviour”| Model | With reasoning_effort omitted | usage.reasoning_tokens (top level) |
|---|---|---|
| DeepSeek-V4-Flash | does not think | ✅ |
| DeepSeek-V4-Flash-Vision-Exp | does not think | ✅ |
| DeepSeek-V4.1-Flash | does not think | ✅ |
| Qwen3.8-Flash-Next | thinks anyway | ✅ |
| Qwen3.8-27B | thinks anyway | ❌ |
| GLM-5.3-Flash | thinks anyway | ❌ |
| MiniCPM5-2B | does not think | ❌ |
Thinking text arrives in choices[0].message.reasoning. MiniCPM5-2B answers directly, so that
field is empty and reasoning_tokens is 0 — read content for its answer.
For the token count use usage.completion_tokens_details.reasoning_tokens, which every model
here reports except Qwen3.8-27B — that one omits the
completion_tokens_details object entirely, so its thinking tokens cannot be separated from the
rest of its output. They are still counted in usage.completion_tokens, and still billed.
Writing messages
Section titled “Writing messages”| Model | system messages | Role name |
|---|---|---|
| DeepSeek-V4-Flash | any position, more than one allowed | system or developer |
| DeepSeek-V4-Flash-Vision-Exp | any position, more than one allowed | system or developer |
| DeepSeek-V4.1-Flash | any position, more than one allowed | system or developer |
| Qwen3.8-Flash-Next | exactly one, and it must come first | system |
| Qwen3.8-27B | at most one, and it must come first | system |
| GLM-5.3-Flash | any position, more than one allowed | system |
| MiniCPM5-2B | any position, more than one allowed | system |
Only the three DeepSeek models accept developer as an alias for system. The other four reject
it outright — Qwen3.8-27B with Unexpected message role., and Qwen3.8-Flash-Next, GLM-5.3-Flash
and MiniCPM5-2B with a deserialisation error naming the offending index:
Failed to deserialize the JSON body into the target type: messages[0]: unknown role: developerNewer OpenAI SDKs emit developer in place of system. If yours does, override it back.
The constraints on the two Qwen models come from the Jinja chat template shipped with their
weights, not from a gateway rule. Qwen3.8-27B reports a violation as
System message must be at the beginning.
The shape every model accepts: a single system message at index 0, with the role spelled
system.
Structured output and tools
Section titled “Structured output and tools”Every chat model here supports:
response_format: {"type": "json_object"}- function calling via
tools+tool_choice
parallel_tool_calls is accepted everywhere, but emitting several tool_calls in one turn is the
model’s own choice — do not build on it.
Image input
Section titled “Image input”Four models take images; put an image_url content part in the content array:
| Model | Per-image metering |
|---|---|
| DeepSeek-V4-Flash-Vision-Exp | usage.prompt_tokens_details.image_tokens, 115 in the sample |
| DeepSeek-V4.1-Flash | usage.prompt_tokens_details.image_tokens, 202 in the sample |
| Qwen3.8-Flash-Next | usage.prompt_tokens_details.image_tokens, 144 in the sample |
| Qwen3.8-27B | usage.prompt_tokens_details.multimodal_tokens.image, 72 in the sample |
{ "model": "DeepSeek-V4-Flash-Vision-Exp", "messages": [{ "role": "user", "content": [ { "type": "image_url", "image_url": { "url": "data:image/png;base64,iVBORw0KGgo..." } }, { "type": "text", "text": "What does this image say?" } ] }]}Check the table above before sending images; the remaining chat models are text-only. To pull text out of a PDF or a scan, use MinerU2.5-Pro — it returns Markdown and is billed per page.
Writing one client for every model
Section titled “Writing one client for every model”The shape every chat model here accepts:
- a single
systemmessage at index0, with the role spelledsystem reasoning_effortoflowormedium, or omitted entirely — nothigh(400 on Qwen3.8-27B) and notxhigh(422 on GLM-5.3-Flash)- read thinking text from
choices[0].message.reasoning - read thinking tokens from
usage.completion_tokens_details.reasoning_tokens(Qwen3.8-27B omits it) - use
response_format: {"type": "json_object"}for JSON - keep
contenttextual unless the target model supports images - size
max_tokensagainst the target model’s window — they span 131,072 to 1,048,576, an eightfold difference
True for every model
Section titled “True for every model”| Accepted parameters | temperature, max_tokens, top_p, stream, response_format, tools, tool_choice, parallel_tool_calls, reasoning_effort |
| Silently dropped | stop, seed, logit_bias, logprobs, top_logprobs, top_k, min_p, repetition_penalty |
| How to turn thinking on | reasoning_effort (or the equivalent reasoning.effort) |
| Reported tokenizer | GPT |
| Stability | experimental |
Parameters outside the accepted list are stripped before the request reaches the inference backend — no error, no effect. If you need them, use a dedicated endpoint, which forwards the request body to vLLM or SGLang untouched.