feat(nova): add nova-2-pro-v1 model

This commit is contained in:
Adnan Hajar 2026-01-30 11:08:07 -05:00
parent 9463c35697
commit 75b164e5cd
3 changed files with 23 additions and 1 deletions

View File

@ -11,6 +11,7 @@ Amazon Nova provides multimodal AI models via an OpenAI-compatible chat completi
## Available Models
- **Nova 2 Lite** (`nova-2-lite-v1`) - Fast multimodal model, 64K context
- **Nova 2 Pro** (`nova-2-pro-v1`) - Advanced multimodal model, 64K context
## CLI setup

View File

@ -66,6 +66,7 @@ const KIMI_CODE_DEFAULT_COST = {
const NOVA_BASE_URL = "https://api.nova.amazon.com/v1";
const NOVA_DEFAULT_MODEL_ID = "nova-2-lite-v1";
const NOVA_PRO_MODEL_ID = "nova-2-pro-v1";
const NOVA_DEFAULT_CONTEXT_WINDOW = 64000;
const NOVA_DEFAULT_MAX_TOKENS = 10000;
const NOVA_DEFAULT_COST = {
@ -404,6 +405,15 @@ function buildNovaProvider(): ProviderConfig {
contextWindow: NOVA_DEFAULT_CONTEXT_WINDOW,
maxTokens: NOVA_DEFAULT_MAX_TOKENS,
},
{
id: NOVA_PRO_MODEL_ID,
name: "Nova 2 Pro",
reasoning: false,
input: ["text", "image"],
cost: NOVA_DEFAULT_COST,
contextWindow: NOVA_DEFAULT_CONTEXT_WINDOW,
maxTokens: NOVA_DEFAULT_MAX_TOKENS,
},
],
};
}

View File

@ -22,10 +22,18 @@ export const KIMI_CODE_COMPAT = { supportsDeveloperRole: false } as const;
export const NOVA_BASE_URL = "https://api.nova.amazon.com/v1";
export const NOVA_DEFAULT_MODEL_ID = "nova-2-lite-v1";
export const NOVA_PRO_MODEL_ID = "nova-2-pro-v1";
export const NOVA_DEFAULT_MODEL_REF = `nova/${NOVA_DEFAULT_MODEL_ID}`;
export const NOVA_DEFAULT_CONTEXT_WINDOW = 64000;
export const NOVA_DEFAULT_MAX_TOKENS = 10000;
const NOVA_MODEL_CATALOG = {
"nova-2-lite-v1": { name: "Nova 2 Lite" },
"nova-2-pro-v1": { name: "Nova 2 Pro" },
} as const;
type NovaCatalogId = keyof typeof NOVA_MODEL_CATALOG;
// Pricing: MiniMax doesn't publish public rates. Override in models.json for accurate costs.
export const MINIMAX_API_COST = {
input: 15,
@ -133,9 +141,10 @@ export function buildKimiCodeModelDefinition(): ModelDefinitionConfig {
export function buildNovaModelDefinition(
modelId: string = NOVA_DEFAULT_MODEL_ID,
): ModelDefinitionConfig {
const catalog = NOVA_MODEL_CATALOG[modelId as NovaCatalogId];
return {
id: modelId,
name: "Nova 2 Lite",
name: catalog?.name ?? "Nova 2 Lite",
reasoning: false,
input: ["text", "image"],
cost: NOVA_DEFAULT_COST,
@ -143,3 +152,5 @@ export function buildNovaModelDefinition(
maxTokens: NOVA_DEFAULT_MAX_TOKENS,
};
}
export const NOVA_MODEL_IDS = Object.keys(NOVA_MODEL_CATALOG) as NovaCatalogId[];