mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-28 08:22:12 +00:00
476 lines
15 KiB
JSON
476 lines
15 KiB
JSON
{
|
|
"id": "openai",
|
|
"activation": {
|
|
"onStartup": false
|
|
},
|
|
"enabledByDefault": true,
|
|
"providers": ["openai", "openai-codex"],
|
|
"modelSupport": {
|
|
"modelPrefixes": ["gpt-", "o1", "o3", "o4"]
|
|
},
|
|
"modelPricing": {
|
|
"providers": {
|
|
"openai-codex": {
|
|
"openRouter": {
|
|
"provider": "openai"
|
|
},
|
|
"liteLLM": {
|
|
"provider": "openai"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"providerEndpoints": [
|
|
{
|
|
"endpointClass": "openai-public",
|
|
"hosts": ["api.openai.com"]
|
|
},
|
|
{
|
|
"endpointClass": "openai-codex",
|
|
"hosts": ["chatgpt.com"]
|
|
},
|
|
{
|
|
"endpointClass": "azure-openai",
|
|
"hostSuffixes": [".openai.azure.com"]
|
|
}
|
|
],
|
|
"providerRequest": {
|
|
"providers": {
|
|
"openai": {
|
|
"family": "openai-family"
|
|
},
|
|
"openai-codex": {
|
|
"family": "openai-family"
|
|
}
|
|
}
|
|
},
|
|
"modelCatalog": {
|
|
"providers": {
|
|
"openai": {
|
|
"baseUrl": "https://api.openai.com/v1",
|
|
"api": "openai-responses",
|
|
"models": [
|
|
{
|
|
"id": "gpt-5.3-chat-latest",
|
|
"name": "GPT-5.3 Chat (latest)",
|
|
"reasoning": false,
|
|
"input": ["text", "image"],
|
|
"contextWindow": 128000,
|
|
"maxTokens": 16384,
|
|
"cost": { "input": 1.75, "output": 14, "cacheRead": 0.175, "cacheWrite": 0 }
|
|
},
|
|
{
|
|
"id": "gpt-5.3-codex",
|
|
"name": "GPT-5.3 Codex",
|
|
"reasoning": true,
|
|
"input": ["text", "image"],
|
|
"contextWindow": 400000,
|
|
"maxTokens": 128000,
|
|
"cost": { "input": 1.75, "output": 14, "cacheRead": 0.175, "cacheWrite": 0 }
|
|
},
|
|
{
|
|
"id": "gpt-5.4",
|
|
"name": "GPT-5.4",
|
|
"reasoning": true,
|
|
"input": ["text", "image"],
|
|
"mediaInput": {
|
|
"image": { "maxSidePx": 2048, "preferredSidePx": 2048, "tokenMode": "detail" }
|
|
},
|
|
"contextWindow": 272000,
|
|
"maxTokens": 128000,
|
|
"cost": { "input": 2.5, "output": 15, "cacheRead": 0.25, "cacheWrite": 0 }
|
|
},
|
|
{
|
|
"id": "gpt-5.4-mini",
|
|
"name": "GPT-5.4 mini",
|
|
"reasoning": true,
|
|
"input": ["text", "image"],
|
|
"mediaInput": {
|
|
"image": { "maxSidePx": 2048, "preferredSidePx": 2048, "tokenMode": "detail" }
|
|
},
|
|
"contextWindow": 400000,
|
|
"maxTokens": 128000,
|
|
"cost": { "input": 0.75, "output": 4.5, "cacheRead": 0.075, "cacheWrite": 0 }
|
|
},
|
|
{
|
|
"id": "gpt-5.4-nano",
|
|
"name": "GPT-5.4 nano",
|
|
"reasoning": true,
|
|
"input": ["text", "image"],
|
|
"mediaInput": {
|
|
"image": { "maxSidePx": 2048, "preferredSidePx": 2048, "tokenMode": "detail" }
|
|
},
|
|
"contextWindow": 400000,
|
|
"maxTokens": 128000,
|
|
"cost": { "input": 0.2, "output": 1.25, "cacheRead": 0.02, "cacheWrite": 0 }
|
|
},
|
|
{
|
|
"id": "gpt-5.4-pro",
|
|
"name": "GPT-5.4 Pro",
|
|
"reasoning": true,
|
|
"input": ["text", "image"],
|
|
"mediaInput": {
|
|
"image": { "maxSidePx": 2048, "preferredSidePx": 2048, "tokenMode": "detail" }
|
|
},
|
|
"contextWindow": 1050000,
|
|
"maxTokens": 128000,
|
|
"cost": { "input": 30, "output": 180, "cacheRead": 0, "cacheWrite": 0 }
|
|
},
|
|
{
|
|
"id": "gpt-5.5",
|
|
"name": "GPT-5.5",
|
|
"reasoning": true,
|
|
"input": ["text", "image"],
|
|
"mediaInput": {
|
|
"image": { "maxSidePx": 6000, "preferredSidePx": 2048, "tokenMode": "detail" }
|
|
},
|
|
"contextWindow": 272000,
|
|
"maxTokens": 128000,
|
|
"cost": { "input": 5, "output": 30, "cacheRead": 0.5, "cacheWrite": 0 }
|
|
},
|
|
{
|
|
"id": "o1",
|
|
"name": "o1",
|
|
"reasoning": true,
|
|
"input": ["text", "image"],
|
|
"contextWindow": 200000,
|
|
"maxTokens": 100000,
|
|
"cost": { "input": 15, "output": 60, "cacheRead": 7.5, "cacheWrite": 0 }
|
|
},
|
|
{
|
|
"id": "o1-pro",
|
|
"name": "o1-pro",
|
|
"reasoning": true,
|
|
"input": ["text", "image"],
|
|
"contextWindow": 200000,
|
|
"maxTokens": 100000,
|
|
"cost": { "input": 150, "output": 600, "cacheRead": 0, "cacheWrite": 0 }
|
|
},
|
|
{
|
|
"id": "o3",
|
|
"name": "o3",
|
|
"reasoning": true,
|
|
"input": ["text", "image"],
|
|
"contextWindow": 200000,
|
|
"maxTokens": 100000,
|
|
"cost": { "input": 2, "output": 8, "cacheRead": 0.5, "cacheWrite": 0 }
|
|
},
|
|
{
|
|
"id": "o3-deep-research",
|
|
"name": "o3-deep-research",
|
|
"reasoning": true,
|
|
"input": ["text", "image"],
|
|
"contextWindow": 200000,
|
|
"maxTokens": 100000,
|
|
"cost": { "input": 10, "output": 40, "cacheRead": 2.5, "cacheWrite": 0 }
|
|
},
|
|
{
|
|
"id": "o3-mini",
|
|
"name": "o3-mini",
|
|
"reasoning": true,
|
|
"input": ["text"],
|
|
"contextWindow": 200000,
|
|
"maxTokens": 100000,
|
|
"cost": { "input": 1.1, "output": 4.4, "cacheRead": 0.55, "cacheWrite": 0 }
|
|
},
|
|
{
|
|
"id": "o3-pro",
|
|
"name": "o3-pro",
|
|
"reasoning": true,
|
|
"input": ["text", "image"],
|
|
"contextWindow": 200000,
|
|
"maxTokens": 100000,
|
|
"cost": { "input": 20, "output": 80, "cacheRead": 0, "cacheWrite": 0 }
|
|
},
|
|
{
|
|
"id": "o4-mini",
|
|
"name": "o4-mini",
|
|
"reasoning": true,
|
|
"input": ["text", "image"],
|
|
"contextWindow": 200000,
|
|
"maxTokens": 100000,
|
|
"cost": { "input": 1.1, "output": 4.4, "cacheRead": 0.28, "cacheWrite": 0 }
|
|
},
|
|
{
|
|
"id": "o4-mini-deep-research",
|
|
"name": "o4-mini-deep-research",
|
|
"reasoning": true,
|
|
"input": ["text", "image"],
|
|
"contextWindow": 200000,
|
|
"maxTokens": 100000,
|
|
"cost": { "input": 2, "output": 8, "cacheRead": 0.5, "cacheWrite": 0 }
|
|
},
|
|
{
|
|
"id": "gpt-5.5-pro",
|
|
"name": "gpt-5.5-pro",
|
|
"reasoning": true,
|
|
"input": ["text", "image"],
|
|
"mediaInput": {
|
|
"image": { "maxSidePx": 6000, "preferredSidePx": 2048, "tokenMode": "detail" }
|
|
},
|
|
"contextWindow": 1000000,
|
|
"maxTokens": 128000,
|
|
"cost": { "input": 30, "output": 180, "cacheRead": 0, "cacheWrite": 0 }
|
|
}
|
|
]
|
|
},
|
|
"openai-codex": {
|
|
"baseUrl": "https://chatgpt.com/backend-api/codex",
|
|
"api": "openai-codex-responses",
|
|
"models": [
|
|
{
|
|
"id": "gpt-5.5",
|
|
"name": "gpt-5.5",
|
|
"reasoning": true,
|
|
"input": ["text", "image"],
|
|
"mediaInput": {
|
|
"image": { "maxSidePx": 6000, "preferredSidePx": 2048, "tokenMode": "detail" }
|
|
},
|
|
"contextWindow": 400000,
|
|
"contextTokens": 272000,
|
|
"maxTokens": 128000,
|
|
"cost": { "input": 5, "output": 30, "cacheRead": 0.5, "cacheWrite": 0 }
|
|
},
|
|
{
|
|
"id": "gpt-5.4",
|
|
"name": "gpt-5.4",
|
|
"reasoning": true,
|
|
"input": ["text", "image"],
|
|
"mediaInput": {
|
|
"image": { "maxSidePx": 2048, "preferredSidePx": 2048, "tokenMode": "detail" }
|
|
},
|
|
"contextWindow": 1050000,
|
|
"contextTokens": 272000,
|
|
"maxTokens": 128000,
|
|
"cost": { "input": 2.5, "output": 15, "cacheRead": 0.25, "cacheWrite": 0 }
|
|
},
|
|
{
|
|
"id": "gpt-5.4-pro",
|
|
"name": "gpt-5.4-pro",
|
|
"reasoning": true,
|
|
"input": ["text", "image"],
|
|
"mediaInput": {
|
|
"image": { "maxSidePx": 2048, "preferredSidePx": 2048, "tokenMode": "detail" }
|
|
},
|
|
"contextWindow": 1050000,
|
|
"contextTokens": 272000,
|
|
"maxTokens": 128000,
|
|
"cost": { "input": 30, "output": 180, "cacheRead": 0, "cacheWrite": 0 }
|
|
},
|
|
{
|
|
"id": "gpt-5.4-mini",
|
|
"name": "gpt-5.4-mini",
|
|
"reasoning": true,
|
|
"input": ["text", "image"],
|
|
"mediaInput": {
|
|
"image": { "maxSidePx": 2048, "preferredSidePx": 2048, "tokenMode": "detail" }
|
|
},
|
|
"contextWindow": 400000,
|
|
"contextTokens": 272000,
|
|
"maxTokens": 128000,
|
|
"cost": { "input": 0.75, "output": 4.5, "cacheRead": 0.075, "cacheWrite": 0 }
|
|
},
|
|
{
|
|
"id": "gpt-5.5-pro",
|
|
"name": "gpt-5.5-pro",
|
|
"reasoning": true,
|
|
"input": ["text", "image"],
|
|
"mediaInput": {
|
|
"image": { "maxSidePx": 6000, "preferredSidePx": 2048, "tokenMode": "detail" }
|
|
},
|
|
"contextWindow": 1000000,
|
|
"contextTokens": 272000,
|
|
"maxTokens": 128000,
|
|
"cost": { "input": 30, "output": 180, "cacheRead": 0, "cacheWrite": 0 }
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"aliases": {
|
|
"azure-openai-responses": {
|
|
"provider": "openai",
|
|
"api": "azure-openai-responses"
|
|
}
|
|
},
|
|
"discovery": {
|
|
"openai": "static",
|
|
"openai-codex": "refreshable"
|
|
},
|
|
"suppressions": [
|
|
{
|
|
"provider": "openai",
|
|
"model": "gpt-5.3-codex-spark",
|
|
"reason": "gpt-5.3-codex-spark is not exposed by the OpenAI API catalog. Use openai-codex/gpt-5.3-codex-spark or openai/gpt-5.5."
|
|
},
|
|
{
|
|
"provider": "azure-openai-responses",
|
|
"model": "gpt-5.3-codex-spark",
|
|
"reason": "gpt-5.3-codex-spark is not exposed by the OpenAI API catalog. Use openai-codex/gpt-5.3-codex-spark or openai/gpt-5.5."
|
|
}
|
|
]
|
|
},
|
|
"setup": {
|
|
"providers": [
|
|
{
|
|
"id": "openai",
|
|
"envVars": ["OPENAI_API_KEY"]
|
|
}
|
|
]
|
|
},
|
|
"providerAuthChoices": [
|
|
{
|
|
"provider": "openai",
|
|
"method": "oauth",
|
|
"choiceId": "openai",
|
|
"choiceLabel": "ChatGPT Login",
|
|
"choiceHint": "Sign in with your ChatGPT or Codex subscription",
|
|
"assistantPriority": -40,
|
|
"assistantVisibility": "manual-only",
|
|
"groupId": "openai",
|
|
"groupLabel": "OpenAI",
|
|
"groupHint": "ChatGPT/Codex sign-in or API key"
|
|
},
|
|
{
|
|
"provider": "openai",
|
|
"method": "device-code",
|
|
"choiceId": "openai-device-code",
|
|
"choiceLabel": "ChatGPT Device Pairing",
|
|
"choiceHint": "Pair your ChatGPT account in browser with a device code",
|
|
"assistantPriority": -10,
|
|
"assistantVisibility": "manual-only",
|
|
"groupId": "openai",
|
|
"groupLabel": "OpenAI",
|
|
"groupHint": "ChatGPT/Codex sign-in or API key"
|
|
},
|
|
{
|
|
"provider": "openai-codex",
|
|
"method": "oauth",
|
|
"choiceId": "openai-codex",
|
|
"deprecatedChoiceIds": ["codex-cli", "openai-codex-import"],
|
|
"choiceLabel": "ChatGPT/Codex Browser Login",
|
|
"choiceHint": "Sign in with OpenAI in your browser",
|
|
"assistantPriority": -30,
|
|
"groupId": "openai",
|
|
"groupLabel": "OpenAI",
|
|
"groupHint": "ChatGPT/Codex sign-in or API key",
|
|
"onboardingFeatured": true
|
|
},
|
|
{
|
|
"provider": "openai-codex",
|
|
"method": "device-code",
|
|
"choiceId": "openai-codex-device-code",
|
|
"choiceLabel": "ChatGPT/Codex Device Pairing",
|
|
"choiceHint": "Pair in browser with a device code",
|
|
"assistantPriority": -10,
|
|
"groupId": "openai",
|
|
"groupLabel": "OpenAI",
|
|
"groupHint": "ChatGPT/Codex sign-in or API key"
|
|
},
|
|
{
|
|
"provider": "openai-codex",
|
|
"method": "api-key",
|
|
"choiceId": "openai-codex-api-key",
|
|
"choiceLabel": "OpenAI API Key Backup",
|
|
"choiceHint": "Use an OpenAI API key when your Codex subscription is unavailable",
|
|
"assistantPriority": 5,
|
|
"assistantVisibility": "manual-only",
|
|
"groupId": "openai",
|
|
"groupLabel": "OpenAI",
|
|
"groupHint": "ChatGPT/Codex sign-in or API key",
|
|
"optionKey": "openaiApiKey",
|
|
"cliFlag": "--openai-api-key",
|
|
"cliOption": "--openai-api-key <key>",
|
|
"cliDescription": "OpenAI API Key Backup"
|
|
},
|
|
{
|
|
"provider": "openai",
|
|
"method": "api-key",
|
|
"choiceId": "openai-api-key",
|
|
"choiceLabel": "OpenAI API Key",
|
|
"choiceHint": "Use your OpenAI API key directly",
|
|
"assistantPriority": 5,
|
|
"groupId": "openai",
|
|
"groupLabel": "OpenAI",
|
|
"groupHint": "ChatGPT/Codex sign-in or API key",
|
|
"onboardingFeatured": true,
|
|
"optionKey": "openaiApiKey",
|
|
"cliFlag": "--openai-api-key",
|
|
"cliOption": "--openai-api-key <key>",
|
|
"cliDescription": "OpenAI API Key"
|
|
}
|
|
],
|
|
"contracts": {
|
|
"speechProviders": ["openai"],
|
|
"realtimeTranscriptionProviders": ["openai"],
|
|
"realtimeVoiceProviders": ["openai"],
|
|
"memoryEmbeddingProviders": ["openai"],
|
|
"mediaUnderstandingProviders": ["openai", "openai-codex"],
|
|
"imageGenerationProviders": ["openai"],
|
|
"videoGenerationProviders": ["openai"]
|
|
},
|
|
"imageGenerationProviderMetadata": {
|
|
"openai": {
|
|
"aliases": ["openai-codex"],
|
|
"authSignals": [
|
|
{
|
|
"provider": "openai"
|
|
},
|
|
{
|
|
"provider": "openai-codex",
|
|
"providerBaseUrl": {
|
|
"provider": "openai",
|
|
"defaultBaseUrl": "https://api.openai.com/v1",
|
|
"allowedBaseUrls": ["https://api.openai.com/v1"]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"videoGenerationProviderMetadata": {
|
|
"openai": {
|
|
"aliases": ["openai-codex"],
|
|
"authSignals": [
|
|
{
|
|
"provider": "openai"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"mediaUnderstandingProviderMetadata": {
|
|
"openai": {
|
|
"capabilities": ["image", "audio"],
|
|
"defaultModels": {
|
|
"image": "gpt-5.4-mini",
|
|
"audio": "gpt-4o-transcribe"
|
|
},
|
|
"autoPriority": {
|
|
"image": 10,
|
|
"audio": 10
|
|
}
|
|
},
|
|
"openai-codex": {
|
|
"capabilities": ["image", "audio"],
|
|
"defaultModels": {
|
|
"image": "gpt-5.5",
|
|
"audio": "gpt-4o-transcribe"
|
|
},
|
|
"autoPriority": {
|
|
"image": 20,
|
|
"audio": 20
|
|
}
|
|
}
|
|
},
|
|
"configSchema": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"personality": {
|
|
"type": "string",
|
|
"enum": ["friendly", "on", "off"],
|
|
"default": "friendly",
|
|
"description": "Legacy compatibility fallback for the shared GPT-5 friendly interaction-style overlay. Prefer agents.defaults.promptOverlays.gpt5.personality. `friendly` and `on` enable the style overlay; `off` disables only that style layer."
|
|
}
|
|
}
|
|
}
|
|
}
|