diff --git a/api-reference/server/services/llm/aws.mdx b/api-reference/server/services/llm/aws.mdx index bc57b3e9..8803bb0f 100644 --- a/api-reference/server/services/llm/aws.mdx +++ b/api-reference/server/services/llm/aws.mdx @@ -74,18 +74,17 @@ Before using AWS Bedrock LLM services, you need: - AWS access key ID. If `None`, uses the `AWS_ACCESS_KEY_ID` environment - variable or default credential chain. + AWS access key ID. If `None`, falls back to environment variables and the + default boto3 credential chain (instance profiles, IRSA, ECS task roles, SSO, + etc.). - AWS secret access key. If `None`, uses the `AWS_SECRET_ACCESS_KEY` environment - variable or default credential chain. + AWS secret access key. Same fallback behaviour as `aws_access_key`. - AWS session token for temporary credentials. If `None`, uses the - `AWS_SESSION_TOKEN` environment variable. + AWS session token for temporary credentials. @@ -208,7 +207,7 @@ await task.queue_frame( ## Notes -- **Credential chain**: If `aws_access_key` and `aws_secret_key` are not provided, the service falls back to environment variables and then the standard AWS credential chain (IAM roles, instance profiles, etc.). +- **Credential resolution**: Credentials are resolved via a fallback chain: explicit parameters → environment variables (`AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`) → boto3 credential provider chain (instance profiles, IRSA, ECS task roles, SSO, credential files). Services running with IAM roles no longer need to export static credentials. - **No-op tool handling**: AWS Bedrock requires at least one tool to be defined when tool content exists in the conversation. The service automatically adds a placeholder tool when needed to prevent API errors. - **Model-specific parameters**: Some models (e.g., Claude Sonnet 4.5) don't allow certain parameter combinations. The service only includes explicitly set parameters in the inference config to avoid conflicts. - **Retry behavior**: When `retry_on_timeout=True`, the first attempt uses the `retry_timeout_secs` timeout. If it times out, a second attempt is made with no timeout limit. diff --git a/api-reference/server/services/stt/aws.mdx b/api-reference/server/services/stt/aws.mdx index 4e6c150d..ef14edc7 100644 --- a/api-reference/server/services/stt/aws.mdx +++ b/api-reference/server/services/stt/aws.mdx @@ -66,17 +66,17 @@ Before using AWS Transcribe STT services, you need: ## Configuration - AWS secret access key. If `None`, uses `AWS_SECRET_ACCESS_KEY` environment - variable. + AWS secret access key. If `None`, falls back to environment variables and the + default boto3 credential chain (instance profiles, IRSA, ECS task roles, SSO, + etc.). - AWS access key ID. If `None`, uses `AWS_ACCESS_KEY_ID` environment variable. + AWS access key ID. Same fallback behaviour as `api_key`. - AWS session token for temporary credentials. If `None`, uses - `AWS_SESSION_TOKEN` environment variable. + AWS session token for temporary credentials. diff --git a/api-reference/server/services/tts/aws.mdx b/api-reference/server/services/tts/aws.mdx index 06eb5249..133285c6 100644 --- a/api-reference/server/services/tts/aws.mdx +++ b/api-reference/server/services/tts/aws.mdx @@ -69,13 +69,13 @@ Before using AWS Polly TTS services, you need: ### AWSPollyTTSService - AWS secret access key. If `None`, uses the `AWS_SECRET_ACCESS_KEY` environment - variable. + AWS secret access key. If `None`, falls back to environment variables and the + default boto3 credential chain (instance profiles, IRSA, ECS task roles, SSO, + etc.). - AWS access key ID. If `None`, uses the `AWS_ACCESS_KEY_ID` environment - variable. + AWS access key ID. Same fallback behaviour as `api_key`.