GPT-4.1
GPT-4.1 is OpenAI's April 2025 general-purpose API model, purpose-built for coding and instruction following with a context window of 1.0M tokens, a 21-point SWE-bench gain over GPT-4o, and a 75% prompt caching discount, at a lower cost than its predecessor.
View API reference- Input and output price
- Prices from: Input $2, Output $8, Per 1M tokens
- 24h uptime
- Loading AI Gateway uptime
import { streamText } from 'ai'
const result = streamText({ model: 'openai/gpt-4.1', prompt: 'Why is the sky blue?'})Copy link to headingPlayground
Try out GPT-4.1 by OpenAI. Usage is billed to your team at API rates. Free users (those who haven't made a payment) get $5 of credits every 30 days.
GPT-4.1
Copy link to headingProviders
Route requests across multiple providers. Copy a provider slug to set your preference. Visit the docs for more info. Using a provider means you agree to their terms, listed under Legal.
| Provider |
|---|
Copy link to headingUptime24 hours
Direct request success rate on AI Gateway and per-provider. Visit the docs for more info.
Copy link to headingThroughput24 hours
P50 throughput on live AI Gateway traffic, in tokens per second (TPS). Visit the docs for more info.
Copy link to headingLatency24 hours
P50 time to first token (TTFT) on live AI Gateway traffic, in milliseconds. View the docs for more info.
Getting started
Call GPT-4.1 through AI Gateway with the AI SDK generateText and streamText functions, or through the OpenAI Chat Completions, OpenAI Responses, and Anthropic Messages APIs by changing the base URL. AI Gateway authenticates the request and routes it to an available provider.
Install the AI SDK (pnpm add ai dotenv), create an API key from the API Keys page, and set it as AI_GATEWAY_API_KEY in your environment. Full setup is covered in the text generation quickstart.
import { generateText } from 'ai';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'openai/gpt-4.1', prompt: 'Why is the sky blue?', });
console.log(result.text);}
main().catch(console.error);Top-level parameters
The same GPT-4.1 request in each API format AI Gateway supports.
import { generateText } from 'ai';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'openai/gpt-4.1', system: 'You are a concise technical assistant.', prompt: 'Summarize the tradeoffs between static generation and SSR.', maxOutputTokens: 1024, temperature: 0.5, });
console.log(result.text);}
main().catch(console.error);Standard parameters like prompt, messages, temperature, and tools work as documented in the AI SDK docs. These are the parameters with model-specific behavior.
| Parameter | Type | Required | Description |
|---|---|---|---|
model | string | Yes | Model ID in the form creator/model, e.g. openai/gpt-4.1. AI Gateway routes the request to an available provider. |
maxOutputTokens | number | No | Hard cap on generated tokens. GPT-4.1 supports up to 32,768 output tokens. |
providerOptions | Record<string, JSONValue> | No | AI Gateway routing options under gateway, plus any provider-native options under the provider’s own namespace — see the table below. |
Input limits
| Input | Formats | Sources | Max count | Max size | Limits |
|---|---|---|---|---|---|
| Text | — | — | — | — | Prompt and response share the 1M-token context window |
| Image | — | URL, base64, Uint8Array | — | — | Sent as image parts in messages; counts as input tokens |
| — | URL, base64, Uint8Array | — | — | Sent as file parts in messages; counts as input tokens |
Provider options
Set AI Gateway routing options under providerOptions.gateway. For provider-specific options, pass them under the provider’s namespace as documented by the AI SDK.
Learn more in the AI SDK openai provider docs.
import { generateText } from 'ai';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'openai/gpt-4.1', prompt: 'Why is the sky blue?', providerOptions: { gateway: { only: ['azure', 'openai'], }, }, });
console.log(result.text);}
main().catch(console.error);These AI Gateway routing options apply to every model. Provider-specific options pass through under the provider’s own namespace (for example providerOptions.anthropic) exactly as documented by the AI SDK.
| Parameter | Type | Required | Description |
|---|---|---|---|
providerOptions.gateway.only | string[] | No | Restrict routing to these provider slugs. Requests fail over only within the listed providers. |
providerOptions.gateway.order | string[] | No | Preferred provider order. Listed providers are tried first; unlisted providers remain available as fallbacks. |
providerOptions.gateway.sort | 'cost' | 'ttft' | 'tps' | No | Rank candidate providers by price, time to first token, or tokens per second instead of the default routing order. |
providerOptions.gateway.zeroDataRetention | boolean | No | Route only to providers with a zero-data-retention policy for this model. |
Routing across providers
AI Gateway serves the same model through multiple providers and fails over automatically. order expresses a preference while keeping every provider eligible; only is a hard allowlist — if none of the listed providers are available the request fails instead of falling back.
Options under a provider's own namespace (for example providerOptions.anthropic) are forwarded to that provider with the request. Providers ignore option namespaces that don't apply to them, so it is safe to set provider options alongside gateway routing options.
Image input
Send images alongside text as message parts. Images count as input tokens.
import { generateText } from 'ai';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'openai/gpt-4.1', messages: [ { role: 'user', content: [ { type: 'text', text: 'Describe this image.' }, { type: 'image', image: 'https://example.com/photo.jpg' }, ], }, ], });
console.log(result.text);}
main().catch(console.error);PDF input
Attach PDFs as file parts. Their contents count as input tokens.
import { generateText } from 'ai';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'openai/gpt-4.1', messages: [ { role: 'user', content: [ { type: 'text', text: 'Summarize this document.' }, { type: 'file', mediaType: 'application/pdf', data: 'https://example.com/document.pdf', }, ], }, ], });
console.log(result.text);}
main().catch(console.error);Tool calling
Expose tools the model can call. Define each tool’s inputs with a Zod schema.
import { generateText, tool } from 'ai';import { z } from 'zod';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'openai/gpt-4.1', prompt: 'What is the weather in San Francisco?', tools: { getWeather: tool({ description: 'Get the current weather for a location', inputSchema: z.object({ location: z.string() }), execute: async ({ location }) => ({ location, temperatureC: 18 }), }), }, });
console.log(result.text);}
main().catch(console.error);Copy link to headingAbout GPT-4.1
GPT-4.1 arrived on April 14, 2025 alongside two smaller siblings: GPT-4.1 mini and GPT-4.1 nano. OpenAI built this release around measurable improvements in three areas rather than incremental gains across a broad benchmark suite.
Coding was the centerpiece. GPT-4.1 scored 21.4 points higher than GPT-4o on SWE-bench Verified, the benchmark that measures a model's ability to autonomously resolve real GitHub issues. It also scored 26.6 points above GPT-4.5. For teams building AI-assisted development tools, this translates to better codebase comprehension, more correct patches, and stronger adherence to repository-specific conventions.
Instruction adherence also improved substantially. On Scale AI's MultiChallenge benchmark, GPT-4.1 reached 38.3%, a 10.5-point increase over GPT-4o. This matters for any pipeline where the model must follow a multi-step specification exactly: structured data extraction, form filling, and compliance document processing.
The context window of 1.0M tokens pairs with genuine retrieval accuracy across the full range, not just nominal capacity. OpenAI also restructured pricing: GPT-4.1 costs less than GPT-4o for equivalent queries, the prompt caching discount increased to 75%, and long-context requests no longer carry surcharges. The knowledge cutoff is June 2024.
Copy link to headingWhat To Consider When Choosing a Provider
- Configuration: Agentic coding pipelines that repeatedly send large system prompts or repository context benefit significantly from the 75% prompt caching discount. This is a deeper discount than earlier OpenAI models offered.
- Zero Data Retention: Zero Data Retention is available for this model. It is offered on a per-provider and model basis. See the documentation for details.
- Authentication: AI Gateway authenticates requests using an API key or OIDC token. You do not need to manage provider credentials directly.
Copy link to headingWhen to Use GPT-4.1
Best for
- Autonomous software engineering: Code generation, debugging, and refactoring across full repositories using the context window of 1.0M tokens
- Complex instruction following: Structured extraction, compliance workflows, and multi-constraint document processing where precision matters
- Long-document analysis: Legal contracts, research papers, and entire codebases processed in a single pass without chunking
- Multimodal workflows: Applications that combine video, images, and extended text in a single request
- Cache-heavy pipelines: Large repeated prompts where the 75% caching discount materially reduces cost
Consider alternatives when
- Simpler tasks: GPT-4.1 mini or nano can handle straightforward work at substantially lower cost
- STEM reasoning dominant: The o-series reasoning models may yield higher accuracy on chain-of-thought workloads
- Ultra-low latency: Capability can be traded for speed when response time is the primary requirement
Copy link to headingConclusion
GPT-4.1 is OpenAI's general-purpose API model for code-heavy and instruction-intensive workloads. The context window of 1.0M tokens, strong SWE-bench performance, and restructured pricing make it a clear upgrade path from GPT-4o for teams that need advanced coding ability without premium cost.
Copy link to headingFrequently Asked Questions
How significant is the SWE-bench improvement?
GPT-4.1 improved 21.4 points over GPT-4o and 26.6 points over GPT-4.5 on SWE-bench Verified. This was the largest coding benchmark gain in a single OpenAI model release at the time.
What does the context window of 1.0M tokens mean in practice?
You can pass an entire large codebase, a full legal document set, or a long multi-session conversation history in a single request. GPT-4.1 retrieves information accurately at all positions within that range.
How does prompt caching work with GPT-4.1?
Repeated input tokens, such as system prompts or shared context, are cached at a 75% discount off the standard input token price. This is especially valuable for agentic loops that resend the same context on every iteration.
What is GPT-4.1's knowledge cutoff?
June 2024, updated from GPT-4o's earlier cutoff.
Does GPT-4.1 handle video input?
Yes. It accepts text, images, and video, and scored 72.0% on Video-MME's long-context, no-subtitles benchmark.
What are typical latency characteristics?
This page shows live throughput and time-to-first-token metrics measured across real AI Gateway traffic.