diff --git a/.changeset/sync-models.md b/.changeset/sync-models.md new file mode 100644 index 000000000..63eef764c --- /dev/null +++ b/.changeset/sync-models.md @@ -0,0 +1,5 @@ +--- +'@tanstack/ai-openrouter': patch +--- + +Update model metadata from OpenRouter API diff --git a/packages/typescript/ai-openrouter/src/model-meta.ts b/packages/typescript/ai-openrouter/src/model-meta.ts index b385308b0..3e54078b5 100644 --- a/packages/typescript/ai-openrouter/src/model-meta.ts +++ b/packages/typescript/ai-openrouter/src/model-meta.ts @@ -1641,16 +1641,13 @@ const DEEPSEEK_DEEPSEEK_CHAT_V3_0324 = { supports: [ 'frequencyPenalty', 'logitBias', - 'logprobs', 'maxCompletionTokens', 'presencePenalty', - 'reasoning', 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', - 'topLogprobs', 'topP', ], }, @@ -1897,14 +1894,15 @@ const DEEPSEEK_DEEPSEEK_V3_2 = { ], }, context_window: 163840, + max_output_tokens: 163840, pricing: { text: { input: { - normal: 0.26, - cached: 0.13, + normal: 0.259, + cached: 0.135, }, output: { - normal: 0.38, + normal: 0.42, }, }, image: 0, @@ -2027,7 +2025,7 @@ const GOOGLE_GEMINI_2_0_FLASH_001 = { 'topP', ], }, - context_window: 1048576, + context_window: 1000000, max_output_tokens: 8192, pricing: { text: { @@ -2524,7 +2522,6 @@ const GOOGLE_GEMMA_3_12B_IT = { output: ['text'], supports: [ 'frequencyPenalty', - 'logitBias', 'maxCompletionTokens', 'presencePenalty', 'responseFormat', @@ -2806,15 +2803,14 @@ const GOOGLE_GEMMA_4_26B_A4B_IT = { ], }, context_window: 262144, - max_output_tokens: 262144, pricing: { text: { input: { - normal: 0.07, - cached: 0.04, + normal: 0.08, + cached: 0.01, }, output: { - normal: 0.4, + normal: 0.35, }, }, image: 0, @@ -3534,7 +3530,6 @@ const META_LLAMA_LLAMA_3_3_70B_INSTRUCT = { supports: [ 'frequencyPenalty', 'logitBias', - 'logprobs', 'maxCompletionTokens', 'presencePenalty', 'responseFormat', @@ -3542,20 +3537,19 @@ const META_LLAMA_LLAMA_3_3_70B_INSTRUCT = { 'stop', 'temperature', 'toolChoice', - 'topLogprobs', 'topP', ], }, context_window: 131072, - max_output_tokens: 16384, + max_output_tokens: 131072, pricing: { text: { input: { - normal: 0.1, + normal: 0.12, cached: 0, }, output: { - normal: 0.32, + normal: 0.38, }, }, image: 0, @@ -3606,7 +3600,6 @@ const META_LLAMA_LLAMA_4_MAVERICK = { 'seed', 'stop', 'temperature', - 'toolChoice', 'topP', ], }, @@ -3719,29 +3712,6 @@ const META_LLAMA_LLAMA_GUARD_4_12B = { image: 0, }, } as const -const META_LLAMA_LLAMA_GUARD_4_12B_FREE = { - id: 'meta-llama/llama-guard-4-12b:free', - name: 'Meta: Llama Guard 4 12B (free)', - supports: { - input: ['image', 'text'], - output: ['text'], - supports: ['maxCompletionTokens', 'seed', 'temperature', 'topP'], - }, - context_window: 163840, - max_output_tokens: 65000, - pricing: { - text: { - input: { - normal: 0, - cached: 0, - }, - output: { - normal: 0, - }, - }, - image: 0, - }, -} as const const MICROSOFT_PHI_4 = { id: 'microsoft/phi-4', name: 'Microsoft: Phi 4', @@ -4861,15 +4831,12 @@ const MOONSHOTAI_KIMI_K2 = { output: ['text'], supports: [ 'frequencyPenalty', - 'logprobs', 'maxCompletionTokens', 'presencePenalty', - 'responseFormat', 'seed', 'stop', 'temperature', 'toolChoice', - 'topLogprobs', 'topP', ], }, @@ -5406,11 +5373,11 @@ const NVIDIA_NEMOTRON_3_SUPER_120B_A12B = { pricing: { text: { input: { - normal: 0.1, - cached: 0.1, + normal: 0.09, + cached: 0, }, output: { - normal: 0.5, + normal: 0.45, }, }, image: 0, @@ -6291,42 +6258,6 @@ const OPENAI_GPT_4O_SEARCH_PREVIEW = { image: 0, }, } as const -const OPENAI_GPT_4O_EXTENDED = { - id: 'openai/gpt-4o:extended', - name: 'OpenAI: GPT-4o (extended)', - supports: { - input: ['text', 'image', 'document'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'logitBias', - 'logprobs', - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'toolChoice', - 'topLogprobs', - 'topP', - ], - }, - context_window: 128000, - max_output_tokens: 64000, - pricing: { - text: { - input: { - normal: 6, - cached: 0, - }, - output: { - normal: 18, - }, - }, - image: 0, - }, -} as const const OPENAI_GPT_5 = { id: 'openai/gpt-5', name: 'OpenAI: GPT-5', @@ -8164,37 +8095,6 @@ const QWEN_QWEN_VL_PLUS = { image: 0, }, } as const -const QWEN_QWEN2_5_VL_32B_INSTRUCT = { - id: 'qwen/qwen2.5-vl-32b-instruct', - name: 'Qwen: Qwen2.5 VL 32B Instruct', - supports: { - input: ['text', 'image'], - output: ['text'], - supports: [ - 'frequencyPenalty', - 'maxCompletionTokens', - 'presencePenalty', - 'responseFormat', - 'seed', - 'stop', - 'temperature', - 'topP', - ], - }, - context_window: 128000, - pricing: { - text: { - input: { - normal: 0.2, - cached: 0, - }, - output: { - normal: 0.6, - }, - }, - image: 0, - }, -} as const const QWEN_QWEN2_5_VL_72B_INSTRUCT = { id: 'qwen/qwen2.5-vl-72b-instruct', name: 'Qwen: Qwen2.5 VL 72B Instruct', @@ -8307,7 +8207,6 @@ const QWEN_QWEN3_235B_A22B_2507 = { 'logprobs', 'maxCompletionTokens', 'presencePenalty', - 'reasoning', 'responseFormat', 'seed', 'stop', @@ -9297,12 +9196,11 @@ const QWEN_QWEN3_5_9B = { 'topP', ], }, - context_window: 256000, - max_output_tokens: 32768, + context_window: 262144, pricing: { text: { input: { - normal: 0.05, + normal: 0.1, cached: 0, }, output: { @@ -11490,16 +11388,13 @@ export type OpenRouterModelOptionsByName = { OpenRouterBaseOptions, | 'frequencyPenalty' | 'logitBias' - | 'logprobs' | 'maxCompletionTokens' | 'presencePenalty' - | 'reasoning' | 'responseFormat' | 'seed' | 'stop' | 'temperature' | 'toolChoice' - | 'topLogprobs' | 'topP' > [DEEPSEEK_DEEPSEEK_CHAT_V3_1.id]: OpenRouterCommonOptions & @@ -11838,7 +11733,6 @@ export type OpenRouterModelOptionsByName = { Pick< OpenRouterBaseOptions, | 'frequencyPenalty' - | 'logitBias' | 'maxCompletionTokens' | 'presencePenalty' | 'responseFormat' @@ -12190,7 +12084,6 @@ export type OpenRouterModelOptionsByName = { OpenRouterBaseOptions, | 'frequencyPenalty' | 'logitBias' - | 'logprobs' | 'maxCompletionTokens' | 'presencePenalty' | 'responseFormat' @@ -12198,7 +12091,6 @@ export type OpenRouterModelOptionsByName = { | 'stop' | 'temperature' | 'toolChoice' - | 'topLogprobs' | 'topP' > [META_LLAMA_LLAMA_3_3_70B_INSTRUCT_FREE.id]: OpenRouterCommonOptions & @@ -12223,7 +12115,6 @@ export type OpenRouterModelOptionsByName = { | 'seed' | 'stop' | 'temperature' - | 'toolChoice' | 'topP' > [META_LLAMA_LLAMA_4_SCOUT.id]: OpenRouterCommonOptions & @@ -12262,11 +12153,6 @@ export type OpenRouterModelOptionsByName = { | 'temperature' | 'topP' > - [META_LLAMA_LLAMA_GUARD_4_12B_FREE.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - 'maxCompletionTokens' | 'seed' | 'temperature' | 'topP' - > [MICROSOFT_PHI_4.id]: OpenRouterCommonOptions & Pick< OpenRouterBaseOptions, @@ -12702,15 +12588,12 @@ export type OpenRouterModelOptionsByName = { Pick< OpenRouterBaseOptions, | 'frequencyPenalty' - | 'logprobs' | 'maxCompletionTokens' | 'presencePenalty' - | 'responseFormat' | 'seed' | 'stop' | 'temperature' | 'toolChoice' - | 'topLogprobs' | 'topP' > [MOONSHOTAI_KIMI_K2_0905.id]: OpenRouterCommonOptions & @@ -13264,22 +13147,6 @@ export type OpenRouterModelOptionsByName = { Pick [OPENAI_GPT_4O_SEARCH_PREVIEW.id]: OpenRouterCommonOptions & Pick - [OPENAI_GPT_4O_EXTENDED.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'logitBias' - | 'logprobs' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'toolChoice' - | 'topLogprobs' - | 'topP' - > [OPENAI_GPT_5.id]: OpenRouterCommonOptions & Pick< OpenRouterBaseOptions, @@ -13929,18 +13796,6 @@ export type OpenRouterModelOptionsByName = { | 'temperature' | 'topP' > - [QWEN_QWEN2_5_VL_32B_INSTRUCT.id]: OpenRouterCommonOptions & - Pick< - OpenRouterBaseOptions, - | 'frequencyPenalty' - | 'maxCompletionTokens' - | 'presencePenalty' - | 'responseFormat' - | 'seed' - | 'stop' - | 'temperature' - | 'topP' - > [QWEN_QWEN2_5_VL_72B_INSTRUCT.id]: OpenRouterCommonOptions & Pick< OpenRouterBaseOptions, @@ -13990,7 +13845,6 @@ export type OpenRouterModelOptionsByName = { | 'logprobs' | 'maxCompletionTokens' | 'presencePenalty' - | 'reasoning' | 'responseFormat' | 'seed' | 'stop' @@ -15177,7 +15031,6 @@ export type OpenRouterModelInputModalitiesByName = { [META_LLAMA_LLAMA_4_SCOUT.id]: ReadonlyArray<'text' | 'image'> [META_LLAMA_LLAMA_GUARD_3_8B.id]: ReadonlyArray<'text'> [META_LLAMA_LLAMA_GUARD_4_12B.id]: ReadonlyArray<'image' | 'text'> - [META_LLAMA_LLAMA_GUARD_4_12B_FREE.id]: ReadonlyArray<'image' | 'text'> [MICROSOFT_PHI_4.id]: ReadonlyArray<'text'> [MICROSOFT_WIZARDLM_2_8X22B.id]: ReadonlyArray<'text'> [MINIMAX_MINIMAX_01.id]: ReadonlyArray<'text' | 'image'> @@ -15261,7 +15114,6 @@ export type OpenRouterModelInputModalitiesByName = { > [OPENAI_GPT_4O_MINI_SEARCH_PREVIEW.id]: ReadonlyArray<'text'> [OPENAI_GPT_4O_SEARCH_PREVIEW.id]: ReadonlyArray<'text'> - [OPENAI_GPT_4O_EXTENDED.id]: ReadonlyArray<'text' | 'image' | 'document'> [OPENAI_GPT_5.id]: ReadonlyArray<'text' | 'image' | 'document'> [OPENAI_GPT_5_CHAT.id]: ReadonlyArray<'document' | 'image' | 'text'> [OPENAI_GPT_5_CODEX.id]: ReadonlyArray<'text' | 'image'> @@ -15326,7 +15178,6 @@ export type OpenRouterModelInputModalitiesByName = { [QWEN_QWEN_TURBO.id]: ReadonlyArray<'text'> [QWEN_QWEN_VL_MAX.id]: ReadonlyArray<'text' | 'image'> [QWEN_QWEN_VL_PLUS.id]: ReadonlyArray<'text' | 'image'> - [QWEN_QWEN2_5_VL_32B_INSTRUCT.id]: ReadonlyArray<'text' | 'image'> [QWEN_QWEN2_5_VL_72B_INSTRUCT.id]: ReadonlyArray<'text' | 'image'> [QWEN_QWEN3_14B.id]: ReadonlyArray<'text'> [QWEN_QWEN3_235B_A22B.id]: ReadonlyArray<'text'> @@ -15531,7 +15382,6 @@ export const OPENROUTER_CHAT_MODELS = [ META_LLAMA_LLAMA_4_SCOUT.id, META_LLAMA_LLAMA_GUARD_3_8B.id, META_LLAMA_LLAMA_GUARD_4_12B.id, - META_LLAMA_LLAMA_GUARD_4_12B_FREE.id, MICROSOFT_PHI_4.id, MICROSOFT_WIZARDLM_2_8X22B.id, MINIMAX_MINIMAX_01.id, @@ -15611,7 +15461,6 @@ export const OPENROUTER_CHAT_MODELS = [ OPENAI_GPT_4O_MINI_2024_07_18.id, OPENAI_GPT_4O_MINI_SEARCH_PREVIEW.id, OPENAI_GPT_4O_SEARCH_PREVIEW.id, - OPENAI_GPT_4O_EXTENDED.id, OPENAI_GPT_5.id, OPENAI_GPT_5_CHAT.id, OPENAI_GPT_5_CODEX.id, @@ -15672,7 +15521,6 @@ export const OPENROUTER_CHAT_MODELS = [ QWEN_QWEN_TURBO.id, QWEN_QWEN_VL_MAX.id, QWEN_QWEN_VL_PLUS.id, - QWEN_QWEN2_5_VL_32B_INSTRUCT.id, QWEN_QWEN2_5_VL_72B_INSTRUCT.id, QWEN_QWEN3_14B.id, QWEN_QWEN3_235B_A22B.id, diff --git a/scripts/.sync-models-last-run b/scripts/.sync-models-last-run index abbb432ac..6f61d59e1 100644 --- a/scripts/.sync-models-last-run +++ b/scripts/.sync-models-last-run @@ -1 +1 @@ -1776398738 +1776582288 diff --git a/scripts/openrouter.models.ts b/scripts/openrouter.models.ts index e45c32ed0..7cb2fc68b 100644 --- a/scripts/openrouter.models.ts +++ b/scripts/openrouter.models.ts @@ -2221,11 +2221,9 @@ export const models: Array = [ supported_parameters: [ 'frequency_penalty', 'logit_bias', - 'logprobs', 'max_tokens', 'min_p', 'presence_penalty', - 'reasoning', 'repetition_penalty', 'response_format', 'seed', @@ -2235,7 +2233,6 @@ export const models: Array = [ 'tool_choice', 'tools', 'top_k', - 'top_logprobs', 'top_p', ], }, @@ -2524,13 +2521,13 @@ export const models: Array = [ instruct_type: null, }, pricing: { - prompt: '0.00000026', - completion: '0.00000038', - input_cache_read: '0.00000013', + prompt: '0.000000259', + completion: '0.00000042', + input_cache_read: '0.000000135', }, top_provider: { context_length: 163840, - max_completion_tokens: null, + max_completion_tokens: 163840, is_moderated: false, }, per_request_limits: null, @@ -2698,7 +2695,7 @@ export const models: Array = [ created: 1738769413, description: 'Gemini Flash 2.0 offers a significantly faster time to first token (TTFT) compared to [Gemini Flash 1.5](/google/gemini-flash-1.5), while maintaining quality on par with larger models like [Gemini Pro 1.5](/google/gemini-pro-1.5). It...', - context_length: 1048576, + context_length: 1000000, architecture: { modality: 'text+image+file+audio+video->text', input_modalities: ['text', 'image', 'file', 'audio', 'video'], @@ -2716,7 +2713,7 @@ export const models: Array = [ input_cache_write: '0.00000008333333333333334', }, top_provider: { - context_length: 1048576, + context_length: 1000000, max_completion_tokens: 8192, is_moderated: false, }, @@ -3411,7 +3408,6 @@ export const models: Array = [ per_request_limits: null, supported_parameters: [ 'frequency_penalty', - 'logit_bias', 'max_tokens', 'min_p', 'presence_penalty', @@ -3419,7 +3415,6 @@ export const models: Array = [ 'response_format', 'seed', 'stop', - 'structured_outputs', 'temperature', 'top_k', 'top_p', @@ -3735,13 +3730,13 @@ export const models: Array = [ instruct_type: null, }, pricing: { - prompt: '0.00000007', - completion: '0.0000004', - input_cache_read: '0.00000004', + prompt: '0.00000008', + completion: '0.00000035', + input_cache_read: '0.00000001', }, top_provider: { context_length: 262144, - max_completion_tokens: 262144, + max_completion_tokens: null, is_moderated: false, }, per_request_limits: null, @@ -4459,6 +4454,7 @@ export const models: Array = [ 'response_format', 'seed', 'stop', + 'structured_outputs', 'temperature', 'tool_choice', 'tools', @@ -4678,19 +4674,18 @@ export const models: Array = [ instruct_type: 'llama3', }, pricing: { - prompt: '0.0000001', - completion: '0.00000032', + prompt: '0.00000012', + completion: '0.00000038', }, top_provider: { context_length: 131072, - max_completion_tokens: 16384, + max_completion_tokens: 131072, is_moderated: false, }, per_request_limits: null, supported_parameters: [ 'frequency_penalty', 'logit_bias', - 'logprobs', 'max_tokens', 'min_p', 'presence_penalty', @@ -4703,7 +4698,6 @@ export const models: Array = [ 'tool_choice', 'tools', 'top_k', - 'top_logprobs', 'top_p', ], }, @@ -4783,8 +4777,6 @@ export const models: Array = [ 'stop', 'structured_outputs', 'temperature', - 'tool_choice', - 'tools', 'top_k', 'top_p', ], @@ -4910,34 +4902,6 @@ export const models: Array = [ 'top_p', ], }, - { - id: 'meta-llama/llama-guard-4-12b:free', - canonical_slug: 'meta-llama/llama-guard-4-12b', - hugging_face_id: 'meta-llama/Llama-Guard-4-12B', - name: 'Meta: Llama Guard 4 12B (free)', - created: 1745975193, - description: - 'Llama Guard 4 is a Llama 4 Scout-derived multimodal pretrained model, fine-tuned for content safety classification. Similar to previous versions, it can be used to classify content in both LLM...', - context_length: 163840, - architecture: { - modality: 'text+image->text', - input_modalities: ['image', 'text'], - output_modalities: ['text'], - tokenizer: 'Other', - instruct_type: null, - }, - pricing: { - prompt: '0', - completion: '0', - }, - top_provider: { - context_length: 163840, - max_completion_tokens: 65000, - is_moderated: false, - }, - per_request_limits: null, - supported_parameters: ['max_tokens', 'seed', 'temperature', 'top_p'], - }, { id: 'microsoft/phi-4', canonical_slug: 'microsoft/phi-4', @@ -6399,19 +6363,15 @@ export const models: Array = [ per_request_limits: null, supported_parameters: [ 'frequency_penalty', - 'logprobs', 'max_tokens', 'presence_penalty', 'repetition_penalty', - 'response_format', 'seed', 'stop', - 'structured_outputs', 'temperature', 'tool_choice', 'tools', 'top_k', - 'top_logprobs', 'top_p', ], }, @@ -7067,9 +7027,8 @@ export const models: Array = [ instruct_type: null, }, pricing: { - prompt: '0.0000001', - completion: '0.0000005', - input_cache_read: '0.0000001', + prompt: '0.00000009', + completion: '0.00000045', }, top_provider: { context_length: 262144, @@ -8187,50 +8146,6 @@ export const models: Array = [ 'web_search_options', ], }, - { - id: 'openai/gpt-4o:extended', - canonical_slug: 'openai/gpt-4o', - hugging_face_id: null, - name: 'OpenAI: GPT-4o (extended)', - created: 1715558400, - description: - 'GPT-4o ("o" for "omni") is OpenAI\'s latest AI model, supporting both text and image inputs with text outputs. It maintains the intelligence level of [GPT-4 Turbo](/models/openai/gpt-4-turbo) while being twice as...', - context_length: 128000, - architecture: { - modality: 'text+image+file->text', - input_modalities: ['text', 'image', 'file'], - output_modalities: ['text'], - tokenizer: 'GPT', - instruct_type: null, - }, - pricing: { - prompt: '0.000006', - completion: '0.000018', - }, - top_provider: { - context_length: 128000, - max_completion_tokens: 64000, - is_moderated: true, - }, - per_request_limits: null, - supported_parameters: [ - 'frequency_penalty', - 'logit_bias', - 'logprobs', - 'max_tokens', - 'presence_penalty', - 'response_format', - 'seed', - 'stop', - 'structured_outputs', - 'temperature', - 'tool_choice', - 'tools', - 'top_logprobs', - 'top_p', - 'web_search_options', - ], - }, { id: 'openai/gpt-5', canonical_slug: 'openai/gpt-5-2025-08-07', @@ -9262,7 +9177,6 @@ export const models: Array = [ 'min_p', 'presence_penalty', 'reasoning', - 'reasoning_effort', 'repetition_penalty', 'response_format', 'seed', @@ -9873,7 +9787,6 @@ export const models: Array = [ 'min_p', 'presence_penalty', 'reasoning', - 'reasoning_effort', 'repetition_penalty', 'response_format', 'seed', @@ -10622,46 +10535,6 @@ export const models: Array = [ 'top_p', ], }, - { - id: 'qwen/qwen2.5-vl-32b-instruct', - canonical_slug: 'qwen/qwen2.5-vl-32b-instruct', - hugging_face_id: 'Qwen/Qwen2.5-VL-32B-Instruct', - name: 'Qwen: Qwen2.5 VL 32B Instruct', - created: 1742839838, - description: - 'Qwen2.5-VL-32B is a multimodal vision-language model fine-tuned through reinforcement learning for enhanced mathematical reasoning, structured outputs, and visual problem-solving capabilities. It excels at visual analysis tasks, including object recognition, textual...', - context_length: 128000, - architecture: { - modality: 'text+image->text', - input_modalities: ['text', 'image'], - output_modalities: ['text'], - tokenizer: 'Qwen', - instruct_type: null, - }, - pricing: { - prompt: '0.0000002', - completion: '0.0000006', - }, - top_provider: { - context_length: 128000, - max_completion_tokens: null, - is_moderated: false, - }, - per_request_limits: null, - supported_parameters: [ - 'frequency_penalty', - 'max_tokens', - 'min_p', - 'presence_penalty', - 'repetition_penalty', - 'response_format', - 'seed', - 'stop', - 'temperature', - 'top_k', - 'top_p', - ], - }, { id: 'qwen/qwen2.5-vl-72b-instruct', canonical_slug: 'qwen/qwen2.5-vl-72b-instruct', @@ -10817,14 +10690,11 @@ export const models: Array = [ per_request_limits: null, supported_parameters: [ 'frequency_penalty', - 'include_reasoning', 'logit_bias', 'logprobs', 'max_tokens', 'min_p', 'presence_penalty', - 'reasoning', - 'reasoning_effort', 'repetition_penalty', 'response_format', 'seed', @@ -12073,7 +11943,7 @@ export const models: Array = [ created: 1773152396, description: 'Qwen3.5-9B is a multimodal foundation model from the Qwen3.5 family, designed to deliver strong reasoning, coding, and visual understanding in an efficient 9B-parameter architecture. It uses a unified vision-language design...', - context_length: 256000, + context_length: 262144, architecture: { modality: 'text+image+video->text', input_modalities: ['text', 'image', 'video'], @@ -12082,12 +11952,12 @@ export const models: Array = [ instruct_type: null, }, pricing: { - prompt: '0.00000005', + prompt: '0.0000001', completion: '0.00000015', }, top_provider: { - context_length: 256000, - max_completion_tokens: 32768, + context_length: 262144, + max_completion_tokens: null, is_moderated: false, }, per_request_limits: null,