ByteDance AI · Sep 11, 2026

Doubao API: ByteDance's AI Models Explained

Doubao through Volcengine Ark: model IDs, dated pricing, OpenAI-compatible requests, and a production integration path.

AIWave EngineeringDated 2026-09-11Technical guide
Abstract data-flow illustration for Doubao API: ByteDance's AI Models Explained

“Doubao” is a model family, not a value you can safely paste into the model field. ByteDance serves the API through Volcengine Ark, where current model IDs include a family name, version, and sometimes a date suffix.

As of September 11, 2026, Ark's current text-generation recommendations include Doubao Seed Evolving, Seed 2.1 Pro, and Seed 2.1 Turbo. Earlier 1.x models and several Seed 2.0 entries sit in the previous-model section, so new integrations should begin with the live model catalog rather than an old tutorial.

Current models and direct prices

The official China-region rate card uses CNY per 1M tokens:

Model IDContextNew inputCached inputOutput
doubao-seed-evolving1024K¥6.00¥1.20¥30.00
doubao-seed-2-1-pro-260628256K¥6.00¥1.20¥30.00
doubao-seed-2-1-turbo-260628256K¥3.00¥0.60¥15.00

The Evolving model supports a 1024K context and up to 256K response. The Pro and Turbo entries list 256K context and up to 256K response, with a 4K default response limit. Ark also publishes a cache-storage rate, so cached-input cost is not the only cache-related meter to examine.

These are mainland Ark prices. No official USD price was established in this review, and a currency conversion would not capture regional availability, tax, or account terms.

### Which current model should you start with?

Use Turbo when cost and throughput matter more than the largest context. Start with Pro when you need a stronger general-purpose baseline at 256K. Evolving is the candidate for workloads that genuinely need the 1024K window. Those are starting hypotheses, not quality rankings. Build a small evaluation set from your own prompts, score task completion and error rate, and include the token bill for failed or retried runs. A larger context is useful only when the extra evidence improves the decision.

Direct API with curl

Ark's current quickstart uses the Responses API:

bash
curl https://ark.cn-beijing.volces.com/api/v3/responses \
  -H "Authorization: Bearer $ARK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"doubao-seed-2-1-pro-260628","input":"Summarize the migration risks."}'

Do not replace the dated ID with the display label from the pricing table. Ark also supports endpoint IDs for tighter permission control; decide which form your deployment will pin and document it.

Python example

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["ARK_API_KEY"],
    base_url="https://ark.cn-beijing.volces.com/api/v3",
)

response = client.responses.create(
    model="doubao-seed-2-1-pro-260628",
    input="Return a five-step rollout checklist.",
)
print(response.output_text)

AIWave's public catalog currently lists the same Pro and Evolving IDs behind an OpenAI-compatible gateway. With AIWave, use the model ID shown on the dated catalog and the https://aiwave.live/v1 base URL. Its USD price is an AIWave route price, not Volcengine's direct CNY price.

That distinction is useful when comparing options. A direct Ark account gives you the vendor's native features and billing. A gateway gives you a common client, one key, and a single USD invoice across several providers. It also adds a markup and an extra operational dependency. Pick the boundary that reduces total work for your application, not the one with the smallest number in a single table cell.

Production checks

Fetch the current model list before rollout and record the exact ID. Run one small request, one streaming request, and the largest realistic context test. Set an explicit output cap; the documented maximum is not a sensible default.

For cache-sensitive workloads, log cached input, new input, cache storage, and output separately. For agent workloads, test tool schemas and repeated calls under the same endpoint permissions. Handle authentication, insufficient balance, throttling, and upstream failures as different branches.

Finally, review lifecycle notices. A dated ID is valuable for reproducibility, but it also makes retirement planning part of the integration.

Primary references

Test the route with your own workload

Use one key, choose an explicit model ID, and check every request against the ledger.

Run a first request