diff --git a/src/backend/drivers/ai-chat/providers/alibaba/models.ts b/src/backend/drivers/ai-chat/providers/alibaba/models.ts index badea6989..110f81d04 100644 --- a/src/backend/drivers/ai-chat/providers/alibaba/models.ts +++ b/src/backend/drivers/ai-chat/providers/alibaba/models.ts @@ -143,7 +143,7 @@ export const ALIBABA_MODELS: IChatModel[] = [ tool_call: true, knowledge: '2025-04', release_date: '2026-04-02', - aliases: ['qwen/qwen3.6-plus'], + aliases: ['qwen/qwen3.6-plus', 'qwen3.6-plus-2026-04-02'], context: 1_000_000, max_tokens: 65_536, costs_currency: 'usd-cents', @@ -165,7 +165,7 @@ export const ALIBABA_MODELS: IChatModel[] = [ tool_call: true, release_date: '2026-04-27', name: 'Qwen3.6 Flash', - aliases: ['qwen/qwen3.6-flash'], + aliases: ['qwen/qwen3.6-flash', 'qwen3.6-flash-2026-04-16'], context: 1_000_000, costs_currency: 'usd-cents', input_cost_key: 'prompt_tokens', @@ -185,7 +185,7 @@ export const ALIBABA_MODELS: IChatModel[] = [ tool_call: true, release_date: '2026-06-02', name: 'Qwen3.7 Plus', - aliases: ['qwen/qwen3.7-plus'], + aliases: ['qwen/qwen3.7-plus', 'qwen3.7-plus-2026-05-26'], context: 1_000_000, costs_currency: 'usd-cents', input_cost_key: 'prompt_tokens', @@ -367,7 +367,7 @@ export const ALIBABA_MODELS: IChatModel[] = [ tool_call: true, knowledge: '2024-04', release_date: '2025-03-05', - aliases: ['qwen/qwq-plus'], + aliases: ['qwen/qwq-plus', 'qwq-plus-2025-03-05'], context: 131_072, max_tokens: 8_192, costs_currency: 'usd-cents', @@ -848,4 +848,1027 @@ export const ALIBABA_MODELS: IChatModel[] = [ cached_tokens: 0, }, }, + + // -- Additions confirmed against the international (Singapore) pricing + // -- tables at https://www.alibabacloud.com/help/en/model-studio/model-pricing + // -- (retrieved 2026-08-28). Tiered models use the base (lowest) tier. + + // -- Qwen Plus snapshots (all priced identically to qwen-plus) --- + { + puterId: 'alibaba:qwen/qwen-plus-2025-01-25', + id: 'qwen-plus-2025-01-25', + name: 'Qwen Plus (2025-01-25)', + modalities: { input: ['text'], output: ['text'] }, + open_weights: false, + tool_call: true, + release_date: '2025-01-25', + aliases: ['qwen/qwen-plus-2025-01-25'], + context: 1_000_000, + max_tokens: 32_768, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 40, + completion_tokens: 120, + cached_tokens: 0, + }, + }, + { + puterId: 'alibaba:qwen/qwen-plus-2025-04-28', + id: 'qwen-plus-2025-04-28', + name: 'Qwen Plus (2025-04-28)', + modalities: { input: ['text'], output: ['text'] }, + open_weights: false, + tool_call: true, + release_date: '2025-04-28', + aliases: ['qwen/qwen-plus-2025-04-28'], + context: 1_000_000, + max_tokens: 32_768, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 40, + completion_tokens: 120, + cached_tokens: 0, + }, + }, + { + puterId: 'alibaba:qwen/qwen-plus-2025-07-14', + id: 'qwen-plus-2025-07-14', + name: 'Qwen Plus (2025-07-14)', + modalities: { input: ['text'], output: ['text'] }, + open_weights: false, + tool_call: true, + release_date: '2025-07-14', + aliases: ['qwen/qwen-plus-2025-07-14'], + context: 1_000_000, + max_tokens: 32_768, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 40, + completion_tokens: 120, + cached_tokens: 0, + }, + }, + { + puterId: 'alibaba:qwen/qwen-plus-2025-09-11', + id: 'qwen-plus-2025-09-11', + name: 'Qwen Plus (2025-09-11)', + modalities: { input: ['text'], output: ['text'] }, + open_weights: false, + tool_call: true, + release_date: '2025-09-11', + aliases: ['qwen/qwen-plus-2025-09-11'], + context: 1_000_000, + max_tokens: 32_768, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 40, + completion_tokens: 120, + cached_tokens: 0, + }, + }, + // 'qwen-plus-latest' floats to the newest snapshot; kept on the newest + // dated entry. + { + puterId: 'alibaba:qwen/qwen-plus-2025-12-01', + id: 'qwen-plus-2025-12-01', + name: 'Qwen Plus (2025-12-01)', + modalities: { input: ['text'], output: ['text'] }, + open_weights: false, + tool_call: true, + release_date: '2025-12-01', + aliases: ['qwen/qwen-plus-2025-12-01', 'qwen-plus-latest'], + context: 1_000_000, + max_tokens: 32_768, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 40, + completion_tokens: 120, + cached_tokens: 0, + }, + }, + // -- Qwen3 Max snapshots and preview -------------------------- + { + puterId: 'alibaba:qwen/qwen3-max-2025-09-23', + id: 'qwen3-max-2025-09-23', + name: 'Qwen3 Max (2025-09-23)', + modalities: { input: ['text'], output: ['text'] }, + open_weights: false, + tool_call: true, + knowledge: '2025-04', + release_date: '2025-09-23', + aliases: ['qwen/qwen3-max-2025-09-23'], + context: 262_144, + max_tokens: 65_536, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 120, + completion_tokens: 600, + cached_tokens: 0, + }, + }, + { + puterId: 'alibaba:qwen/qwen3-max-2026-01-23', + id: 'qwen3-max-2026-01-23', + name: 'Qwen3 Max (2026-01-23)', + modalities: { input: ['text'], output: ['text'] }, + open_weights: false, + tool_call: true, + knowledge: '2025-04', + release_date: '2026-01-23', + aliases: ['qwen/qwen3-max-2026-01-23'], + context: 262_144, + max_tokens: 32_768, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 120, + completion_tokens: 600, + cached_tokens: 0, + }, + }, + { + puterId: 'alibaba:qwen/qwen3-max-preview', + id: 'qwen3-max-preview', + name: 'Qwen3 Max Preview', + modalities: { input: ['text'], output: ['text'] }, + open_weights: false, + tool_call: true, + release_date: '2025-09-05', + aliases: ['qwen/qwen3-max-preview'], + context: 262_144, + max_tokens: 32_768, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 120, + completion_tokens: 600, + cached_tokens: 0, + }, + }, + // -- Qwen3.7 Max snapshots and preview ------------------------ + { + puterId: 'alibaba:qwen/qwen3.7-max-2026-05-20', + id: 'qwen3.7-max-2026-05-20', + name: 'Qwen3.7 Max (2026-05-20)', + modalities: { input: ['text'], output: ['text'] }, + open_weights: false, + tool_call: true, + release_date: '2026-05-20', + aliases: ['qwen/qwen3.7-max-2026-05-20'], + context: 1_000_000, + max_tokens: 65_536, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 250, + completion_tokens: 750, + cached_tokens: 0, + }, + }, + { + puterId: 'alibaba:qwen/qwen3.7-max-2026-06-08', + id: 'qwen3.7-max-2026-06-08', + name: 'Qwen3.7 Max (2026-06-08)', + modalities: { input: ['text'], output: ['text'] }, + open_weights: false, + tool_call: true, + release_date: '2026-06-08', + aliases: ['qwen/qwen3.7-max-2026-06-08'], + context: 1_000_000, + max_tokens: 65_536, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 250, + completion_tokens: 750, + cached_tokens: 0, + }, + }, + // No vendor-documented release date for the preview; omitted rather + // than guessed. + { + puterId: 'alibaba:qwen/qwen3.7-max-preview', + id: 'qwen3.7-max-preview', + name: 'Qwen3.7 Max Preview', + modalities: { input: ['text'], output: ['text'] }, + open_weights: false, + tool_call: true, + aliases: ['qwen/qwen3.7-max-preview'], + context: 1_000_000, + max_tokens: 65_536, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 250, + completion_tokens: 750, + cached_tokens: 0, + }, + }, + // -- Qwen3.5 Plus snapshots ----------------------------------- + { + puterId: 'alibaba:qwen/qwen3.5-plus-2026-02-15', + id: 'qwen3.5-plus-2026-02-15', + name: 'Qwen3.5 Plus (2026-02-15)', + modalities: { input: ['text', 'image', 'video'], output: ['text'] }, + open_weights: false, + tool_call: true, + knowledge: '2025-04', + release_date: '2026-02-15', + aliases: ['qwen/qwen3.5-plus-2026-02-15'], + context: 1_000_000, + max_tokens: 65_536, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 40, + completion_tokens: 240, + cached_tokens: 0, + }, + }, + { + puterId: 'alibaba:qwen/qwen3.5-plus-2026-04-20', + id: 'qwen3.5-plus-2026-04-20', + name: 'Qwen3.5 Plus (2026-04-20)', + modalities: { input: ['text', 'image', 'video'], output: ['text'] }, + open_weights: false, + tool_call: true, + knowledge: '2025-04', + release_date: '2026-04-20', + aliases: ['qwen/qwen3.5-plus-2026-04-20'], + context: 1_000_000, + max_tokens: 65_536, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 40, + completion_tokens: 240, + cached_tokens: 0, + }, + }, + // -- Qwen3.5 / Qwen3.7 Flash ---------------------------------- + { + puterId: 'alibaba:qwen/qwen3.5-flash', + id: 'qwen3.5-flash', + name: 'Qwen3.5 Flash', + modalities: { input: ['text', 'image', 'video'], output: ['text'] }, + open_weights: false, + tool_call: true, + knowledge: '2025-04', + release_date: '2026-02-23', + aliases: ['qwen/qwen3.5-flash', 'qwen3.5-flash-2026-02-23'], + context: 1_000_000, + max_tokens: 65_536, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 10, + completion_tokens: 40, + cached_tokens: 1, + }, + }, + // Tiered by input length; base tier (<=32K input) encoded here. + { + puterId: 'alibaba:qwen/qwen3.7-flash', + id: 'qwen3.7-flash', + name: 'Qwen3.7 Flash', + modalities: { input: ['text', 'image', 'video'], output: ['text'] }, + open_weights: false, + tool_call: true, + release_date: '2026-07-15', + aliases: ['qwen/qwen3.7-flash', 'qwen3.7-flash-2026-07-15'], + context: 1_000_000, + max_tokens: 65_536, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 3, + completion_tokens: 13, + cached_tokens: 0.3, + }, + }, + // -- Open-weight Qwen3.8 -------------------------------------- + { + puterId: 'alibaba:qwen/qwen3.8-27b', + id: 'qwen3.8-27b', + name: 'Qwen3.8 27B', + modalities: { input: ['text', 'image'], output: ['text'] }, + open_weights: true, + tool_call: true, + release_date: '2026-08-14', + aliases: ['qwen/qwen3.8-27b'], + context: 262_144, + max_tokens: 32_768, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 50, + completion_tokens: 300, + cached_tokens: 0, + }, + }, + { + puterId: 'alibaba:qwen/qwen3.8-2.4t-a95b', + id: 'qwen3.8-2.4t-a95b', + name: 'Qwen3.8 2.4T-A95B', + modalities: { input: ['text'], output: ['text'] }, + open_weights: true, + tool_call: true, + release_date: '2026-08-12', + aliases: ['qwen/qwen3.8-2.4t-a95b'], + context: 262_144, + max_tokens: 131_072, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 200, + completion_tokens: 600, + cached_tokens: 0, + }, + }, + // -- Open-weight Qwen3 2507 refreshes ------------------------- + { + puterId: 'alibaba:qwen/qwen3-235b-a22b-instruct-2507', + id: 'qwen3-235b-a22b-instruct-2507', + name: 'Qwen3 235B-A22B Instruct 2507', + modalities: { input: ['text'], output: ['text'] }, + open_weights: true, + tool_call: true, + knowledge: '2025-04', + release_date: '2025-07', + aliases: ['qwen/qwen3-235b-a22b-instruct-2507'], + context: 262_144, + max_tokens: 32_768, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 23, + completion_tokens: 92, + cached_tokens: 0, + }, + }, + { + puterId: 'alibaba:qwen/qwen3-235b-a22b-thinking-2507', + id: 'qwen3-235b-a22b-thinking-2507', + name: 'Qwen3 235B-A22B Thinking 2507', + modalities: { input: ['text'], output: ['text'] }, + open_weights: true, + tool_call: true, + knowledge: '2025-04', + release_date: '2025-07', + aliases: ['qwen/qwen3-235b-a22b-thinking-2507'], + context: 262_144, + max_tokens: 131_072, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 23, + completion_tokens: 230, + cached_tokens: 0, + }, + }, + // Non-thinking output price; thinking-mode output ($2.4/MTok) is not + // modelled. + { + puterId: 'alibaba:qwen/qwen3-30b-a3b', + id: 'qwen3-30b-a3b', + name: 'Qwen3 30B-A3B', + modalities: { input: ['text'], output: ['text'] }, + open_weights: true, + tool_call: true, + knowledge: '2025-04', + release_date: '2025-04', + aliases: ['qwen/qwen3-30b-a3b'], + context: 131_072, + max_tokens: 16_384, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 20, + completion_tokens: 80, + cached_tokens: 0, + }, + }, + { + puterId: 'alibaba:qwen/qwen3-30b-a3b-instruct-2507', + id: 'qwen3-30b-a3b-instruct-2507', + name: 'Qwen3 30B-A3B Instruct 2507', + modalities: { input: ['text'], output: ['text'] }, + open_weights: true, + tool_call: true, + knowledge: '2025-04', + release_date: '2025-07', + aliases: ['qwen/qwen3-30b-a3b-instruct-2507'], + context: 262_144, + max_tokens: 16_384, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 20, + completion_tokens: 80, + cached_tokens: 0, + }, + }, + { + puterId: 'alibaba:qwen/qwen3-30b-a3b-thinking-2507', + id: 'qwen3-30b-a3b-thinking-2507', + name: 'Qwen3 30B-A3B Thinking 2507', + modalities: { input: ['text'], output: ['text'] }, + open_weights: true, + tool_call: true, + knowledge: '2025-04', + release_date: '2025-07', + aliases: ['qwen/qwen3-30b-a3b-thinking-2507'], + context: 262_144, + max_tokens: 32_768, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 20, + completion_tokens: 240, + cached_tokens: 0, + }, + }, + // -- Coding additions ----------------------------------------- + // Tiered by input length; base tier (<=32K input) encoded here. + { + puterId: 'alibaba:qwen/qwen3-coder-next', + id: 'qwen3-coder-next', + name: 'Qwen3 Coder Next', + modalities: { input: ['text'], output: ['text'] }, + open_weights: true, + tool_call: true, + release_date: '2026-02-03', + aliases: ['qwen/qwen3-coder-next'], + context: 262_144, + max_tokens: 65_536, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 30, + completion_tokens: 150, + cached_tokens: 0, + }, + }, + // Tiered by input length; base tier (<=32K input) encoded here. + { + puterId: 'alibaba:qwen/qwen3-coder-plus-2025-07-22', + id: 'qwen3-coder-plus-2025-07-22', + name: 'Qwen3 Coder Plus (2025-07-22)', + modalities: { input: ['text'], output: ['text'] }, + open_weights: true, + tool_call: true, + knowledge: '2025-04', + release_date: '2025-07-22', + aliases: ['qwen/qwen3-coder-plus-2025-07-22'], + context: 1_048_576, + max_tokens: 65_536, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 100, + completion_tokens: 500, + cached_tokens: 0, + }, + }, + // Tiered by input length; base tier (<=32K input) encoded here. + { + puterId: 'alibaba:qwen/qwen3-coder-plus-2025-09-23', + id: 'qwen3-coder-plus-2025-09-23', + name: 'Qwen3 Coder Plus (2025-09-23)', + modalities: { input: ['text'], output: ['text'] }, + open_weights: true, + tool_call: true, + knowledge: '2025-04', + release_date: '2025-09-23', + aliases: ['qwen/qwen3-coder-plus-2025-09-23'], + context: 1_048_576, + max_tokens: 65_536, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 100, + completion_tokens: 500, + cached_tokens: 0, + }, + }, + // -- Vision additions ----------------------------------------- + { + puterId: 'alibaba:qwen/qwen3-vl-235b-a22b-instruct', + id: 'qwen3-vl-235b-a22b-instruct', + name: 'Qwen3-VL 235B-A22B Instruct', + modalities: { input: ['text', 'image'], output: ['text'] }, + open_weights: true, + tool_call: true, + release_date: '2025-09-23', + aliases: ['qwen/qwen3-vl-235b-a22b-instruct'], + context: 131_072, + max_tokens: 32_768, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 40, + completion_tokens: 160, + cached_tokens: 0, + }, + }, + { + puterId: 'alibaba:qwen/qwen3-vl-235b-a22b-thinking', + id: 'qwen3-vl-235b-a22b-thinking', + name: 'Qwen3-VL 235B-A22B Thinking', + modalities: { input: ['text', 'image'], output: ['text'] }, + open_weights: true, + tool_call: true, + release_date: '2025-09-23', + aliases: ['qwen/qwen3-vl-235b-a22b-thinking'], + context: 131_072, + max_tokens: 32_768, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 40, + completion_tokens: 400, + cached_tokens: 0, + }, + }, + // Tiered by input length; base tier (<=32K input) encoded here. + { + puterId: 'alibaba:qwen/qwen3-vl-flash', + id: 'qwen3-vl-flash', + name: 'Qwen3-VL Flash', + modalities: { input: ['text', 'image'], output: ['text'] }, + open_weights: false, + tool_call: true, + release_date: '2025-10-15', + aliases: ['qwen/qwen3-vl-flash'], + context: 262_144, + max_tokens: 32_768, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 5, + completion_tokens: 40, + cached_tokens: 0, + }, + }, + { + puterId: 'alibaba:qwen/qwen3-vl-flash-2026-01-22', + id: 'qwen3-vl-flash-2026-01-22', + name: 'Qwen3-VL Flash (2026-01-22)', + modalities: { input: ['text', 'image'], output: ['text'] }, + open_weights: false, + tool_call: true, + release_date: '2026-01-22', + aliases: ['qwen/qwen3-vl-flash-2026-01-22'], + context: 262_144, + max_tokens: 32_768, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 5, + completion_tokens: 40, + cached_tokens: 0, + }, + }, + { + puterId: 'alibaba:qwen/qwen3-vl-plus-2025-09-23', + id: 'qwen3-vl-plus-2025-09-23', + name: 'Qwen3-VL Plus (2025-09-23)', + modalities: { input: ['text', 'image'], output: ['text'] }, + open_weights: false, + tool_call: true, + knowledge: '2025-04', + release_date: '2025-09-23', + aliases: ['qwen/qwen3-vl-plus-2025-09-23'], + context: 262_144, + max_tokens: 32_768, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 20, + completion_tokens: 160, + cached_tokens: 0, + }, + }, + { + puterId: 'alibaba:qwen/qwen3-vl-plus-2025-12-19', + id: 'qwen3-vl-plus-2025-12-19', + name: 'Qwen3-VL Plus (2025-12-19)', + modalities: { input: ['text', 'image'], output: ['text'] }, + open_weights: false, + tool_call: true, + knowledge: '2025-04', + release_date: '2025-12-19', + aliases: ['qwen/qwen3-vl-plus-2025-12-19'], + context: 262_144, + max_tokens: 32_768, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 20, + completion_tokens: 160, + cached_tokens: 0, + }, + }, + // -- Omni additions (text interface, audio costs excluded) ---- + { + puterId: 'alibaba:qwen/qwen3-omni-flash-2025-09-15', + id: 'qwen3-omni-flash-2025-09-15', + name: 'Qwen3-Omni Flash (2025-09-15)', + modalities: { + input: ['text', 'image', 'audio', 'video'], + output: ['text'], + }, + open_weights: false, + tool_call: true, + release_date: '2025-09-15', + aliases: ['qwen/qwen3-omni-flash-2025-09-15'], + context: 65_536, + max_tokens: 16_384, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 43, + completion_tokens: 166, + cached_tokens: 0, + }, + }, + { + puterId: 'alibaba:qwen/qwen3-omni-flash-2025-12-01', + id: 'qwen3-omni-flash-2025-12-01', + name: 'Qwen3-Omni Flash (2025-12-01)', + modalities: { + input: ['text', 'image', 'audio', 'video'], + output: ['text'], + }, + open_weights: false, + tool_call: true, + release_date: '2025-12-01', + aliases: ['qwen/qwen3-omni-flash-2025-12-01'], + context: 65_536, + max_tokens: 16_384, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 43, + completion_tokens: 166, + cached_tokens: 0, + }, + }, + { + puterId: 'alibaba:qwen/qwen3.5-omni-flash', + id: 'qwen3.5-omni-flash', + name: 'Qwen3.5-Omni Flash', + modalities: { + input: ['text', 'image', 'video', 'audio'], + output: ['text'], + }, + open_weights: false, + tool_call: true, + release_date: '2026-03-15', + aliases: ['qwen/qwen3.5-omni-flash', 'qwen3.5-omni-flash-2026-03-15'], + context: 49_152, + max_tokens: 16_384, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 40, + completion_tokens: 220, + cached_tokens: 0, + }, + }, + { + puterId: 'alibaba:qwen/qwen3.5-omni-plus', + id: 'qwen3.5-omni-plus', + name: 'Qwen3.5-Omni Plus', + modalities: { + input: ['text', 'image', 'video', 'audio'], + output: ['text'], + }, + open_weights: false, + tool_call: true, + release_date: '2026-03-15', + aliases: ['qwen/qwen3.5-omni-plus', 'qwen3.5-omni-plus-2026-03-15'], + context: 983_616, + max_tokens: 65_536, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 140, + completion_tokens: 830, + cached_tokens: 0, + }, + }, + // -- Translation additions ------------------------------------ + // No vendor-documented release date; omitted rather than guessed. + { + puterId: 'alibaba:qwen/qwen-mt-flash', + id: 'qwen-mt-flash', + name: 'Qwen-MT Flash', + modalities: { input: ['text'], output: ['text'] }, + open_weights: false, + tool_call: false, + aliases: ['qwen/qwen-mt-flash'], + context: 16_384, + max_tokens: 8_192, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 16, + completion_tokens: 49, + cached_tokens: 0, + }, + }, + // No vendor-documented release date; omitted rather than guessed. + { + puterId: 'alibaba:qwen/qwen-mt-lite', + id: 'qwen-mt-lite', + name: 'Qwen-MT Lite', + modalities: { input: ['text'], output: ['text'] }, + open_weights: false, + tool_call: false, + aliases: ['qwen/qwen-mt-lite'], + context: 16_384, + max_tokens: 8_192, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 12, + completion_tokens: 36, + cached_tokens: 0, + }, + }, + // -- Third-party models hosted on Model Studio ------------------ + // Prices are Alibaba's international (Singapore) rates, not the + // upstream vendors' own rates. No cross-provider aliases on purpose. + { + puterId: 'alibaba:zhipu/glm-5.1', + id: 'glm-5.1', + name: 'GLM-5.1', + modalities: { input: ['text'], output: ['text'] }, + open_weights: true, + tool_call: true, + release_date: '2026-04', + context: 202_752, + max_tokens: 128_000, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 140, + completion_tokens: 440, + cached_tokens: 0, + }, + }, + { + puterId: 'alibaba:zhipu/glm-5.2', + id: 'glm-5.2', + name: 'GLM-5.2', + modalities: { input: ['text'], output: ['text'] }, + open_weights: true, + tool_call: true, + release_date: '2026-06-13', + context: 1_000_000, + max_tokens: 131_072, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 140, + completion_tokens: 440, + cached_tokens: 0, + }, + }, + // No vendor-documented release date for the preview; omitted rather + // than guessed. + { + puterId: 'alibaba:zhipu/glm-5.2-fast-preview', + id: 'glm-5.2-fast-preview', + name: 'GLM-5.2 Fast Preview', + modalities: { input: ['text'], output: ['text'] }, + open_weights: true, + tool_call: true, + context: 1_000_000, + max_tokens: 131_072, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 280, + completion_tokens: 880, + cached_tokens: 0, + }, + }, + { + puterId: 'alibaba:deepseek/deepseek-v3.2', + id: 'deepseek-v3.2', + name: 'DeepSeek V3.2', + modalities: { input: ['text'], output: ['text'] }, + open_weights: true, + tool_call: true, + release_date: '2025-12-03', + context: 131_072, + max_tokens: 65_536, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 57, + completion_tokens: 171, + cached_tokens: 0, + }, + }, + { + puterId: 'alibaba:deepseek/deepseek-v4-flash', + id: 'deepseek-v4-flash', + name: 'DeepSeek V4 Flash', + modalities: { input: ['text'], output: ['text'] }, + open_weights: true, + tool_call: true, + knowledge: '2025-05', + release_date: '2026-04-24', + context: 1_000_000, + max_tokens: 384_000, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 20, + completion_tokens: 40, + cached_tokens: 0, + }, + }, + // Time-of-day pricing upstream (busy $0.44/$1.32, idle $0.22/$0.66 + // per MTok); the busy rate is encoded so cached-off-peak use is never + // under-billed. + { + puterId: 'alibaba:deepseek/deepseek-v4-flash-0731', + id: 'deepseek-v4-flash-0731', + name: 'DeepSeek V4 Flash (0731)', + modalities: { input: ['text'], output: ['text'] }, + open_weights: true, + tool_call: true, + knowledge: '2025-05', + release_date: '2026-07-31', + context: 1_000_000, + max_tokens: 384_000, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 44, + completion_tokens: 132, + cached_tokens: 0, + }, + }, + { + puterId: 'alibaba:deepseek/deepseek-v4-pro', + id: 'deepseek-v4-pro', + name: 'DeepSeek V4 Pro', + modalities: { input: ['text'], output: ['text'] }, + open_weights: true, + tool_call: true, + knowledge: '2025-05', + release_date: '2026-04-24', + context: 1_000_000, + max_tokens: 384_000, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 240, + completion_tokens: 480, + cached_tokens: 0, + }, + }, + // Time-of-day pricing upstream (busy $1.32/$3.96, idle $0.66/$1.98 + // per MTok); the busy rate is encoded so cached-off-peak use is never + // under-billed. + { + puterId: 'alibaba:deepseek/deepseek-v4-pro-0813', + id: 'deepseek-v4-pro-0813', + name: 'DeepSeek V4 Pro (0813)', + modalities: { input: ['text'], output: ['text'] }, + open_weights: true, + tool_call: true, + release_date: '2026-08-13', + context: 1_000_000, + max_tokens: 384_000, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 132, + completion_tokens: 396, + cached_tokens: 0, + }, + }, + { + puterId: 'alibaba:moonshotai/kimi-k2.7-code', + id: 'kimi-k2.7-code', + name: 'Kimi K2.7 Code', + modalities: { input: ['text', 'image', 'video'], output: ['text'] }, + open_weights: true, + tool_call: true, + knowledge: '2025-01', + release_date: '2026-06-12', + context: 262_144, + max_tokens: 262_144, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 95, + completion_tokens: 400, + cached_tokens: 0, + }, + }, ]; diff --git a/src/backend/drivers/ai-chat/providers/deepseek/models.ts b/src/backend/drivers/ai-chat/providers/deepseek/models.ts index 95f7cd2e6..a940e317c 100644 --- a/src/backend/drivers/ai-chat/providers/deepseek/models.ts +++ b/src/backend/drivers/ai-chat/providers/deepseek/models.ts @@ -50,6 +50,31 @@ export const DEEPSEEK_MODELS: IChatModel[] = [ }, max_tokens: 384_000, }, + { + // Priced identically to deepseek-v4-flash per DeepSeek's launch note + // (https://api-docs.deepseek.com/news/news260821/) and the pricing + // page, which lists the same rates for both models; images are + // tokenized (up to 384 tokens each) and billed as input tokens. + puterId: 'deepseek:deepseek/deepseek-v4-flash-vision-exp', + id: 'deepseek-v4-flash-vision-exp', + modalities: { input: ['text', 'image'], output: ['text'] }, + open_weights: false, + tool_call: true, + release_date: '2026-08-21', + name: 'DeepSeek V4 Flash Vision (Experimental)', + aliases: ['deepseek/deepseek-v4-flash-vision-exp'], + context: 1_000_000, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 14, + completion_tokens: 28, + cached_tokens: 0.28, + }, + max_tokens: 384_000, + }, { puterId: 'deepseek:deepseek/deepseek-v4-pro', id: 'deepseek-v4-pro', diff --git a/src/backend/drivers/ai-chat/providers/gemini/models.ts b/src/backend/drivers/ai-chat/providers/gemini/models.ts index 259c6be63..405f6238a 100644 --- a/src/backend/drivers/ai-chat/providers/gemini/models.ts +++ b/src/backend/drivers/ai-chat/providers/gemini/models.ts @@ -33,7 +33,14 @@ export const GEMINI_MODELS: IChatModel[] = [ knowledge: '2025-01', release_date: '2026-05-19', name: 'Gemini 3.5 Flash', - aliases: ['google/gemini-3.5-flash'], + aliases: [ + 'google/gemini-3.5-flash', + // Rolling alias; Gemini API changelog (2026-05-19): gemini-3.5-flash + // "Now backs `gemini-flash-latest`". Hot-swapped by Google on new + // releases; no later switch documented as of 2026-08-28. + 'gemini-flash-latest', + 'google/gemini-flash-latest', + ], context: 1_048_576, max_tokens: 65_536, costs_currency: 'usd-cents', @@ -61,7 +68,13 @@ export const GEMINI_MODELS: IChatModel[] = [ knowledge: '2025-01', release_date: '2026-07-21', name: 'Gemini 3.5 Flash-Lite', - aliases: ['google/gemini-3.5-flash-lite'], + aliases: [ + 'google/gemini-3.5-flash-lite', + // Rolling alias that floats across Flash-Lite releases; pinned here + // to the newest Flash-Lite in this catalog (GA 2026-07-21). + 'gemini-flash-lite-latest', + 'google/gemini-flash-lite-latest', + ], context: 1_048_576, max_tokens: 65_536, costs_currency: 'usd-cents', @@ -228,7 +241,14 @@ export const GEMINI_MODELS: IChatModel[] = [ knowledge: '2025-01', release_date: '2026-02-19', name: 'Gemini 3.1 Pro Preview', - aliases: ['google/gemini-3.1-pro-preview'], + aliases: [ + 'google/gemini-3.1-pro-preview', + // Rolling alias that floats across Pro releases; pinned here to the + // newest Pro in this catalog (Google last documented it switching to + // gemini-3-pro-preview on 2026-01-21, superseded by 3.1 on 2026-02-19). + 'gemini-pro-latest', + 'google/gemini-pro-latest', + ], context: 1_048_576, costs_currency: 'usd-cents', input_cost_key: 'prompt_tokens', @@ -301,4 +321,60 @@ export const GEMINI_MODELS: IChatModel[] = [ }, max_tokens: 65536, }, + { + puterId: 'google:google/gemma-4-31b-it', + id: 'gemma-4-31b-it', + modalities: { + input: ['text', 'image'], + output: ['text'], + }, + open_weights: true, + tool_call: true, + knowledge: '2025-01', + release_date: '2026-04-02', + name: 'Gemma 4 31B', + aliases: ['google/gemma-4-31b-it'], + context: 262_144, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + // Gemma 4 on the Gemini API is free of charge (free tier only; the + // official pricing page lists no paid tier for Gemma models). + costs: { + tokens: 1_000_000, + prompt_tokens: 0, + completion_tokens: 0, + thinking_tokens: 0, + cached_tokens: 0, + }, + max_tokens: 8_192, + }, + { + puterId: 'google:google/gemma-4-26b-a4b-it', + id: 'gemma-4-26b-a4b-it', + modalities: { + input: ['text', 'image'], + output: ['text'], + }, + open_weights: true, + tool_call: true, + knowledge: '2025-01', + release_date: '2026-04-02', + name: 'Gemma 4 26B A4B', + aliases: ['google/gemma-4-26b-a4b-it'], + context: 262_144, + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + // Gemma 4 on the Gemini API is free of charge (free tier only; the + // official pricing page lists no paid tier for Gemma models). + costs: { + tokens: 1_000_000, + prompt_tokens: 0, + completion_tokens: 0, + thinking_tokens: 0, + cached_tokens: 0, + }, + max_tokens: 8_192, + }, ]; diff --git a/src/backend/drivers/ai-chat/providers/mistral/models.ts b/src/backend/drivers/ai-chat/providers/mistral/models.ts index f1994b322..cbcc1d753 100644 --- a/src/backend/drivers/ai-chat/providers/mistral/models.ts +++ b/src/backend/drivers/ai-chat/providers/mistral/models.ts @@ -32,6 +32,7 @@ export const MISTRAL_MODELS: IChatModel[] = [ name: 'Mistral Medium 3.5', aliases: [ 'mistral-medium-3-5', + 'mistral-medium-3.5', 'mistral-medium-3', 'mistral-medium-latest', 'mistral-medium', @@ -110,6 +111,29 @@ export const MISTRAL_MODELS: IChatModel[] = [ completion_tokens: 60, }, }, + { + puterId: 'mistralai:mistralai/zai-glm-5-2', + id: 'zai-glm-5-2', + modalities: { input: ['text'], output: ['text'] }, + open_weights: true, + tool_call: true, + release_date: '2026-08-06', + name: 'Z.ai GLM 5.2', + aliases: ['glm-5-2'], + context: 1_000_000, + max_tokens: 128_000, + description: + 'Third-party open-source model from Z.ai, hosted by Mistral for long-context coding and agentic workflows.', + provider: 'mistral', + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 140, + completion_tokens: 440, + }, + }, { puterId: 'mistralai:mistralai/codestral-2508', id: 'codestral-2508', diff --git a/src/backend/drivers/ai-chat/providers/openai/models.ts b/src/backend/drivers/ai-chat/providers/openai/models.ts index 026b5d6be..c6f2672db 100644 --- a/src/backend/drivers/ai-chat/providers/openai/models.ts +++ b/src/backend/drivers/ai-chat/providers/openai/models.ts @@ -158,7 +158,7 @@ export const OPEN_AI_MODELS: IChatModel[] = [ tool_call: true, knowledge: '2025-08-31', release_date: '2026-03-05', - aliases: ['openai/gpt-5.4-pro'], + aliases: ['gpt-5.4-pro-2026-03-05', 'openai/gpt-5.4-pro'], costs_currency: 'usd-cents', input_cost_key: 'prompt_tokens', output_cost_key: 'completion_tokens', @@ -178,7 +178,7 @@ export const OPEN_AI_MODELS: IChatModel[] = [ open_weights: false, tool_call: true, knowledge: '2025-08-31', - aliases: ['openai/gpt-5.4-mini'], + aliases: ['gpt-5.4-mini-2026-03-17', 'openai/gpt-5.4-mini'], costs_currency: 'usd-cents', input_cost_key: 'prompt_tokens', output_cost_key: 'completion_tokens', @@ -200,7 +200,7 @@ export const OPEN_AI_MODELS: IChatModel[] = [ tool_call: true, knowledge: '2025-08-31', release_date: '2026-03-19', - aliases: ['openai/gpt-5.4-nano'], + aliases: ['gpt-5.4-nano-2026-03-17', 'openai/gpt-5.4-nano'], costs_currency: 'usd-cents', input_cost_key: 'prompt_tokens', output_cost_key: 'completion_tokens', @@ -221,7 +221,7 @@ export const OPEN_AI_MODELS: IChatModel[] = [ tool_call: true, knowledge: '2025-10', release_date: '2025-10-06', - aliases: ['openai/gpt-5-pro'], + aliases: ['gpt-5-pro-2025-10-06', 'openai/gpt-5-pro'], costs_currency: 'usd-cents', input_cost_key: 'prompt_tokens', output_cost_key: 'completion_tokens', @@ -306,7 +306,7 @@ export const OPEN_AI_MODELS: IChatModel[] = [ tool_call: true, knowledge: '2024-09-30', release_date: '2025-11-13', - aliases: ['openai/gpt-5.1'], + aliases: ['gpt-5.1-2025-11-13', 'openai/gpt-5.1'], costs_currency: 'usd-cents', input_cost_key: 'prompt_tokens', output_cost_key: 'completion_tokens', @@ -390,7 +390,7 @@ export const OPEN_AI_MODELS: IChatModel[] = [ tool_call: true, knowledge: '2023-09', release_date: '2024-05-13', - aliases: ['openai/gpt-4o'], + aliases: ['gpt-4o-2024-08-06', 'openai/gpt-4o'], costs_currency: 'usd-cents', input_cost_key: 'prompt_tokens', output_cost_key: 'completion_tokens', @@ -411,7 +411,7 @@ export const OPEN_AI_MODELS: IChatModel[] = [ tool_call: true, knowledge: '2023-09', release_date: '2024-07-18', - aliases: ['openai/gpt-4o-mini'], + aliases: ['gpt-4o-mini-2024-07-18', 'openai/gpt-4o-mini'], context: 128_000, max_tokens: 16384, costs_currency: 'usd-cents', @@ -453,7 +453,7 @@ export const OPEN_AI_MODELS: IChatModel[] = [ tool_call: true, knowledge: '2024-05', release_date: '2025-04-16', - aliases: ['openai/o3'], + aliases: ['o3-2025-04-16', 'openai/o3'], costs_currency: 'usd-cents', input_cost_key: 'prompt_tokens', output_cost_key: 'completion_tokens', @@ -474,7 +474,7 @@ export const OPEN_AI_MODELS: IChatModel[] = [ tool_call: true, knowledge: '2024-05', release_date: '2025-06-10', - aliases: ['openai/o3-pro'], + aliases: ['o3-pro-2025-06-10', 'openai/o3-pro'], costs_currency: 'usd-cents', input_cost_key: 'prompt_tokens', output_cost_key: 'completion_tokens', @@ -537,7 +537,7 @@ export const OPEN_AI_MODELS: IChatModel[] = [ tool_call: true, knowledge: '2024-04', release_date: '2025-04-14', - aliases: ['openai/gpt-4.1'], + aliases: ['gpt-4.1-2025-04-14', 'openai/gpt-4.1'], costs_currency: 'usd-cents', input_cost_key: 'prompt_tokens', output_cost_key: 'completion_tokens', @@ -558,7 +558,7 @@ export const OPEN_AI_MODELS: IChatModel[] = [ tool_call: true, knowledge: '2024-04', release_date: '2025-04-14', - aliases: ['openai/gpt-4.1-mini'], + aliases: ['gpt-4.1-mini-2025-04-14', 'openai/gpt-4.1-mini'], costs_currency: 'usd-cents', input_cost_key: 'prompt_tokens', output_cost_key: 'completion_tokens', @@ -579,7 +579,7 @@ export const OPEN_AI_MODELS: IChatModel[] = [ tool_call: true, knowledge: '2024-04', release_date: '2025-04-14', - aliases: ['openai/gpt-4.1-nano'], + aliases: ['gpt-4.1-nano-2025-04-14', 'openai/gpt-4.1-nano'], costs_currency: 'usd-cents', input_cost_key: 'prompt_tokens', output_cost_key: 'completion_tokens', @@ -592,4 +592,45 @@ export const OPEN_AI_MODELS: IChatModel[] = [ context: 1_047_576, max_tokens: 32768, }, + { + puterId: 'openai:openai/chat-latest', + id: 'chat-latest', + modalities: { input: ['text', 'image'], output: ['text'] }, + open_weights: false, + tool_call: true, + knowledge: '2025-08-31', + aliases: ['openai/chat-latest'], + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 500, + cached_tokens: 50, + completion_tokens: 3000, + }, + context: 400_000, + max_tokens: 128_000, + }, + { + puterId: 'openai:openai/gpt-4o-2024-11-20', + id: 'gpt-4o-2024-11-20', + modalities: { input: ['text', 'image'], output: ['text'] }, + open_weights: false, + tool_call: true, + knowledge: '2023-09', + release_date: '2024-11-20', + aliases: ['openai/gpt-4o-2024-11-20'], + costs_currency: 'usd-cents', + input_cost_key: 'prompt_tokens', + output_cost_key: 'completion_tokens', + costs: { + tokens: 1_000_000, + prompt_tokens: 250, + cached_tokens: 125, + completion_tokens: 1000, + }, + context: 128_000, + max_tokens: 16_384, + }, ]; diff --git a/src/backend/drivers/ai-chat/providers/zai/models.ts b/src/backend/drivers/ai-chat/providers/zai/models.ts index 5884e706e..1a109608d 100644 --- a/src/backend/drivers/ai-chat/providers/zai/models.ts +++ b/src/backend/drivers/ai-chat/providers/zai/models.ts @@ -53,6 +53,16 @@ export const ZAI_MODELS: IChatModel[] = [ 128 * K, usdPerMToken(1.4, 4.4, 0.26), ), + // List price from https://docs.z.ai/guides/overview/pricing ($0.15 in / + // $0.50 out / $0.03 cached per MTok); the page currently shows a 50% + // promotional discount, which we deliberately do not encode. + textModel( + 'glm-5.3-flash', + 'GLM-5.3-Flash', + 1_000 * K, + 128 * K, + usdPerMToken(0.15, 0.5, 0.03), + ), textModel( 'glm-5.2', 'GLM-5.2',