Skip to content

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.

ModelContextImage inputThinks with reasoning_effort omitted
DeepSeek-V4-Flash1,048,576❌❌
DeepSeek-V4-Flash-Vision-Exp1,048,576✅❌
DeepSeek-V4.1-Flash1,048,576✅❌
Qwen3.8-Flash-Next262,144✅✅
Qwen3.8-27B131,072✅✅
GLM-5.3-Flash262,144❌✅
MiMo-V2.6-Flash1,048,576✅✅
MiniCPM5-2B131,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.

The accepted tiers differ per model:

ModelAccepted values
DeepSeek-V4-Flashnone minimal low medium high xhigh max
DeepSeek-V4-Flash-Vision-Expnone minimal low medium high xhigh max
DeepSeek-V4.1-Flashnone minimal low medium high xhigh max
Qwen3.8-Flash-Nextnone low medium xhigh
Qwen3.8-27Blow medium xhigh
GLM-5.3-Flashlow medium high
MiMo-V2.6-Flashnone 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.

ModelWith reasoning_effort omittedusage.reasoning_tokens (top level)
DeepSeek-V4-Flashdoes not think✅
DeepSeek-V4-Flash-Vision-Expdoes not think✅
DeepSeek-V4.1-Flashdoes not think✅
Qwen3.8-Flash-Nextthinks anyway✅
Qwen3.8-27Bthinks anyway❌
GLM-5.3-Flashthinks anyway❌
MiniCPM5-2Bdoes 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.

Modelsystem messagesRole name
DeepSeek-V4-Flashany position, more than one allowedsystem or developer
DeepSeek-V4-Flash-Vision-Expany position, more than one allowedsystem or developer
DeepSeek-V4.1-Flashany position, more than one allowedsystem or developer
Qwen3.8-Flash-Nextexactly one, and it must come firstsystem
Qwen3.8-27Bat most one, and it must come firstsystem
GLM-5.3-Flashany position, more than one allowedsystem
MiniCPM5-2Bany position, more than one allowedsystem

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: developer

Newer 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.

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.

Four models take images; put an image_url content part in the content array:

ModelPer-image metering
DeepSeek-V4-Flash-Vision-Expusage.prompt_tokens_details.image_tokens, 115 in the sample
DeepSeek-V4.1-Flashusage.prompt_tokens_details.image_tokens, 202 in the sample
Qwen3.8-Flash-Nextusage.prompt_tokens_details.image_tokens, 144 in the sample
Qwen3.8-27Busage.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.

The shape every chat model here accepts:

  • a single system message at index 0, with the role spelled system
  • reasoning_effort of low or medium, or omitted entirely — not high (400 on Qwen3.8-27B) and not xhigh (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 content textual unless the target model supports images
  • size max_tokens against the target model’s window — they span 131,072 to 1,048,576, an eightfold difference
Accepted parameterstemperature, max_tokens, top_p, stream, response_format, tools, tool_choice, parallel_tool_calls, reasoning_effort
Silently droppedstop, seed, logit_bias, logprobs, top_logprobs, top_k, min_p, repetition_penalty
How to turn thinking onreasoning_effort (or the equivalent reasoning.effort)
Reported tokenizerGPT
Stabilityexperimental

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.