|
|
|
@@ -15654,4 +15654,605 @@ export const MODELS = {
|
|
|
|
|
maxTokens: 131072,
|
|
|
|
|
} satisfies Model<"openai-completions">,
|
|
|
|
|
},
|
|
|
|
|
"cloudflare-ai-gateway": {
|
|
|
|
|
"anthropic/claude-3-5-haiku": {
|
|
|
|
|
id: "anthropic/claude-3-5-haiku",
|
|
|
|
|
name: "Claude Haiku 3.5 (latest)",
|
|
|
|
|
api: "openai-completions",
|
|
|
|
|
provider: "cloudflare-ai-gateway",
|
|
|
|
|
baseUrl: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat",
|
|
|
|
|
reasoning: false,
|
|
|
|
|
input: ["text", "image"],
|
|
|
|
|
cost: {
|
|
|
|
|
input: 0.8,
|
|
|
|
|
output: 4,
|
|
|
|
|
cacheRead: 0.08,
|
|
|
|
|
cacheWrite: 1,
|
|
|
|
|
},
|
|
|
|
|
contextWindow: 200000,
|
|
|
|
|
maxTokens: 8192,
|
|
|
|
|
} satisfies Model<"openai-completions">,
|
|
|
|
|
"anthropic/claude-3-haiku": {
|
|
|
|
|
id: "anthropic/claude-3-haiku",
|
|
|
|
|
name: "Claude Haiku 3",
|
|
|
|
|
api: "openai-completions",
|
|
|
|
|
provider: "cloudflare-ai-gateway",
|
|
|
|
|
baseUrl: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat",
|
|
|
|
|
reasoning: false,
|
|
|
|
|
input: ["text", "image"],
|
|
|
|
|
cost: {
|
|
|
|
|
input: 0.25,
|
|
|
|
|
output: 1.25,
|
|
|
|
|
cacheRead: 0.03,
|
|
|
|
|
cacheWrite: 0.3,
|
|
|
|
|
},
|
|
|
|
|
contextWindow: 200000,
|
|
|
|
|
maxTokens: 4096,
|
|
|
|
|
} satisfies Model<"openai-completions">,
|
|
|
|
|
"anthropic/claude-3-opus": {
|
|
|
|
|
id: "anthropic/claude-3-opus",
|
|
|
|
|
name: "Claude Opus 3",
|
|
|
|
|
api: "openai-completions",
|
|
|
|
|
provider: "cloudflare-ai-gateway",
|
|
|
|
|
baseUrl: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat",
|
|
|
|
|
reasoning: false,
|
|
|
|
|
input: ["text", "image"],
|
|
|
|
|
cost: {
|
|
|
|
|
input: 15,
|
|
|
|
|
output: 75,
|
|
|
|
|
cacheRead: 1.5,
|
|
|
|
|
cacheWrite: 18.75,
|
|
|
|
|
},
|
|
|
|
|
contextWindow: 200000,
|
|
|
|
|
maxTokens: 4096,
|
|
|
|
|
} satisfies Model<"openai-completions">,
|
|
|
|
|
"anthropic/claude-3-sonnet": {
|
|
|
|
|
id: "anthropic/claude-3-sonnet",
|
|
|
|
|
name: "Claude Sonnet 3",
|
|
|
|
|
api: "openai-completions",
|
|
|
|
|
provider: "cloudflare-ai-gateway",
|
|
|
|
|
baseUrl: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat",
|
|
|
|
|
reasoning: false,
|
|
|
|
|
input: ["text", "image"],
|
|
|
|
|
cost: {
|
|
|
|
|
input: 3,
|
|
|
|
|
output: 15,
|
|
|
|
|
cacheRead: 0.3,
|
|
|
|
|
cacheWrite: 0.3,
|
|
|
|
|
},
|
|
|
|
|
contextWindow: 200000,
|
|
|
|
|
maxTokens: 4096,
|
|
|
|
|
} satisfies Model<"openai-completions">,
|
|
|
|
|
"anthropic/claude-3.5-haiku": {
|
|
|
|
|
id: "anthropic/claude-3.5-haiku",
|
|
|
|
|
name: "Claude Haiku 3.5 (latest)",
|
|
|
|
|
api: "openai-completions",
|
|
|
|
|
provider: "cloudflare-ai-gateway",
|
|
|
|
|
baseUrl: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat",
|
|
|
|
|
reasoning: false,
|
|
|
|
|
input: ["text", "image"],
|
|
|
|
|
cost: {
|
|
|
|
|
input: 0.8,
|
|
|
|
|
output: 4,
|
|
|
|
|
cacheRead: 0.08,
|
|
|
|
|
cacheWrite: 1,
|
|
|
|
|
},
|
|
|
|
|
contextWindow: 200000,
|
|
|
|
|
maxTokens: 8192,
|
|
|
|
|
} satisfies Model<"openai-completions">,
|
|
|
|
|
"anthropic/claude-3.5-sonnet": {
|
|
|
|
|
id: "anthropic/claude-3.5-sonnet",
|
|
|
|
|
name: "Claude Sonnet 3.5 v2",
|
|
|
|
|
api: "openai-completions",
|
|
|
|
|
provider: "cloudflare-ai-gateway",
|
|
|
|
|
baseUrl: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat",
|
|
|
|
|
reasoning: false,
|
|
|
|
|
input: ["text", "image"],
|
|
|
|
|
cost: {
|
|
|
|
|
input: 3,
|
|
|
|
|
output: 15,
|
|
|
|
|
cacheRead: 0.3,
|
|
|
|
|
cacheWrite: 3.75,
|
|
|
|
|
},
|
|
|
|
|
contextWindow: 200000,
|
|
|
|
|
maxTokens: 8192,
|
|
|
|
|
} satisfies Model<"openai-completions">,
|
|
|
|
|
"anthropic/claude-haiku-4-5": {
|
|
|
|
|
id: "anthropic/claude-haiku-4-5",
|
|
|
|
|
name: "Claude Haiku 4.5 (latest)",
|
|
|
|
|
api: "openai-completions",
|
|
|
|
|
provider: "cloudflare-ai-gateway",
|
|
|
|
|
baseUrl: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat",
|
|
|
|
|
reasoning: true,
|
|
|
|
|
input: ["text", "image"],
|
|
|
|
|
cost: {
|
|
|
|
|
input: 1,
|
|
|
|
|
output: 5,
|
|
|
|
|
cacheRead: 0.1,
|
|
|
|
|
cacheWrite: 1.25,
|
|
|
|
|
},
|
|
|
|
|
contextWindow: 200000,
|
|
|
|
|
maxTokens: 64000,
|
|
|
|
|
} satisfies Model<"openai-completions">,
|
|
|
|
|
"anthropic/claude-opus-4": {
|
|
|
|
|
id: "anthropic/claude-opus-4",
|
|
|
|
|
name: "Claude Opus 4 (latest)",
|
|
|
|
|
api: "openai-completions",
|
|
|
|
|
provider: "cloudflare-ai-gateway",
|
|
|
|
|
baseUrl: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat",
|
|
|
|
|
reasoning: true,
|
|
|
|
|
input: ["text", "image"],
|
|
|
|
|
cost: {
|
|
|
|
|
input: 15,
|
|
|
|
|
output: 75,
|
|
|
|
|
cacheRead: 1.5,
|
|
|
|
|
cacheWrite: 18.75,
|
|
|
|
|
},
|
|
|
|
|
contextWindow: 200000,
|
|
|
|
|
maxTokens: 32000,
|
|
|
|
|
} satisfies Model<"openai-completions">,
|
|
|
|
|
"anthropic/claude-opus-4-1": {
|
|
|
|
|
id: "anthropic/claude-opus-4-1",
|
|
|
|
|
name: "Claude Opus 4.1 (latest)",
|
|
|
|
|
api: "openai-completions",
|
|
|
|
|
provider: "cloudflare-ai-gateway",
|
|
|
|
|
baseUrl: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat",
|
|
|
|
|
reasoning: true,
|
|
|
|
|
input: ["text", "image"],
|
|
|
|
|
cost: {
|
|
|
|
|
input: 15,
|
|
|
|
|
output: 75,
|
|
|
|
|
cacheRead: 1.5,
|
|
|
|
|
cacheWrite: 18.75,
|
|
|
|
|
},
|
|
|
|
|
contextWindow: 200000,
|
|
|
|
|
maxTokens: 32000,
|
|
|
|
|
} satisfies Model<"openai-completions">,
|
|
|
|
|
"anthropic/claude-opus-4-5": {
|
|
|
|
|
id: "anthropic/claude-opus-4-5",
|
|
|
|
|
name: "Claude Opus 4.5 (latest)",
|
|
|
|
|
api: "openai-completions",
|
|
|
|
|
provider: "cloudflare-ai-gateway",
|
|
|
|
|
baseUrl: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat",
|
|
|
|
|
reasoning: true,
|
|
|
|
|
input: ["text", "image"],
|
|
|
|
|
cost: {
|
|
|
|
|
input: 5,
|
|
|
|
|
output: 25,
|
|
|
|
|
cacheRead: 0.5,
|
|
|
|
|
cacheWrite: 6.25,
|
|
|
|
|
},
|
|
|
|
|
contextWindow: 200000,
|
|
|
|
|
maxTokens: 64000,
|
|
|
|
|
} satisfies Model<"openai-completions">,
|
|
|
|
|
"anthropic/claude-opus-4-6": {
|
|
|
|
|
id: "anthropic/claude-opus-4-6",
|
|
|
|
|
name: "Claude Opus 4.6 (latest)",
|
|
|
|
|
api: "openai-completions",
|
|
|
|
|
provider: "cloudflare-ai-gateway",
|
|
|
|
|
baseUrl: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat",
|
|
|
|
|
reasoning: true,
|
|
|
|
|
input: ["text", "image"],
|
|
|
|
|
cost: {
|
|
|
|
|
input: 5,
|
|
|
|
|
output: 25,
|
|
|
|
|
cacheRead: 0.5,
|
|
|
|
|
cacheWrite: 6.25,
|
|
|
|
|
},
|
|
|
|
|
contextWindow: 1000000,
|
|
|
|
|
maxTokens: 128000,
|
|
|
|
|
} satisfies Model<"openai-completions">,
|
|
|
|
|
"anthropic/claude-opus-4-7": {
|
|
|
|
|
id: "anthropic/claude-opus-4-7",
|
|
|
|
|
name: "Claude Opus 4.7",
|
|
|
|
|
api: "openai-completions",
|
|
|
|
|
provider: "cloudflare-ai-gateway",
|
|
|
|
|
baseUrl: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat",
|
|
|
|
|
reasoning: true,
|
|
|
|
|
input: ["text", "image"],
|
|
|
|
|
cost: {
|
|
|
|
|
input: 5,
|
|
|
|
|
output: 25,
|
|
|
|
|
cacheRead: 0.5,
|
|
|
|
|
cacheWrite: 6.25,
|
|
|
|
|
},
|
|
|
|
|
contextWindow: 1000000,
|
|
|
|
|
maxTokens: 128000,
|
|
|
|
|
} satisfies Model<"openai-completions">,
|
|
|
|
|
"anthropic/claude-sonnet-4": {
|
|
|
|
|
id: "anthropic/claude-sonnet-4",
|
|
|
|
|
name: "Claude Sonnet 4 (latest)",
|
|
|
|
|
api: "openai-completions",
|
|
|
|
|
provider: "cloudflare-ai-gateway",
|
|
|
|
|
baseUrl: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat",
|
|
|
|
|
reasoning: true,
|
|
|
|
|
input: ["text", "image"],
|
|
|
|
|
cost: {
|
|
|
|
|
input: 3,
|
|
|
|
|
output: 15,
|
|
|
|
|
cacheRead: 0.3,
|
|
|
|
|
cacheWrite: 3.75,
|
|
|
|
|
},
|
|
|
|
|
contextWindow: 200000,
|
|
|
|
|
maxTokens: 64000,
|
|
|
|
|
} satisfies Model<"openai-completions">,
|
|
|
|
|
"anthropic/claude-sonnet-4-5": {
|
|
|
|
|
id: "anthropic/claude-sonnet-4-5",
|
|
|
|
|
name: "Claude Sonnet 4.5 (latest)",
|
|
|
|
|
api: "openai-completions",
|
|
|
|
|
provider: "cloudflare-ai-gateway",
|
|
|
|
|
baseUrl: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat",
|
|
|
|
|
reasoning: true,
|
|
|
|
|
input: ["text", "image"],
|
|
|
|
|
cost: {
|
|
|
|
|
input: 3,
|
|
|
|
|
output: 15,
|
|
|
|
|
cacheRead: 0.3,
|
|
|
|
|
cacheWrite: 3.75,
|
|
|
|
|
},
|
|
|
|
|
contextWindow: 200000,
|
|
|
|
|
maxTokens: 64000,
|
|
|
|
|
} satisfies Model<"openai-completions">,
|
|
|
|
|
"anthropic/claude-sonnet-4-6": {
|
|
|
|
|
id: "anthropic/claude-sonnet-4-6",
|
|
|
|
|
name: "Claude Sonnet 4.6",
|
|
|
|
|
api: "openai-completions",
|
|
|
|
|
provider: "cloudflare-ai-gateway",
|
|
|
|
|
baseUrl: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat",
|
|
|
|
|
reasoning: true,
|
|
|
|
|
input: ["text", "image"],
|
|
|
|
|
cost: {
|
|
|
|
|
input: 3,
|
|
|
|
|
output: 15,
|
|
|
|
|
cacheRead: 0.3,
|
|
|
|
|
cacheWrite: 3.75,
|
|
|
|
|
},
|
|
|
|
|
contextWindow: 1000000,
|
|
|
|
|
maxTokens: 64000,
|
|
|
|
|
} satisfies Model<"openai-completions">,
|
|
|
|
|
"workers-ai/@cf/moonshotai/kimi-k2.5": {
|
|
|
|
|
id: "workers-ai/@cf/moonshotai/kimi-k2.5",
|
|
|
|
|
name: "Kimi K2.5",
|
|
|
|
|
api: "openai-completions",
|
|
|
|
|
provider: "cloudflare-ai-gateway",
|
|
|
|
|
baseUrl: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat",
|
|
|
|
|
compat: {"sendSessionAffinityHeaders":true},
|
|
|
|
|
reasoning: true,
|
|
|
|
|
input: ["text", "image"],
|
|
|
|
|
cost: {
|
|
|
|
|
input: 0.6,
|
|
|
|
|
output: 3,
|
|
|
|
|
cacheRead: 0.1,
|
|
|
|
|
cacheWrite: 0,
|
|
|
|
|
},
|
|
|
|
|
contextWindow: 256000,
|
|
|
|
|
maxTokens: 256000,
|
|
|
|
|
} satisfies Model<"openai-completions">,
|
|
|
|
|
"workers-ai/@cf/moonshotai/kimi-k2.6": {
|
|
|
|
|
id: "workers-ai/@cf/moonshotai/kimi-k2.6",
|
|
|
|
|
name: "Kimi K2.6",
|
|
|
|
|
api: "openai-completions",
|
|
|
|
|
provider: "cloudflare-ai-gateway",
|
|
|
|
|
baseUrl: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat",
|
|
|
|
|
compat: {"sendSessionAffinityHeaders":true},
|
|
|
|
|
reasoning: true,
|
|
|
|
|
input: ["text", "image"],
|
|
|
|
|
cost: {
|
|
|
|
|
input: 0.95,
|
|
|
|
|
output: 4,
|
|
|
|
|
cacheRead: 0.16,
|
|
|
|
|
cacheWrite: 0,
|
|
|
|
|
},
|
|
|
|
|
contextWindow: 256000,
|
|
|
|
|
maxTokens: 256000,
|
|
|
|
|
} satisfies Model<"openai-completions">,
|
|
|
|
|
"workers-ai/@cf/nvidia/nemotron-3-120b-a12b": {
|
|
|
|
|
id: "workers-ai/@cf/nvidia/nemotron-3-120b-a12b",
|
|
|
|
|
name: "Nemotron 3 Super 120B",
|
|
|
|
|
api: "openai-completions",
|
|
|
|
|
provider: "cloudflare-ai-gateway",
|
|
|
|
|
baseUrl: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat",
|
|
|
|
|
compat: {"sendSessionAffinityHeaders":true},
|
|
|
|
|
reasoning: true,
|
|
|
|
|
input: ["text"],
|
|
|
|
|
cost: {
|
|
|
|
|
input: 0.5,
|
|
|
|
|
output: 1.5,
|
|
|
|
|
cacheRead: 0,
|
|
|
|
|
cacheWrite: 0,
|
|
|
|
|
},
|
|
|
|
|
contextWindow: 256000,
|
|
|
|
|
maxTokens: 256000,
|
|
|
|
|
} satisfies Model<"openai-completions">,
|
|
|
|
|
"workers-ai/@cf/zai-org/glm-4.7-flash": {
|
|
|
|
|
id: "workers-ai/@cf/zai-org/glm-4.7-flash",
|
|
|
|
|
name: "GLM-4.7-Flash",
|
|
|
|
|
api: "openai-completions",
|
|
|
|
|
provider: "cloudflare-ai-gateway",
|
|
|
|
|
baseUrl: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat",
|
|
|
|
|
compat: {"sendSessionAffinityHeaders":true},
|
|
|
|
|
reasoning: true,
|
|
|
|
|
input: ["text"],
|
|
|
|
|
cost: {
|
|
|
|
|
input: 0.06,
|
|
|
|
|
output: 0.4,
|
|
|
|
|
cacheRead: 0,
|
|
|
|
|
cacheWrite: 0,
|
|
|
|
|
},
|
|
|
|
|
contextWindow: 131072,
|
|
|
|
|
maxTokens: 131072,
|
|
|
|
|
} satisfies Model<"openai-completions">,
|
|
|
|
|
"gpt-4": {
|
|
|
|
|
id: "gpt-4",
|
|
|
|
|
name: "GPT-4",
|
|
|
|
|
api: "openai-responses",
|
|
|
|
|
provider: "cloudflare-ai-gateway",
|
|
|
|
|
baseUrl: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai",
|
|
|
|
|
reasoning: false,
|
|
|
|
|
input: ["text"],
|
|
|
|
|
cost: {
|
|
|
|
|
input: 30,
|
|
|
|
|
output: 60,
|
|
|
|
|
cacheRead: 0,
|
|
|
|
|
cacheWrite: 0,
|
|
|
|
|
},
|
|
|
|
|
contextWindow: 8192,
|
|
|
|
|
maxTokens: 8192,
|
|
|
|
|
} satisfies Model<"openai-responses">,
|
|
|
|
|
"gpt-4-turbo": {
|
|
|
|
|
id: "gpt-4-turbo",
|
|
|
|
|
name: "GPT-4 Turbo",
|
|
|
|
|
api: "openai-responses",
|
|
|
|
|
provider: "cloudflare-ai-gateway",
|
|
|
|
|
baseUrl: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai",
|
|
|
|
|
reasoning: false,
|
|
|
|
|
input: ["text", "image"],
|
|
|
|
|
cost: {
|
|
|
|
|
input: 10,
|
|
|
|
|
output: 30,
|
|
|
|
|
cacheRead: 0,
|
|
|
|
|
cacheWrite: 0,
|
|
|
|
|
},
|
|
|
|
|
contextWindow: 128000,
|
|
|
|
|
maxTokens: 4096,
|
|
|
|
|
} satisfies Model<"openai-responses">,
|
|
|
|
|
"gpt-4o": {
|
|
|
|
|
id: "gpt-4o",
|
|
|
|
|
name: "GPT-4o",
|
|
|
|
|
api: "openai-responses",
|
|
|
|
|
provider: "cloudflare-ai-gateway",
|
|
|
|
|
baseUrl: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai",
|
|
|
|
|
reasoning: false,
|
|
|
|
|
input: ["text", "image"],
|
|
|
|
|
cost: {
|
|
|
|
|
input: 2.5,
|
|
|
|
|
output: 10,
|
|
|
|
|
cacheRead: 1.25,
|
|
|
|
|
cacheWrite: 0,
|
|
|
|
|
},
|
|
|
|
|
contextWindow: 128000,
|
|
|
|
|
maxTokens: 16384,
|
|
|
|
|
} satisfies Model<"openai-responses">,
|
|
|
|
|
"gpt-4o-mini": {
|
|
|
|
|
id: "gpt-4o-mini",
|
|
|
|
|
name: "GPT-4o mini",
|
|
|
|
|
api: "openai-responses",
|
|
|
|
|
provider: "cloudflare-ai-gateway",
|
|
|
|
|
baseUrl: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai",
|
|
|
|
|
reasoning: false,
|
|
|
|
|
input: ["text", "image"],
|
|
|
|
|
cost: {
|
|
|
|
|
input: 0.15,
|
|
|
|
|
output: 0.6,
|
|
|
|
|
cacheRead: 0.08,
|
|
|
|
|
cacheWrite: 0,
|
|
|
|
|
},
|
|
|
|
|
contextWindow: 128000,
|
|
|
|
|
maxTokens: 16384,
|
|
|
|
|
} satisfies Model<"openai-responses">,
|
|
|
|
|
"gpt-5.1": {
|
|
|
|
|
id: "gpt-5.1",
|
|
|
|
|
name: "GPT-5.1",
|
|
|
|
|
api: "openai-responses",
|
|
|
|
|
provider: "cloudflare-ai-gateway",
|
|
|
|
|
baseUrl: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai",
|
|
|
|
|
reasoning: true,
|
|
|
|
|
input: ["text", "image"],
|
|
|
|
|
cost: {
|
|
|
|
|
input: 1.25,
|
|
|
|
|
output: 10,
|
|
|
|
|
cacheRead: 0.13,
|
|
|
|
|
cacheWrite: 0,
|
|
|
|
|
},
|
|
|
|
|
contextWindow: 400000,
|
|
|
|
|
maxTokens: 128000,
|
|
|
|
|
} satisfies Model<"openai-responses">,
|
|
|
|
|
"gpt-5.1-codex": {
|
|
|
|
|
id: "gpt-5.1-codex",
|
|
|
|
|
name: "GPT-5.1 Codex",
|
|
|
|
|
api: "openai-responses",
|
|
|
|
|
provider: "cloudflare-ai-gateway",
|
|
|
|
|
baseUrl: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai",
|
|
|
|
|
reasoning: true,
|
|
|
|
|
input: ["text", "image"],
|
|
|
|
|
cost: {
|
|
|
|
|
input: 1.25,
|
|
|
|
|
output: 10,
|
|
|
|
|
cacheRead: 0.125,
|
|
|
|
|
cacheWrite: 0,
|
|
|
|
|
},
|
|
|
|
|
contextWindow: 400000,
|
|
|
|
|
maxTokens: 128000,
|
|
|
|
|
} satisfies Model<"openai-responses">,
|
|
|
|
|
"gpt-5.2": {
|
|
|
|
|
id: "gpt-5.2",
|
|
|
|
|
name: "GPT-5.2",
|
|
|
|
|
api: "openai-responses",
|
|
|
|
|
provider: "cloudflare-ai-gateway",
|
|
|
|
|
baseUrl: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai",
|
|
|
|
|
reasoning: true,
|
|
|
|
|
input: ["text", "image"],
|
|
|
|
|
cost: {
|
|
|
|
|
input: 1.75,
|
|
|
|
|
output: 14,
|
|
|
|
|
cacheRead: 0.175,
|
|
|
|
|
cacheWrite: 0,
|
|
|
|
|
},
|
|
|
|
|
contextWindow: 400000,
|
|
|
|
|
maxTokens: 128000,
|
|
|
|
|
} satisfies Model<"openai-responses">,
|
|
|
|
|
"gpt-5.2-codex": {
|
|
|
|
|
id: "gpt-5.2-codex",
|
|
|
|
|
name: "GPT-5.2 Codex",
|
|
|
|
|
api: "openai-responses",
|
|
|
|
|
provider: "cloudflare-ai-gateway",
|
|
|
|
|
baseUrl: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai",
|
|
|
|
|
reasoning: true,
|
|
|
|
|
input: ["text", "image"],
|
|
|
|
|
cost: {
|
|
|
|
|
input: 1.75,
|
|
|
|
|
output: 14,
|
|
|
|
|
cacheRead: 0.175,
|
|
|
|
|
cacheWrite: 0,
|
|
|
|
|
},
|
|
|
|
|
contextWindow: 400000,
|
|
|
|
|
maxTokens: 128000,
|
|
|
|
|
} satisfies Model<"openai-responses">,
|
|
|
|
|
"gpt-5.3-codex": {
|
|
|
|
|
id: "gpt-5.3-codex",
|
|
|
|
|
name: "GPT-5.3 Codex",
|
|
|
|
|
api: "openai-responses",
|
|
|
|
|
provider: "cloudflare-ai-gateway",
|
|
|
|
|
baseUrl: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai",
|
|
|
|
|
reasoning: true,
|
|
|
|
|
input: ["text", "image"],
|
|
|
|
|
cost: {
|
|
|
|
|
input: 1.75,
|
|
|
|
|
output: 14,
|
|
|
|
|
cacheRead: 0.175,
|
|
|
|
|
cacheWrite: 0,
|
|
|
|
|
},
|
|
|
|
|
contextWindow: 400000,
|
|
|
|
|
maxTokens: 128000,
|
|
|
|
|
} satisfies Model<"openai-responses">,
|
|
|
|
|
"gpt-5.4": {
|
|
|
|
|
id: "gpt-5.4",
|
|
|
|
|
name: "GPT-5.4",
|
|
|
|
|
api: "openai-responses",
|
|
|
|
|
provider: "cloudflare-ai-gateway",
|
|
|
|
|
baseUrl: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai",
|
|
|
|
|
reasoning: true,
|
|
|
|
|
input: ["text", "image"],
|
|
|
|
|
cost: {
|
|
|
|
|
input: 2.5,
|
|
|
|
|
output: 15,
|
|
|
|
|
cacheRead: 0.25,
|
|
|
|
|
cacheWrite: 0,
|
|
|
|
|
},
|
|
|
|
|
contextWindow: 1050000,
|
|
|
|
|
maxTokens: 128000,
|
|
|
|
|
} satisfies Model<"openai-responses">,
|
|
|
|
|
"gpt-5.5": {
|
|
|
|
|
id: "gpt-5.5",
|
|
|
|
|
name: "GPT-5.5",
|
|
|
|
|
api: "openai-responses",
|
|
|
|
|
provider: "cloudflare-ai-gateway",
|
|
|
|
|
baseUrl: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai",
|
|
|
|
|
reasoning: true,
|
|
|
|
|
input: ["text", "image"],
|
|
|
|
|
cost: {
|
|
|
|
|
input: 5,
|
|
|
|
|
output: 30,
|
|
|
|
|
cacheRead: 0.5,
|
|
|
|
|
cacheWrite: 0,
|
|
|
|
|
},
|
|
|
|
|
contextWindow: 1050000,
|
|
|
|
|
maxTokens: 128000,
|
|
|
|
|
} satisfies Model<"openai-responses">,
|
|
|
|
|
"o1": {
|
|
|
|
|
id: "o1",
|
|
|
|
|
name: "o1",
|
|
|
|
|
api: "openai-responses",
|
|
|
|
|
provider: "cloudflare-ai-gateway",
|
|
|
|
|
baseUrl: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai",
|
|
|
|
|
reasoning: true,
|
|
|
|
|
input: ["text", "image"],
|
|
|
|
|
cost: {
|
|
|
|
|
input: 15,
|
|
|
|
|
output: 60,
|
|
|
|
|
cacheRead: 7.5,
|
|
|
|
|
cacheWrite: 0,
|
|
|
|
|
},
|
|
|
|
|
contextWindow: 200000,
|
|
|
|
|
maxTokens: 100000,
|
|
|
|
|
} satisfies Model<"openai-responses">,
|
|
|
|
|
"o3": {
|
|
|
|
|
id: "o3",
|
|
|
|
|
name: "o3",
|
|
|
|
|
api: "openai-responses",
|
|
|
|
|
provider: "cloudflare-ai-gateway",
|
|
|
|
|
baseUrl: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai",
|
|
|
|
|
reasoning: true,
|
|
|
|
|
input: ["text", "image"],
|
|
|
|
|
cost: {
|
|
|
|
|
input: 2,
|
|
|
|
|
output: 8,
|
|
|
|
|
cacheRead: 0.5,
|
|
|
|
|
cacheWrite: 0,
|
|
|
|
|
},
|
|
|
|
|
contextWindow: 200000,
|
|
|
|
|
maxTokens: 100000,
|
|
|
|
|
} satisfies Model<"openai-responses">,
|
|
|
|
|
"o3-mini": {
|
|
|
|
|
id: "o3-mini",
|
|
|
|
|
name: "o3-mini",
|
|
|
|
|
api: "openai-responses",
|
|
|
|
|
provider: "cloudflare-ai-gateway",
|
|
|
|
|
baseUrl: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai",
|
|
|
|
|
reasoning: true,
|
|
|
|
|
input: ["text"],
|
|
|
|
|
cost: {
|
|
|
|
|
input: 1.1,
|
|
|
|
|
output: 4.4,
|
|
|
|
|
cacheRead: 0.55,
|
|
|
|
|
cacheWrite: 0,
|
|
|
|
|
},
|
|
|
|
|
contextWindow: 200000,
|
|
|
|
|
maxTokens: 100000,
|
|
|
|
|
} satisfies Model<"openai-responses">,
|
|
|
|
|
"o3-pro": {
|
|
|
|
|
id: "o3-pro",
|
|
|
|
|
name: "o3-pro",
|
|
|
|
|
api: "openai-responses",
|
|
|
|
|
provider: "cloudflare-ai-gateway",
|
|
|
|
|
baseUrl: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai",
|
|
|
|
|
reasoning: true,
|
|
|
|
|
input: ["text", "image"],
|
|
|
|
|
cost: {
|
|
|
|
|
input: 20,
|
|
|
|
|
output: 80,
|
|
|
|
|
cacheRead: 0,
|
|
|
|
|
cacheWrite: 0,
|
|
|
|
|
},
|
|
|
|
|
contextWindow: 200000,
|
|
|
|
|
maxTokens: 100000,
|
|
|
|
|
} satisfies Model<"openai-responses">,
|
|
|
|
|
"o4-mini": {
|
|
|
|
|
id: "o4-mini",
|
|
|
|
|
name: "o4-mini",
|
|
|
|
|
api: "openai-responses",
|
|
|
|
|
provider: "cloudflare-ai-gateway",
|
|
|
|
|
baseUrl: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai",
|
|
|
|
|
reasoning: true,
|
|
|
|
|
input: ["text", "image"],
|
|
|
|
|
cost: {
|
|
|
|
|
input: 1.1,
|
|
|
|
|
output: 4.4,
|
|
|
|
|
cacheRead: 0.28,
|
|
|
|
|
cacheWrite: 0,
|
|
|
|
|
},
|
|
|
|
|
contextWindow: 200000,
|
|
|
|
|
maxTokens: 100000,
|
|
|
|
|
} satisfies Model<"openai-responses">,
|
|
|
|
|
},
|
|
|
|
|
} as const;
|
|
|
|
|