diff --git a/packages/ai/scripts/generate-models.ts b/packages/ai/scripts/generate-models.ts index 73e077d2..7754cd17 100644 --- a/packages/ai/scripts/generate-models.ts +++ b/packages/ai/scripts/generate-models.ts @@ -193,43 +193,12 @@ async function loadModelsDevData(): Promise[]> { continue; } - if (id.startsWith("amazon.titan-text-express") || - id.startsWith("mistral.mistral-7b-instruct-v0")) { + if (id.startsWith("mistral.mistral-7b-instruct-v0")) { // These models doesn't support system messages continue; } - // Some Amazon Bedrock models require cross-region inference profiles to work. - // To use cross-region inference, we need to add a region prefix to the models. - // See https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-support.html#inference-profiles-support-system - // TODO: Remove Claude models once https://github.com/anomalyco/models.dev/pull/607 is merged, and follow-up with other models. - - // Models with global cross-region inference profiles - if (id.startsWith("anthropic.claude-haiku-4-5") || - id.startsWith("anthropic.claude-sonnet-4") || - id.startsWith("anthropic.claude-opus-4-5") || - id.startsWith("amazon.nova-2-lite") || - id.startsWith("cohere.embed-v4") || - id.startsWith("twelvelabs.pegasus-1-2")) { - id = "global." + id; - } - - // Models with US cross-region inference profiles - if (id.startsWith("amazon.nova-lite") || - id.startsWith("amazon.nova-micro") || - id.startsWith("amazon.nova-premier") || - id.startsWith("amazon.nova-pro") || - id.startsWith("anthropic.claude-3-7-sonnet") || - id.startsWith("anthropic.claude-opus-4-1") || - id.startsWith("anthropic.claude-opus-4-20250514") || - id.startsWith("deepseek.r1") || - id.startsWith("meta.llama3-2") || - id.startsWith("meta.llama3-3") || - id.startsWith("meta.llama4")) { - id = "us." + id; - } - - const bedrockModel = { + models.push({ id, name: m.name || id, api: "bedrock-converse-stream" as const, @@ -245,19 +214,7 @@ async function loadModelsDevData(): Promise[]> { }, contextWindow: m.limit?.context || 4096, maxTokens: m.limit?.output || 4096, - }; - models.push(bedrockModel); - - // Add EU cross-region inference variants for Claude models - if (modelId.startsWith("anthropic.claude-haiku-4-5") || - modelId.startsWith("anthropic.claude-sonnet-4-5") || - modelId.startsWith("anthropic.claude-opus-4-5")) { - models.push({ - ...bedrockModel, - id: "eu." + modelId, - name: (m.name || modelId) + " (EU)", - }); - } + }); } } diff --git a/packages/ai/src/models.generated.ts b/packages/ai/src/models.generated.ts index 110d29ad..bfc85128 100644 --- a/packages/ai/src/models.generated.ts +++ b/packages/ai/src/models.generated.ts @@ -5,6 +5,57 @@ import type { Model } from "./types.js"; export const MODELS = { "amazon-bedrock": { + "amazon.nova-lite-v1:0": { + id: "amazon.nova-lite-v1:0", + name: "Nova Lite", + api: "bedrock-converse-stream", + provider: "amazon-bedrock", + baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", + reasoning: false, + input: ["text", "image"], + cost: { + input: 0.06, + output: 0.24, + cacheRead: 0.015, + cacheWrite: 0, + }, + contextWindow: 300000, + maxTokens: 8192, + } satisfies Model<"bedrock-converse-stream">, + "amazon.nova-micro-v1:0": { + id: "amazon.nova-micro-v1:0", + name: "Nova Micro", + api: "bedrock-converse-stream", + provider: "amazon-bedrock", + baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", + reasoning: false, + input: ["text"], + cost: { + input: 0.035, + output: 0.14, + cacheRead: 0.00875, + cacheWrite: 0, + }, + contextWindow: 128000, + maxTokens: 8192, + } satisfies Model<"bedrock-converse-stream">, + "amazon.nova-pro-v1:0": { + id: "amazon.nova-pro-v1:0", + name: "Nova Pro", + api: "bedrock-converse-stream", + provider: "amazon-bedrock", + baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", + reasoning: false, + input: ["text", "image"], + cost: { + input: 0.8, + output: 3.2, + cacheRead: 0.2, + cacheWrite: 0, + }, + contextWindow: 300000, + maxTokens: 8192, + } satisfies Model<"bedrock-converse-stream">, "anthropic.claude-3-5-haiku-20241022-v1:0": { id: "anthropic.claude-3-5-haiku-20241022-v1:0", name: "Claude Haiku 3.5", @@ -107,6 +158,91 @@ export const MODELS = { contextWindow: 200000, maxTokens: 4096, } satisfies Model<"bedrock-converse-stream">, + "apac.amazon.nova-lite-v1:0": { + id: "apac.amazon.nova-lite-v1:0", + name: "Nova Lite (APAC)", + api: "bedrock-converse-stream", + provider: "amazon-bedrock", + baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", + reasoning: false, + input: ["text", "image"], + cost: { + input: 0.06, + output: 0.24, + cacheRead: 0.015, + cacheWrite: 0, + }, + contextWindow: 300000, + maxTokens: 8192, + } satisfies Model<"bedrock-converse-stream">, + "apac.amazon.nova-micro-v1:0": { + id: "apac.amazon.nova-micro-v1:0", + name: "Nova Micro (APAC)", + api: "bedrock-converse-stream", + provider: "amazon-bedrock", + baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", + reasoning: false, + input: ["text"], + cost: { + input: 0.035, + output: 0.14, + cacheRead: 0.00875, + cacheWrite: 0, + }, + contextWindow: 128000, + maxTokens: 8192, + } satisfies Model<"bedrock-converse-stream">, + "apac.amazon.nova-pro-v1:0": { + id: "apac.amazon.nova-pro-v1:0", + name: "Nova Pro (APAC)", + api: "bedrock-converse-stream", + provider: "amazon-bedrock", + baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", + reasoning: false, + input: ["text", "image"], + cost: { + input: 0.8, + output: 3.2, + cacheRead: 0.2, + cacheWrite: 0, + }, + contextWindow: 300000, + maxTokens: 8192, + } satisfies Model<"bedrock-converse-stream">, + "apac.anthropic.claude-3-7-sonnet-20250219-v1:0": { + id: "apac.anthropic.claude-3-7-sonnet-20250219-v1:0", + name: "Claude Sonnet 3.7 (APAC)", + api: "bedrock-converse-stream", + provider: "amazon-bedrock", + baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", + reasoning: false, + input: ["text", "image"], + cost: { + input: 3, + output: 15, + cacheRead: 0.3, + cacheWrite: 3.75, + }, + contextWindow: 200000, + maxTokens: 8192, + } satisfies Model<"bedrock-converse-stream">, + "apac.anthropic.claude-sonnet-4-20250514-v1:0": { + id: "apac.anthropic.claude-sonnet-4-20250514-v1:0", + name: "Claude Sonnet 4 (APAC)", + api: "bedrock-converse-stream", + provider: "amazon-bedrock", + baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", + reasoning: true, + input: ["text", "image"], + cost: { + input: 3, + output: 15, + cacheRead: 0.3, + cacheWrite: 3.75, + }, + contextWindow: 200000, + maxTokens: 64000, + } satisfies Model<"bedrock-converse-stream">, "cohere.command-r-plus-v1:0": { id: "cohere.command-r-plus-v1:0", name: "Command R+", @@ -158,6 +294,74 @@ export const MODELS = { contextWindow: 163840, maxTokens: 81920, } satisfies Model<"bedrock-converse-stream">, + "eu.amazon.nova-2-lite-v1:0": { + id: "eu.amazon.nova-2-lite-v1:0", + name: "Nova 2 Lite (EU)", + api: "bedrock-converse-stream", + provider: "amazon-bedrock", + baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", + reasoning: false, + input: ["text", "image"], + cost: { + input: 0.33, + output: 2.75, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 128000, + maxTokens: 4096, + } satisfies Model<"bedrock-converse-stream">, + "eu.amazon.nova-lite-v1:0": { + id: "eu.amazon.nova-lite-v1:0", + name: "Nova Lite (EU)", + api: "bedrock-converse-stream", + provider: "amazon-bedrock", + baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", + reasoning: false, + input: ["text", "image"], + cost: { + input: 0.06, + output: 0.24, + cacheRead: 0.015, + cacheWrite: 0, + }, + contextWindow: 300000, + maxTokens: 8192, + } satisfies Model<"bedrock-converse-stream">, + "eu.amazon.nova-micro-v1:0": { + id: "eu.amazon.nova-micro-v1:0", + name: "Nova Micro (EU)", + api: "bedrock-converse-stream", + provider: "amazon-bedrock", + baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", + reasoning: false, + input: ["text"], + cost: { + input: 0.035, + output: 0.14, + cacheRead: 0.00875, + cacheWrite: 0, + }, + contextWindow: 128000, + maxTokens: 8192, + } satisfies Model<"bedrock-converse-stream">, + "eu.amazon.nova-pro-v1:0": { + id: "eu.amazon.nova-pro-v1:0", + name: "Nova Pro (EU)", + api: "bedrock-converse-stream", + provider: "amazon-bedrock", + baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", + reasoning: false, + input: ["text", "image"], + cost: { + input: 0.8, + output: 3.2, + cacheRead: 0.2, + cacheWrite: 0, + }, + contextWindow: 300000, + maxTokens: 8192, + } satisfies Model<"bedrock-converse-stream">, "eu.anthropic.claude-haiku-4-5-20251001-v1:0": { id: "eu.anthropic.claude-haiku-4-5-20251001-v1:0", name: "Claude Haiku 4.5 (EU)", @@ -186,8 +390,8 @@ export const MODELS = { cost: { input: 5, output: 25, - cacheRead: 0.5, - cacheWrite: 6.25, + cacheRead: 1.5, + cacheWrite: 18.75, }, contextWindow: 200000, maxTokens: 64000, @@ -226,9 +430,43 @@ export const MODELS = { contextWindow: 200000, maxTokens: 64000, } satisfies Model<"bedrock-converse-stream">, + "eu.meta.llama3-2-1b-instruct-v1:0": { + id: "eu.meta.llama3-2-1b-instruct-v1:0", + name: "Llama 3.2 1B Instruct (EU)", + api: "bedrock-converse-stream", + provider: "amazon-bedrock", + baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", + reasoning: false, + input: ["text"], + cost: { + input: 0.1, + output: 0.1, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 131000, + maxTokens: 4096, + } satisfies Model<"bedrock-converse-stream">, + "eu.meta.llama3-2-3b-instruct-v1:0": { + id: "eu.meta.llama3-2-3b-instruct-v1:0", + name: "Llama 3.2 3B Instruct (EU)", + api: "bedrock-converse-stream", + provider: "amazon-bedrock", + baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", + reasoning: false, + input: ["text"], + cost: { + input: 0.15, + output: 0.15, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 131000, + maxTokens: 4096, + } satisfies Model<"bedrock-converse-stream">, "global.amazon.nova-2-lite-v1:0": { id: "global.amazon.nova-2-lite-v1:0", - name: "Nova 2 Lite", + name: "Nova 2 Lite (Global)", api: "bedrock-converse-stream", provider: "amazon-bedrock", baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", @@ -262,7 +500,7 @@ export const MODELS = { } satisfies Model<"bedrock-converse-stream">, "global.anthropic.claude-opus-4-5-20251101-v1:0": { id: "global.anthropic.claude-opus-4-5-20251101-v1:0", - name: "Claude Opus 4.5", + name: "Claude Opus 4.5 (Global)", api: "bedrock-converse-stream", provider: "amazon-bedrock", baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", @@ -279,7 +517,7 @@ export const MODELS = { } satisfies Model<"bedrock-converse-stream">, "global.anthropic.claude-sonnet-4-20250514-v1:0": { id: "global.anthropic.claude-sonnet-4-20250514-v1:0", - name: "Claude Sonnet 4", + name: "Claude Sonnet 4 (Global)", api: "bedrock-converse-stream", provider: "amazon-bedrock", baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", @@ -702,9 +940,77 @@ export const MODELS = { contextWindow: 262000, maxTokens: 262000, } satisfies Model<"bedrock-converse-stream">, + "us-gov.anthropic.claude-3-5-sonnet-20240620-v1:0": { + id: "us-gov.anthropic.claude-3-5-sonnet-20240620-v1:0", + name: "Claude Sonnet 3.5 (US Gov)", + api: "bedrock-converse-stream", + provider: "amazon-bedrock", + baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", + reasoning: false, + input: ["text", "image"], + cost: { + input: 3, + output: 15, + cacheRead: 0.3, + cacheWrite: 3.75, + }, + contextWindow: 200000, + maxTokens: 8192, + } satisfies Model<"bedrock-converse-stream">, + "us-gov.anthropic.claude-3-7-sonnet-20250219-v1:0": { + id: "us-gov.anthropic.claude-3-7-sonnet-20250219-v1:0", + name: "Claude Sonnet 3.7 (US Gov)", + api: "bedrock-converse-stream", + provider: "amazon-bedrock", + baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", + reasoning: false, + input: ["text", "image"], + cost: { + input: 3, + output: 15, + cacheRead: 0.3, + cacheWrite: 3.75, + }, + contextWindow: 200000, + maxTokens: 8192, + } satisfies Model<"bedrock-converse-stream">, + "us-gov.anthropic.claude-sonnet-4-5-20250929-v1:0": { + id: "us-gov.anthropic.claude-sonnet-4-5-20250929-v1:0", + name: "Claude Sonnet 4.5 (US Gov)", + api: "bedrock-converse-stream", + provider: "amazon-bedrock", + baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", + reasoning: true, + input: ["text", "image"], + cost: { + input: 3, + output: 15, + cacheRead: 0.3, + cacheWrite: 3.75, + }, + contextWindow: 200000, + maxTokens: 64000, + } satisfies Model<"bedrock-converse-stream">, + "us.amazon.nova-2-lite-v1:0": { + id: "us.amazon.nova-2-lite-v1:0", + name: "Nova 2 Lite (US)", + api: "bedrock-converse-stream", + provider: "amazon-bedrock", + baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", + reasoning: false, + input: ["text", "image"], + cost: { + input: 0.33, + output: 2.75, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 128000, + maxTokens: 4096, + } satisfies Model<"bedrock-converse-stream">, "us.amazon.nova-lite-v1:0": { id: "us.amazon.nova-lite-v1:0", - name: "Nova Lite", + name: "Nova Lite (US)", api: "bedrock-converse-stream", provider: "amazon-bedrock", baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", @@ -721,7 +1027,7 @@ export const MODELS = { } satisfies Model<"bedrock-converse-stream">, "us.amazon.nova-micro-v1:0": { id: "us.amazon.nova-micro-v1:0", - name: "Nova Micro", + name: "Nova Micro (US)", api: "bedrock-converse-stream", provider: "amazon-bedrock", baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", @@ -738,7 +1044,7 @@ export const MODELS = { } satisfies Model<"bedrock-converse-stream">, "us.amazon.nova-premier-v1:0": { id: "us.amazon.nova-premier-v1:0", - name: "Nova Premier", + name: "Nova Premier (US)", api: "bedrock-converse-stream", provider: "amazon-bedrock", baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", @@ -755,7 +1061,7 @@ export const MODELS = { } satisfies Model<"bedrock-converse-stream">, "us.amazon.nova-pro-v1:0": { id: "us.amazon.nova-pro-v1:0", - name: "Nova Pro", + name: "Nova Pro (US)", api: "bedrock-converse-stream", provider: "amazon-bedrock", baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", @@ -772,7 +1078,7 @@ export const MODELS = { } satisfies Model<"bedrock-converse-stream">, "us.anthropic.claude-3-7-sonnet-20250219-v1:0": { id: "us.anthropic.claude-3-7-sonnet-20250219-v1:0", - name: "Claude Sonnet 3.7", + name: "Claude Sonnet 3.7 (US)", api: "bedrock-converse-stream", provider: "amazon-bedrock", baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", @@ -823,7 +1129,7 @@ export const MODELS = { } satisfies Model<"bedrock-converse-stream">, "us.anthropic.claude-opus-4-20250514-v1:0": { id: "us.anthropic.claude-opus-4-20250514-v1:0", - name: "Claude Opus 4", + name: "Claude Opus 4 (US)", api: "bedrock-converse-stream", provider: "amazon-bedrock", baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", @@ -891,7 +1197,7 @@ export const MODELS = { } satisfies Model<"bedrock-converse-stream">, "us.deepseek.r1-v1:0": { id: "us.deepseek.r1-v1:0", - name: "DeepSeek-R1", + name: "DeepSeek-R1 (US)", api: "bedrock-converse-stream", provider: "amazon-bedrock", baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", @@ -906,9 +1212,43 @@ export const MODELS = { contextWindow: 128000, maxTokens: 32768, } satisfies Model<"bedrock-converse-stream">, + "us.meta.llama3-1-70b-instruct-v1:0": { + id: "us.meta.llama3-1-70b-instruct-v1:0", + name: "Llama 3.1 70B Instruct (US)", + api: "bedrock-converse-stream", + provider: "amazon-bedrock", + baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", + reasoning: false, + input: ["text"], + cost: { + input: 0.72, + output: 0.72, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 128000, + maxTokens: 4096, + } satisfies Model<"bedrock-converse-stream">, + "us.meta.llama3-1-8b-instruct-v1:0": { + id: "us.meta.llama3-1-8b-instruct-v1:0", + name: "Llama 3.1 8B Instruct (US)", + api: "bedrock-converse-stream", + provider: "amazon-bedrock", + baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", + reasoning: false, + input: ["text"], + cost: { + input: 0.22, + output: 0.22, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 128000, + maxTokens: 4096, + } satisfies Model<"bedrock-converse-stream">, "us.meta.llama3-2-11b-instruct-v1:0": { id: "us.meta.llama3-2-11b-instruct-v1:0", - name: "Llama 3.2 11B Instruct", + name: "Llama 3.2 11B Instruct (US)", api: "bedrock-converse-stream", provider: "amazon-bedrock", baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", @@ -925,7 +1265,7 @@ export const MODELS = { } satisfies Model<"bedrock-converse-stream">, "us.meta.llama3-2-1b-instruct-v1:0": { id: "us.meta.llama3-2-1b-instruct-v1:0", - name: "Llama 3.2 1B Instruct", + name: "Llama 3.2 1B Instruct (US)", api: "bedrock-converse-stream", provider: "amazon-bedrock", baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", @@ -942,7 +1282,7 @@ export const MODELS = { } satisfies Model<"bedrock-converse-stream">, "us.meta.llama3-2-3b-instruct-v1:0": { id: "us.meta.llama3-2-3b-instruct-v1:0", - name: "Llama 3.2 3B Instruct", + name: "Llama 3.2 3B Instruct (US)", api: "bedrock-converse-stream", provider: "amazon-bedrock", baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", @@ -959,7 +1299,7 @@ export const MODELS = { } satisfies Model<"bedrock-converse-stream">, "us.meta.llama3-2-90b-instruct-v1:0": { id: "us.meta.llama3-2-90b-instruct-v1:0", - name: "Llama 3.2 90B Instruct", + name: "Llama 3.2 90B Instruct (US)", api: "bedrock-converse-stream", provider: "amazon-bedrock", baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", @@ -976,7 +1316,7 @@ export const MODELS = { } satisfies Model<"bedrock-converse-stream">, "us.meta.llama3-3-70b-instruct-v1:0": { id: "us.meta.llama3-3-70b-instruct-v1:0", - name: "Llama 3.3 70B Instruct", + name: "Llama 3.3 70B Instruct (US)", api: "bedrock-converse-stream", provider: "amazon-bedrock", baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", @@ -993,7 +1333,7 @@ export const MODELS = { } satisfies Model<"bedrock-converse-stream">, "us.meta.llama4-maverick-17b-instruct-v1:0": { id: "us.meta.llama4-maverick-17b-instruct-v1:0", - name: "Llama 4 Maverick 17B Instruct", + name: "Llama 4 Maverick 17B Instruct (US)", api: "bedrock-converse-stream", provider: "amazon-bedrock", baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", @@ -1010,7 +1350,7 @@ export const MODELS = { } satisfies Model<"bedrock-converse-stream">, "us.meta.llama4-scout-17b-instruct-v1:0": { id: "us.meta.llama4-scout-17b-instruct-v1:0", - name: "Llama 4 Scout 17B Instruct", + name: "Llama 4 Scout 17B Instruct (US)", api: "bedrock-converse-stream", provider: "amazon-bedrock", baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", @@ -6252,7 +6592,7 @@ export const MODELS = { cacheWrite: 0, }, contextWindow: 131072, - maxTokens: 4096, + maxTokens: 8192, } satisfies Model<"openai-completions">, "inception/mercury": { id: "inception/mercury", @@ -6315,7 +6655,7 @@ export const MODELS = { input: ["text"], cost: { input: 0.03, - output: 0.06, + output: 0.04, cacheRead: 0, cacheWrite: 0, }, @@ -6404,8 +6744,8 @@ export const MODELS = { cacheRead: 0, cacheWrite: 0, }, - contextWindow: 131072, - maxTokens: 4096, + contextWindow: 128000, + maxTokens: 128000, } satisfies Model<"openai-completions">, "meta-llama/llama-4-maverick": { id: "meta-llama/llama-4-maverick", @@ -7045,13 +7385,13 @@ export const MODELS = { reasoning: true, input: ["text", "image"], cost: { - input: 0.5, - output: 2.8, + input: 0.44999999999999996, + output: 2.5, cacheRead: 0, cacheWrite: 0, }, contextWindow: 262144, - maxTokens: 4096, + maxTokens: 65535, } satisfies Model<"openai-completions">, "nex-agi/deepseek-v3.1-nex-n1": { id: "nex-agi/deepseek-v3.1-nex-n1",