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.
| Setting | Value used by AISIX |
|---|---|
| Catalog provider ID | nova |
| API base | https://api.nova.amazon.com/v1 |
| Example upstream model | nova-2-lite-v1 |
| Authentication | Bearer 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.
curlandjq.
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 path | AISIX provider | Credential and adapter |
|---|---|---|
| Direct Nova API | nova | Nova API key with the openai adapter |
| Amazon Bedrock | amazon-bedrock | AWS 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
| Symptom | Check |
|---|---|
| Upstream authentication error | Confirm the credential is a direct Nova API key, not an AWS access key. |
Upstream 404 | Keep /v1 in api_base and use a direct Nova model ID. |
| SigV4 or AWS region is required | You are using a Bedrock endpoint; follow the Bedrock setup instead. |
Provider key creation returns 400 | Use provider: "nova" and omit adapter. |
For multi-provider failover between the direct API and Bedrock, see Routing and Failover.