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

Doubao parameter and protocol differences

Understand Doubao parameter differences and usage across compatible protocols.

For Doubao 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
doubao-seed-2-1-lite-260915, doubao-seed-evolving, doubao-seed-2-1-pro-260915All support Chat, Responses and Messages; thinking and tool rules are combined. Audio input is listed only within Lite's supported scope
doubao-seed-evolvingA continuously updated model ID, not the same version as a dated Pro model; keep calling configuration stable within a Session

Chat Completions differences

FieldDifference
thinking.typeSupports enabled/disabled; thinking is enabled by default
reasoning_effortDefault: high; effective levels: low/medium/high; minimal disables thinking. Compatibility values map none to minimal and xhigh/max to high
max_tokensDefault: 4096; limits the final answer only, excluding thinking; not a combined budget
max_completion_tokensIncludes thinking and the final answer; the official Chat field range is 1~65536. Mutually exclusive with max_tokens; do not use the model's advertised maximum output as this field's limit
temperature, top_pRanges: [0,2] and [0,1], respectively; the fixed-temperature 1 rule from some old Seed 2.0 versions does not apply
frequency_penalty, presence_penaltyUnsupported by Seed 2.0 and later; a capability limitation, not official deprecation
stop, logprobsThe vendor does not support these by default on deep-thinking models; none of these three models is a listed exception
reasoning_content, encrypted_contentReturns a thinking summary and encrypted original by default. Replay encrypted_content unchanged for multi-turn tools; summaries cannot replace it. If both are supplied, encrypted content takes precedence
stream_options.chunk_include_usageDefault: false; true returns cumulative usage in each chunk. Do not sum cumulative counts across chunks
stream_options.include_usageControls the final total-usage chunk before completion. Lite returns request usage by default; other models require explicit enabling. Cumulative per-chunk usage and final total usage are separate settings
response_formatSupports json_object/json_schema, with the vendor's Beta designation; strict: true constrains the supported Schema subset, not every JSON Schema keyword

Responses differences

FieldDifference
reasoning.effortUses minimal/low/medium/high and compatibility mappings, with the same default as Chat; not a top-level request field
max_output_tokensIncludes thinking and the final answer; do not reuse Chat's answer-only budget or limits
text.formatPut JSON Schema configuration inside text.format with name/schema/strict, not Qwen's nested text.format.json_schema structure
store, previous_response_idstore defaults to true; a real response ID can continue history and original thinking. Previous instructions are not inherited automatically
Manual history replayWithout a response ID, replay all returned reasoning, messages and tool-call items; do not replace encrypted content with a thinking summary
max_tool_callsRange: 1~10; limits built-in tool-call rounds, not calls within each round. Best-effort, not a hard cap on all function calls
service_tier, storeIn the vendor's flex mode, store must be false; server-side response storage cannot be used simultaneously

Messages differences

FieldDifference
max_tokensOptional in the vendor API, unlike Claude's required field; the examples still explicitly set the output budget
output_config.effortControls thinking effort using model defaults and compatibility mappings; do not move Chat's top-level field into this request
output_formatTop-level extension supporting text/json_object/json_schema; put the Schema in output_format.schema, not Claude's output_config.format
temperature, top_pRanges: [0,2] and [0,1], respectively, including valid top_p: 0
stop_sequencesThe general field accepts a string or array, but the vendor does not support it by default for deep-thinking models. A listed field alone does not guarantee stop behavior
Historical thinking blocksReplay returned thinking and signature completely, keeping values and block order unchanged; do not fabricate signatures or reconstruct history from summaries

Cache differences

FieldDifference
Implicit cachingChat / Responses enable it automatically and cannot disable it; matching prefixes need at least 1024 Token on these models, without guaranteeing hits
prompt_cache_keyChat / Responses cache-routing hint; keep it stable within a conversation. The same key does not guarantee a fixed instance or a cache hit
Responses cachingNative explicit-cache extension enabled by type: "enabled"; prefix: true writes only a prefix without generating a response, while false generates and writes cache normally
caching combination restrictionsCannot combine with instructions or non-Function tools; do not reuse another vendor's TTL or Session Header
Cache usageChat: inspect usage.prompt_tokens_details.cached_tokens; Responses: usage.input_tokens_details.cached_tokens; Messages: returned usage.cache_read_input_tokens and usage.cache_creation_input_tokens

Media input differences

InputProtocol content blockDifference
Imageimage_urlChat: pass a public URL or Base64 Data URL in image_url.url; put detail in image_url.detail
Videovideo_urlChat: pass the video in video_url.url; fps belongs inside video_url, alongside url
PDFfileChat: choose one of file.file_url/file_data/file_id; file content currently supports PDF only
Audioinput_audioLite only, Chat: choose one of input_audio.url/data/file_id; data uses raw Base64 and requires format
Imageinput_imageResponses: use a image_url string or native file ID, not Chat's nested object
Videoinput_videoResponses: put the video address in a video_url string, with fps on the same content block
PDFinput_fileResponses: use file_url/file_data/file_id; maximum 50 MB for Base64 or URL files
Audioinput_audioLite only, Responses: use audio_url for a URL / Base64 Data URL or reference a native file ID, unlike Chat's input_audio.data
ImageimageMessages: supply a public URL through source, or media_type with raw Base64 data
PDFdocumentMessages: send PDF through source in a document block; do not reuse Chat's file block
FieldDifference
fpsRange: 0.2~5; default: 1; Chat and Responses field locations differ, as shown above
Lite audioAudio files: at most 25 MB; total audio-only input per request: at most 120 minutes. Use Chat / Responses for audio input
Evolving mediaSupports images, video visuals and documents; not audio or video soundtracks
Native file IDComes from Ark Files API and is associated with the upload project and file type; this page does not promise an equivalent AGTCloud upload endpoint

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