OpenAI
通过 Mastra 的模型路由器访问 47 个 OpenAI 模型。系统会自动使用 OPENAI_API_KEY 环境变量完成身份验证。
更多信息请参阅OpenAI 文档。
.env
OPENAI_API_KEY=your-api-key
src/mastra/agents/my-agent.ts
import { Agent } from '@mastra/core/agent'
const agent = new Agent({
id: 'my-agent',
name: 'My Agent',
instructions: 'You are a helpful assistant',
model: 'openai/chatgpt-image-latest',
})
// Generate a response
const response = await agent.generate('Hello!')
// Stream a response
const stream = await agent.stream('Tell me a story')
for await (const chunk of stream) {
console.log(chunk)
}
模型模型的直接链接
| Model | Context | Tools | Reasoning | Image | Audio | Video | Input $/1M | Output $/1M |
|---|---|---|---|---|---|---|---|---|
openai/chatgpt-image-latest | — | — | — | |||||
openai/gpt-4.1 | 1.0M | $2 | $8 | |||||
openai/gpt-4.1-mini | 1.0M | $0.40 | $2 | |||||
openai/gpt-4o | 128K | $3 | $10 | |||||
openai/gpt-4o-2024-08-06 | 128K | $3 | $10 | |||||
openai/gpt-4o-2024-11-20 | 128K | $3 | $10 | |||||
openai/gpt-4o-mini | 128K | $0.15 | $0.60 | |||||
openai/gpt-5 | 400K | $1 | $10 | |||||
openai/gpt-5-mini | 400K | $0.25 | $2 | |||||
openai/gpt-5-nano | 400K | $0.05 | $0.40 | |||||
openai/gpt-5-pro | 400K | $15 | $120 | |||||
openai/gpt-5.1 | 400K | $1 | $10 | |||||
openai/gpt-5.2 | 400K | $2 | $14 | |||||
openai/gpt-5.2-chat-latest | 128K | $2 | $14 | |||||
openai/gpt-5.2-pro | 400K | $21 | $168 | |||||
openai/gpt-5.3-chat-latest | 128K | $2 | $14 | |||||
openai/gpt-5.3-codex | 400K | $2 | $14 | |||||
openai/gpt-5.3-codex-spark | 128K | $2 | $14 | |||||
openai/gpt-5.4 | 1.1M | $3 | $15 | |||||
openai/gpt-5.4-mini | 400K | $0.75 | $5 | |||||
openai/gpt-5.4-nano | 400K | $0.20 | $1 | |||||
openai/gpt-5.4-pro | 1.1M | $30 | $180 | |||||
openai/gpt-5.5 | 1.1M | $5 | $30 | |||||
openai/gpt-5.5-pro | 1.1M | $30 | $180 | |||||
openai/gpt-5.6 | 1.1M | $5 | $30 | |||||
openai/gpt-5.6-luna | 1.1M | $0.20 | $1 | |||||
openai/gpt-5.6-sol | 1.1M | $5 | $30 | |||||
openai/gpt-5.6-terra | 1.1M | $2 | $12 | |||||
openai/gpt-image-1-mini | — | — | — | |||||
openai/gpt-image-1.5 | — | — | — | |||||
openai/gpt-image-2 | — | $5 | $30 | |||||
openai/gpt-realtime-2.1 | 128K | $4 | $24 | |||||
openai/o3 | 200K | $2 | $8 | |||||
openai/o3-pro | 200K | $20 | $80 | |||||
openai/text-embedding-3-large | 8K | $0.13 | — | |||||
openai/text-embedding-3-small | 8K | $0.02 | — | |||||
openai/text-embedding-ada-002 | 8K | $0.10 | — |
高级配置高级配置的直接链接
自定义请求头自定义请求头的直接链接
src/mastra/agents/my-agent.ts
const agent = new Agent({
id: 'custom-agent',
name: 'custom-agent',
model: {
id: 'openai/chatgpt-image-latest',
apiKey: process.env.OPENAI_API_KEY,
headers: {
'X-Custom-Header': 'value',
},
},
})
动态选择模型动态选择模型的直接链接
src/mastra/agents/my-agent.ts
const agent = new Agent({
id: 'dynamic-agent',
name: 'Dynamic Agent',
model: ({ requestContext }) => {
const useAdvanced = requestContext.task === 'complex'
return useAdvanced ? 'openai/text-embedding-ada-002' : 'openai/chatgpt-image-latest'
},
})
Provider 选项Provider 选项的直接链接
OpenAI 通过 providerOptions 参数支持以下 Provider 特有选项:
const response = await agent.generate('Hello!', {
providerOptions: {
openai: {
// See available options in the table below
},
},
})
可用选项可用选项的直接链接
conversation?:
string | null | undefined
include?:
("web_search_call.results" | "file_search_call.results" | "message.output_text.logprobs" | "reasoning.encrypted_content")[] | null | undefined
instructions?:
string | null | undefined
logprobs?:
number | boolean | undefined
maxToolCalls?:
number | null | undefined
metadata?:
any
parallelToolCalls?:
boolean | null | undefined
previousResponseId?:
string | null | undefined
promptCacheKey?:
string | null | undefined
promptCacheOptions?:
{ mode?: "explicit" | "implicit" | undefined; ttl?: "30m" | undefined; } | undefined
promptCacheRetention?:
"in_memory" | "24h" | null | undefined
reasoningEffort?:
string | null | undefined
reasoningMode?:
"standard" | "pro" | undefined
reasoningContext?:
"auto" | "current_turn" | "all_turns" | undefined
reasoningSummary?:
string | null | undefined
safetyIdentifier?:
string | null | undefined
serviceTier?:
"auto" | "default" | "flex" | "priority" | null | undefined
store?:
boolean | null | undefined
Controls whether OpenAI stores your API requests for model training. Required to be "false" if your organization has zero data retention enabled. See: https://platform.openai.com/docs/guides/your-data#zero-data-retention
passThroughUnsupportedFiles?:
boolean | undefined
strictJsonSchema?:
boolean | null | undefined
textVerbosity?:
"low" | "medium" | "high" | null | undefined
truncation?:
"auto" | "disabled" | null | undefined
user?:
string | null | undefined
systemMessageMode?:
"remove" | "system" | "developer" | undefined
forceReasoning?:
boolean | undefined
allowedTools?:
{ toolNames: string[]; mode?: "auto" | "required" | undefined; } | undefined
直接安装 Provider直接安装 Provider的直接链接
你也可以直接将此 Provider 安装为独立 package,用它代替 Mastra 模型路由字符串。详情请参阅package 文档。
- npm
- pnpm
- Yarn
- Bun
npm install @ai-sdk/openai
pnpm add @ai-sdk/openai
yarn add @ai-sdk/openai
bun add @ai-sdk/openai
有关此 Provider 的详细说明,请参阅 AI SDK OpenAI Provider 文档。