> Discover all available pages from the documentation index: https://mastra.zisheng.pro/zh-TW/llms.txt # ![OpenAI 標誌](https://models.dev/logos/openai.svg)OpenAI 透過 Mastra 的模型路由器存取 47 個 OpenAI 模型。系統會自動使用 `OPENAI_API_KEY` 環境變數完成身分驗證。 如需進一步了解,請參閱[OpenAI 文件](https://platform.openai.com/docs/models)。 ```bash OPENAI_API_KEY=your-api-key ``` ```typescript 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 | — | ## 進階設定 ### 自訂標頭 ```typescript 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', }, }, }) ``` ### 動態選擇模型 ```typescript 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 選項 OpenAI 透過 `providerOptions` 參數支援以下 Provider 特有選項: ```typescript 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 安裝為獨立套件,用它取代 Mastra 模型路由字串。詳情請參閱[套件文件](https://www.npmjs.com/package/@ai-sdk/openai)。 **npm**: ```bash npm install @ai-sdk/openai ``` **pnpm**: ```bash pnpm add @ai-sdk/openai ``` **Yarn**: ```bash yarn add @ai-sdk/openai ``` **Bun**: ```bash bun add @ai-sdk/openai ``` 如需此 Provider 的詳細說明,請參閱 [AI SDK OpenAI Provider 文件](https://ai-sdk.dev/providers/ai-sdk-providers/openai)。