Doubao Seed 2.0 Quick Chat
curl --request POST \
--url https://direct.evolink.ai/v1/chat/completions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "doubao-seed-2.0-pro",
"messages": [
{
"role": "user",
"content": "Hello, introduce the new features of Doubao Seed 2.0"
}
]
}
'import requests
url = "https://direct.evolink.ai/v1/chat/completions"
payload = {
"model": "doubao-seed-2.0-pro",
"messages": [
{
"role": "user",
"content": "Hello, introduce the new features of Doubao Seed 2.0"
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
model: 'doubao-seed-2.0-pro',
messages: [
{role: 'user', content: 'Hello, introduce the new features of Doubao Seed 2.0'}
]
})
};
fetch('https://direct.evolink.ai/v1/chat/completions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://direct.evolink.ai/v1/chat/completions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'model' => 'doubao-seed-2.0-pro',
'messages' => [
[
'role' => 'user',
'content' => 'Hello, introduce the new features of Doubao Seed 2.0'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://direct.evolink.ai/v1/chat/completions"
payload := strings.NewReader("{\n \"model\": \"doubao-seed-2.0-pro\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"Hello, introduce the new features of Doubao Seed 2.0\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://direct.evolink.ai/v1/chat/completions")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"model\": \"doubao-seed-2.0-pro\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"Hello, introduce the new features of Doubao Seed 2.0\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://direct.evolink.ai/v1/chat/completions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"model\": \"doubao-seed-2.0-pro\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"Hello, introduce the new features of Doubao Seed 2.0\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "0217714854126607f5a9cf8ed5b018c76e4ad3dc2810db57ffb50",
"model": "doubao-seed-2-0-pro-260215",
"object": "chat.completion",
"created": 1771485416,
"service_tier": "default",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Hello! Doubao Seed 2.0 is ByteDance's next-generation large language model, featuring enhanced reasoning, multimodal understanding, and deep thinking capabilities..."
},
"finish_reason": "stop",
"moderation_hit_type": "severe_violation"
}
],
"usage": {
"prompt_tokens": 15,
"completion_tokens": 256,
"total_tokens": 271,
"prompt_tokens_details": {
"cached_tokens": 0
},
"completion_tokens_details": {
"reasoning_tokens": 0
}
}
}{
"error": {
"code": 400,
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}{
"error": {
"code": 401,
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": 402,
"message": "Insufficient quota",
"type": "insufficient_quota_error",
"fallback_suggestion": "https://evolink.ai/dashboard/billing"
}
}{
"error": {
"code": 403,
"message": "Access denied for this model",
"type": "permission_error",
"param": "model"
}
}{
"error": {
"code": 404,
"message": "Specified model not found",
"type": "not_found_error",
"param": "model",
"fallback_suggestion": "doubao-seed-2.0-pro"
}
}{
"error": {
"code": 429,
"message": "Rate limit exceeded",
"type": "rate_limit_error",
"fallback_suggestion": "retry after 60 seconds"
}
}{
"error": {
"code": 500,
"message": "Internal server error",
"type": "internal_server_error",
"fallback_suggestion": "try again later"
}
}{
"error": {
"code": 502,
"message": "Upstream AI service unavailable",
"type": "upstream_error",
"fallback_suggestion": "try different model"
}
}{
"error": {
"code": 503,
"message": "Service temporarily unavailable",
"type": "service_unavailable_error",
"fallback_suggestion": "retry after 30 seconds"
}
}Chat Completions API
Doubao Seed 2.0 - Quick Start
- Call Doubao Seed 2.0 series models using OpenAI SDK format
- Synchronous processing mode, returns chat content in real time
- Minimized parameters for quick start
- Supported models:
doubao-seed-2.0-pro,doubao-seed-2.0-lite,doubao-seed-2.0-mini,doubao-seed-2.0-code - Need more features? See Full Parameter Documentation
POST
/
v1
/
chat
/
completions
Doubao Seed 2.0 Quick Chat
curl --request POST \
--url https://direct.evolink.ai/v1/chat/completions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "doubao-seed-2.0-pro",
"messages": [
{
"role": "user",
"content": "Hello, introduce the new features of Doubao Seed 2.0"
}
]
}
'import requests
url = "https://direct.evolink.ai/v1/chat/completions"
payload = {
"model": "doubao-seed-2.0-pro",
"messages": [
{
"role": "user",
"content": "Hello, introduce the new features of Doubao Seed 2.0"
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
model: 'doubao-seed-2.0-pro',
messages: [
{role: 'user', content: 'Hello, introduce the new features of Doubao Seed 2.0'}
]
})
};
fetch('https://direct.evolink.ai/v1/chat/completions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://direct.evolink.ai/v1/chat/completions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'model' => 'doubao-seed-2.0-pro',
'messages' => [
[
'role' => 'user',
'content' => 'Hello, introduce the new features of Doubao Seed 2.0'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://direct.evolink.ai/v1/chat/completions"
payload := strings.NewReader("{\n \"model\": \"doubao-seed-2.0-pro\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"Hello, introduce the new features of Doubao Seed 2.0\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://direct.evolink.ai/v1/chat/completions")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"model\": \"doubao-seed-2.0-pro\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"Hello, introduce the new features of Doubao Seed 2.0\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://direct.evolink.ai/v1/chat/completions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"model\": \"doubao-seed-2.0-pro\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"Hello, introduce the new features of Doubao Seed 2.0\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "0217714854126607f5a9cf8ed5b018c76e4ad3dc2810db57ffb50",
"model": "doubao-seed-2-0-pro-260215",
"object": "chat.completion",
"created": 1771485416,
"service_tier": "default",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Hello! Doubao Seed 2.0 is ByteDance's next-generation large language model, featuring enhanced reasoning, multimodal understanding, and deep thinking capabilities..."
},
"finish_reason": "stop",
"moderation_hit_type": "severe_violation"
}
],
"usage": {
"prompt_tokens": 15,
"completion_tokens": 256,
"total_tokens": 271,
"prompt_tokens_details": {
"cached_tokens": 0
},
"completion_tokens_details": {
"reasoning_tokens": 0
}
}
}{
"error": {
"code": 400,
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}{
"error": {
"code": 401,
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": 402,
"message": "Insufficient quota",
"type": "insufficient_quota_error",
"fallback_suggestion": "https://evolink.ai/dashboard/billing"
}
}{
"error": {
"code": 403,
"message": "Access denied for this model",
"type": "permission_error",
"param": "model"
}
}{
"error": {
"code": 404,
"message": "Specified model not found",
"type": "not_found_error",
"param": "model",
"fallback_suggestion": "doubao-seed-2.0-pro"
}
}{
"error": {
"code": 429,
"message": "Rate limit exceeded",
"type": "rate_limit_error",
"fallback_suggestion": "retry after 60 seconds"
}
}{
"error": {
"code": 500,
"message": "Internal server error",
"type": "internal_server_error",
"fallback_suggestion": "try again later"
}
}{
"error": {
"code": 502,
"message": "Upstream AI service unavailable",
"type": "upstream_error",
"fallback_suggestion": "try different model"
}
}{
"error": {
"code": 503,
"message": "Service temporarily unavailable",
"type": "service_unavailable_error",
"fallback_suggestion": "retry after 30 seconds"
}
}BaseURL: The default BaseURL is
https://direct.evolink.ai, which has better support for text models and long-lived connections. https://api.evolink.ai is the primary endpoint for multimodal services and serves as a fallback address for text models.Authorizations
##All APIs require Bearer Token authentication##
Get API Key:
Visit the API Key Management Page to get your API Key
Add to request header:
Authorization: Bearer YOUR_API_KEY
Body
application/json
Chat model name
doubao-seed-2.0-pro: Flagship, strongest overall capability, ideal for complex reasoning and high-quality generationdoubao-seed-2.0-lite: Lightweight, faster speed, cost-effectivedoubao-seed-2.0-mini: Ultra-fast, quickest response, suitable for simple tasksdoubao-seed-2.0-code: Code-specialized, optimized for code generation and understanding
Available options:
doubao-seed-2.0-pro, doubao-seed-2.0-lite, doubao-seed-2.0-mini, doubao-seed-2.0-code Example:
"doubao-seed-2.0-pro"
Chat message list
Minimum array length:
1Show child attributes
Show child attributes
Example:
[ { "role": "user", "content": "Hello, introduce the new features of Doubao Seed 2.0" } ]
Response
Chat completion successful
Unique identifier of chat completion
Example:
"0217714854126607f5a9cf8ed5b018c76e4ad3dc2810db57ffb50"
Actual model name used
Example:
"doubao-seed-2-0-pro-260215"
Response type
Available options:
chat.completion Example:
"chat.completion"
Creation timestamp
Example:
1771485416
Service tier for this request
default: Default service tierscale: Used reserved quota
Available options:
default, scale Example:
"default"
Chat completion choices list
Show child attributes
Show child attributes
Token usage statistics
Show child attributes
Show child attributes