BUILD
Models & T1 profiles
You don’t pick a raw model name. You pick a T1 profile, a routing strategy that continuously selects the best available model, tools and reasoning depth for your task.
The four profiles
| Profile | Best for | Character |
|---|---|---|
t1-auto | You want the router to pick per prompt (default in editors) | Heuristic routing across Core, Flow, Max |
t1-core | Classification, extraction, support, search, high-volume agents | Fast, efficient, grounded |
t1-flow | Connected tools, teams, long-running creative work | Adaptive orchestration |
t1-max | Research, code, strategy, consequential or multimodal work | Everything the others do, plus extended thinking, video and audio |
Capability matrix
T1 is a strict superset up the ladder: Max does everything Flow can, Flow does everything Core can. If a modality is not listed on a lower tier, use Max (or Auto, which routes there for you).
| Capability | Core | Flow | Max |
|---|---|---|---|
| Text in / text out | Yes | Yes | Yes |
| Tool use (function calling) | Yes | Yes | Yes |
| Streaming | Yes | Yes | Yes |
| Vision (images) | Yes | Yes | Yes |
| PDF / document input | Yes | Yes | Yes |
| Prompt caching | Yes | Yes | Yes |
| Extended thinking | No | No | Yes |
| Video input | No | No | Yes |
| Audio input | No | No | Yes |
t1-auto and the router hard-floors at Max. There is no configuration to change.Reliability by design
Every tier has a primary and a failover chain across independent providers. When the primary hiccups, the request moves to the next entry in the chain without changing your call. Providers are chosen for uncorrelated failure modes so a bad afternoon at one vendor never stops the tier.
Two-stage routing
Picking a tier is stage one. Stage two picks the right specialist inside the tier for the shape of your request. A code prompt on Flow does not always run the tier default. A long-context prompt on Max does not always run the tier default. The router inspects the prompt and swaps to a specialist when there is a clear better fit at the tier's quality bar.
| Task shape | What we optimise for |
|---|---|
| Code (fenced blocks or coding cue) | Code-tuned specialist within the tier |
Structured output (json_schema) | Strict schema compliance |
| Long context (over 50k characters) | Long-context specialist |
Autocomplete shape (tiny maxTokens, no tools) | Low-latency P50 |
| Everything else | The tier default |
The tier promise is preserved. The intra-tier router never crosses tier boundaries: a Flow specialist is always at Flow quality or above, never a Core-tier model. Max stays a strict superset of Flow, and Flow stays a strict superset of Core.
Selecting a profile
// Let the router pick
await taskclan.run({ profile: "t1-auto", goal: "Draft the release notes" });
// Fast + cheap
await taskclan.run({ profile: "t1-core", goal: "Classify this ticket" });
// Balanced default
await taskclan.run({ profile: "t1-flow", goal: "Plan the migration and list open questions" });
// Deep reasoning + everything modality
await taskclan.run({
profile: "t1-max",
goal: "Summarise the key moments in this meeting",
videos: [{ url: "https://example.com/standup.mp4" }],
});Model independence
Behind T1, requests may be served by leading open and proprietary models. Providers process your request under terms that restrict training on your data. We never train foundation models on your content without an explicit opt-in, see the AI Policy.
Controlling cost & latency
- Default to
t1-corefor anything high-volume or latency-sensitive. - Reserve
t1-maxfor tasks where quality clearly justifies the cost. - Set
maxTokensand timeouts to bound spend on open-ended goals.
