> Discover all available pages from the documentation index: https://mastra.zisheng.pro/ko/llms.txt # ![OpenAI logo](https://models.dev/logos/openai.svg)오픈AI Mastra의 Model 라우터를 통해 47개의 OpenAI Model에 액세스하세요. 인증은 다음을 사용하여 자동으로 처리됩니다.`OPENAI_API_KEY` environment variable. 자세한 내용은 다음에서 확인하세요.[OpenAI documentation](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 | 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" } } }); ``` ### 동적 Model 선택 ```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"; } }); ``` ## 공급자 옵션 OpenAI는 다음을 통해 다음과 같은 공급자별 옵션을 지원합니다.`providerOptions` parameter: ```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`): OpenAI가 Model 학습을 위해 사용자의 API 요청을 저장할지 여부를 제어합니다. 조직에서 데이터 보존 안 함을 활성화한 경우 반드시 "false"로 설정해야 합니다. 참조: 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 Model 라우터 문자열을 사용하는 대신 독립 실행형 패키지로 직접 설치할 수도 있습니다. 자세한 내용은 [패키지 문서](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 ``` 자세한 공급자별 설명서는 다음을 참조하세요.[AI SDK OpenAI provider docs](https://ai-sdk.dev/providers/ai-sdk-providers/openai).