Dola Seed 2.0 Pro vs Claude Fable 5.1
Claude Fable 5.1 est accessible sur invitation. Les chiffres ci-dessous sont bien ses tarifs en vigueur, mais votre espace de travail doit d'abord y être autorisé : demandez-nous l'accès avant de bâtir quoi que ce soit sur ce comparatif.
Lequel choisir, et quand
Dola-Seed-2.0-pro est l'unité de travail la moins chère de loin - $0.5 contre $10 par million de tokens en entrée (20x) et $3 contre $50 en sortie (environ 16.7x) - et c'est le seul des deux qui accepte l'entrée vidéo et permet de désactiver la réflexion, choisissez-le donc pour le chat à haut volume, le code et l'utilisation d'outils où vous souhaitez avoir le contrôle sur le coût du raisonnement. Choisissez claude-fable-5-1 lorsque la tâche nécessite son contexte de 1,000,000 de tokens au lieu de 256,000, et acceptez que la réflexion ne puisse pas être désactivée et que les entrées soient limitées au texte et à l'image. Les lectures de cache des deux sont peu chères, à $0.1 et $0.25 par million.
Benchmarks
Dola Seed 2.0 Pro : le fournisseur n'a publié aucun résultat de benchmark.
Chiffres publiés par les fournisseurs : Alibaba (Qwen) Anthropic ByteDance DeepSeek Google MiniMax Moonshot OpenAI Tencent Z.ai
Tarifs
| Dola Seed 2.0 Pro | Claude Fable 5.1 | Δ | |
|---|---|---|---|
| Entrée / 1M de tokens | $0.5 | $10 | 0.05× |
| Sortie / 1M de tokens | $3 | $50 | 0.06× |
| Lecture de cache / 1M de tokens | $0.1 | $0.25 | 0.4× |
| Écriture de cache | - | 1.25x (5m) / 2x (1h) | - |
Tarifs relevés dans le catalogue en direct à la génération du site ; la page de chaque modèle affiche la grille tarifaire à jour.
Leur position : prix en entrée pour 1M de tokens, parmi les 79 modèles de chat facturés dans cette unité (échelle logarithmique)
Capacités
| Dola Seed 2.0 Pro | Claude Fable 5.1 | |
|---|---|---|
| Appel d'outils | oui | oui |
| Contrôle de la réflexion | configurable | toujours activé |
| Sortie structurée | - | oui |
| Mise en cache des prompts | implicite + explicite | explicite (vous indiquez le préfixe) |
| Durée de vie du cache | non publié | 5m default, 1h option |
| Préfixe minimal mis en cache | 1024 tokens | 1024 tokens |
Spécifications
| Dola Seed 2.0 Pro | Claude Fable 5.1 | |
|---|---|---|
| Modalités d'entrée | texte image vidéo | texte image |
| Modalités de sortie | texte | texte |
| Date de sortie | 2026-02-14 | 2026-09-01 |
| Coupure des connaissances | - | 2026-06 |
| Fenêtre de contexte | 256K | 1M |
| Sortie maximale | 131K | 128K |
| Paramètre de réflexion |
| output_config.effort (thinking is adaptive-only and always on) |
| Valeurs acceptées | thinking.type
reasoning_effort
| effort
|
| Valeur par défaut | enabled, with reasoning_effort medium and thinking summary on | thinking always on (adaptive) effort
|
Les spécifications sont reprises de la documentation de chaque fournisseur ; quand un fournisseur ne publie pas une valeur, la ligne est omise et non déduite. Sources complètes : Dola Seed 2.0 Pro · Claude Fable 5.1
Un prompt, deux modèles, mesurés via la passerelle
Dola Seed 2.0 Pro réussi · 3 sentences
Reasoning-enabled LLMs do not generate final answers in one pass: they run hundreds of unshown internal trial, cross-check, and correction steps for every user request, and every one of these hidden steps consumes billable GPU time just like the visible output text. Unlike our prior standard chat workload which only processed exactly what users typed, reasoning mode automatically executes these validation loops by default, with no visible indicator to end users that extra compute is being consumed. This 2x increase is not a billing error or rogue usage spike: industry benchmarks consistently put reasoning workloads at 1.7-2.6x the compute cost of equivalent standard LLM requests, and this pricing dynamic is almost never clearly disclosed on vendor rate cards.
sortie 563 tok (+416 réflexion) latence 9.4 s
Claude Fable 5.1 réussi · 3 sentences
When we enabled reasoning, the model started generating a long chain of internal "thinking" tokens before producing each answer, and we're billed for those tokens at the same output rate even though users never see them. In practice, that hidden reasoning often runs several times longer than the visible response, so the total tokens per request roughly doubled while the number of requests stayed flat. The upside is measurably better accuracy on complex tasks, so the right conversation is whether that quality gain justifies the cost—and if not, we can restrict reasoning to the workflows that actually need it rather than turning it on globally.
sortie 186 tok latence 3.2 s
Le respect de la consigne (exactement trois phrases, ça se compte), l'adaptation au public visé (le registre d'un directeur financier) et l'écart de facturation dû à la réflexion masquée, que révèlent les compteurs de tokens ci-dessous.
Dola Seed 2.0 Pro réussi · 8/8 cases
### Corrected Implementation ```python def longest_run(xs): if not xs: return 0 best = 1 cur = 1 for i in range(1, len(xs)): if xs[i] == xs[i - 1]: cur += 1 best = max(best, cur) else: cur = 1 return best ``` --- ### Bug Explanation The original code has three critical linked flaws: 1. It initialized run counters `best` and `cur` to `0` instead of `1`, failing to account for the fact that *every individual element is already a valid run of length 1* -- this causes single-element inputs to incorrectly return `0`. 2. `cur` only counted how many extra matching elements followed the start of a run, so it always tracked one less than the actual run length, and it reset to `0` (instead of `1`) when a new run began, preserving this off-by-one error for all runs. 3. […]
sortie 1278 tok (+951 réflexion) latence 16.7 s
Claude Fable 5.1 réussi · 8/8 cases
```python def longest_run(xs): if not xs: return 0 best = cur = 1 for i in range(1, len(xs)): cur = cur + 1 if xs[i] == xs[i - 1] else 1 best = max(best, cur) return best ``` The bug is that `cur` counts *matches between adjacent elements* rather than *elements in the run*: it starts at 0 and only increments when `xs[i] == xs[i-1]`, so a run of length k produces a count of k−1. That's why a single element returns 0 instead of 1, and why every other run also comes out one short — the "misses runs at the end" reports are the same off-by-one seen on inputs like `[1, 2, 2]`, where the trailing run of length 2 is reported as 1 (the original code does update `best` inside the loop, so end-of-list runs aren't actually skipped, just undercounted). […]
sortie 882 tok (+507 réflexion) latence 3.4 s
La justesse réelle du correctif (il s'exécute), la densité de l'explication et l'économie de tokens sur une tâche bien délimitée.
Dola Seed 2.0 Pro réussi · 5/5 fields, guidance null
{ "company": "Meridian Robotics", "quarter": "September quarter", "revenue_usd_m": 412, "growth_pct": 11, "guidance": null }
sortie 506 tok (+452 réflexion) latence 8.6 s
Claude Fable 5.1 réussi · 5/5 fields, guidance null
```json { "company": "Meridian Robotics", "quarter": "Q3 (September quarter)", "revenue_usd_m": 412, "growth_pct": 11, "guidance": null } ``` Notes on judgment calls (not part of the object): - **revenue_usd_m**: The text says "412 for the topline" but never states the currency or that the figure is in millions; it's also on a constant-currency basis and prefaced with "call it," so it's approximate. If you want strict literalism, this should be `null`. - **growth_pct**: "Eleven and change" means slightly above 11%; the exact figure isn't given. - **quarter**: "September quarter" is Q3 on a calendar basis, consistent with the reference to a pending Q4 close. - **guidance**: Explicitly withheld, so `null`.
sortie 633 tok (+349 réflexion) latence 3.8 s
Le respect du schéma (aucun champ inventé), la tentation d'halluciner (le texte indique que la guidance n'est pas communiquée) et les différences entre les mécanismes de sortie structurée.
Dola Seed 2.0 Pro réussi · 123 words, 0 banned, 1 question
Today we’re rolling out cross-provider prompt caching for our API gateway. For engineering teams routing LLM requests across OpenAI, Anthropic, Mistral and open source models, this feature stores identical prompt payloads at the gateway layer, rather than relying on per-provider cache implementations limited to single endpoints. How much time and compute could your team save by avoiding redundant token processing for repeated system prompts, context windows, or common user queries? Cache hits return responses in under 10ms, with configurable TTL, granular purge controls, and per-application cache partitioning. Early access teams running support bots, batch inference and internal assistants recorded 42-67% lower LLM spend. This feature is live for all gateway users today, with no required code changes to existing routing workflows. (120 words)
sortie 1041 tok (+872 réflexion) latence 11.4 s
Claude Fable 5.1 réussi · 121 words, 0 banned, 1 question
**Introducing Cross-Provider Prompt Caching for the Gateway.** Starting today, your API gateway can cache prompts once and reuse them across OpenAI, Anthropic, Google, and any other provider you route to. Long system instructions, retrieval context, and few-shot examples are stored at the gateway layer, so switching models no longer means paying to resend the same tokens. Why send the same 8,000-token preamble to three different vendors when you could send it once? Our cache normalizes prompt segments, fingerprints them, and serves matching prefixes from memory before the request ever reaches an upstream API. Early customers report token costs falling by 30 to 60 percent on high-volume workloads, with median latency dropping alongside. Available today on all Team and Enterprise plans.
sortie 1722 tok (+1463 réflexion) latence 2.9 s
Le respect des contraintes (nombre de mots, liste de mots interdits, une seule question), l'empreinte stylistique et la maîtrise de la longueur.
Passez de l'un à l'autre en changeant une seule ligne
Les deux identifiants figurent dans chaque onglet ci-dessous : les deux lignes surlignées sont le seul changement. Même endpoint, même clé, même format de requête.
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-pro",
# model="claude-fable-5-1", # décommentez cette ligne, commentez celle du dessus
messages=[{"role": "user", "content": "Summarize this diff"}],
reasoning_effort="medium",
)
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-pro",
// model: "claude-fable-5-1", // décommentez cette ligne, commentez celle du dessus
messages: [{ role: "user", content: "Summarize this diff" }],
reasoning_effort: "medium",
});
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-pro",
# "model": "claude-fable-5-1", # décommentez cette ligne, commentez celle du dessus
"messages": [{"role": "user", "content": "Hello"}],
"reasoning_effort": "medium"
}'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-pro",
// Model: "claude-fable-5-1", // décommentez cette ligne, commentez celle du dessus
Messages: []openai.ChatCompletionMessageParamUnion{
openai.UserMessage("Summarize this diff"),
},
ReasoningEffort: openai.ReasoningEffortMedium,
})
fmt.Println(resp.Choices[0].Message.Content)
}import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.chat.completions.*;
import com.openai.models.ReasoningEffort;
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-pro")
// .model("claude-fable-5-1") // décommentez cette ligne, commentez celle du dessus
.addUserMessage("Summarize this diff")
.reasoningEffort(ReasoningEffort.MEDIUM)
.build());
System.out.println(resp.choices().get(0).message().content().orElse(""));FAQ
Lequel est le moins cher, Dola Seed 2.0 Pro ou Claude Fable 5.1 ?
Dola Seed 2.0 Pro est moins cher sur la ligne « Entrée / 1M de tokens » ($0.5 contre $10, soit un écart de 20×). D'autres lignes peuvent dire l'inverse : le tableau ci-dessus donne la grille tarifaire complète, et le coût réel dépend de la composition de votre trafic.
Puis-je faire un test A/B entre Dola Seed 2.0 Pro et Claude Fable 5.1 sans deux intégrations ?
Oui. Les deux passent par le même endpoint compatible OpenAI, avec une seule clé API. Pour passer de l'un à l'autre, il suffit de changer l'identifiant du modèle, soit une ligne : vous pouvez donc envoyer une part du trafic à chacun et comparer directement les factures.
Dola Seed 2.0 Pro et Claude Fable 5.1 prennent-ils en charge la mise en cache des prompts ?
Oui. Les deux facturent les lectures de cache moins cher que leur tarif d'entrée : une charge de travail dont le préfixe est déjà en cache coûte donc moins que ne le laissent penser les tarifs publics. Les lignes de lecture de cache figurent dans le tableau des tarifs ci-dessus.