@mastra/mcp-docs-server 1.2.26-alpha.11 → 1.2.26-alpha.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.docs/docs/agents/guardrails.md +3 -0
- package/.docs/docs/guides/context-engineering.md +1 -1
- package/.docs/docs/harness/durable-agents.md +1 -1
- package/.docs/docs/memory/observational-memory.md +2 -2
- package/.docs/docs/studio/overview.md +4 -0
- package/.docs/integrations/sandboxes/cloudflare-sandbox.md +26 -1
- package/.docs/integrations/voice/openai.md +19 -7
- package/.docs/models/environment-variables.md +4 -0
- package/.docs/models/gateways/netlify.md +3 -1
- package/.docs/models/gateways/openrouter.md +2 -2
- package/.docs/models/gateways/vercel.md +6 -2
- package/.docs/models/index.md +1 -1
- package/.docs/models/providers/302ai.md +2 -1
- package/.docs/models/providers/aki-io.md +1 -1
- package/.docs/models/providers/alibaba-token-plan-cn.md +2 -1
- package/.docs/models/providers/amd.md +4 -2
- package/.docs/models/providers/coralbricks.md +10 -9
- package/.docs/models/providers/cortecs.md +10 -9
- package/.docs/models/providers/deepinfra.md +1 -1
- package/.docs/models/providers/digitalocean.md +2 -1
- package/.docs/models/providers/edenai.md +9 -9
- package/.docs/models/providers/empiriolabs.md +2 -1
- package/.docs/models/providers/friendli.md +3 -2
- package/.docs/models/providers/hyper.md +7 -7
- package/.docs/models/providers/infer.md +78 -0
- package/.docs/models/providers/kilo.md +7 -7
- package/.docs/models/providers/kimi-for-coding.md +1 -1
- package/.docs/models/providers/llmgateway-providers.md +4 -5
- package/.docs/models/providers/llmgateway.md +2 -1
- package/.docs/models/providers/melious.md +91 -0
- package/.docs/models/providers/nano-gpt.md +83 -97
- package/.docs/models/providers/ollama-cloud.md +22 -22
- package/.docs/models/providers/tinfoil.md +5 -4
- package/.docs/models/providers/vancine.md +11 -13
- package/.docs/models/providers/vispark.md +79 -0
- package/.docs/models/providers/wallaby.md +77 -0
- package/.docs/models/providers/wandb.md +2 -2
- package/.docs/models/providers.md +4 -0
- package/.docs/reference/agents/inngest-agent.md +1 -1
- package/.docs/reference/cli/mastra.md +24 -0
- package/.docs/reference/memory/observational-memory.md +3 -2
- package/.docs/reference/observability/tracing/interfaces.md +27 -5
- package/.docs/reference/processors/language-detector.md +2 -0
- package/.docs/reference/processors/moderation-processor.md +2 -0
- package/.docs/reference/processors/pii-detector.md +2 -0
- package/.docs/reference/processors/processor-interface.md +2 -0
- package/.docs/reference/processors/prompt-injection-detector.md +2 -0
- package/.docs/reference/processors/provider-history-compat.md +7 -6
- package/.docs/reference/processors/system-prompt-scrubber.md +2 -0
- package/package.json +4 -4
|
@@ -48,12 +48,15 @@ export const secureAgent = new Agent({
|
|
|
48
48
|
model: 'openrouter/openai/gpt-oss-safeguard-20b',
|
|
49
49
|
threshold: 0.8,
|
|
50
50
|
strategy: 'rewrite',
|
|
51
|
+
errorStrategy: 'strict',
|
|
51
52
|
detectionTypes: ['injection', 'jailbreak', 'system-override'],
|
|
52
53
|
}),
|
|
53
54
|
],
|
|
54
55
|
})
|
|
55
56
|
```
|
|
56
57
|
|
|
58
|
+
Model-backed guardrail processors default to `errorStrategy: 'warn'`, which logs internal model failures and continues with the processor's fallback. Use `errorStrategy: 'strict'` when unchecked content must not proceed if the guardrail model is unavailable or returns invalid output. Strict mode stops processing with a tripwire.
|
|
59
|
+
|
|
57
60
|
Visit [`PromptInjectionDetector()`](https://mastra.ai/reference/processors/prompt-injection-detector) reference for a full list of configuration options.
|
|
58
61
|
|
|
59
62
|
### Detect and translate language
|
|
@@ -204,7 +204,7 @@ export const assistant = new Agent({
|
|
|
204
204
|
})
|
|
205
205
|
```
|
|
206
206
|
|
|
207
|
-
After messages are observed, the model receives the observation log, recent messages that haven't been observed, and a continuation reminder. The raw messages remain stored but no longer occupy the active model context.
|
|
207
|
+
After messages are observed, the model receives the observation log, recent messages that haven't been observed, and a continuation reminder. Because delayed hints may be stale by the time a buffered chunk activates, async buffered observations don't generate continuation hints (`currentTask` or `suggestedResponse`). The raw messages remain stored but no longer occupy the active model context.
|
|
208
208
|
|
|
209
209
|
Observations are added in stable chunks, which helps providers reuse the existing prompt prefix. Observational Memory can also activate buffered observations after a prompt cache is likely to expire or before the agent changes providers.
|
|
210
210
|
|
|
@@ -84,7 +84,7 @@ Mastra provides three factory functions that produce durable agents. They differ
|
|
|
84
84
|
| `createEventedAgent()` | `@mastra/core` | Background execution. The workflow starts without blocking, and you consume chunks through PubSub. |
|
|
85
85
|
| `createInngestAgent()` | `@mastra/inngest` | Production deployments. Inngest adds step memoization, retries, and a monitoring dashboard. |
|
|
86
86
|
|
|
87
|
-
All three return an object you register with `Mastra` the same way as a regular agent. `createDurableAgent()` and `createEventedAgent()` return class instances that extend `Agent`. `createInngestAgent()` returns a Proxy-backed object that forwards `Agent` methods to the underlying agent.
|
|
87
|
+
All three return an object you register with `Mastra` the same way as a regular agent. `createDurableAgent()` and `createEventedAgent()` return class instances that extend `Agent`. `createInngestAgent()` returns a Proxy-backed object that forwards `Agent` methods to the underlying agent. When a signal wakes an idle thread, all three start that run with the durable `stream()`. `sendSignal()` and `sendNotificationSignal()` both work this way.
|
|
88
88
|
|
|
89
89
|
### In-process with `createDurableAgent()`
|
|
90
90
|
|
|
@@ -391,7 +391,7 @@ Date: 2026-01-15
|
|
|
391
391
|
- 🔴 12:15 User stated the app name is "Acme Dashboard"
|
|
392
392
|
```
|
|
393
393
|
|
|
394
|
-
The compression is typically between 5x and 40x.
|
|
394
|
+
The compression is typically between 5x and 40x. During synchronous observation, the Observer can also track a **current task** and **suggested response** so the agent picks up where it left off.
|
|
395
395
|
|
|
396
396
|
If you enable `observation.threadTitle`, the Observer can also suggest a short thread title when the conversation topic meaningfully changes. Thread title generation is opt-in and updates the thread metadata, so apps like Mastra Code can show the latest title in thread lists and status UI.
|
|
397
397
|
|
|
@@ -714,7 +714,7 @@ As the agent converses, message tokens accumulate. At regular intervals (`buffer
|
|
|
714
714
|
|
|
715
715
|
When message tokens reach the `messageTokens` threshold, buffered chunks activate: their observations move into the active observation log, and the corresponding raw messages are removed from the context window. The agent never pauses.
|
|
716
716
|
|
|
717
|
-
|
|
717
|
+
Async buffered Observer calls don't generate continuation hints because delayed hints can be stale by activation time. When buffered chunks activate, any previously stored suggested response and current task are cleared. The main agent receives the compressed observations without those hints.
|
|
718
718
|
|
|
719
719
|
When message production outpaces the Observer, the `blockAfter` safety threshold allows activation to overshoot the retention target instead of using fewer chunks. Activation still uses no more chunks than needed to reach the target, and the default settings remain unaffected. A synchronous observation runs when the `messageTokens` threshold is reached and buffered activation didn't happen. Buffered activation usually preserves a minimum remaining context (the smaller of \~1k tokens or the configured retention floor), but a single buffered chunk that covers the whole pending window still activates and can leave less.
|
|
720
720
|
|
|
@@ -55,6 +55,10 @@ Chat with your agent directly, switch [models](https://mastra.ai/models), and tw
|
|
|
55
55
|
|
|
56
56
|
When you interact with your agent, you can follow its reasoning and view tool call outputs. You can also [observe](#observability) traces and logs to see how responses are generated.
|
|
57
57
|
|
|
58
|
+
For a markdown table in a response, select **Copy table as markdown** above the table to copy it without the surrounding message. The copied table preserves markdown formatting and includes any link and footnote definitions it uses. To download the table as CSV, open the arrow beside the copy button and select **Download CSV**. Both actions become available once the text segment containing the table finishes streaming and displaying. The agent may still be running tools or writing later segments.
|
|
59
|
+
|
|
60
|
+
CSV exports contain plain cell text, including link labels rather than URLs. Footnote markers are preserved, but their definitions aren't included in the CSV. Values that could be interpreted as spreadsheet formulas receive a leading apostrophe so spreadsheet apps treat them as text. Ordinary signed numbers are preserved.
|
|
61
|
+
|
|
58
62
|
You can also attach [scorers](#scorers) to measure and compare response quality over time.
|
|
59
63
|
|
|
60
64
|
You can send a follow-up message in the same thread during an agent response stream. Studio shows the message as pending until the stream confirms it, then continues the response below that follow-up. Other Studio tabs that have the same thread open can observe the active stream.
|
|
@@ -91,6 +91,31 @@ await workspace.sandbox?.writeFiles?.([
|
|
|
91
91
|
])
|
|
92
92
|
```
|
|
93
93
|
|
|
94
|
+
## Read files
|
|
95
|
+
|
|
96
|
+
Read a single file back from `/workspace` as raw bytes. Relative paths resolve under `/workspace`, and absolute paths must also resolve within it.
|
|
97
|
+
|
|
98
|
+
```typescript
|
|
99
|
+
const bytes = await workspace.sandbox?.readFile?.('src/index.ts')
|
|
100
|
+
const source = new TextDecoder().decode(bytes)
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Persist and restore the workspace
|
|
104
|
+
|
|
105
|
+
`persistWorkspace()` archives `/workspace` and returns the raw tar bytes; `hydrateWorkspace()` restores it from those bytes. Store the archive between sessions to resume work after a container sleeps or is recreated.
|
|
106
|
+
|
|
107
|
+
```typescript
|
|
108
|
+
// Back up before the container can sleep
|
|
109
|
+
const archive = await workspace.sandbox?.persistWorkspace?.({ excludes: ['node_modules'] })
|
|
110
|
+
await myStorage.put('workspace-backup', archive)
|
|
111
|
+
|
|
112
|
+
// Later, on a fresh or reconnected sandbox
|
|
113
|
+
const archive = await myStorage.get('workspace-backup')
|
|
114
|
+
await workspace.sandbox?.hydrateWorkspace?.(archive)
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
For bucket mounts and execution sessions, use the corresponding `CloudflareSandboxBridgeClient` methods (`mountBucket`, `unmountBucket`, `createSession`, `deleteSession`) directly.
|
|
118
|
+
|
|
94
119
|
## Constructor parameters
|
|
95
120
|
|
|
96
121
|
**baseUrl** (`string`): URL of the deployed Cloudflare Sandbox Bridge Worker.
|
|
@@ -119,4 +144,4 @@ await workspace.sandbox?.writeFiles?.([
|
|
|
119
144
|
|
|
120
145
|
## Limitations
|
|
121
146
|
|
|
122
|
-
The provider
|
|
147
|
+
The provider surfaces command execution, streamed output, file reads and writes, and workspace persistence directly on the sandbox. Bucket mounts and sessions are available on the bridge client (`CloudflareSandboxBridgeClient`) but not on the `CloudflareSandbox` surface. PTY terminals are not exposed, and the provider doesn't support background process management, stdin, snapshots, or port URLs.
|
|
@@ -232,6 +232,16 @@ Disconnects from the OpenAI Realtime session and cleans up resources. Should be
|
|
|
232
232
|
|
|
233
233
|
Returns: `void`
|
|
234
234
|
|
|
235
|
+
#### `sendEvent()`
|
|
236
|
+
|
|
237
|
+
Sends a raw client event to the OpenAI Realtime session. Use this for session control that has no dedicated method, such as adding conversation items. Events sent before the session is created are queued and sent once it is.
|
|
238
|
+
|
|
239
|
+
**type** (`string`): OpenAI Realtime client event type, such as conversation.item.create.
|
|
240
|
+
|
|
241
|
+
**data** (`Record<string, unknown>`): Event payload sent alongside the type. (Default: `{}`)
|
|
242
|
+
|
|
243
|
+
Returns: `void`
|
|
244
|
+
|
|
235
245
|
#### `getSpeakers()`
|
|
236
246
|
|
|
237
247
|
Returns a list of available voice speakers.
|
|
@@ -270,17 +280,19 @@ The OpenAIRealtimeVoice class emits the following events:
|
|
|
270
280
|
|
|
271
281
|
#### OpenAI Realtime Events
|
|
272
282
|
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
**openAIRealtime:conversation.created** (`event`): Emitted when a new conversation is created.
|
|
283
|
+
Every server event received from the OpenAI Realtime API is also emitted with the `openAIRealtime:` prefix, using the [OpenAI server event type](https://platform.openai.com/docs/api-reference/realtime-server-events) as the suffix. The callback receives the complete event payload.
|
|
276
284
|
|
|
277
|
-
|
|
285
|
+
```typescript
|
|
286
|
+
voice.on('openAIRealtime:rate_limits.updated', event => {
|
|
287
|
+
console.log(event.rate_limits)
|
|
288
|
+
})
|
|
289
|
+
```
|
|
278
290
|
|
|
279
|
-
|
|
291
|
+
#### Socket Events
|
|
280
292
|
|
|
281
|
-
**
|
|
293
|
+
**open** (`event`): Emitted when the WebSocket connection to OpenAI opens.
|
|
282
294
|
|
|
283
|
-
**
|
|
295
|
+
**close** (`event`): Emitted when the WebSocket connection closes, including when OpenAI closes it. Callback receives { code: number, reason: string }.
|
|
284
296
|
|
|
285
297
|
### Available voices
|
|
286
298
|
|
|
@@ -79,6 +79,7 @@ List of required environment variables for each model provider and gateway suppo
|
|
|
79
79
|
| [Impossibl](https://mastra.ai/models/providers/impossibl) | `impossibl/*` | `IMPOSSIBL_API_KEY` |
|
|
80
80
|
| [Inception](https://mastra.ai/models/providers/inception) | `inception/*` | `INCEPTION_API_KEY` |
|
|
81
81
|
| [Inceptron](https://mastra.ai/models/providers/inceptron) | `inceptron/*` | `INCEPTRON_API_KEY` |
|
|
82
|
+
| [Infer by Flow7](https://mastra.ai/models/providers/infer) | `infer/*` | `INFER_API_KEY` |
|
|
82
83
|
| [Inference](https://mastra.ai/models/providers/inference) | `inference/*` | `INFERENCE_API_KEY` |
|
|
83
84
|
| [InferX](https://mastra.ai/models/providers/inferx) | `inferx/*` | `INFERX_API_KEY` |
|
|
84
85
|
| [Infomaniak](https://mastra.ai/models/providers/infomaniak) | `infomaniak/*` | `INFOMANIAK_PRODUCT_ID`, `INFOMANIAK_API_KEY` |
|
|
@@ -102,6 +103,7 @@ List of required environment variables for each model provider and gateway suppo
|
|
|
102
103
|
| [LucidQuery](https://mastra.ai/models/providers/lucidquery) | `lucidquery/*` | `LUCIDQUERY_API_KEY` |
|
|
103
104
|
| [Lynkr](https://mastra.ai/models/providers/lynkr) | `lynkr/*` | `LYNKR_API_KEY` |
|
|
104
105
|
| [Meganova](https://mastra.ai/models/providers/meganova) | `meganova/*` | `MEGANOVA_API_KEY` |
|
|
106
|
+
| [Melious](https://mastra.ai/models/providers/melious) | `melious/*` | `MELIOUS_API_KEY` |
|
|
105
107
|
| [Meta](https://mastra.ai/models/providers/meta) | `meta/*` | `META_MODEL_API_KEY` |
|
|
106
108
|
| [MiniMax (minimax.io)](https://mastra.ai/models/providers/minimax) | `minimax/*` | `MINIMAX_API_KEY` |
|
|
107
109
|
| [MiniMax (minimaxi.com)](https://mastra.ai/models/providers/minimax-cn) | `minimax-cn/*` | `MINIMAX_API_KEY` |
|
|
@@ -182,11 +184,13 @@ List of required environment variables for each model provider and gateway suppo
|
|
|
182
184
|
| [UnoRouter](https://mastra.ai/models/providers/unorouter) | `unorouter/*` | `UNOROUTER_API_KEY` |
|
|
183
185
|
| [Upstage](https://mastra.ai/models/providers/upstage) | `upstage/*` | `UPSTAGE_API_KEY` |
|
|
184
186
|
| [Vancine](https://mastra.ai/models/providers/vancine) | `vancine/*` | `VANCINE_API_KEY` |
|
|
187
|
+
| [Vispark](https://mastra.ai/models/providers/vispark) | `vispark/*` | `VISPARK_LAB_API_KEY` |
|
|
185
188
|
| [Vivgrid](https://mastra.ai/models/providers/vivgrid) | `vivgrid/*` | `VIVGRID_API_KEY` |
|
|
186
189
|
| [Volcengine Ark](https://mastra.ai/models/providers/volcengine) | `volcengine/*` | `ARK_API_KEY` |
|
|
187
190
|
| [Volcengine Ark Coding Plan](https://mastra.ai/models/providers/volcengine-coding-plan) | `volcengine-coding-plan/*` | `ARK_CODING_PLAN_API_KEY` |
|
|
188
191
|
| [Vultr](https://mastra.ai/models/providers/vultr) | `vultr/*` | `VULTR_API_KEY` |
|
|
189
192
|
| [Wafer](https://mastra.ai/models/providers/wafer.ai) | `wafer.ai/*` | `WAFER_API_KEY` |
|
|
193
|
+
| [Wallaby](https://mastra.ai/models/providers/wallaby) | `wallaby/*` | `WALLABY_API_KEY` |
|
|
190
194
|
| [Weights & Biases](https://mastra.ai/models/providers/wandb) | `wandb/*` | `WANDB_API_KEY` |
|
|
191
195
|
| [xAI](https://mastra.ai/models/providers/xai) | `xai/*` | `XAI_API_KEY` |
|
|
192
196
|
| [Xiaomi](https://mastra.ai/models/providers/xiaomi) | `xiaomi/*` | `XIAOMI_API_KEY` |
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
# Netlify
|
|
6
6
|
|
|
7
|
-
Netlify AI Gateway provides unified access to multiple providers with built-in caching and observability. Access
|
|
7
|
+
Netlify AI Gateway provides unified access to multiple providers with built-in caching and observability. Access 257 models through Mastra's model router.
|
|
8
8
|
|
|
9
9
|
Learn more in the [Netlify documentation](https://docs.netlify.com/build/ai-gateway/overview/).
|
|
10
10
|
|
|
@@ -117,6 +117,8 @@ ANTHROPIC_API_KEY=ant-...
|
|
|
117
117
|
| `openai/o3` |
|
|
118
118
|
| `openai/o3-mini` |
|
|
119
119
|
| `openai/o4-mini` |
|
|
120
|
+
| `openrouter/~deepseek/deepseek-flash-latest` |
|
|
121
|
+
| `openrouter/~deepseek/deepseek-pro-latest` |
|
|
120
122
|
| `openrouter/~deepseek/deepseek-v4-flash-latest` |
|
|
121
123
|
| `openrouter/~moonshotai/kimi-latest` |
|
|
122
124
|
| `openrouter/~x-ai/grok-latest` |
|
|
@@ -42,6 +42,8 @@ ANTHROPIC_API_KEY=ant-...
|
|
|
42
42
|
| `~anthropic/claude-haiku-latest` |
|
|
43
43
|
| `~anthropic/claude-opus-latest` |
|
|
44
44
|
| `~anthropic/claude-sonnet-latest` |
|
|
45
|
+
| `~deepseek/deepseek-flash-latest` |
|
|
46
|
+
| `~deepseek/deepseek-pro-latest` |
|
|
45
47
|
| `~deepseek/deepseek-v4-flash-latest` |
|
|
46
48
|
| `~google/gemini-flash-latest` |
|
|
47
49
|
| `~google/gemini-pro-latest` |
|
|
@@ -115,7 +117,6 @@ ANTHROPIC_API_KEY=ant-...
|
|
|
115
117
|
| `google/gemini-2.5-flash-lite` |
|
|
116
118
|
| `google/gemini-2.5-pro` |
|
|
117
119
|
| `google/gemini-2.5-pro-preview` |
|
|
118
|
-
| `google/gemini-2.5-pro-preview-05-06` |
|
|
119
120
|
| `google/gemini-3-flash-preview` |
|
|
120
121
|
| `google/gemini-3-pro-image` |
|
|
121
122
|
| `google/gemini-3-pro-image-preview` |
|
|
@@ -232,7 +233,6 @@ ANTHROPIC_API_KEY=ant-...
|
|
|
232
233
|
| `openai/gpt-3.5-turbo-instruct` |
|
|
233
234
|
| `openai/gpt-4` |
|
|
234
235
|
| `openai/gpt-4-turbo` |
|
|
235
|
-
| `openai/gpt-4-turbo-preview` |
|
|
236
236
|
| `openai/gpt-4.1` |
|
|
237
237
|
| `openai/gpt-4.1-mini` |
|
|
238
238
|
| `openai/gpt-4.1-nano` |
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
# Vercel
|
|
6
6
|
|
|
7
|
-
Vercel aggregates models from multiple providers with enhanced features like rate limiting and failover. Access
|
|
7
|
+
Vercel aggregates models from multiple providers with enhanced features like rate limiting and failover. Access 376 models through Mastra's model router.
|
|
8
8
|
|
|
9
9
|
Learn more in the [Vercel documentation](https://ai-sdk.dev/providers/ai-sdk-providers).
|
|
10
10
|
|
|
@@ -69,7 +69,6 @@ ANTHROPIC_API_KEY=ant-...
|
|
|
69
69
|
| `alibaba/qwen3.8-2.4t-a95b` |
|
|
70
70
|
| `alibaba/qwen3.8-27b` |
|
|
71
71
|
| `alibaba/qwen3.8-flash` |
|
|
72
|
-
| `alibaba/qwen3.8-flash-next` |
|
|
73
72
|
| `alibaba/qwen3.8-max` |
|
|
74
73
|
| `alibaba/qwen3.8-max-0902` |
|
|
75
74
|
| `alibaba/wan-v2.5-t2v-preview` |
|
|
@@ -117,6 +116,7 @@ ANTHROPIC_API_KEY=ant-...
|
|
|
117
116
|
| `bfl/flux-pro-1.1-ultra` |
|
|
118
117
|
| `bytedance/seed-1.6` |
|
|
119
118
|
| `bytedance/seed-1.8` |
|
|
119
|
+
| `bytedance/seed-2.1-turbo` |
|
|
120
120
|
| `bytedance/seedance-2.0` |
|
|
121
121
|
| `bytedance/seedance-2.0-fast` |
|
|
122
122
|
| `bytedance/seedance-2.0-mini` |
|
|
@@ -190,6 +190,8 @@ ANTHROPIC_API_KEY=ant-...
|
|
|
190
190
|
| `inclusionai/ling-3.0-flash-fin-free` |
|
|
191
191
|
| `inclusionai/ling-3.0-flash-sante` |
|
|
192
192
|
| `inclusionai/ling-3.0-flash-sante-free` |
|
|
193
|
+
| `inclusionai/ling-3.0-flash-vl` |
|
|
194
|
+
| `inclusionai/ling-3.0-flash-vl-free` |
|
|
193
195
|
| `interfaze/interfaze-beta` |
|
|
194
196
|
| `klingai/kling-v2.5-turbo-i2v` |
|
|
195
197
|
| `klingai/kling-v2.5-turbo-t2v` |
|
|
@@ -349,7 +351,9 @@ ANTHROPIC_API_KEY=ant-...
|
|
|
349
351
|
| `recraft/recraft-v4.1-pro` |
|
|
350
352
|
| `recraft/recraft-v4.1-utility` |
|
|
351
353
|
| `recraft/recraft-v4.1-utility-pro` |
|
|
354
|
+
| `sakana/fugu-max` |
|
|
352
355
|
| `sakana/fugu-ultra` |
|
|
356
|
+
| `sakana/fugu-ultra-v2` |
|
|
353
357
|
| `sakana/namazu` |
|
|
354
358
|
| `spacexai/grok-4.1-fast-non-reasoning` |
|
|
355
359
|
| `spacexai/grok-4.1-fast-reasoning` |
|
package/.docs/models/index.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
# Model Providers
|
|
6
6
|
|
|
7
|
-
Mastra provides a unified interface for working with LLMs across multiple providers, giving you access to
|
|
7
|
+
Mastra provides a unified interface for working with LLMs across multiple providers, giving you access to 7315 models from 204 providers through a single API.
|
|
8
8
|
|
|
9
9
|
## Features
|
|
10
10
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
# 302.AI
|
|
6
6
|
|
|
7
|
-
Access
|
|
7
|
+
Access 117 302.AI models through Mastra's model router. Authentication is handled automatically using the `302AI_API_KEY` environment variable.
|
|
8
8
|
|
|
9
9
|
Learn more in the [302.AI documentation](https://doc.302.ai).
|
|
10
10
|
|
|
@@ -55,6 +55,7 @@ for await (const chunk of stream) {
|
|
|
55
55
|
| `302ai/claude-sonnet-4-6` | 1.0M | | | | | | $3 | $15 |
|
|
56
56
|
| `302ai/claude-sonnet-4-6-thinking` | 1.0M | | | | | | $3 | $15 |
|
|
57
57
|
| `302ai/claude-sonnet-5` | 1.0M | | | | | | $2 | $10 |
|
|
58
|
+
| `302ai/deepseek-flash` | 1.0M | | | | | | $0.15 | $0.60 |
|
|
58
59
|
| `302ai/deepseek-v3.2` | 128K | | | | | | $0.29 | $0.43 |
|
|
59
60
|
| `302ai/deepseek-v3.2-thinking` | 128K | | | | | | $0.29 | $0.43 |
|
|
60
61
|
| `302ai/doubao-seed-1-6-thinking-250715` | 256K | | | | | | $0.12 | $1 |
|
|
@@ -40,8 +40,8 @@ for await (const chunk of stream) {
|
|
|
40
40
|
| ------------------------------------ | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
|
|
41
41
|
| `aki-io/deepseek-v4-flash-0731-284b` | 1.0M | | | | | | $0.20 | $0.50 |
|
|
42
42
|
| `aki-io/gemma4-26b` | 256K | | | | | | $0.10 | $0.50 |
|
|
43
|
+
| `aki-io/glm5.3-754b` | 524K | | | | | | $1 | $4 |
|
|
43
44
|
| `aki-io/gpt-oss-120b` | 128K | | | | | | $0.15 | $0.55 |
|
|
44
|
-
| `aki-io/kimi-k2.7-code-1100b` | 262K | | | | | | $0.86 | $3 |
|
|
45
45
|
| `aki-io/mistral4-119b` | 262K | | | | | | $0.20 | $0.60 |
|
|
46
46
|
| `aki-io/qwen3.6-35b` | 256K | | | | | | $0.15 | $0.50 |
|
|
47
47
|
| `aki-io/qwen3.8-27b` | 262K | | | | | | $0.30 | $2 |
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
# Alibaba Token Plan (China)
|
|
6
6
|
|
|
7
|
-
Access
|
|
7
|
+
Access 27 Alibaba Token Plan (China) models through Mastra's model router. Authentication is handled automatically using the `ALIBABA_TOKEN_PLAN_API_KEY` environment variable.
|
|
8
8
|
|
|
9
9
|
Learn more in the [Alibaba Token Plan (China) documentation](https://www.alibabacloud.com/help/zh/model-studio/token-plan-overview).
|
|
10
10
|
|
|
@@ -43,6 +43,7 @@ for await (const chunk of stream) {
|
|
|
43
43
|
| `alibaba-token-plan-cn/deepseek-v4-flash-0731` | 1.0M | | | | | | — | — |
|
|
44
44
|
| `alibaba-token-plan-cn/deepseek-v4-pro` | 1.0M | | | | | | — | — |
|
|
45
45
|
| `alibaba-token-plan-cn/deepseek-v4-pro-0813` | 1.0M | | | | | | — | — |
|
|
46
|
+
| `alibaba-token-plan-cn/deepseek-v4.1-flash` | 1.0M | | | | | | — | — |
|
|
46
47
|
| `alibaba-token-plan-cn/glm-5` | 203K | | | | | | — | — |
|
|
47
48
|
| `alibaba-token-plan-cn/glm-5.1` | 203K | | | | | | — | — |
|
|
48
49
|
| `alibaba-token-plan-cn/glm-5.2` | 1.0M | | | | | | — | — |
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
# AMD
|
|
6
6
|
|
|
7
|
-
Access
|
|
7
|
+
Access 6 AMD models through Mastra's model router. Authentication is handled automatically using the `AMD_API_KEY` environment variable.
|
|
8
8
|
|
|
9
9
|
Learn more in the [AMD documentation](https://developer.amd.com.cn/radeon/tokenfactory).
|
|
10
10
|
|
|
@@ -40,7 +40,9 @@ for await (const chunk of stream) {
|
|
|
40
40
|
| ---------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
|
|
41
41
|
| `amd/DeepSeek-V4-Flash` | 1.0M | | | | | | $0.14 | $0.28 |
|
|
42
42
|
| `amd/DeepSeek-V4-Flash-Vision-Exp` | 1.0M | | | | | | $0.14 | $0.28 |
|
|
43
|
-
| `amd/
|
|
43
|
+
| `amd/DeepSeek-V4.1-Flash` | 1.0M | | | | | | $0.14 | $0.28 |
|
|
44
|
+
| `amd/MiniCPM5-2B` | 131K | | | | | | $0.12 | $0.74 |
|
|
45
|
+
| `amd/Qwen3.8-27B` | 131K | | | | | | — | — |
|
|
44
46
|
| `amd/Qwen3.8-Flash-Next` | 262K | | | | | | $0.15 | $0.47 |
|
|
45
47
|
|
|
46
48
|
Model availability, capabilities, context windows, and pricing are sourced from [models.dev](https://models.dev) and may change.
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
# CoralBricks
|
|
6
6
|
|
|
7
|
-
Access
|
|
7
|
+
Access 4 CoralBricks models through Mastra's model router. Authentication is handled automatically using the `CORAL_API_KEY` environment variable.
|
|
8
8
|
|
|
9
9
|
Learn more in the [CoralBricks documentation](https://www.coralbricks.ai/docs).
|
|
10
10
|
|
|
@@ -19,7 +19,7 @@ const agent = new Agent({
|
|
|
19
19
|
id: "my-agent",
|
|
20
20
|
name: "My Agent",
|
|
21
21
|
instructions: "You are a helpful assistant",
|
|
22
|
-
model: "coralbricks/glm-5.3-fp4"
|
|
22
|
+
model: "coralbricks/glm-5.3-flash-fp4"
|
|
23
23
|
});
|
|
24
24
|
|
|
25
25
|
// Generate a response
|
|
@@ -36,11 +36,12 @@ for await (const chunk of stream) {
|
|
|
36
36
|
|
|
37
37
|
## Models
|
|
38
38
|
|
|
39
|
-
| Model
|
|
40
|
-
|
|
|
41
|
-
| `coralbricks/glm-5.3-fp4`
|
|
42
|
-
| `coralbricks/
|
|
43
|
-
| `coralbricks/
|
|
39
|
+
| Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
|
|
40
|
+
| ------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
|
|
41
|
+
| `coralbricks/glm-5.3-flash-fp4` | 1.0M | | | | | | $0.15 | $0.50 |
|
|
42
|
+
| `coralbricks/glm-5.3-fp4` | 1.0M | | | | | | $1 | $4 |
|
|
43
|
+
| `coralbricks/gpt-oss-120b` | 131K | | | | | | $0.12 | $0.60 |
|
|
44
|
+
| `coralbricks/kimi-k3` | 1.0M | | | | | | $3 | $15 |
|
|
44
45
|
|
|
45
46
|
Model availability, capabilities, context windows, and pricing are sourced from [models.dev](https://models.dev) and may change.
|
|
46
47
|
|
|
@@ -54,7 +55,7 @@ const agent = new Agent({
|
|
|
54
55
|
name: "custom-agent",
|
|
55
56
|
model: {
|
|
56
57
|
url: "https://inference.coralbricks.ai/v1",
|
|
57
|
-
id: "coralbricks/glm-5.3-fp4",
|
|
58
|
+
id: "coralbricks/glm-5.3-flash-fp4",
|
|
58
59
|
apiKey: process.env.CORAL_API_KEY,
|
|
59
60
|
headers: {
|
|
60
61
|
"X-Custom-Header": "value"
|
|
@@ -73,7 +74,7 @@ const agent = new Agent({
|
|
|
73
74
|
const useAdvanced = requestContext.task === "complex";
|
|
74
75
|
return useAdvanced
|
|
75
76
|
? "coralbricks/kimi-k3"
|
|
76
|
-
: "coralbricks/glm-5.3-fp4";
|
|
77
|
+
: "coralbricks/glm-5.3-flash-fp4";
|
|
77
78
|
}
|
|
78
79
|
});
|
|
79
80
|
```
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
# Cortecs
|
|
6
6
|
|
|
7
|
-
Access
|
|
7
|
+
Access 107 Cortecs models through Mastra's model router. Authentication is handled automatically using the `CORTECS_API_KEY` environment variable.
|
|
8
8
|
|
|
9
9
|
Learn more in the [Cortecs documentation](https://cortecs.ai).
|
|
10
10
|
|
|
@@ -49,12 +49,13 @@ for await (const chunk of stream) {
|
|
|
49
49
|
| `cortecs/claude-opus4-8` | 1.0M | | | | | | $5 | $27 |
|
|
50
50
|
| `cortecs/claude-sonnet-4` | 200K | | | | | | $3 | $14 |
|
|
51
51
|
| `cortecs/claude-sonnet-5` | 1.0M | | | | | | $2 | $11 |
|
|
52
|
-
| `cortecs/codestral-2508` | 256K | | | | | | $0.
|
|
52
|
+
| `cortecs/codestral-2508` | 256K | | | | | | $0.37 | $1 |
|
|
53
53
|
| `cortecs/deepseek-r1-0528` | 164K | | | | | | $0.65 | $3 |
|
|
54
54
|
| `cortecs/deepseek-v3.2` | 164K | | | | | | $0.30 | $0.49 |
|
|
55
55
|
| `cortecs/deepseek-v4-flash-0731` | 1.0M | | | | | | $0.09 | $0.17 |
|
|
56
56
|
| `cortecs/deepseek-v4-pro` | 1.0M | | | | | | $2 | $3 |
|
|
57
57
|
| `cortecs/deepseek-v4-pro-0813` | 1.0M | | | | | | $2 | $4 |
|
|
58
|
+
| `cortecs/deepseek-v4.1-flash` | 1.0M | | | | | | $0.50 | $1 |
|
|
58
59
|
| `cortecs/devstral-2512` | 256K | | | | | | $0.48 | $2 |
|
|
59
60
|
| `cortecs/gemini-2.5-flash` | 1.0M | | | | | | $0.30 | $2 |
|
|
60
61
|
| `cortecs/gemini-2.5-pro` | 1.0M | | | | | | $1 | $10 |
|
|
@@ -105,17 +106,17 @@ for await (const chunk of stream) {
|
|
|
105
106
|
| `cortecs/minimax-m2.5` | 196K | | | | | | $0.30 | $1 |
|
|
106
107
|
| `cortecs/minimax-m2.7` | 197K | | | | | | $0.67 | $3 |
|
|
107
108
|
| `cortecs/minimax-m3` | 1.0M | | | | | | $0.40 | $2 |
|
|
108
|
-
| `cortecs/ministral-14b-2512` | 256K | | | | | | $0.
|
|
109
|
-
| `cortecs/ministral-3b-2512` | 256K | | | | | | $0.
|
|
110
|
-
| `cortecs/ministral-8b-2512` | 256K | | | | | | $0.
|
|
109
|
+
| `cortecs/ministral-14b-2512` | 256K | | | | | | $0.24 | $0.24 |
|
|
110
|
+
| `cortecs/ministral-3b-2512` | 256K | | | | | | $0.12 | $0.12 |
|
|
111
|
+
| `cortecs/ministral-8b-2512` | 256K | | | | | | $0.18 | $0.18 |
|
|
111
112
|
| `cortecs/mistral-7b-instruct-v0.2` | 32K | | | | | | $0.16 | $0.22 |
|
|
112
113
|
| `cortecs/mistral-7b-instruct-v0.3` | 127K | | | | | | $0.11 | $0.11 |
|
|
113
114
|
| `cortecs/mistral-large-2402` | 32K | | | | | | $4 | $13 |
|
|
114
|
-
| `cortecs/mistral-large-2512` | 256K | | | | | | $0.
|
|
115
|
-
| `cortecs/mistral-medium-3.5` | 256K | | | | | | $
|
|
115
|
+
| `cortecs/mistral-large-2512` | 256K | | | | | | $0.61 | $2 |
|
|
116
|
+
| `cortecs/mistral-medium-3.5` | 256K | | | | | | $2 | $8 |
|
|
116
117
|
| `cortecs/mistral-nemo-instruct-2407` | 128K | | | | | | $0.14 | $0.14 |
|
|
117
118
|
| `cortecs/mistral-small-2503` | 128K | | | | | | $0.11 | $0.33 |
|
|
118
|
-
| `cortecs/mistral-small-2603` | 262K | | | | | | $0.
|
|
119
|
+
| `cortecs/mistral-small-2603` | 262K | | | | | | $0.16 | $0.63 |
|
|
119
120
|
| `cortecs/mistral-small-3.2-24b-instruct-2506` | 131K | | | | | | $0.10 | $0.31 |
|
|
120
121
|
| `cortecs/mixtral-8x7B-instruct-v0.1` | 32K | | | | | | $0.49 | $0.76 |
|
|
121
122
|
| `cortecs/nemotron-nano-v2-12b` | 128K | | | | | | $0.24 | $0.71 |
|
|
@@ -143,7 +144,7 @@ for await (const chunk of stream) {
|
|
|
143
144
|
| `cortecs/qwen3.8-flash-next` | 262K | | | | | | $0.20 | $0.50 |
|
|
144
145
|
| `cortecs/qwen3guard-gen-0.6b` | 32K | | | | | | — | — |
|
|
145
146
|
| `cortecs/qwen3guard-gen-8b` | 32K | | | | | | — | — |
|
|
146
|
-
| `cortecs/voxtral-small-2507` | 32K | | | | | | $0.
|
|
147
|
+
| `cortecs/voxtral-small-2507` | 32K | | | | | | $0.12 | $0.37 |
|
|
147
148
|
|
|
148
149
|
Model availability, capabilities, context windows, and pricing are sourced from [models.dev](https://models.dev) and may change.
|
|
149
150
|
|
|
@@ -82,7 +82,7 @@ for await (const chunk of stream) {
|
|
|
82
82
|
| `deepinfra/Qwen/Qwen3.6-35B-A3B` | 262K | | | | | | $0.10 | $0.95 |
|
|
83
83
|
| `deepinfra/Qwen/Qwen3.7-Max` | 256K | | | | | | $3 | $8 |
|
|
84
84
|
| `deepinfra/Qwen/Qwen3.8-2.4T-A95B` | 262K | | | | | | $2 | $6 |
|
|
85
|
-
| `deepinfra/Qwen/Qwen3.8-27B` | 262K | | | | | | $0.
|
|
85
|
+
| `deepinfra/Qwen/Qwen3.8-27B` | 262K | | | | | | $0.20 | $3 |
|
|
86
86
|
| `deepinfra/Qwen/Qwen3.8-Flash` | 1.0M | | | | | | $0.11 | $0.38 |
|
|
87
87
|
| `deepinfra/Qwen/Qwen3.8-Max` | 256K | | | | | | $2 | $5 |
|
|
88
88
|
| `deepinfra/stepfun-ai/Step-3.7-Flash` | 262K | | | | | | $0.20 | $1 |
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
# DigitalOcean
|
|
6
6
|
|
|
7
|
-
Access
|
|
7
|
+
Access 97 DigitalOcean models through Mastra's model router. Authentication is handled automatically using the `DIGITALOCEAN_ACCESS_TOKEN` environment variable.
|
|
8
8
|
|
|
9
9
|
Learn more in the [DigitalOcean documentation](https://docs.digitalocean.com/products/gradient-ai-platform/details/models/).
|
|
10
10
|
|
|
@@ -65,6 +65,7 @@ for await (const chunk of stream) {
|
|
|
65
65
|
| `digitalocean/deepseek-v4-flash-0731` | 1.0M | | | | | | $0.08 | $0.25 |
|
|
66
66
|
| `digitalocean/deepseek-v4-pro` | 1.0M | | | | | | $0.87 | $2 |
|
|
67
67
|
| `digitalocean/deepseek-v4-pro-0813` | 1.0M | | | | | | $1 | $4 |
|
|
68
|
+
| `digitalocean/deepseek-v4.1-flash` | 1.0M | | | | | | $0.30 | $1 |
|
|
68
69
|
| `digitalocean/e5-large-v2` | 512 | | | | | | $0.02 | — |
|
|
69
70
|
| `digitalocean/fal-ai/elevenlabs/tts/multilingual-v2` | — | | | | | | — | — |
|
|
70
71
|
| `digitalocean/fal-ai/fast-sdxl` | — | | | | | | — | — |
|
|
@@ -126,10 +126,10 @@ for await (const chunk of stream) {
|
|
|
126
126
|
| `edenai/deepinfra/thinkingmachines/Inkling` | 524K | | | | | | $0.95 | $4 |
|
|
127
127
|
| `edenai/deepinfra/thinkingmachines/Inkling-Small` | 524K | | | | | | $0.45 | $1 |
|
|
128
128
|
| `edenai/deepinfra/zai-org/GLM-4.7-Flash` | 203K | | | | | | $0.06 | $0.40 |
|
|
129
|
-
| `edenai/deepseek/deepseek-chat` | 131K | | | | | | $0.
|
|
130
|
-
| `edenai/deepseek/deepseek-v4-flash` | 1.0M | | | | | | $0.
|
|
131
|
-
| `edenai/deepseek/deepseek-v4-flash-vision-exp` | 1.0M | | | | | | $0.
|
|
132
|
-
| `edenai/deepseek/deepseek-v4-pro` | 1.0M | | | | | | $
|
|
129
|
+
| `edenai/deepseek/deepseek-chat` | 131K | | | | | | $0.15 | $0.60 |
|
|
130
|
+
| `edenai/deepseek/deepseek-v4-flash` | 1.0M | | | | | | $0.15 | $0.60 |
|
|
131
|
+
| `edenai/deepseek/deepseek-v4-flash-vision-exp` | 1.0M | | | | | | $0.15 | $0.60 |
|
|
132
|
+
| `edenai/deepseek/deepseek-v4-pro` | 1.0M | | | | | | $0.66 | $2 |
|
|
133
133
|
| `edenai/fireworks_ai/accounts/fireworks/models/deepseek-v4-flash-0731` | 1.0M | | | | | | $0.22 | $0.66 |
|
|
134
134
|
| `edenai/fireworks_ai/accounts/fireworks/models/deepseek-v4-pro-0813` | 1.0M | | | | | | $1 | $4 |
|
|
135
135
|
| `edenai/fireworks_ai/accounts/fireworks/models/inkling` | 1.0M | | | | | | $1 | $4 |
|
|
@@ -236,9 +236,9 @@ for await (const chunk of stream) {
|
|
|
236
236
|
| `edenai/perplexityai/sonar-deep-research` | 128K | | | | | | $2 | $8 |
|
|
237
237
|
| `edenai/perplexityai/sonar-pro` | 200K | | | | | | $3 | $15 |
|
|
238
238
|
| `edenai/perplexityai/sonar-reasoning-pro` | 128K | | | | | | $2 | $8 |
|
|
239
|
-
| `edenai/qwen/deepseek-v4-flash-0731` | 1.0M | | | | | | $0.
|
|
240
|
-
| `edenai/qwen/deepseek-v4-pro-0813` | 1.0M | | | | | | $
|
|
241
|
-
| `edenai/qwen/deepseek-v4.1-flash` | 1.0M | | | | | | $0.
|
|
239
|
+
| `edenai/qwen/deepseek-v4-flash-0731` | 1.0M | | | | | | $0.22 | $0.66 |
|
|
240
|
+
| `edenai/qwen/deepseek-v4-pro-0813` | 1.0M | | | | | | $0.66 | $2 |
|
|
241
|
+
| `edenai/qwen/deepseek-v4.1-flash` | 1.0M | | | | | | $0.15 | $0.60 |
|
|
242
242
|
| `edenai/qwen/qwen-max` | 33K | | | | | | $2 | $6 |
|
|
243
243
|
| `edenai/qwen/qwen-vl-max` | 131K | | | | | | $0.80 | $3 |
|
|
244
244
|
| `edenai/qwen/qwen-vl-plus` | 131K | | | | | | $0.21 | $0.63 |
|
|
@@ -261,9 +261,9 @@ for await (const chunk of stream) {
|
|
|
261
261
|
| `edenai/qwen/qwen3.8-max` | 1.0M | | | | | | $2 | $6 |
|
|
262
262
|
| `edenai/qwen/qwen3.8-max-0902` | 1.0M | | | | | | $2 | $6 |
|
|
263
263
|
| `edenai/qwen/qwq-plus` | 131K | | | | | | $0.80 | $2 |
|
|
264
|
-
| `edenai/scaleway/deepseek-v4-flash-0731` | 256K | | | | | | $0.46 | $0.
|
|
264
|
+
| `edenai/scaleway/deepseek-v4-flash-0731` | 256K | | | | | | $0.46 | $0.92 |
|
|
265
265
|
| `edenai/scaleway/gemma-3-27b-it` | 40K | | | | | | $0.29 | $0.57 |
|
|
266
|
-
| `edenai/scaleway/gpt-oss-120b` | 128K | | | | | | $0.17 | $0.
|
|
266
|
+
| `edenai/scaleway/gpt-oss-120b` | 128K | | | | | | $0.17 | $0.69 |
|
|
267
267
|
| `edenai/scaleway/llama-3.3-70b-instruct` | 128K | | | | | | $1 | $1 |
|
|
268
268
|
| `edenai/tensorx/deepseek/deepseek-v4-flash-0731` | 1.0M | | | | | | $0.25 | $0.30 |
|
|
269
269
|
| `edenai/tensorx/deepseek/deepseek-v4-pro-0813` | 1.0M | | | | | | $2 | $4 |
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
# EmpirioLabs AI
|
|
6
6
|
|
|
7
|
-
Access
|
|
7
|
+
Access 61 EmpirioLabs AI models through Mastra's model router. Authentication is handled automatically using the `EMPIRIOLABS_API_KEY` environment variable.
|
|
8
8
|
|
|
9
9
|
Learn more in the [EmpirioLabs AI documentation](https://docs.empiriolabs.ai).
|
|
10
10
|
|
|
@@ -39,6 +39,7 @@ for await (const chunk of stream) {
|
|
|
39
39
|
| Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
|
|
40
40
|
| -------------------------------------- | ------- | ----- | --------- | ----- | ----- | ----- | ---------- | ----------- |
|
|
41
41
|
| `empiriolabs/deepseek-v3-2` | 128K | | | | | | $0.57 | $2 |
|
|
42
|
+
| `empiriolabs/deepseek-v4-1-flash` | 1.0M | | | | | | $0.30 | $1 |
|
|
42
43
|
| `empiriolabs/deepseek-v4-flash` | 1.0M | | | | | | $0.14 | $0.28 |
|
|
43
44
|
| `empiriolabs/deepseek-v4-flash-0731` | 1.0M | | | | | | $0.42 | $1 |
|
|
44
45
|
| `empiriolabs/deepseek-v4-pro` | 1.0M | | | | | | $2 | $3 |
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
# Friendli
|
|
6
6
|
|
|
7
|
-
Access
|
|
7
|
+
Access 7 Friendli models through Mastra's model router. Authentication is handled automatically using the `FRIENDLI_TOKEN` environment variable.
|
|
8
8
|
|
|
9
9
|
Learn more in the [Friendli documentation](https://friendli.ai/docs/guides/serverless_endpoints/introduction).
|
|
10
10
|
|
|
@@ -44,6 +44,7 @@ for await (const chunk of stream) {
|
|
|
44
44
|
| `friendli/zai-org/GLM-5.1` | 203K | | | | | | $1 | $4 |
|
|
45
45
|
| `friendli/zai-org/GLM-5.2` | 1.0M | | | | | | $1 | $4 |
|
|
46
46
|
| `friendli/zai-org/GLM-5.3` | 1.0M | | | | | | $1 | $4 |
|
|
47
|
+
| `friendli/zai-org/GLM-5.3-Flash` | 1.0M | | | | | | $0.15 | $0.50 |
|
|
47
48
|
|
|
48
49
|
Model availability, capabilities, context windows, and pricing are sourced from [models.dev](https://models.dev) and may change.
|
|
49
50
|
|
|
@@ -75,7 +76,7 @@ const agent = new Agent({
|
|
|
75
76
|
model: ({ requestContext }) => {
|
|
76
77
|
const useAdvanced = requestContext.task === "complex";
|
|
77
78
|
return useAdvanced
|
|
78
|
-
? "friendli/zai-org/GLM-5.3"
|
|
79
|
+
? "friendli/zai-org/GLM-5.3-Flash"
|
|
79
80
|
: "friendli/MiniMaxAI/MiniMax-M2.5";
|
|
80
81
|
}
|
|
81
82
|
});
|