AGTCloud API Docs
GuidesAPI ReferenceIntegrations and resourcesUpdate and help
Vendor parameter differences

Qwen parameter and protocol differences

Understand Qwen parameter differences and usage across compatible protocols.

For Qwen models, adjust your chosen protocol's parameters using this page. See Chat Completions, Responses and Messages for full request and response structures.

Applicable models

ModelApplies to
qwen3.8-max-0902, qwen3.8-flash, qwen3.8-maxAll support Chat, Responses and Messages; shared rules are combined, with media endpoint scope specified below

Chat Completions differences

FieldDifference
enable_thinking, reasoning_effortThinking is enabled by default; effective levels: low/medium/xhigh; default: xhigh. minimal maps to low, high/max to xhigh, and none disables thinking
thinking_budgetCannot be set together with reasoning_effort; doing so returns an error. When effort alone is set, low/medium/xhigh correspond to thinking budgets 4096/16384/262144, respectively
max_tokens, max_completion_tokensmax_tokens limits only the final answer and is marked for upcoming deprecation. For new integrations, use max_completion_tokens to budget thinking and the answer together
temperatureRange: [0,2); thinking-mode defaults: 1.0 for text, 0.6 for visual input; values below 0.6 become 0.6. Non-thinking default: 0.7
top_p, top_ktop_p range: (0,1]; thinking / non-thinking defaults: 0.95/0.8. Extension top_k is a nonnegative integer, default 20; null or values above 100 disable Top-K
repetition_penaltyQwen extension; must exceed 0; default: 1.0; distinct from OpenAI's two penalty fields
preserve_thinkingEnabled by default; replay assistant thinking unchanged in its original reasoning_content field, not in content. Missing thinking does not itself cause an error
tool_choiceSupports auto/none; thinking mode disallows required or a named function. Non-thinking mode allows a named function, but required still does not guarantee a tool call
tool_streamDefault: false; controls incremental complex tool arguments only with stream=true. Max models support text scenarios only; Flash supports all modalities
response_formatSupports json_object/json_schema; the former requires a JSON keyword in the prompt; the latter defines structure through response_format.json_schema. Thinking need not be disabled
enable_search, search_optionsenable_search defaults to false; search_options.forced_search can force search. These models use strategies turbo/max. With include_tool_usage=true, actual search-call statistics appear in usage.x_tools

Responses differences

FieldDifference
reasoning.effortSupports none/low/medium/xhigh; default: xhigh; minimal maps to low, and high/max to xhigh
enable_thinkingCompatibility switch scheduled for removal; the vendor recommends reasoning.effort. If both are supplied, reasoning.effort takes precedence
max_output_tokensMinimum: 16; includes thinking and the final answer
text.formatSupports text/json_object/json_schema; JSON Schema settings go inside text.format.json_schema, containing name/schema/strict, unlike the original protocol's flat structure
tool_choiceSupports auto/none/required and an allowed_tools object; required is available only with exactly one tool in the list
toolsAlongside functions, supports built-ins such as web_search, web_extractor and code_interpreter. Web extraction requires search; the code interpreter requires thinking
store, previous_response_id, conversationSupports server-side history; store defaults to true, and response IDs last 7 days. The latter two fields are mutually exclusive
background and other extension parametersBackground asynchronous execution is unsupported; OpenAI parameters not listed in the vendor's Responses Reference are ignored

Messages differences

FieldDifference
thinking.typeSupports enabled/disabled, with thinking enabled by default; do not apply Claude's adaptive configuration
output_config.effortUses low/medium/xhigh, defaulting to xhigh; high/max maps to xhigh. Do not reuse all Chat compatibility mappings
thinking.budget_tokensMarked for upcoming deprecation; use output_config.effort for new integrations. With the old budget configuration, max_tokens must exceed that budget
max_tokensRequired; on Qwen3.8, limits thinking and the final answer together
temperature, messages[].roleTemperature range: [0,2); roles also allow system in addition to user/assistant
tool_result.contentReturn tool results as strings; serialize objects or arrays first rather than using Claude's content-block arrays
output_config.formatSupports strict JSON Schema; use type: "json_schema", put the Schema in schema, and set additionalProperties to false
web_search in toolsSearch tool name: web_search; use a dated type such as web_search_20250305. HTTP / SDK calls must also add client identifier x-anthropic-billing-header: cc_entrypoint=cli; to system

Cache differences

FieldDifference
Implicit cachingEnabled automatically; matching prefixes need at least 1024 Token to qualify, without guaranteeing a hit
Chat / Messages explicit cachingMark content blocks with cache_control: { type: "ephemeral" }; minimum: 1024 Token; valid for 5 minutes, refreshed on a hit; at most 4 markers
Explicit cache locationsSystem prompts must use content-block arrays. Tool definitions contribute to the prefix, but markers placed on tool definitions alone are ignored. Do not reuse other TTLs or cache-breakpoint fields from the general Reference
Responses Session cacheEnable through Header x-dashscope-session-cache: enable; default: disable. Disabling Session caching does not disable automatic implicit caching
Cache usageChat: inspect usage.prompt_tokens_details.cached_tokens; Responses: usage.input_tokens_details.cached_tokens; Messages: usage.cache_read_input_tokens and usage.cache_creation_input_tokens

Media input differences

InputProtocol content blockDifference
Imageimage_urlChat: image_url.url supports public URLs or Base64 Data URLs
Videovideo_urlChat extension: video_url.url supports public URLs or Base64 Data URLs; fps belongs on the content block alongside video_url
Frame listvideoChat extension: pass chronological images in a video array; at least 4 frames
Imageinput_imageResponses: image_url is a public URL or complete Base64 Data URL string, not Chat's nested object
PDFinput_fileThe vendor explicitly lists qwen3.8-max and qwen3.8-flash for Responses. Use file_url for a public PDF up to 100 MB; do not apply OCR-specific parameters to these models
ImageimageMessages: provide url for source.type=url; provide media_type and raw Base64 data for base64
VideovideoMessages extension: source contains a public URL, or media_type and raw Base64 data; this is not a native Claude content block
FieldDifference
Chat image controlsContent-block min_pixels/max_pixels adjust image pixels; with top-level vl_high_resolution_images=true, max_pixels no longer applies
Image sizePublic images: at most 20 MB. Images before Base64 encoding: at most 20 MB. Encoded Data URLs: at most 20 MB in Chat or 32 MB in Messages
Video limitsPublic videos: at most 2 GB; Base64 strings: less than 10 MB. Only visuals are processed, not the video's audio
Protocol scopeThese models do not use Omni audio endpoints; Responses input_audio/input_video are currently Omni-only. Do not move Chat / Messages video blocks into Responses

Request examples

Replace MODEL_ID with the full platform model ID and use your own API Key.

curl 'https://api.agtcloud.ai/v1/chat/completions' \
  -H 'Authorization: Bearer your-api-key' \
  -H 'Content-Type: application/json' \
  --data '{
    "model": "MODEL_ID",
    "messages": [{"role": "user", "content": "Explain how to troubleshoot an API timeout in three points"}],
    "reasoning_effort": "low",
    "max_completion_tokens": 4096
  }'

Official references

On this page