Skip to main content

Amazon Nova API

Connect AISIX AI Gateway to the direct Amazon Nova API so applications can call Nova models through the gateway's OpenAI-compatible API.

This setup is for the API-key-based endpoint at api.nova.amazon.com. It is different from Amazon Bedrock, which uses AWS credentials, a region, and SigV4 request signing. To call Nova through Bedrock, use Amazon Bedrock instead.

SettingValue used by AISIX
Catalog provider IDnova
API basehttps://api.nova.amazon.com/v1
Example upstream modelnova-2-lite-v1
AuthenticationBearer API key

Prerequisites

Before configuring the provider, prepare:

  • An AISIX Cloud environment with an attached gateway.
  • An API key issued for the direct Amazon Nova API.
  • curl and jq.

Export the AISIX connection details:

export AISIX_CP="http://localhost:8080/api"
export AISIX_TOKEN="aisix_pat_YOUR_ADMIN_TOKEN"
export ENV_ID="YOUR_ENVIRONMENT_ID"
export AISIX_PROXY="http://127.0.0.1:3000"

Configure the Amazon Nova API Upstream

Create a Provider Key

Export the Nova API key:

export NOVA_API_KEY="YOUR_NOVA_API_KEY"

Create the provider key:

PROVIDER_KEY_ID=$(
curl -sS -X POST "$AISIX_CP/provider_keys" \
-H "Authorization: Bearer $AISIX_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"display_name": "nova-prod",
"provider": "nova",
"api_key": "'"${NOVA_API_KEY}"'",
"api_base": "https://api.nova.amazon.com/v1",
"allowed_environments": ["'"${ENV_ID}"'"]
}' | jq -er '.provider_key.id'
)

echo "$PROVIDER_KEY_ID"

AISIX accepts nova through the community catalog and derives the openai adapter with bearer authentication. Do not send adapter on this catalog provider key.

AISIX appends /chat/completions to the configured API base. Keep /v1 in the value; a bare https://api.nova.amazon.com host points at the wrong route.

Create a Model

Create an alias for Nova 2 Lite:

MODEL_ID=$(
curl -sS -X POST "$AISIX_CP/environments/$ENV_ID/models" \
-H "Authorization: Bearer $AISIX_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"display_name": "nova-lite-prod",
"model_name": "nova-2-lite-v1",
"provider_key_id": "'"${PROVIDER_KEY_ID}"'"
}' | jq -er '.model.id'
)

echo "$MODEL_ID"

Use the exact model ID published in the Amazon Nova developer documentation. The direct Nova API and Bedrock can use different identifiers for access to the same model family, so do not copy a Bedrock model or inference-profile ARN into this field.

Create a Caller API Key

Create a caller key limited to the Nova alias:

AISIX_API_KEY=$(
curl -sS -X POST "$AISIX_CP/environments/$ENV_ID/api_keys" \
-H "Authorization: Bearer $AISIX_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"display_name": "nova-caller",
"allowed_models": ["'"${MODEL_ID}"'"]
}' | jq -er '.plaintext'
)

echo "$AISIX_API_KEY"

Verify the Provider Connection

curl -sS -X POST "$AISIX_PROXY/v1/chat/completions" \
-H "Authorization: Bearer $AISIX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "nova-lite-prod",
"messages": [
{
"role": "user",
"content": "Say hello from Amazon Nova."
}
]
}'

AISIX sends nova-2-lite-v1 to https://api.nova.amazon.com/v1/chat/completions with the Nova API key in the bearer header.

Choose Between the Nova API and Bedrock

Account pathAISIX providerCredential and adapter
Direct Nova APInovaNova API key with the openai adapter
Amazon Bedrockamazon-bedrockAWS access credentials with the bedrock adapter

Keep the two paths in separate provider keys. This makes credential rotation, account attribution, and failover behavior explicit even when both aliases represent Nova models.

Endpoint Coverage

Use /v1/chat/completions for the direct Nova API. AISIX can bridge compatible Responses and Anthropic Messages requests through the chat adapter. Other normalized routes work only when the direct Nova API implements the corresponding OpenAI-shaped endpoint and AISIX accepts the nova provider on that route.

Image generation, video generation, and rerank do not accept the nova provider value. See Provider Compatibility.

Troubleshooting

SymptomCheck
Upstream authentication errorConfirm the credential is a direct Nova API key, not an AWS access key.
Upstream 404Keep /v1 in api_base and use a direct Nova model ID.
SigV4 or AWS region is requiredYou are using a Bedrock endpoint; follow the Bedrock setup instead.
Provider key creation returns 400Use provider: "nova" and omit adapter.

For multi-provider failover between the direct API and Bedrock, see Routing and Failover.