mirror of
https://github.com/lobehub/lobe-chat.git
synced 2026-06-15 04:00:09 +00:00
💄 style: Add Claude Haiku 4.5 model (#9735)
* feat: 添加 Claude Haiku 4.5 模型及其相关配置 * fix: 修复模型 ID 格式并移除 Llama 4 Maverick 模型 * 添加 doubao-seed-1.6-lite;更新模型价格区间格式,调整价格单位为百万 tokens * fix: Invalid combination of reasoning_effort and thinking type: low + disabled * feat: 添加 Qwen3 VL Flash 和 Qwen3 Coder 30B A3B 模型,更新定价和发布信息
This commit is contained in:
@@ -41,6 +41,7 @@ export const responsesAPIModels = new Set([
|
||||
* models support context caching
|
||||
*/
|
||||
export const contextCachingModels = new Set([
|
||||
'claude-haiku-4-5-20251001',
|
||||
'claude-sonnet-4-5-latest',
|
||||
'claude-sonnet-4-5-20250929',
|
||||
'anthropic/claude-sonnet-4.5',
|
||||
@@ -64,6 +65,7 @@ export const thinkingWithToolClaudeModels = new Set([
|
||||
'claude-sonnet-4-20250514',
|
||||
'claude-sonnet-4-5-latest',
|
||||
'claude-sonnet-4-5-20250929',
|
||||
'claude-haiku-4-5-20251001',
|
||||
'anthropic/claude-sonnet-4.5',
|
||||
'claude-3-7-sonnet-latest',
|
||||
'claude-3-7-sonnet-20250219',
|
||||
|
||||
@@ -654,6 +654,40 @@ const aihubmixModels: AIChatModelCard[] = [
|
||||
},
|
||||
type: 'chat',
|
||||
},
|
||||
{
|
||||
abilities: {
|
||||
functionCall: true,
|
||||
reasoning: true,
|
||||
search: true,
|
||||
structuredOutput: true,
|
||||
vision: true,
|
||||
},
|
||||
contextWindowTokens: 200_000,
|
||||
description: 'Claude Haiku 4.5 是 Anthropic 最快且最智能的 Haiku 模型,具有闪电般的速度和扩展思考能力。',
|
||||
displayName: 'Claude Haiku 4.5',
|
||||
enabled: true,
|
||||
id: 'claude-haiku-4-5-20251001',
|
||||
maxOutput: 64_000,
|
||||
pricing: {
|
||||
units: [
|
||||
{ name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
|
||||
{ name: 'textOutput', rate: 5, strategy: 'fixed', unit: 'millionTokens' },
|
||||
{ name: 'textInput_cacheRead', rate: 0.1, strategy: 'fixed', unit: 'millionTokens' },
|
||||
{
|
||||
lookup: { prices: { '1h': 2, '5m': 1.25 }, pricingParams: ['ttl'] },
|
||||
name: 'textInput_cacheWrite',
|
||||
strategy: 'lookup',
|
||||
unit: 'millionTokens',
|
||||
},
|
||||
],
|
||||
},
|
||||
releasedAt: '2025-10-16',
|
||||
settings: {
|
||||
extendParams: ['disableContextCaching', 'enableReasoning', 'reasoningBudgetToken'],
|
||||
searchImpl: 'params',
|
||||
},
|
||||
type: 'chat',
|
||||
},
|
||||
{
|
||||
abilities: {
|
||||
functionCall: true,
|
||||
|
||||
@@ -30,6 +30,40 @@ const anthropicChatModels: AIChatModelCard[] = [
|
||||
},
|
||||
type: 'chat',
|
||||
},
|
||||
{
|
||||
abilities: {
|
||||
functionCall: true,
|
||||
reasoning: true,
|
||||
search: true,
|
||||
structuredOutput: true,
|
||||
vision: true,
|
||||
},
|
||||
contextWindowTokens: 200_000,
|
||||
description: 'Claude Haiku 4.5 是 Anthropic 最快且最智能的 Haiku 模型,具有闪电般的速度和扩展思考能力。',
|
||||
displayName: 'Claude Haiku 4.5',
|
||||
enabled: true,
|
||||
id: 'claude-haiku-4-5-20251001',
|
||||
maxOutput: 64_000,
|
||||
pricing: {
|
||||
units: [
|
||||
{ name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
|
||||
{ name: 'textOutput', rate: 5, strategy: 'fixed', unit: 'millionTokens' },
|
||||
{ name: 'textInput_cacheRead', rate: 0.1, strategy: 'fixed', unit: 'millionTokens' },
|
||||
{
|
||||
lookup: { prices: { '1h': 2, '5m': 1.25 }, pricingParams: ['ttl'] },
|
||||
name: 'textInput_cacheWrite',
|
||||
strategy: 'lookup',
|
||||
unit: 'millionTokens',
|
||||
},
|
||||
],
|
||||
},
|
||||
releasedAt: '2025-10-16',
|
||||
settings: {
|
||||
extendParams: ['disableContextCaching', 'enableReasoning', 'reasoningBudgetToken'],
|
||||
searchImpl: 'params',
|
||||
},
|
||||
type: 'chat',
|
||||
},
|
||||
{
|
||||
abilities: {
|
||||
functionCall: true,
|
||||
|
||||
@@ -17,23 +17,6 @@ const cerebrasModels: AIChatModelCard[] = [
|
||||
},
|
||||
type: 'chat',
|
||||
},
|
||||
{
|
||||
abilities: {
|
||||
functionCall: true,
|
||||
},
|
||||
contextWindowTokens: 32_768,
|
||||
description:
|
||||
'Llama 4 Maverick:高性能的 Llama 系列模型,适合高级推理、复杂问题解决和指令跟随任务。',
|
||||
displayName: 'Llama 4 Maverick',
|
||||
id: 'llama-4-maverick-17b-128e-instruct',
|
||||
pricing: {
|
||||
units: [
|
||||
{ name: 'textInput', rate: 0.2, strategy: 'fixed', unit: 'millionTokens' },
|
||||
{ name: 'textOutput', rate: 0.6, strategy: 'fixed', unit: 'millionTokens' },
|
||||
],
|
||||
},
|
||||
type: 'chat',
|
||||
},
|
||||
{
|
||||
abilities: {
|
||||
functionCall: true,
|
||||
|
||||
@@ -11,7 +11,7 @@ const ollamaCloudModels: AIChatModelCard[] = [
|
||||
'智谱最新旗舰模型 GLM-4.6 (355B) 在高级编码、长文本处理、推理与智能体能力上全面超越前代,尤其在编程能力上对齐 Claude Sonnet 4,成为国内顶尖的 Coding 模型。',
|
||||
displayName: 'GLM-4.6',
|
||||
enabled: true,
|
||||
id: 'glm4.6:355b',
|
||||
id: 'glm-4.6',
|
||||
type: 'chat',
|
||||
},
|
||||
{
|
||||
|
||||
@@ -5,8 +5,8 @@ import { AIChatModelCard, AIImageModelCard } from '../types/aiModel';
|
||||
const qwenChatModels: AIChatModelCard[] = [
|
||||
{
|
||||
abilities: {
|
||||
vision: true,
|
||||
reasoning: true,
|
||||
vision: true,
|
||||
},
|
||||
config: {
|
||||
deploymentName: 'qwen3-vl-plus',
|
||||
@@ -24,9 +24,9 @@ const qwenChatModels: AIChatModelCard[] = [
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 32_000]': 1,
|
||||
'[32_000, 128_000]': 1.5,
|
||||
'[128_000, infinity]': 3,
|
||||
'[0, 0.032]': 1,
|
||||
'[0.032, 0.128]': 1.5,
|
||||
'[0.128, infinity]': 3,
|
||||
},
|
||||
pricingParams: ['textInputRange'],
|
||||
},
|
||||
@@ -37,9 +37,9 @@ const qwenChatModels: AIChatModelCard[] = [
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 32_000]': 10,
|
||||
'[32_000, 128_000]': 15,
|
||||
'[128_000, infinity]': 30,
|
||||
'[0, 0.032]': 10,
|
||||
'[0.032, 0.128]': 15,
|
||||
'[0.128, infinity]': 30,
|
||||
},
|
||||
pricingParams: ['textInputRange'],
|
||||
},
|
||||
@@ -55,12 +55,64 @@ const qwenChatModels: AIChatModelCard[] = [
|
||||
},
|
||||
type: 'chat',
|
||||
},
|
||||
{
|
||||
abilities: {
|
||||
reasoning: true,
|
||||
vision: true,
|
||||
},
|
||||
config: {
|
||||
deploymentName: 'qwen3-vl-flash-2025-10-15',
|
||||
},
|
||||
contextWindowTokens: 262_144,
|
||||
description: 'Qwen3 VL Flash:轻量化高速推理版本,适合对延迟敏感或大批量请求场景。',
|
||||
displayName: 'Qwen3 VL Flash',
|
||||
id: 'qwen3-vl-flash',
|
||||
maxOutput: 32_768,
|
||||
organization: 'Qwen',
|
||||
pricing: {
|
||||
currency: 'CNY',
|
||||
units: [
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 0.032]': 0.15,
|
||||
'[0.032, 0.128]': 0.3,
|
||||
'[0.128, 0.256]': 0.6,
|
||||
},
|
||||
pricingParams: ['textInputRange'],
|
||||
},
|
||||
name: 'textInput',
|
||||
strategy: 'lookup',
|
||||
unit: 'millionTokens',
|
||||
},
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 0.032]': 1.5,
|
||||
'[0.032, 0.128]': 3,
|
||||
'[0.128, 0.256]': 6,
|
||||
},
|
||||
pricingParams: ['textInputRange'],
|
||||
},
|
||||
name: 'textOutput',
|
||||
strategy: 'lookup',
|
||||
unit: 'millionTokens',
|
||||
},
|
||||
],
|
||||
},
|
||||
releasedAt: '2025-10-15',
|
||||
settings: {
|
||||
extendParams: ['enableReasoning', 'reasoningBudgetToken'],
|
||||
},
|
||||
type: 'chat',
|
||||
},
|
||||
{
|
||||
abilities: {
|
||||
reasoning: true,
|
||||
},
|
||||
contextWindowTokens: 131_072,
|
||||
description: 'deepseek-v3.2-exp 引入稀疏注意力机制,旨在提升处理长文本时的训练与推理效率,价格低于 deepseek-v3.1。',
|
||||
description:
|
||||
'deepseek-v3.2-exp 引入稀疏注意力机制,旨在提升处理长文本时的训练与推理效率,价格低于 deepseek-v3.1。',
|
||||
displayName: 'DeepSeek V3.2 Exp',
|
||||
id: 'deepseek-v3.2-exp',
|
||||
maxOutput: 65_536,
|
||||
@@ -136,8 +188,8 @@ const qwenChatModels: AIChatModelCard[] = [
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 32_000]': 3,
|
||||
'[32_000, infinity]': 4,
|
||||
'[0, 0.032]': 3,
|
||||
'[0.032, infinity]': 4,
|
||||
},
|
||||
pricingParams: ['textInputRange'],
|
||||
},
|
||||
@@ -148,8 +200,8 @@ const qwenChatModels: AIChatModelCard[] = [
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 32_000]': 14,
|
||||
'[32_000, infinity]': 16,
|
||||
'[0, 0.032]': 14,
|
||||
'[0.032, infinity]': 16,
|
||||
},
|
||||
pricingParams: ['textInputRange'],
|
||||
},
|
||||
@@ -179,8 +231,8 @@ const qwenChatModels: AIChatModelCard[] = [
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 32_000]': 0.8,
|
||||
'[32_000, infinity]': 1.2,
|
||||
'[0, 0.032]': 0.8,
|
||||
'[0.032, infinity]': 1.2,
|
||||
},
|
||||
pricingParams: ['textInputRange'],
|
||||
},
|
||||
@@ -191,8 +243,8 @@ const qwenChatModels: AIChatModelCard[] = [
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 32_000]': 6,
|
||||
'[32_000, infinity]': 8,
|
||||
'[0, 0.032]': 6,
|
||||
'[0.032, infinity]': 8,
|
||||
},
|
||||
pricingParams: ['textInputRange'],
|
||||
},
|
||||
@@ -212,7 +264,7 @@ const qwenChatModels: AIChatModelCard[] = [
|
||||
functionCall: true,
|
||||
},
|
||||
config: {
|
||||
deploymentName: 'qwen3-coder-plus', // 其支持上下文缓存
|
||||
deploymentName: 'qwen3-coder-plus', // 支持上下文缓存
|
||||
},
|
||||
contextWindowTokens: 1_000_000,
|
||||
description:
|
||||
@@ -227,10 +279,10 @@ const qwenChatModels: AIChatModelCard[] = [
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 32_000]': 0.8,
|
||||
'[32_000, 128_000]': 1.2,
|
||||
'[128_000, 256_000]': 2,
|
||||
'[256_000, infinity]': 4,
|
||||
'[0, 0.032]': 4 * 0.2,
|
||||
'[0.032, 0.128]': 6 * 0.2,
|
||||
'[0.128, 0.256]': 10 * 0.2,
|
||||
'[0.256, infinity]': 20 * 0.2,
|
||||
},
|
||||
pricingParams: ['textInputRange'],
|
||||
},
|
||||
@@ -241,10 +293,10 @@ const qwenChatModels: AIChatModelCard[] = [
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 32_000]': 4,
|
||||
'[32_000, 128_000]': 6,
|
||||
'[128_000, 256_000]': 10,
|
||||
'[256_000, infinity]': 20,
|
||||
'[0, 0.032]': 4,
|
||||
'[0.032, 0.128]': 6,
|
||||
'[0.128, 0.256]': 10,
|
||||
'[0.256, infinity]': 20,
|
||||
},
|
||||
pricingParams: ['textInputRange'],
|
||||
},
|
||||
@@ -255,10 +307,10 @@ const qwenChatModels: AIChatModelCard[] = [
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 32_000]': 16,
|
||||
'[32_000, 128_000]': 24,
|
||||
'[128_000, 256_000]': 40,
|
||||
'[256_000, infinity]': 200,
|
||||
'[0, 0.032]': 16,
|
||||
'[0.032, 0.128]': 24,
|
||||
'[0.128, 0.256]': 40,
|
||||
'[0.256, infinity]': 200,
|
||||
},
|
||||
pricingParams: ['textInputRange'],
|
||||
},
|
||||
@@ -268,7 +320,6 @@ const qwenChatModels: AIChatModelCard[] = [
|
||||
},
|
||||
],
|
||||
},
|
||||
releasedAt: '2025-07-22',
|
||||
type: 'chat',
|
||||
},
|
||||
{
|
||||
@@ -276,7 +327,7 @@ const qwenChatModels: AIChatModelCard[] = [
|
||||
functionCall: true,
|
||||
},
|
||||
config: {
|
||||
deploymentName: 'qwen3-coder-flash',
|
||||
deploymentName: 'qwen3-coder-flash', // 支持上下文缓存
|
||||
},
|
||||
contextWindowTokens: 1_000_000,
|
||||
description:
|
||||
@@ -288,12 +339,50 @@ const qwenChatModels: AIChatModelCard[] = [
|
||||
pricing: {
|
||||
currency: 'CNY',
|
||||
units: [
|
||||
{ name: 'textInput_cacheRead', rate: 1.5 * 0.2, strategy: 'fixed', unit: 'millionTokens' }, // tokens 32K ~ 128K
|
||||
{ name: 'textInput', rate: 1.5, strategy: 'fixed', unit: 'millionTokens' },
|
||||
{ name: 'textOutput', rate: 6, strategy: 'fixed', unit: 'millionTokens' },
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 0.032]': 0.2,
|
||||
'[0.032, 0.128]': 0.3,
|
||||
'[0.128, 0.256]': 0.5,
|
||||
'[0.256, 1]': 1,
|
||||
},
|
||||
pricingParams: ['textInputRange'],
|
||||
},
|
||||
name: 'textInput_cacheRead',
|
||||
strategy: 'lookup',
|
||||
unit: 'millionTokens',
|
||||
},
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 0.032]': 1,
|
||||
'[0.032, 0.128]': 1.5,
|
||||
'[0.128, 0.256]': 2.5,
|
||||
'[0.256, 1]': 5,
|
||||
},
|
||||
pricingParams: ['textInputRange'],
|
||||
},
|
||||
name: 'textInput',
|
||||
strategy: 'lookup',
|
||||
unit: 'millionTokens',
|
||||
},
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 0.032]': 4,
|
||||
'[0.032, 0.128]': 6,
|
||||
'[0.128, 0.256]': 10,
|
||||
'[0.256, 1]': 25,
|
||||
},
|
||||
pricingParams: ['textInputRange'],
|
||||
},
|
||||
name: 'textOutput',
|
||||
strategy: 'lookup',
|
||||
unit: 'millionTokens',
|
||||
},
|
||||
],
|
||||
},
|
||||
releasedAt: '2025-07-28',
|
||||
type: 'chat',
|
||||
},
|
||||
{
|
||||
@@ -310,8 +399,76 @@ const qwenChatModels: AIChatModelCard[] = [
|
||||
pricing: {
|
||||
currency: 'CNY',
|
||||
units: [
|
||||
{ name: 'textInput', rate: 9, strategy: 'fixed', unit: 'millionTokens' },
|
||||
{ name: 'textOutput', rate: 36, strategy: 'fixed', unit: 'millionTokens' },
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 0.032]': 6,
|
||||
'[0.032, 0.128]': 9,
|
||||
'[0.128, 0.2]': 15,
|
||||
},
|
||||
pricingParams: ['textInputRange'],
|
||||
},
|
||||
name: 'textInput',
|
||||
strategy: 'lookup',
|
||||
unit: 'millionTokens',
|
||||
},
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 0.032]': 24,
|
||||
'[0.032, 0.128]': 36,
|
||||
'[0.128, 0.2]': 60,
|
||||
},
|
||||
pricingParams: ['textInputRange'],
|
||||
},
|
||||
name: 'textOutput',
|
||||
strategy: 'lookup',
|
||||
unit: 'millionTokens',
|
||||
},
|
||||
],
|
||||
},
|
||||
type: 'chat',
|
||||
},
|
||||
{
|
||||
abilities: {
|
||||
functionCall: true,
|
||||
},
|
||||
contextWindowTokens: 262_144,
|
||||
description:
|
||||
'通义千问代码模型开源版。最新的 qwen3-coder-30b-a3b-instruct 是基于 Qwen3 的代码生成模型,具有强大的Coding Agent能力,擅长工具调用和环境交互,能够实现自主编程、代码能力卓越的同时兼具通用能力。',
|
||||
displayName: 'Qwen3 Coder 30B A3B',
|
||||
id: 'qwen3-coder-30b-a3b-instruct',
|
||||
maxOutput: 65_536,
|
||||
organization: 'Qwen',
|
||||
pricing: {
|
||||
currency: 'CNY',
|
||||
units: [
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 0.032]': 1.5,
|
||||
'[0.032, 0.128]': 2.25,
|
||||
'[0.128, 0.2]': 3.75,
|
||||
},
|
||||
pricingParams: ['textInputRange'],
|
||||
},
|
||||
name: 'textInput',
|
||||
strategy: 'lookup',
|
||||
unit: 'millionTokens',
|
||||
},
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 0.032]': 6,
|
||||
'[0.032, 0.128]': 9,
|
||||
'[0.128, 0.2]': 15,
|
||||
},
|
||||
pricingParams: ['textInputRange'],
|
||||
},
|
||||
name: 'textOutput',
|
||||
strategy: 'lookup',
|
||||
unit: 'millionTokens',
|
||||
},
|
||||
],
|
||||
},
|
||||
type: 'chat',
|
||||
@@ -426,7 +583,7 @@ const qwenChatModels: AIChatModelCard[] = [
|
||||
currency: 'CNY',
|
||||
units: [
|
||||
{ name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
|
||||
{ name: 'textOutput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
|
||||
{ name: 'textOutput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
|
||||
],
|
||||
},
|
||||
releasedAt: '2025-09-12',
|
||||
@@ -450,7 +607,7 @@ const qwenChatModels: AIChatModelCard[] = [
|
||||
currency: 'CNY',
|
||||
units: [
|
||||
{ name: 'textInput', rate: 1, strategy: 'fixed', unit: 'millionTokens' },
|
||||
{ name: 'textOutput', rate: 10, strategy: 'fixed', unit: 'millionTokens' },
|
||||
{ name: 'textOutput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
|
||||
],
|
||||
},
|
||||
releasedAt: '2025-09-12',
|
||||
@@ -663,7 +820,7 @@ const qwenChatModels: AIChatModelCard[] = [
|
||||
search: true,
|
||||
},
|
||||
config: {
|
||||
deploymentName: 'qwq-plus-latest', // expired on 2025-09-02
|
||||
deploymentName: 'qwq-plus-2025-03-05',
|
||||
},
|
||||
contextWindowTokens: 131_072,
|
||||
description:
|
||||
@@ -679,7 +836,7 @@ const qwenChatModels: AIChatModelCard[] = [
|
||||
{ name: 'textOutput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
|
||||
],
|
||||
},
|
||||
releasedAt: '2025-03-06',
|
||||
releasedAt: '2025-03-05',
|
||||
settings: {
|
||||
searchImpl: 'params',
|
||||
},
|
||||
@@ -796,9 +953,9 @@ const qwenChatModels: AIChatModelCard[] = [
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 128_000]': 0.8 * 0.2,
|
||||
'[128_000, 256_000]': 2.4 * 0.2,
|
||||
'[256_000, infinity]': 4.8 * 0.2,
|
||||
'[0, 0.128]': 0.8 * 0.2,
|
||||
'[0.128, 0.256]': 2.4 * 0.2,
|
||||
'[0.256, infinity]': 4.8 * 0.2,
|
||||
},
|
||||
pricingParams: ['textInputRange'],
|
||||
},
|
||||
@@ -809,9 +966,9 @@ const qwenChatModels: AIChatModelCard[] = [
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 128_000]': 0.8,
|
||||
'[128_000, 256_000]': 2.4,
|
||||
'[256_000, infinity]': 4.8,
|
||||
'[0, 0.128]': 0.8,
|
||||
'[0.128, 0.256]': 2.4,
|
||||
'[0.256, infinity]': 4.8,
|
||||
},
|
||||
pricingParams: ['textInputRange'],
|
||||
},
|
||||
@@ -822,12 +979,12 @@ const qwenChatModels: AIChatModelCard[] = [
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 128_000]_[false]': 2,
|
||||
'[0, 128_000]_[true]': 8,
|
||||
'[128_000, 256_000]_[false]': 20,
|
||||
'[128_000, 256_000]_[true]': 24,
|
||||
'[256_000, infinity]_[false]': 48,
|
||||
'[256_000, infinity]_[true]': 64,
|
||||
'[0, 0.128]_[false]': 2,
|
||||
'[0, 0.128]_[true]': 8,
|
||||
'[0.128, 0.256]_[false]': 20,
|
||||
'[0.128, 0.256]_[true]': 24,
|
||||
'[0.256, infinity]_[false]': 48,
|
||||
'[0.256, infinity]_[true]': 64,
|
||||
},
|
||||
pricingParams: ['textInputRange', 'thinkingMode'],
|
||||
},
|
||||
@@ -837,7 +994,6 @@ const qwenChatModels: AIChatModelCard[] = [
|
||||
},
|
||||
],
|
||||
},
|
||||
releasedAt: '2025-07-14',
|
||||
settings: {
|
||||
extendParams: ['enableReasoning', 'reasoningBudgetToken'],
|
||||
searchImpl: 'params',
|
||||
@@ -866,9 +1022,9 @@ const qwenChatModels: AIChatModelCard[] = [
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 32_000]': 6 * 0.2,
|
||||
'[32_000, 128_000]': 10 * 0.2,
|
||||
'[128_000, infinity]': 15 * 0.2,
|
||||
'[0, 0.032]': 6 * 0.2,
|
||||
'[0.032, 0.128]': 10 * 0.2,
|
||||
'[0.128, infinity]': 15 * 0.2,
|
||||
},
|
||||
pricingParams: ['textInputRange'],
|
||||
},
|
||||
@@ -879,9 +1035,9 @@ const qwenChatModels: AIChatModelCard[] = [
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 32_000]': 6,
|
||||
'[32_000, 128_000]': 10,
|
||||
'[128_000, infinity]': 15,
|
||||
'[0, 0.032]': 6,
|
||||
'[0.032, 0.128]': 10,
|
||||
'[0.128, infinity]': 15,
|
||||
},
|
||||
pricingParams: ['textInputRange'],
|
||||
},
|
||||
@@ -892,9 +1048,9 @@ const qwenChatModels: AIChatModelCard[] = [
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 32_000]': 24,
|
||||
'[32_000, 128_000]': 40,
|
||||
'[128_000, infinity]': 60,
|
||||
'[0, 0.032]': 24,
|
||||
'[0.032, 0.128]': 40,
|
||||
'[0.128, infinity]': 60,
|
||||
},
|
||||
pricingParams: ['textInputRange'],
|
||||
},
|
||||
@@ -966,7 +1122,34 @@ const qwenChatModels: AIChatModelCard[] = [
|
||||
vision: true,
|
||||
},
|
||||
config: {
|
||||
deploymentName: 'qwen-omni-turbo-latest', // expired on 2025-08-13
|
||||
deploymentName: 'qwen3-omni-flash-2025-09-15',
|
||||
},
|
||||
contextWindowTokens: 65_536,
|
||||
description:
|
||||
'Qwen-Omni 模型能够接收文本、图片、音频、视频等多种模态的组合输入,并生成文本或语音形式的回复, 提供多种拟人音色,支持多语言和方言的语音输出,可应用于文本创作、视觉识别、语音助手等场景。',
|
||||
displayName: 'Qwen Omni Turbo',
|
||||
id: 'qwen3-omni-flash',
|
||||
maxOutput: 16_384,
|
||||
organization: 'Qwen',
|
||||
pricing: {
|
||||
currency: 'CNY',
|
||||
units: [
|
||||
{ name: 'textInput', rate: 1.8, strategy: 'fixed', unit: 'millionTokens' },
|
||||
{ name: 'textOutput', rate: 6.9, strategy: 'fixed', unit: 'millionTokens' },
|
||||
],
|
||||
},
|
||||
releasedAt: '2025-09-15',
|
||||
settings: {
|
||||
extendParams: ['enableReasoning', 'reasoningBudgetToken'],
|
||||
},
|
||||
type: 'chat',
|
||||
},
|
||||
{
|
||||
abilities: {
|
||||
vision: true,
|
||||
},
|
||||
config: {
|
||||
deploymentName: 'qwen-omni-turbo-2025-03-26',
|
||||
},
|
||||
contextWindowTokens: 32_768,
|
||||
description:
|
||||
@@ -1202,7 +1385,7 @@ const qwenChatModels: AIChatModelCard[] = [
|
||||
vision: true,
|
||||
},
|
||||
config: {
|
||||
deploymentName: 'qvq-max-latest',
|
||||
deploymentName: 'qvq-max-2025-05-15',
|
||||
},
|
||||
contextWindowTokens: 131_072,
|
||||
description:
|
||||
@@ -1227,7 +1410,7 @@ const qwenChatModels: AIChatModelCard[] = [
|
||||
vision: true,
|
||||
},
|
||||
config: {
|
||||
deploymentName: 'qvq-plus-latest',
|
||||
deploymentName: 'qvq-plus-2025-05-15',
|
||||
},
|
||||
contextWindowTokens: 131_072,
|
||||
description:
|
||||
@@ -1687,8 +1870,8 @@ const qwenImageModels: AIImageModelCard[] = [
|
||||
seed: { default: null },
|
||||
},
|
||||
pricing: {
|
||||
currency: 'USD',
|
||||
units: [{ name: 'imageGeneration', rate: 0.041, strategy: 'fixed', unit: 'image' }],
|
||||
currency: 'CNY',
|
||||
units: [{ name: 'imageGeneration', rate: 0.3, strategy: 'fixed', unit: 'image' }],
|
||||
},
|
||||
releasedAt: '2025-09-18',
|
||||
type: 'image',
|
||||
@@ -1836,7 +2019,7 @@ const qwenImageModels: AIImageModelCard[] = [
|
||||
},
|
||||
pricing: {
|
||||
currency: 'CNY',
|
||||
units: [{ name: 'imageGeneration', rate: 0.04, strategy: 'fixed', unit: 'image' }],
|
||||
units: [{ name: 'imageGeneration', rate: 0.16, strategy: 'fixed', unit: 'image' }],
|
||||
},
|
||||
releasedAt: '2024-05-22',
|
||||
type: 'image',
|
||||
|
||||
@@ -74,9 +74,9 @@ const doubaoChatModels: AIChatModelCard[] = [
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 32_000]': 0.8,
|
||||
'[128_000, infinity]': 4.8,
|
||||
'[32_000, 128_000]': 2.4,
|
||||
'[0, 0.032]': 0.8,
|
||||
'[0.032, 0.128]': 2.4,
|
||||
'[0.128, infinity]': 4.8,
|
||||
},
|
||||
pricingParams: ['textInputRange'],
|
||||
},
|
||||
@@ -87,9 +87,9 @@ const doubaoChatModels: AIChatModelCard[] = [
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 32_000]': 8,
|
||||
'[128_000, infinity]': 24,
|
||||
'[32_000, 128_000]': 16,
|
||||
'[0, 0.032]': 8,
|
||||
'[0.032, 0.128]': 16,
|
||||
'[0.128, infinity]': 24,
|
||||
},
|
||||
pricingParams: ['textInputRange'],
|
||||
},
|
||||
@@ -127,9 +127,9 @@ const doubaoChatModels: AIChatModelCard[] = [
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 32_000]': 0.8,
|
||||
'[128_000, infinity]': 2.4,
|
||||
'[32_000, 128_000]': 1.2,
|
||||
'[0, 0.032]': 0.8,
|
||||
'[0.032, 0.128]': 1.2,
|
||||
'[0.128, infinity]': 2.4,
|
||||
},
|
||||
pricingParams: ['textInputRange'],
|
||||
},
|
||||
@@ -140,9 +140,9 @@ const doubaoChatModels: AIChatModelCard[] = [
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 32_000]': 8,
|
||||
'[128_000, infinity]': 24,
|
||||
'[32_000, 128_000]': 16,
|
||||
'[0, 0.032]': 8,
|
||||
'[0.032, 0.128]': 16,
|
||||
'[0.128, infinity]': 24,
|
||||
},
|
||||
pricingParams: ['textInputRange'],
|
||||
},
|
||||
@@ -162,7 +162,7 @@ const doubaoChatModels: AIChatModelCard[] = [
|
||||
vision: true,
|
||||
},
|
||||
config: {
|
||||
deploymentName: 'doubao-seed-1-6-250615',
|
||||
deploymentName: 'doubao-seed-1-6-251015',
|
||||
},
|
||||
contextWindowTokens: 256_000,
|
||||
description:
|
||||
@@ -177,9 +177,9 @@ const doubaoChatModels: AIChatModelCard[] = [
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 32_000]': 0.8,
|
||||
'[128_000, infinity]': 2.4,
|
||||
'[32_000, 128_000]': 1.2,
|
||||
'[0, 0.032]': 0.8,
|
||||
'[0.032, 0.128]': 1.2,
|
||||
'[0.128, infinity]': 2.4,
|
||||
},
|
||||
pricingParams: ['textInputRange'],
|
||||
},
|
||||
@@ -190,10 +190,10 @@ const doubaoChatModels: AIChatModelCard[] = [
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 32_000]_[0, 8192]': 2,
|
||||
'[0, 32_000]_[8192, infinity]': 8,
|
||||
'[128_000, infinity]_[0, infinity]': 24,
|
||||
'[32_000, 128_000]_[0, infinity]': 16,
|
||||
'[0, 0.032]_[0, 0.0002]': 2,
|
||||
'[0, 0.032]_[0.0002, infinity]': 8,
|
||||
'[0.032, 0.128]_[0, infinity]': 16,
|
||||
'[0.128, infinity]_[0, infinity]': 24,
|
||||
},
|
||||
pricingParams: ['textInputRange', 'textOutputRange'],
|
||||
},
|
||||
@@ -205,7 +205,60 @@ const doubaoChatModels: AIChatModelCard[] = [
|
||||
],
|
||||
},
|
||||
settings: {
|
||||
extendParams: ['thinking'],
|
||||
extendParams: ['gpt5ReasoningEffort'],
|
||||
},
|
||||
type: 'chat',
|
||||
},
|
||||
{
|
||||
abilities: {
|
||||
functionCall: true,
|
||||
reasoning: true,
|
||||
vision: true,
|
||||
},
|
||||
config: {
|
||||
deploymentName: 'doubao-seed-1-6-lite-251015',
|
||||
},
|
||||
contextWindowTokens: 256_000,
|
||||
description:
|
||||
'Doubao-Seed-1.6-lite 全新多模态深度思考模型,支持思考程度可调节(reasoning effort),即 Minimal、Low、Medium、High 四种模式,更强性价比,常见任务的最佳选择,上下文窗口至256k。',
|
||||
displayName: 'Doubao Seed 1.6 Lite',
|
||||
id: 'doubao-seed-1.6-lite',
|
||||
maxOutput: 32_000,
|
||||
pricing: {
|
||||
currency: 'CNY',
|
||||
units: [
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 0.032]': 0.3,
|
||||
'[0.032, 0.128]': 0.6,
|
||||
'[0.128, 0.256]': 1.2,
|
||||
},
|
||||
pricingParams: ['textInputRange'],
|
||||
},
|
||||
name: 'textInput',
|
||||
strategy: 'lookup',
|
||||
unit: 'millionTokens',
|
||||
},
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 0.032]_[0, 0.0002]': 0.6,
|
||||
'[0, 0.032]_[0.0002, infinity]': 2.4,
|
||||
'[0.032, 0.128]_[0, infinity]': 4,
|
||||
'[0.128, 0.256]_[0, infinity]': 12,
|
||||
},
|
||||
pricingParams: ['textInputRange', 'textOutputRange'],
|
||||
},
|
||||
name: 'textOutput',
|
||||
strategy: 'lookup',
|
||||
unit: 'millionTokens',
|
||||
},
|
||||
{ name: 'textInput_cacheRead', rate: 0.06, strategy: 'fixed', unit: 'millionTokens' },
|
||||
],
|
||||
},
|
||||
settings: {
|
||||
extendParams: ['gpt5ReasoningEffort'],
|
||||
},
|
||||
type: 'chat',
|
||||
},
|
||||
@@ -231,9 +284,9 @@ const doubaoChatModels: AIChatModelCard[] = [
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 32_000]': 0.15,
|
||||
'[128_000, infinity]': 0.6,
|
||||
'[32_000, 128_000]': 0.3,
|
||||
'[0, 0.032]': 0.15,
|
||||
'[0.032, 0.128]': 0.3,
|
||||
'[0.128, infinity]': 0.6,
|
||||
},
|
||||
pricingParams: ['textInputRange'],
|
||||
},
|
||||
@@ -244,9 +297,9 @@ const doubaoChatModels: AIChatModelCard[] = [
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 32_000]': 1.5,
|
||||
'[128_000, infinity]': 6,
|
||||
'[32_000, 128_000]': 3,
|
||||
'[0, 0.032]': 1.5,
|
||||
'[0.032, 0.128]': 3,
|
||||
'[0.128, infinity]': 6,
|
||||
},
|
||||
pricingParams: ['textInputRange'],
|
||||
},
|
||||
|
||||
@@ -23,9 +23,9 @@ const zhipuChatModels: AIChatModelCard[] = [
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 32_000]_[0, 200]': 0.4,
|
||||
'[0, 32_000]_[200, infinity]': 0.6,
|
||||
'[32_000, 200_000]': 0.8,
|
||||
'[0, 0.032]_[0, 0.0002]': 0.4,
|
||||
'[0, 0.032]_[0.0002, infinity]': 0.6,
|
||||
'[0.032, 0.2]': 0.8,
|
||||
},
|
||||
pricingParams: ['textInput', 'textOutput'],
|
||||
},
|
||||
@@ -36,9 +36,9 @@ const zhipuChatModels: AIChatModelCard[] = [
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 32_000]_[0, 200]': 2,
|
||||
'[0, 32_000]_[200, infinity]': 3,
|
||||
'[32_000, 200_000]': 4,
|
||||
'[0, 0.032]_[0, 0.0002]': 2,
|
||||
'[0, 0.032]_[0.0002, infinity]': 3,
|
||||
'[0.032, 0.2]': 4,
|
||||
},
|
||||
pricingParams: ['textInput', 'textOutput'],
|
||||
},
|
||||
@@ -49,9 +49,9 @@ const zhipuChatModels: AIChatModelCard[] = [
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 32_000]_[0, 200]': 8,
|
||||
'[0, 32_000]_[200, infinity]': 14,
|
||||
'[32_000, 200_000]': 16,
|
||||
'[0, 0.032]_[0, 0.0002]': 8,
|
||||
'[0, 0.032]_[0.0002, infinity]': 14,
|
||||
'[0.032, 0.2]': 16,
|
||||
},
|
||||
pricingParams: ['textInput', 'textOutput'],
|
||||
},
|
||||
@@ -87,8 +87,8 @@ const zhipuChatModels: AIChatModelCard[] = [
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 32_000]': 0.4,
|
||||
'[32_000, 65_536]': 0.8,
|
||||
'[0, 0.032]': 0.4,
|
||||
'[0.032, infinity]': 0.8,
|
||||
},
|
||||
pricingParams: ['textInput'],
|
||||
},
|
||||
@@ -99,8 +99,8 @@ const zhipuChatModels: AIChatModelCard[] = [
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 32_000]': 2,
|
||||
'[32_000, 65_536]': 4,
|
||||
'[0, 0.032]': 2,
|
||||
'[0.032, infinity]': 4,
|
||||
},
|
||||
pricingParams: ['textInput'],
|
||||
},
|
||||
@@ -111,8 +111,8 @@ const zhipuChatModels: AIChatModelCard[] = [
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 32_000]': 6,
|
||||
'[32_000, 65_536]': 12,
|
||||
'[0, 0.032]': 6,
|
||||
'[0.032, infinity]': 12,
|
||||
},
|
||||
pricingParams: ['textInput'],
|
||||
},
|
||||
@@ -146,9 +146,9 @@ const zhipuChatModels: AIChatModelCard[] = [
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 32_000]_[0, 200]': 0.4,
|
||||
'[0, 32_000]_[200, infinity]': 0.6,
|
||||
'[32_000, 128_000]': 0.8,
|
||||
'[0, 0.032]_[0, 0.0002]': 0.4,
|
||||
'[0, 0.032]_[0.0002, infinity]': 0.6,
|
||||
'[0.032, 0.128]': 0.8,
|
||||
},
|
||||
pricingParams: ['textInput', 'textOutput'],
|
||||
},
|
||||
@@ -159,9 +159,9 @@ const zhipuChatModels: AIChatModelCard[] = [
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 32_000]_[0, 200]': 2,
|
||||
'[0, 32_000]_[200, infinity]': 3,
|
||||
'[32_000, 128_000]': 4,
|
||||
'[0, 0.032]_[0, 0.0002]': 2,
|
||||
'[0, 0.032]_[0.0002, infinity]': 3,
|
||||
'[0.032, 0.128]': 4,
|
||||
},
|
||||
pricingParams: ['textInput', 'textOutput'],
|
||||
},
|
||||
@@ -172,9 +172,9 @@ const zhipuChatModels: AIChatModelCard[] = [
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 32_000]_[0, 200]': 8,
|
||||
'[0, 32_000]_[200, infinity]': 14,
|
||||
'[32_000, 128_000]': 16,
|
||||
'[0, 0.032]_[0, 0.0002]': 8,
|
||||
'[0, 0.032]_[0.0002, infinity]': 14,
|
||||
'[0.032, 0.128]': 16,
|
||||
},
|
||||
pricingParams: ['textInput', 'textOutput'],
|
||||
},
|
||||
@@ -207,9 +207,9 @@ const zhipuChatModels: AIChatModelCard[] = [
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 32_000]': 1.6,
|
||||
'[0, 32_000]_[200, infinity]': 2.4,
|
||||
'[32_000, 128_000]': 3.2,
|
||||
'[0, 0.032]': 1.6,
|
||||
'[0, 0.032]_[0.0002, infinity]': 2.4,
|
||||
'[0.032, 0.128]': 3.2,
|
||||
},
|
||||
pricingParams: ['textInput', 'textOutput'],
|
||||
},
|
||||
@@ -220,9 +220,9 @@ const zhipuChatModels: AIChatModelCard[] = [
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 32_000]_[0, 200]': 8,
|
||||
'[0, 32_000]_[200, infinity]': 12,
|
||||
'[32_000, 128_000]': 16,
|
||||
'[0, 0.032]_[0, 0.0002]': 8,
|
||||
'[0, 0.032]_[0.0002, infinity]': 12,
|
||||
'[0.032, 0.128]': 16,
|
||||
},
|
||||
pricingParams: ['textInput', 'textOutput'],
|
||||
},
|
||||
@@ -233,9 +233,9 @@ const zhipuChatModels: AIChatModelCard[] = [
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 32_000]_[0, 200]': 16,
|
||||
'[0, 32_000]_[200, infinity]': 32,
|
||||
'[32_000, 128_000]': 64,
|
||||
'[0, 0.032]_[0, 0.0002]': 16,
|
||||
'[0, 0.032]_[0.0002, infinity]': 32,
|
||||
'[0.032, 0.128]': 64,
|
||||
},
|
||||
pricingParams: ['textInput', 'textOutput'],
|
||||
},
|
||||
@@ -268,8 +268,8 @@ const zhipuChatModels: AIChatModelCard[] = [
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 32_000]': 0.16,
|
||||
'[32_000, 128_000]': 0.24,
|
||||
'[0, 0.032]': 0.16,
|
||||
'[0.032, 0.128]': 0.24,
|
||||
},
|
||||
pricingParams: ['textInput'],
|
||||
},
|
||||
@@ -280,8 +280,8 @@ const zhipuChatModels: AIChatModelCard[] = [
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 32_000]': 0.8,
|
||||
'[32_000, 128_000]': 1.2,
|
||||
'[0, 0.032]': 0.8,
|
||||
'[0.032, 0.128]': 1.2,
|
||||
},
|
||||
pricingParams: ['textInput'],
|
||||
},
|
||||
@@ -292,9 +292,9 @@ const zhipuChatModels: AIChatModelCard[] = [
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 32_000]_[0, 200]': 2,
|
||||
'[0, 32_000]_[200, infinity]': 6,
|
||||
'[32_000, 128_000]': 8,
|
||||
'[0, 0.032]_[0, 0.0002]': 2,
|
||||
'[0, 0.032]_[0.0002, infinity]': 6,
|
||||
'[0.032, 0.128]': 8,
|
||||
},
|
||||
pricingParams: ['textInput', 'textOutput'],
|
||||
},
|
||||
@@ -327,8 +327,8 @@ const zhipuChatModels: AIChatModelCard[] = [
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 32_000]': 0.8,
|
||||
'[32_000, 128_000]': 1.6,
|
||||
'[0, 0.032]': 0.8,
|
||||
'[0.032, 0.128]': 1.6,
|
||||
},
|
||||
pricingParams: ['textInput'],
|
||||
},
|
||||
@@ -339,8 +339,8 @@ const zhipuChatModels: AIChatModelCard[] = [
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 32_000]': 4,
|
||||
'[32_000, 128_000]': 8,
|
||||
'[0, 0.032]': 4,
|
||||
'[0.032, 0.128]': 8,
|
||||
},
|
||||
pricingParams: ['textInput'],
|
||||
},
|
||||
@@ -351,9 +351,9 @@ const zhipuChatModels: AIChatModelCard[] = [
|
||||
{
|
||||
lookup: {
|
||||
prices: {
|
||||
'[0, 32_000]_[0, 200]': 12,
|
||||
'[0, 32_000]_[200, infinity]': 16,
|
||||
'[32_000, 128_000]': 32,
|
||||
'[0, 0.032]_[0, 0.0002]': 12,
|
||||
'[0, 0.032]_[0.0002, infinity]': 16,
|
||||
'[0.032, 0.128]': 32,
|
||||
},
|
||||
pricingParams: ['textInput', 'textOutput'],
|
||||
},
|
||||
|
||||
@@ -251,6 +251,7 @@ export const MODEL_PARAMETER_CONFLICTS = {
|
||||
'claude-opus-4-1',
|
||||
'claude-opus-4-1-20250805',
|
||||
'claude-sonnet-4-5-20250929',
|
||||
'claude-haiku-4-5-20251001',
|
||||
]),
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user