Skip to content
OpenAI logo

GPT-4.1

Text GenerationOpenAIProxied

OpenAI's flagship GPT model for complex tasks with a million-token context window.

Model Info
Context Window1,047,576 tokens
Terms and Licenselink
More informationlink

Usage

TypeScript
const response = await env.AI.run(
'openai/gpt-4.1',
{
messages: [
{
role: 'user',
content: 'What are the three laws of thermodynamics?',
},
],
},
{
gateway: { id: 'default' },
}
)
console.log(response)

Examples

With System Message — Using a system message to set context
TypeScript
const response = await env.AI.run(
'openai/gpt-4.1',
{
messages: [
{
role: 'system',
content: 'You are a helpful coding assistant specializing in Python.',
},
{
role: 'user',
content: 'How do I read a JSON file in Python?',
},
],
temperature: 0.3,
},
{
gateway: { id: 'default' },
}
)
console.log(response)
Multi-turn Conversation — Continuing a conversation with context
TypeScript
const response = await env.AI.run(
'openai/gpt-4.1',
{
messages: [
{
role: 'user',
content:
'I need help planning a road trip from San Francisco to Los Angeles.',
},
{
role: 'assistant',
content:
"I'd be happy to help! The drive is about 380 miles and takes roughly 5-6 hours. Would you like suggestions for scenic routes or interesting stops along the way?",
},
{
role: 'user',
content: 'Yes, what are some good places to stop?',
},
],
max_tokens: 500,
},
{
gateway: { id: 'default' },
}
)
console.log(response)
Creative Writing — Higher temperature for creative output
TypeScript
const response = await env.AI.run(
'openai/gpt-4.1',
{
messages: [
{
role: 'user',
content:
'Write a short story opening about a detective finding an unusual clue.',
},
],
temperature: 0.8,
max_tokens: 300,
},
{
gateway: { id: 'default' },
}
)
console.log(response)
Streaming Response — Enable streaming for real-time output
TypeScript
const response = await env.AI.run(
'openai/gpt-4.1',
{
messages: [
{
role: 'user',
content: 'Explain the concept of recursion with a simple example.',
},
],
stream: true,
stream_options: {
include_usage: true,
},
},
{
gateway: { id: 'default' },
}
)
console.log(response)

Parameters

temperature
numberminimum: 0maximum: 2
max_tokens
numberexclusiveMinimum: 0
max_completion_tokens
numberexclusiveMinimum: 0
top_p
numberminimum: 0maximum: 1
frequency_penalty
numberminimum: -2maximum: 2
presence_penalty
numberminimum: -2maximum: 2
stream
boolean
tool_choice
response_format

API Schemas

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"messages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"system",
"developer",
"user",
"assistant",
"tool"
]
},
"content": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
},
{
"type": "array",
"items": {}
}
]
}
},
"required": [
"role",
"content"
],
"additionalProperties": {}
}
},
"temperature": {
"type": "number",
"minimum": 0,
"maximum": 2
},
"max_tokens": {
"type": "number",
"exclusiveMinimum": 0
},
"max_completion_tokens": {
"type": "number",
"exclusiveMinimum": 0
},
"top_p": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"frequency_penalty": {
"type": "number",
"minimum": -2,
"maximum": 2
},
"presence_penalty": {
"type": "number",
"minimum": -2,
"maximum": 2
},
"stream": {
"type": "boolean"
},
"stream_options": {
"type": "object",
"properties": {
"include_usage": {
"type": "boolean"
}
},
"additionalProperties": false
},
"tools": {
"type": "array",
"items": {}
},
"tool_choice": {},
"response_format": {}
},
"required": [
"messages"
],
"additionalProperties": {}
}