Skip to Content
ModelsDoubao Seed

Doubao Seed family

ByteDance’s Doubao Seed text models, including Seed 2.1 Pro, Seed 2.1 Turbo, Seed Evolving and Seed Character. They are called through the OpenAI-compatible API, and all except Seed Character also support the Anthropic-native API, so they work in Claude Code. For Doubao’s image generation models, see Seedream (Doubao); for video models, see Seedance.

Common tasks

Models

For the full model list and live prices, see the model page . The model ID prefix is volcengine/ and can be omitted; the bytedance/ or doubao/ prefixes, or Volcano Engine Ark model names with dates, return 404.

Common model IDs (copy them exactly)
Seed 2.1 Provolcengine/doubao-seed-2.1-pro256K context; supports image input
Seed 2.1 Turbovolcengine/doubao-seed-2.1-turbo256K context; supports image input
Seed Evolvingvolcengine/doubao-seed-evolving256K context; supports image input
Seed Charactervolcengine/doubao-seed-characterNo thinking by default; no Anthropic API support

These models are served by Volcano Engine (volcengine) and all support the Chat Completions and Responses APIs.

Examples

doubao_basic.py
import os from openai import OpenAI client = OpenAI(base_url="https://api.ofox.ai/v1", api_key=os.environ["OFOX_API_KEY"]) resp = client.chat.completions.create( model="volcengine/doubao-seed-2.1-pro", messages=[{"role": "user", "content": "Explain idempotency in one sentence."}], extra_body={"thinking": {"type": "disabled"}}, ) print(resp.choices[0].message.content)

Deep thinking

Key pointSeed 2.1 Pro, Seed 2.1 Turbo and Seed Evolving have deep thinking on by default, so even simple questions can take tens of seconds. If you don’t need thinking, set the thinking type to disabled.
ModelDefaultHow to control
Seed 2.1 Pro, Seed 2.1 Turbo, Seed EvolvingOn"thinking": {"type": "disabled"} turns it off; reasoning_effort: "low" reduces thinking
Seed CharacterOffreasoning_effort not supported
  • thinking.type accepts enabled and disabled; auto returns 400.
  • In our tests with “Explain idempotency in one sentence”, Seed 2.1 Pro thought for about 1,500 tokens by default and took about 40 seconds; Seed Evolving used about 1,700 tokens and took about 54 seconds. With thinking off, responses came back in about 2 seconds.
  • Thinking tokens count toward max_tokens. If the limit is too low, content may be empty, with finish_reason set to length.
  • Thinking tokens are billed at the output rate; the count is in usage.completion_tokens_details.reasoning_tokens.

Reading thinking content: in streaming responses it is in delta.reasoning_content; in non-streaming responses it is in message.reasoning_details, where you concatenate the text of each item in order.

Use in Claude Code

Seed 2.1 Pro, Seed 2.1 Turbo and Seed Evolving support the Anthropic-native API at https://api.ofox.ai/anthropic:

Claude Code settings
ANTHROPIC_BASE_URLhttps://api.ofox.ai/anthropic
ANTHROPIC_AUTH_TOKENPaste your OfoxAI API key
ANTHROPIC_MODELvolcengine/doubao-seed-2.1-pro
  • On the Anthropic API, no thinking content is returned unless you pass the thinking parameter. To get thinking, pass "thinking": {"type": "enabled", "budget_tokens": 2000} or {"type": "adaptive"}; thinking content is returned as thinking blocks.
  • Seed Character does not support the Anthropic API; calls return protocol_not_supported.

For full Claude Code setup steps, see Claude Code setup.

Image input and structured output

  • Image input: all of the models above support image input, using the standard image_url content block; see Vision for the syntax. Image URLs must be quickly downloadable from the public internet, or the request returns Timeout while downloading url; you can also send base64 data instead.
  • Structured output: response_format supports json_schema and json_object; see Structured output for the syntax.
  • Tool calling: uses the standard tools parameter and returns tool_calls.

Common errors

HTTP · typeError messageCauseFix
400 BadRequestContains Unsupported thinking type for the current model: autothinking.type was set to autoUse enabled or disabled
400 BadRequestContains Invalid combination of reasoning_effort and thinking type: low + disabledreasoning_effort was sent to Seed CharacterRemove reasoning_effort
400 BadRequestContains integer above maximum value, expected a value <= 262144max_tokens exceeds the limitLower max_tokens
400 BadRequestContains Timeout while downloading urlDownloading the image URL timed outUse a URL that loads quickly, or switch to base64
400 protocol_not_supportedModel 'volcengine/doubao-seed-character' does not support the 'anthropic' protocol on this platform.Seed Character does not support the Anthropic APIUse the OpenAI-compatible API
404 model_not_foundModel 'bytedance/doubao-seed-2.1-pro' not foundWrong prefixThe prefix is volcengine/; copy the model ID from this page
Request timeout—Deep thinking is on by default and takes timeTurn thinking off, use streaming, or set the client timeout to 600 seconds or more

For other general errors, see Error Handling.

Official docs

FAQ

How do I write a Doubao model ID?

The standard format is volcengine/doubao-seed-2.1-pro; you can also omit the prefix and write doubao-seed-2.1-pro. The bytedance/ or doubao/ prefixes return 404.

Why is Doubao so slow to respond?

Seed 2.1 Pro, Seed 2.1 Turbo and Seed Evolving have deep thinking on by default, so even simple questions may use over a thousand thinking tokens and take tens of seconds. If you do not need thinking, pass "thinking": {"type": "disabled"}; with the OpenAI SDK, put it in extra_body.

Can I use Doubao in Claude Code?

Yes. Set ANTHROPIC_BASE_URL to https://api.ofox.ai/anthropic and use volcengine/doubao-seed-2.1-pro as the model. Seed Character does not support the Anthropic API.

Can Doubao understand images?

Yes. Seed 2.1 Pro, Seed 2.1 Turbo, Seed Evolving and Seed Character all support image input.

Last updated on