Direct
Direct upstream connection — best when you need native behavior and the full context window.
| Input context | Input | Output | Cache read |
|---|---|---|---|
| ≤ 32K | 0.47/M | 2.35/M | 0.09/M |
| 32K – 128K | 0.71/M | 3.53/M | 0.14/M |
| > 128K | 1.41/M | 7.06/M | 0.28/M |

doubao-seed-2-0-pro-260215Flagship all-purpose general model, designed for complex reasoning and long-chain task execution scenarios in the Agent era. Emphasizes multimodal understanding, long-context reasoning, structured generation, and tool-augmented execution. Outstanding capability in following complex instructions and satisfying multiple constraints, reliably handling multi-step complex planning, complex image-text reasoning, video content understanding, and high-difficulty analysis scenarios.
The same model is available through multiple service channels — choose based on latency, reliability and cost.
Prices in $ / 1M tokensprovider field to the request body, for example "provider": { "channel": "direct" }. Valid values are direct / stable / economical; omit it to use the default channel.Direct upstream connection — best when you need native behavior and the full context window.
| Input context | Input | Output | Cache read |
|---|---|---|---|
| ≤ 32K | 0.47/M | 2.35/M | 0.09/M |
| 32K – 128K | 0.71/M | 3.53/M | 0.14/M |
| > 128K | 1.41/M | 7.06/M | 0.28/M |
Doubao-Seed-2.0-pro is the flagship general-purpose model of ByteDance's Doubao large model family, designed for complex reasoning and long-chain task execution scenarios in the Agent era. It emphasizes multimodal understanding, long-context reasoning, structured generation, and tool-augmented execution.
This model stands out especially in complex instruction following and multi-constraint execution, capable of reliably handling scenarios such as multi-step complex planning, complex image-text reasoning, video content understanding, and high-difficulty analysis. With a 1M token context window, it is a suitable choice for enterprise-grade complex business scenarios.
SeaWhale AI provides Doubao-Seed-2.0-pro through an OpenAI-compatible interface, supporting multimodal input, tool calling, and streaming output.
Get API Key · Model ID:
doubao-seed-2-0-pro-260215
Doubao-Seed-2.0-pro's core positioning is "complex reasoning for the Agent era." It can break down multi-step plans, track state across long chains, and handle branches and exceptions during execution.
When a task has multiple mutually constraining requirements at the same time (format, length, standards, factual constraints), the Pro version's multi-constraint execution capability is especially evident.
Supports complex image-text reasoning and video content understanding, and can handle analytical tasks that require cross-modal association.
In scenarios that require strictly structured output (JSON, tables, reports), the Pro version demonstrates strong stability and accuracy.
| Scenario | Description |
|---|---|
| Complex Agent tasks | Multi-step planning and autonomous long-chain execution |
| High-difficulty analysis | Business and data analysis requiring complex reasoning |
| Image-text and video understanding | Cross-modal content analysis and extraction |
| Multi-constraint content generation | Simultaneously meeting format, standards, and factual requirements |
| Enterprise-grade automation | Process implementation of complex business rules |
| Long-context processing | Large-scale materials within a 1M token window |
| Capability | Doubao-Seed-2.0-pro | Doubao-Seed-2.0-lite |
|---|---|---|
| Model ID | doubao-seed-2-0-pro-260215 |
doubao-seed-2-0-lite-260215 |
| Positioning | Flagship general-purpose | Balanced for high-frequency enterprise scenarios |
| Context window | 1M tokens | 1M tokens |
| Maximum output | 65.5K tokens | 65.5K tokens |
| Input modalities | Text, image | Text, image |
| Focus | Complex reasoning and long-chain execution | Balance of performance and cost |
| Best suited for | High-difficulty complex tasks | High-frequency production work |
The Doubao series is billed in tiers by input length (32K / 128K / longer). Please refer to the real-time price card at the top of the page for details.
1. Create a SeaWhale AI API Key Generate a key in the console and top up your balance.
2. Note the Tiered Pricing The Doubao series is billed in three tiers by input token length. For the same task, keeping the context within 32K is far cheaper than exceeding 128K — it's worth optimizing your prompt design.
3. Call the API
curl -X POST https://api.seawhaleai.com/v1/chat/completions \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"model": "doubao-seed-2-0-pro-260215",
"messages": [
{"role": "user", "content": "Based on this quarterly data, output a structured report containing three analysis dimensions, with each part no more than 300 words."}
],
"stream": true
}'
How do I choose between Pro and lite? Choose Pro if you need complex reasoning, multi-step planning, or high-difficulty analysis; for high-frequency production work such as content creation, information processing, and data analysis, lite is sufficient and costs much less.
What are the context and output limits? 1M token context window, with a maximum output of 65,500 tokens.
Does it support video? Yes, it supports video content understanding. Please refer to the API documentation for specific input formats and limitations.
What exactly does "multi-constraint execution" mean? It means satisfying multiple mutually constraining requirements at the same time, such as 'use no more than 300 words, write in the third person, cite only the given materials, and output in JSON format' — this type of composite constraint is where the Pro version excels.
Why is the price divided into three tiers? The Doubao series is tiered by input token length (32K / 128K / longer), and the unit price for shorter inputs is significantly lower. Controlling context length is an effective way to reduce costs.
Is it suitable for enterprise-grade deployment? Yes. It is designed for complex business scenarios in the Agent era and performs stably in implementing complex rules and multi-constraint execution.
doubao-seed-2-0-pro-260215https://api.seawhaleai.com/v2/"provider": { "channel": "direct" }SeaWhale AI is compatible with the OpenAI API protocol, so you can call it with the OpenAI SDK or plain HTTP requests. Streaming is enabled by default.
About the provider parameter (optional, a SeaWhale AI extension): most models are served over several channels that differ slightly in price and reliability. Add a provider field to the request body to pick one; omit it and the system selects the default channel — normal calls are unaffected.
provideris not part of the official OpenAI protocol — it is a SeaWhale AI extension that only takes effect on this platform. The OpenAI SDK allows custom fields like this to pass through; see the examples below.
| Value | Channel | Best for |
|---|---|---|
direct | Direct | The official upstream link, for native behavior and the full context window |
stable | Preferred | Balanced availability and speed — a good default for production traffic |
economical | Economy | Cost first, well suited to batch processing and price-sensitive workloads |
Available channels and their prices are listed under "Pricing" above (channels vary by model). Additional notes:
"provider": { "channel": "direct" }.extra_body; in Node.js put it directly on the request object and it passes through. In TypeScript projects, add a // @ts-expect-error line to skip the type check.curl https://api.seawhaleai.com/v2/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <API_KEY>" \
-d '{
"model": "doubao-seed-2-0-pro-260215",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello!"}
],
"provider": { "channel": "direct" },
"stream": true
}'
# provider is optional — remove this line to use the default channelfrom openai import OpenAI
client = OpenAI(
base_url="https://api.seawhaleai.com/v2",
api_key="<API_KEY>",
)
stream = client.chat.completions.create(
model="doubao-seed-2-0-pro-260215",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello!"},
],
stream=True,
# Optional: pick a service channel; omit to use the default
extra_body={"provider": {"channel": "direct"}},
)
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)import OpenAI from 'openai'
const client = new OpenAI({
baseURL: 'https://api.seawhaleai.com/v2',
apiKey: '<API_KEY>',
})
const stream = await client.chat.completions.create({
model: 'doubao-seed-2-0-pro-260215',
messages: [
{ role: 'system', content: 'You are a helpful assistant.' },
{ role: 'user', content: 'Hello!' },
],
stream: true,
// Optional: pick a service channel; omit to use the default
// @ts-expect-error provider is a SeaWhale AI extension, not in the OpenAI SDK types
provider: { channel: 'direct' },
})
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content ?? '')
}