Dola Seed 2.0 Lite vs Claude Fable 5.1
Claude Fable 5.1 is served by invitation. Its figures below are the live rates, but calls need a workspace grant first; ask us for access before you build on this comparison.
Which one, when
Dola-Seed-2.0-lite is the cheaper, broader-input option: $0.25 input and $2 output per million tokens, 40x and 25x less than claude-fable-5-1's $10 and $50, and it accepts video and audio alongside text and image, with thinking that can be switched off and a slightly larger 131072-token output ceiling. Pick claude-fable-5-1 when you need its 1000000-token context (roughly four times Dola's 256000) plus always-on thinking and reasoning flags on text and image input, and can absorb the rate card. For high-volume multimodal ingest, Dola is the pragmatic default.
Benchmarks
Vendor-published: Alibaba (Qwen) Anthropic ByteDance DeepSeek Google MiniMax Moonshot OpenAI Tencent Z.ai
Pricing
| Dola Seed 2.0 Lite | Claude Fable 5.1 | Δ | |
|---|---|---|---|
| Input / 1M tokens | $0.25 | $10 | 0.025× |
| Output / 1M tokens | $2 | $50 | 0.04× |
| Cache read / 1M tokens | $0.05 | $0.25 | 0.2× |
| Cache write | - | 1.25x (5m) / 2x (1h) | - |
Rates from the live catalog at build time; each model page carries the current card.
Where they sit - input price per 1M tokens across all 67 chat models on this billing unit (log scale)
Capabilities
| Dola Seed 2.0 Lite | Claude Fable 5.1 | |
|---|---|---|
| Tool use | yes | yes |
| Thinking control | configurable | always on |
| Structured output | yes | yes |
| Prompt caching | implicit + explicit | explicit (you mark the prefix) |
| Cache lifetime | not published | 5m default, 1h option |
| Minimum cached prefix | 1024 tokens | 1024 tokens |
Specs
| Dola Seed 2.0 Lite | Claude Fable 5.1 | |
|---|---|---|
| Input modalities | text image audio video | text image |
| Output modalities | text | text |
| Released | 2026-02-14 | 2026-09-01 |
| Knowledge cutoff | - | 2026-06 |
| Context window | 256K | 1M |
| Max output | 131K | 128K |
| Thinking parameter |
| output_config.effort (thinking is adaptive-only and always on) |
| Accepted values | thinking.type
reasoning_effort
| effort
|
| Default | enabled, with reasoning_effort medium | thinking always on (adaptive) effort
|
Specs are transcribed from each vendor’s documentation; a row a vendor does not publish is left out rather than inferred. Full sources: Dola Seed 2.0 Lite · Claude Fable 5.1
Switch between them with one line
Both ids are in every tab below - the highlighted pair of lines is the only edit. Same endpoint, same key, same request shape.
from openai import OpenAI
client = OpenAI(
base_url="https://synthorai.io/v1",
api_key="sk-syn-...",
)
resp = client.chat.completions.create(
model="Dola-Seed-2.0-lite",
# model="claude-fable-5-1", # uncomment this line, comment the one above
messages=[{"role": "user", "content": "Summarize this diff"}],
)
print(resp.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://synthorai.io/v1",
apiKey: "sk-syn-...",
});
const resp = await client.chat.completions.create({
model: "Dola-Seed-2.0-lite",
// model: "claude-fable-5-1", // uncomment this line, comment the one above
messages: [{ role: "user", content: "Summarize this diff" }],
});
console.log(resp.choices[0].message.content);curl https://synthorai.io/v1/chat/completions \
-H "Authorization: Bearer sk-syn-..." \
-H "Content-Type: application/json" \
-d '{
"model": "Dola-Seed-2.0-lite",
# "model": "claude-fable-5-1", # uncomment this line, comment the one above
"messages": [{"role": "user", "content": "Hello"}]
}'package main
import (
"context"
"fmt"
"github.com/openai/openai-go/v3"
"github.com/openai/openai-go/v3/option"
)
func main() {
client := openai.NewClient(
option.WithBaseURL("https://synthorai.io/v1"),
option.WithAPIKey("sk-syn-..."),
)
resp, _ := client.Chat.Completions.New(context.TODO(), openai.ChatCompletionNewParams{
Model: "Dola-Seed-2.0-lite",
// Model: "claude-fable-5-1", // uncomment this line, comment the one above
Messages: []openai.ChatCompletionMessageParamUnion{
openai.UserMessage("Summarize this diff"),
},
})
fmt.Println(resp.Choices[0].Message.Content)
}import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.chat.completions.*;
OpenAIClient client = OpenAIOkHttpClient.builder()
.baseUrl("https://synthorai.io/v1")
.apiKey("sk-syn-...")
.build();
ChatCompletion resp = client.chat().completions().create(
ChatCompletionCreateParams.builder()
.model("Dola-Seed-2.0-lite")
// .model("claude-fable-5-1") // uncomment this line, comment the one above
.addUserMessage("Summarize this diff")
.build());
System.out.println(resp.choices().get(0).message().content().orElse(""));FAQ
Which is cheaper, Dola Seed 2.0 Lite or Claude Fable 5.1?
Dola Seed 2.0 Lite is cheaper on input / 1m tokens ($0.25 vs $10, 40× apart). Other rows may point the other way - the table above carries the full card, and real cost depends on your mix.
Can I A/B test Dola Seed 2.0 Lite against Claude Fable 5.1 without two integrations?
Yes. Both are served through the same OpenAI-compatible endpoint with one API key - switching is a one-line model-string change, so you can route a fraction of traffic to each and compare bills directly.
Do Dola Seed 2.0 Lite and Claude Fable 5.1 support prompt caching?
Yes - both bill cached reads below their input rate, so warm-prefix workloads cost less than the list rates suggest. The exact cache-read rows are in the pricing table above.