@ai-sdk/amazon-bedrock 5.0.14 → 5.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -35,7 +35,7 @@ var import_provider_utils = require("@ai-sdk/provider-utils");
35
35
  var import_aws4fetch = require("aws4fetch");
36
36
 
37
37
  // src/version.ts
38
- var VERSION = true ? "5.0.14" : "0.0.0-test";
38
+ var VERSION = true ? "5.0.15" : "0.0.0-test";
39
39
 
40
40
  // src/amazon-bedrock-sigv4-fetch.ts
41
41
  function createSigV4FetchFunction(getCredentials, fetch, service = "bedrock") {
@@ -23,7 +23,7 @@ import {
23
23
  import { AwsV4Signer } from "aws4fetch";
24
24
 
25
25
  // src/version.ts
26
- var VERSION = true ? "5.0.14" : "0.0.0-test";
26
+ var VERSION = true ? "5.0.15" : "0.0.0-test";
27
27
 
28
28
  // src/amazon-bedrock-sigv4-fetch.ts
29
29
  function createSigV4FetchFunction(getCredentials, fetch, service = "bedrock") {
@@ -11,21 +11,7 @@ The Amazon Bedrock provider for the [AI SDK](/docs) contains language model supp
11
11
 
12
12
  The Bedrock provider is available in the `@ai-sdk/amazon-bedrock` module. You can install it with
13
13
 
14
- <Tabs items={['pnpm', 'npm', 'yarn', 'bun']}>
15
- <Tab>
16
- <Snippet text="pnpm add @ai-sdk/amazon-bedrock" dark />
17
- </Tab>
18
- <Tab>
19
- <Snippet text="npm install @ai-sdk/amazon-bedrock" dark />
20
- </Tab>
21
- <Tab>
22
- <Snippet text="yarn add @ai-sdk/amazon-bedrock" dark />
23
- </Tab>
24
-
25
- <Tab>
26
- <Snippet text="bun add @ai-sdk/amazon-bedrock" dark />
27
- </Tab>
28
- </Tabs>
14
+ <InstallPackages packages="@ai-sdk/amazon-bedrock" />
29
15
 
30
16
  ### Prerequisites
31
17
 
@@ -110,21 +96,7 @@ _Usage:_
110
96
 
111
97
  `@aws-sdk/credential-providers` package provides a set of credential providers that can be used to create a credential provider chain.
112
98
 
113
- <Tabs items={['pnpm', 'npm', 'yarn', 'bun']}>
114
- <Tab>
115
- <Snippet text="pnpm add @aws-sdk/credential-providers" dark />
116
- </Tab>
117
- <Tab>
118
- <Snippet text="npm install @aws-sdk/credential-providers" dark />
119
- </Tab>
120
- <Tab>
121
- <Snippet text="yarn add @aws-sdk/credential-providers" dark />
122
- </Tab>
123
-
124
- <Tab>
125
- <Snippet text="bun add @aws-sdk/credential-providers" dark />
126
- </Tab>
127
- </Tabs>
99
+ <InstallPackages packages="@aws-sdk/credential-providers" />
128
100
 
129
101
  ```ts
130
102
  import { createAmazonBedrock } from '@ai-sdk/amazon-bedrock';
@@ -760,67 +732,67 @@ These tools can be used in conjunction with the `anthropic.claude-3-5-sonnet-202
760
732
 
761
733
  ### Model Capabilities
762
734
 
763
- | Model | Image Input | Object Generation | Tool Usage | Tool Streaming |
764
- | ---------------------------------------------- | ------------------- | ------------------- | ------------------- | ------------------- |
765
- | `amazon.titan-tg1-large` | <Cross size={18} /> | <Cross size={18} /> | <Cross size={18} /> | <Cross size={18} /> |
766
- | `amazon.titan-text-express-v1` | <Cross size={18} /> | <Cross size={18} /> | <Cross size={18} /> | <Cross size={18} /> |
767
- | `amazon.titan-text-lite-v1` | <Cross size={18} /> | <Cross size={18} /> | <Cross size={18} /> | <Cross size={18} /> |
768
- | `us.amazon.nova-premier-v1:0` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
769
- | `us.amazon.nova-pro-v1:0` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
770
- | `us.amazon.nova-lite-v1:0` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
771
- | `us.amazon.nova-micro-v1:0` | <Cross size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
772
- | `anthropic.claude-haiku-4-5-20251001-v1:0` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
773
- | `anthropic.claude-sonnet-4-20250514-v1:0` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
774
- | `anthropic.claude-sonnet-4-5-20250929-v1:0` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
775
- | `anthropic.claude-opus-4-20250514-v1:0` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
776
- | `anthropic.claude-opus-4-1-20250805-v1:0` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
777
- | `anthropic.claude-3-5-sonnet-20241022-v2:0` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
778
- | `anthropic.claude-3-5-sonnet-20240620-v1:0` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
779
- | `anthropic.claude-3-opus-20240229-v1:0` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
780
- | `anthropic.claude-3-sonnet-20240229-v1:0` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
781
- | `anthropic.claude-3-haiku-20240307-v1:0` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
782
- | `us.anthropic.claude-sonnet-4-20250514-v1:0` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
783
- | `us.anthropic.claude-sonnet-4-5-20250929-v1:0` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
784
- | `us.anthropic.claude-opus-4-20250514-v1:0` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
785
- | `us.anthropic.claude-opus-4-1-20250805-v1:0` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
786
- | `us.anthropic.claude-3-5-sonnet-20241022-v2:0` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
787
- | `us.anthropic.claude-3-5-sonnet-20240620-v1:0` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
788
- | `us.anthropic.claude-3-sonnet-20240229-v1:0` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
789
- | `us.anthropic.claude-3-opus-20240229-v1:0` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
790
- | `us.anthropic.claude-3-haiku-20240307-v1:0` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
791
- | `anthropic.claude-v2` | <Cross size={18} /> | <Cross size={18} /> | <Cross size={18} /> | <Cross size={18} /> |
792
- | `anthropic.claude-v2:1` | <Cross size={18} /> | <Cross size={18} /> | <Cross size={18} /> | <Cross size={18} /> |
793
- | `anthropic.claude-instant-v1` | <Cross size={18} /> | <Cross size={18} /> | <Cross size={18} /> | <Cross size={18} /> |
794
- | `cohere.command-text-v14` | <Cross size={18} /> | <Cross size={18} /> | <Cross size={18} /> | <Cross size={18} /> |
795
- | `cohere.command-light-text-v14` | <Cross size={18} /> | <Cross size={18} /> | <Cross size={18} /> | <Cross size={18} /> |
796
- | `cohere.command-r-v1:0` | <Cross size={18} /> | <Cross size={18} /> | <Check size={18} /> | <Cross size={18} /> |
797
- | `cohere.command-r-plus-v1:0` | <Cross size={18} /> | <Cross size={18} /> | <Check size={18} /> | <Cross size={18} /> |
798
- | `us.deepseek.r1-v1:0` | <Cross size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
799
- | `meta.llama3-8b-instruct-v1:0` | <Cross size={18} /> | <Cross size={18} /> | <Cross size={18} /> | <Cross size={18} /> |
800
- | `meta.llama3-70b-instruct-v1:0` | <Cross size={18} /> | <Cross size={18} /> | <Cross size={18} /> | <Cross size={18} /> |
801
- | `meta.llama3-1-8b-instruct-v1:0` | <Cross size={18} /> | <Cross size={18} /> | <Cross size={18} /> | <Cross size={18} /> |
802
- | `meta.llama3-1-70b-instruct-v1:0` | <Cross size={18} /> | <Cross size={18} /> | <Cross size={18} /> | <Cross size={18} /> |
803
- | `meta.llama3-1-405b-instruct-v1:0` | <Cross size={18} /> | <Cross size={18} /> | <Cross size={18} /> | <Cross size={18} /> |
804
- | `meta.llama3-2-1b-instruct-v1:0` | <Cross size={18} /> | <Cross size={18} /> | <Cross size={18} /> | <Cross size={18} /> |
805
- | `meta.llama3-2-3b-instruct-v1:0` | <Cross size={18} /> | <Cross size={18} /> | <Cross size={18} /> | <Cross size={18} /> |
806
- | `meta.llama3-2-11b-instruct-v1:0` | <Cross size={18} /> | <Cross size={18} /> | <Cross size={18} /> | <Cross size={18} /> |
807
- | `meta.llama3-2-90b-instruct-v1:0` | <Cross size={18} /> | <Cross size={18} /> | <Cross size={18} /> | <Cross size={18} /> |
808
- | `us.meta.llama3-2-1b-instruct-v1:0` | <Cross size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
809
- | `us.meta.llama3-2-3b-instruct-v1:0` | <Cross size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
810
- | `us.meta.llama3-2-11b-instruct-v1:0` | <Cross size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
811
- | `us.meta.llama3-2-90b-instruct-v1:0` | <Cross size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
812
- | `us.meta.llama3-1-8b-instruct-v1:0` | <Cross size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
813
- | `us.meta.llama3-1-70b-instruct-v1:0` | <Cross size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
814
- | `us.meta.llama3-3-70b-instruct-v1:0` | <Cross size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
815
- | `us.meta.llama4-scout-17b-instruct-v1:0` | <Cross size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
816
- | `us.meta.llama4-maverick-17b-instruct-v1:0` | <Cross size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
817
- | `mistral.mistral-7b-instruct-v0:2` | <Cross size={18} /> | <Cross size={18} /> | <Cross size={18} /> | <Cross size={18} /> |
818
- | `mistral.mixtral-8x7b-instruct-v0:1` | <Cross size={18} /> | <Cross size={18} /> | <Cross size={18} /> | <Cross size={18} /> |
819
- | `mistral.mistral-large-2402-v1:0` | <Cross size={18} /> | <Cross size={18} /> | <Cross size={18} /> | <Cross size={18} /> |
820
- | `mistral.mistral-small-2402-v1:0` | <Cross size={18} /> | <Cross size={18} /> | <Cross size={18} /> | <Cross size={18} /> |
821
- | `us.mistral.pixtral-large-2502-v1:0` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
822
- | `openai.gpt-oss-120b-1:0` | <Cross size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
823
- | `openai.gpt-oss-20b-1:0` | <Cross size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
735
+ | Model | Image Input | Object Generation | Tool Usage | Tool Streaming |
736
+ | ---------------------------------------------- | ----------- | ----------------- | ---------- | -------------- |
737
+ | `amazon.titan-tg1-large` | <Cross /> | <Cross /> | <Cross /> | <Cross /> |
738
+ | `amazon.titan-text-express-v1` | <Cross /> | <Cross /> | <Cross /> | <Cross /> |
739
+ | `amazon.titan-text-lite-v1` | <Cross /> | <Cross /> | <Cross /> | <Cross /> |
740
+ | `us.amazon.nova-premier-v1:0` | <Check /> | <Check /> | <Check /> | <Check /> |
741
+ | `us.amazon.nova-pro-v1:0` | <Check /> | <Check /> | <Check /> | <Check /> |
742
+ | `us.amazon.nova-lite-v1:0` | <Check /> | <Check /> | <Check /> | <Check /> |
743
+ | `us.amazon.nova-micro-v1:0` | <Cross /> | <Check /> | <Check /> | <Check /> |
744
+ | `anthropic.claude-haiku-4-5-20251001-v1:0` | <Check /> | <Check /> | <Check /> | <Check /> |
745
+ | `anthropic.claude-sonnet-4-20250514-v1:0` | <Check /> | <Check /> | <Check /> | <Check /> |
746
+ | `anthropic.claude-sonnet-4-5-20250929-v1:0` | <Check /> | <Check /> | <Check /> | <Check /> |
747
+ | `anthropic.claude-opus-4-20250514-v1:0` | <Check /> | <Check /> | <Check /> | <Check /> |
748
+ | `anthropic.claude-opus-4-1-20250805-v1:0` | <Check /> | <Check /> | <Check /> | <Check /> |
749
+ | `anthropic.claude-3-5-sonnet-20241022-v2:0` | <Check /> | <Check /> | <Check /> | <Check /> |
750
+ | `anthropic.claude-3-5-sonnet-20240620-v1:0` | <Check /> | <Check /> | <Check /> | <Check /> |
751
+ | `anthropic.claude-3-opus-20240229-v1:0` | <Check /> | <Check /> | <Check /> | <Check /> |
752
+ | `anthropic.claude-3-sonnet-20240229-v1:0` | <Check /> | <Check /> | <Check /> | <Check /> |
753
+ | `anthropic.claude-3-haiku-20240307-v1:0` | <Check /> | <Check /> | <Check /> | <Check /> |
754
+ | `us.anthropic.claude-sonnet-4-20250514-v1:0` | <Check /> | <Check /> | <Check /> | <Check /> |
755
+ | `us.anthropic.claude-sonnet-4-5-20250929-v1:0` | <Check /> | <Check /> | <Check /> | <Check /> |
756
+ | `us.anthropic.claude-opus-4-20250514-v1:0` | <Check /> | <Check /> | <Check /> | <Check /> |
757
+ | `us.anthropic.claude-opus-4-1-20250805-v1:0` | <Check /> | <Check /> | <Check /> | <Check /> |
758
+ | `us.anthropic.claude-3-5-sonnet-20241022-v2:0` | <Check /> | <Check /> | <Check /> | <Check /> |
759
+ | `us.anthropic.claude-3-5-sonnet-20240620-v1:0` | <Check /> | <Check /> | <Check /> | <Check /> |
760
+ | `us.anthropic.claude-3-sonnet-20240229-v1:0` | <Check /> | <Check /> | <Check /> | <Check /> |
761
+ | `us.anthropic.claude-3-opus-20240229-v1:0` | <Check /> | <Check /> | <Check /> | <Check /> |
762
+ | `us.anthropic.claude-3-haiku-20240307-v1:0` | <Check /> | <Check /> | <Check /> | <Check /> |
763
+ | `anthropic.claude-v2` | <Cross /> | <Cross /> | <Cross /> | <Cross /> |
764
+ | `anthropic.claude-v2:1` | <Cross /> | <Cross /> | <Cross /> | <Cross /> |
765
+ | `anthropic.claude-instant-v1` | <Cross /> | <Cross /> | <Cross /> | <Cross /> |
766
+ | `cohere.command-text-v14` | <Cross /> | <Cross /> | <Cross /> | <Cross /> |
767
+ | `cohere.command-light-text-v14` | <Cross /> | <Cross /> | <Cross /> | <Cross /> |
768
+ | `cohere.command-r-v1:0` | <Cross /> | <Cross /> | <Check /> | <Cross /> |
769
+ | `cohere.command-r-plus-v1:0` | <Cross /> | <Cross /> | <Check /> | <Cross /> |
770
+ | `us.deepseek.r1-v1:0` | <Cross /> | <Check /> | <Check /> | <Check /> |
771
+ | `meta.llama3-8b-instruct-v1:0` | <Cross /> | <Cross /> | <Cross /> | <Cross /> |
772
+ | `meta.llama3-70b-instruct-v1:0` | <Cross /> | <Cross /> | <Cross /> | <Cross /> |
773
+ | `meta.llama3-1-8b-instruct-v1:0` | <Cross /> | <Cross /> | <Cross /> | <Cross /> |
774
+ | `meta.llama3-1-70b-instruct-v1:0` | <Cross /> | <Cross /> | <Cross /> | <Cross /> |
775
+ | `meta.llama3-1-405b-instruct-v1:0` | <Cross /> | <Cross /> | <Cross /> | <Cross /> |
776
+ | `meta.llama3-2-1b-instruct-v1:0` | <Cross /> | <Cross /> | <Cross /> | <Cross /> |
777
+ | `meta.llama3-2-3b-instruct-v1:0` | <Cross /> | <Cross /> | <Cross /> | <Cross /> |
778
+ | `meta.llama3-2-11b-instruct-v1:0` | <Cross /> | <Cross /> | <Cross /> | <Cross /> |
779
+ | `meta.llama3-2-90b-instruct-v1:0` | <Cross /> | <Cross /> | <Cross /> | <Cross /> |
780
+ | `us.meta.llama3-2-1b-instruct-v1:0` | <Cross /> | <Check /> | <Check /> | <Check /> |
781
+ | `us.meta.llama3-2-3b-instruct-v1:0` | <Cross /> | <Check /> | <Check /> | <Check /> |
782
+ | `us.meta.llama3-2-11b-instruct-v1:0` | <Cross /> | <Check /> | <Check /> | <Check /> |
783
+ | `us.meta.llama3-2-90b-instruct-v1:0` | <Cross /> | <Check /> | <Check /> | <Check /> |
784
+ | `us.meta.llama3-1-8b-instruct-v1:0` | <Cross /> | <Check /> | <Check /> | <Check /> |
785
+ | `us.meta.llama3-1-70b-instruct-v1:0` | <Cross /> | <Check /> | <Check /> | <Check /> |
786
+ | `us.meta.llama3-3-70b-instruct-v1:0` | <Cross /> | <Check /> | <Check /> | <Check /> |
787
+ | `us.meta.llama4-scout-17b-instruct-v1:0` | <Cross /> | <Check /> | <Check /> | <Check /> |
788
+ | `us.meta.llama4-maverick-17b-instruct-v1:0` | <Cross /> | <Check /> | <Check /> | <Check /> |
789
+ | `mistral.mistral-7b-instruct-v0:2` | <Cross /> | <Cross /> | <Cross /> | <Cross /> |
790
+ | `mistral.mixtral-8x7b-instruct-v0:1` | <Cross /> | <Cross /> | <Cross /> | <Cross /> |
791
+ | `mistral.mistral-large-2402-v1:0` | <Cross /> | <Cross /> | <Cross /> | <Cross /> |
792
+ | `mistral.mistral-small-2402-v1:0` | <Cross /> | <Cross /> | <Cross /> | <Cross /> |
793
+ | `us.mistral.pixtral-large-2502-v1:0` | <Check /> | <Check /> | <Check /> | <Check /> |
794
+ | `openai.gpt-oss-120b-1:0` | <Cross /> | <Check /> | <Check /> | <Check /> |
795
+ | `openai.gpt-oss-20b-1:0` | <Cross /> | <Check /> | <Check /> | <Check /> |
824
796
 
825
797
  <Note>
826
798
  The table above lists popular models. Please see the [Amazon Bedrock
@@ -939,13 +911,13 @@ The following provider options are available for Cohere embedding models:
939
911
 
940
912
  ### Model Capabilities
941
913
 
942
- | Model | Default Dimensions | Custom Dimensions |
943
- | ------------------------------ | ------------------ | ------------------- |
944
- | `amazon.titan-embed-text-v1` | 1536 | <Cross size={18} /> |
945
- | `amazon.titan-embed-text-v2:0` | 1024 | <Check size={18} /> |
946
- | `amazon.nova-embed-text-v2:0` | 1024 | <Check size={18} /> |
947
- | `cohere.embed-english-v3` | 1024 | <Cross size={18} /> |
948
- | `cohere.embed-multilingual-v3` | 1024 | <Cross size={18} /> |
914
+ | Model | Default Dimensions | Custom Dimensions |
915
+ | ------------------------------ | ------------------ | ----------------- |
916
+ | `amazon.titan-embed-text-v1` | 1536 | <Cross /> |
917
+ | `amazon.titan-embed-text-v2:0` | 1024 | <Check /> |
918
+ | `amazon.nova-embed-text-v2:0` | 1024 | <Check /> |
919
+ | `cohere.embed-english-v3` | 1024 | <Cross /> |
920
+ | `cohere.embed-multilingual-v3` | 1024 | <Cross /> |
949
921
 
950
922
  ## Reranking Models
951
923
 
@@ -1048,10 +1020,13 @@ const { image } = await generateImage({
1048
1020
  });
1049
1021
  ```
1050
1022
 
1051
- You can also pass the `providerOptions` object to the `generateImage` function to customize the generation behavior:
1023
+ You can also pass the `providerOptions` object to the `generateImage` function to customize the generation behavior. Use the `AmazonBedrockImageModelOptions` type to validate Amazon Bedrock image provider options. The preferred provider option key is `providerOptions.amazonBedrock`; the legacy `providerOptions.bedrock` key remains supported for backward compatibility:
1052
1024
 
1053
1025
  ```ts
1054
- import { amazonBedrock } from '@ai-sdk/amazon-bedrock';
1026
+ import {
1027
+ amazonBedrock,
1028
+ type AmazonBedrockImageModelOptions,
1029
+ } from '@ai-sdk/amazon-bedrock';
1055
1030
  import { generateImage } from 'ai';
1056
1031
 
1057
1032
  const { image } = await generateImage({
@@ -1060,12 +1035,12 @@ const { image } = await generateImage({
1060
1035
  size: '512x512',
1061
1036
  seed: 42,
1062
1037
  providerOptions: {
1063
- bedrock: {
1038
+ amazonBedrock: {
1064
1039
  quality: 'premium',
1065
1040
  negativeText: 'blurry, low quality',
1066
1041
  cfgScale: 7.5,
1067
1042
  style: 'PHOTOREALISM',
1068
- },
1043
+ } satisfies AmazonBedrockImageModelOptions,
1069
1044
  },
1070
1045
  });
1071
1046
  ```
@@ -1114,18 +1089,18 @@ const { images } = await generateImage({
1114
1089
  images: [imageBuffer],
1115
1090
  },
1116
1091
  providerOptions: {
1117
- bedrock: {
1092
+ amazonBedrock: {
1118
1093
  taskType: 'IMAGE_VARIATION',
1119
- similarityStrength: 0.7, // 0-1, higher = closer to original
1094
+ similarityStrength: 0.7, // 0.2-1.0, higher = closer to original
1120
1095
  negativeText: 'bad quality, low resolution',
1121
- },
1096
+ } satisfies AmazonBedrockImageModelOptions,
1122
1097
  },
1123
1098
  });
1124
1099
  ```
1125
1100
 
1126
1101
  - **similarityStrength** _number_
1127
1102
 
1128
- Controls how similar the output is to the input image. Values range from 0 to 1, where higher values produce results closer to the original.
1103
+ Controls how similar the output is to the input image. Values range from 0.2 to 1.0, where higher values produce results closer to the original.
1129
1104
 
1130
1105
  #### Inpainting
1131
1106
 
@@ -1143,9 +1118,9 @@ const { images } = await generateImage({
1143
1118
  images: [imageBuffer],
1144
1119
  },
1145
1120
  providerOptions: {
1146
- bedrock: {
1121
+ amazonBedrock: {
1147
1122
  maskPrompt: 'cat', // Describe what to replace
1148
- },
1123
+ } satisfies AmazonBedrockImageModelOptions,
1149
1124
  },
1150
1125
  seed: 42,
1151
1126
  });
@@ -1185,11 +1160,11 @@ const { images } = await generateImage({
1185
1160
  images: [imageBuffer],
1186
1161
  },
1187
1162
  providerOptions: {
1188
- bedrock: {
1163
+ amazonBedrock: {
1189
1164
  taskType: 'OUTPAINTING',
1190
1165
  maskPrompt: 'background',
1191
1166
  outPaintingMode: 'DEFAULT', // or 'PRECISE'
1192
- },
1167
+ } satisfies AmazonBedrockImageModelOptions,
1193
1168
  },
1194
1169
  });
1195
1170
  ```
@@ -1211,9 +1186,9 @@ const { images } = await generateImage({
1211
1186
  images: [imageBuffer],
1212
1187
  },
1213
1188
  providerOptions: {
1214
- bedrock: {
1189
+ amazonBedrock: {
1215
1190
  taskType: 'BACKGROUND_REMOVAL',
1216
- },
1191
+ } satisfies AmazonBedrockImageModelOptions,
1217
1192
  },
1218
1193
  });
1219
1194
  ```
@@ -1237,7 +1212,7 @@ The following additional provider options are available for image editing:
1237
1212
 
1238
1213
  - **similarityStrength** _number_
1239
1214
 
1240
- For `IMAGE_VARIATION`: Controls similarity to the original (0-1).
1215
+ For `IMAGE_VARIATION`: Controls similarity to the original (0.2-1.0).
1241
1216
 
1242
1217
  - **outPaintingMode** _string_
1243
1218
 
@@ -1623,20 +1598,20 @@ on how to integrate reasoning into your chatbot.
1623
1598
 
1624
1599
  ### Model Capabilities
1625
1600
 
1626
- | Model | Image Input | Object Generation | Tool Usage | Computer Use | Reasoning |
1627
- | ---------------------------------------------- | ------------------- | ------------------- | ------------------- | ------------------- | ------------------- |
1628
- | `us.anthropic.claude-sonnet-5` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
1629
- | `us.anthropic.claude-fable-5` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
1630
- | `us.anthropic.claude-opus-4-8` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
1631
- | `us.anthropic.claude-opus-4-7` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
1632
- | `us.anthropic.claude-opus-4-6-v1` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
1633
- | `us.anthropic.claude-opus-4-5-20251101-v1:0` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
1634
- | `us.anthropic.claude-sonnet-4-5-20250929-v1:0` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
1635
- | `us.anthropic.claude-opus-4-20250514-v1:0` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
1636
- | `us.anthropic.claude-sonnet-4-20250514-v1:0` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
1637
- | `us.anthropic.claude-opus-4-1-20250805-v1:0` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
1638
- | `us.anthropic.claude-haiku-4-5-20251001-v1:0` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> |
1639
- | `us.anthropic.claude-3-5-sonnet-20241022-v2:0` | <Check size={18} /> | <Check size={18} /> | <Check size={18} /> | <Cross size={18} /> | <Cross size={18} /> |
1601
+ | Model | Image Input | Object Generation | Tool Usage | Computer Use | Reasoning |
1602
+ | ---------------------------------------------- | ----------- | ----------------- | ---------- | ------------ | --------- |
1603
+ | `us.anthropic.claude-sonnet-5` | <Check /> | <Check /> | <Check /> | <Check /> | <Check /> |
1604
+ | `us.anthropic.claude-fable-5` | <Check /> | <Check /> | <Check /> | <Check /> | <Check /> |
1605
+ | `us.anthropic.claude-opus-4-8` | <Check /> | <Check /> | <Check /> | <Check /> | <Check /> |
1606
+ | `us.anthropic.claude-opus-4-7` | <Check /> | <Check /> | <Check /> | <Check /> | <Check /> |
1607
+ | `us.anthropic.claude-opus-4-6-v1` | <Check /> | <Check /> | <Check /> | <Check /> | <Check /> |
1608
+ | `us.anthropic.claude-opus-4-5-20251101-v1:0` | <Check /> | <Check /> | <Check /> | <Check /> | <Check /> |
1609
+ | `us.anthropic.claude-sonnet-4-5-20250929-v1:0` | <Check /> | <Check /> | <Check /> | <Check /> | <Check /> |
1610
+ | `us.anthropic.claude-opus-4-20250514-v1:0` | <Check /> | <Check /> | <Check /> | <Check /> | <Check /> |
1611
+ | `us.anthropic.claude-sonnet-4-20250514-v1:0` | <Check /> | <Check /> | <Check /> | <Check /> | <Check /> |
1612
+ | `us.anthropic.claude-opus-4-1-20250805-v1:0` | <Check /> | <Check /> | <Check /> | <Check /> | <Check /> |
1613
+ | `us.anthropic.claude-haiku-4-5-20251001-v1:0` | <Check /> | <Check /> | <Check /> | <Check /> | <Check /> |
1614
+ | `us.anthropic.claude-3-5-sonnet-20241022-v2:0` | <Check /> | <Check /> | <Check /> | <Cross /> | <Cross /> |
1640
1615
 
1641
1616
  <Note>
1642
1617
  The Bedrock Anthropic provider uses the native InvokeModel API and supports
@@ -1787,12 +1762,12 @@ const { text } = await generateText({
1787
1762
 
1788
1763
  ### Model Capabilities
1789
1764
 
1790
- | Model | Chat Completions | Responses API |
1791
- | ------------------------------- | ------------------- | ------------------- |
1792
- | `openai.gpt-oss-20b` | <Check size={18} /> | <Check size={18} /> |
1793
- | `openai.gpt-oss-120b` | <Check size={18} /> | <Check size={18} /> |
1794
- | `openai.gpt-oss-safeguard-20b` | <Check size={18} /> | <Cross size={18} /> |
1795
- | `openai.gpt-oss-safeguard-120b` | <Check size={18} /> | <Cross size={18} /> |
1765
+ | Model | Chat Completions | Responses API |
1766
+ | ------------------------------- | ---------------- | ------------- |
1767
+ | `openai.gpt-oss-20b` | <Check /> | <Check /> |
1768
+ | `openai.gpt-oss-120b` | <Check /> | <Check /> |
1769
+ | `openai.gpt-oss-safeguard-20b` | <Check /> | <Cross /> |
1770
+ | `openai.gpt-oss-safeguard-120b` | <Check /> | <Cross /> |
1796
1771
 
1797
1772
  <Note>
1798
1773
  The Bedrock Mantle provider uses the OpenAI-compatible API format. Models
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-sdk/amazon-bedrock",
3
- "version": "5.0.14",
3
+ "version": "5.0.15",
4
4
  "type": "module",
5
5
  "license": "Apache-2.0",
6
6
  "sideEffects": false,
@@ -44,10 +44,10 @@
44
44
  "@smithy/eventstream-codec": "^4.3.3",
45
45
  "@smithy/util-utf8": "^4.3.3",
46
46
  "aws4fetch": "^1.0.20",
47
- "@ai-sdk/anthropic": "4.0.10",
48
- "@ai-sdk/openai": "4.0.9",
49
- "@ai-sdk/provider": "4.0.2",
50
- "@ai-sdk/provider-utils": "5.0.6"
47
+ "@ai-sdk/anthropic": "4.0.11",
48
+ "@ai-sdk/openai": "4.0.10",
49
+ "@ai-sdk/provider": "4.0.3",
50
+ "@ai-sdk/provider-utils": "5.0.7"
51
51
  },
52
52
  "devDependencies": {
53
53
  "@types/node": "22.19.19",
@@ -0,0 +1,44 @@
1
+ import {
2
+ lazySchema,
3
+ zodSchema,
4
+ type InferSchema,
5
+ } from '@ai-sdk/provider-utils';
6
+ import { z } from 'zod/v4';
7
+
8
+ export const amazonBedrockImageModelOptionsSchema = lazySchema(() =>
9
+ zodSchema(
10
+ z.object({
11
+ quality: z.enum(['standard', 'premium']).optional(),
12
+ negativeText: z.string().optional(),
13
+ cfgScale: z.number().optional(),
14
+ style: z
15
+ .enum([
16
+ '3D_ANIMATED_FAMILY_FILM',
17
+ 'DESIGN_SKETCH',
18
+ 'FLAT_VECTOR_ILLUSTRATION',
19
+ 'GRAPHIC_NOVEL_ILLUSTRATION',
20
+ 'MAXIMALISM',
21
+ 'MIDCENTURY_RETRO',
22
+ 'PHOTOREALISM',
23
+ 'SOFT_DIGITAL_PAINTING',
24
+ ])
25
+ .optional(),
26
+ taskType: z
27
+ .enum([
28
+ 'TEXT_IMAGE',
29
+ 'IMAGE_VARIATION',
30
+ 'INPAINTING',
31
+ 'OUTPAINTING',
32
+ 'BACKGROUND_REMOVAL',
33
+ ])
34
+ .optional(),
35
+ maskPrompt: z.string().optional(),
36
+ outPaintingMode: z.enum(['DEFAULT', 'PRECISE']).optional(),
37
+ similarityStrength: z.number().optional(),
38
+ }),
39
+ ),
40
+ );
41
+
42
+ export type AmazonBedrockImageModelOptions = InferSchema<
43
+ typeof amazonBedrockImageModelOptionsSchema
44
+ >;
@@ -8,6 +8,7 @@ import {
8
8
  convertUint8ArrayToBase64,
9
9
  createJsonErrorResponseHandler,
10
10
  createJsonResponseHandler,
11
+ parseProviderOptions,
11
12
  postJsonToApi,
12
13
  resolve,
13
14
  serializeModelOptions,
@@ -20,6 +21,7 @@ import {
20
21
  modelMaxImagesPerCall,
21
22
  type AmazonBedrockImageModelId,
22
23
  } from './amazon-bedrock-image-settings';
24
+ import { amazonBedrockImageModelOptionsSchema } from './amazon-bedrock-image-model-options';
23
25
  import { AmazonBedrockErrorSchema } from './amazon-bedrock-error';
24
26
  import { z } from 'zod/v4';
25
27
 
@@ -85,8 +87,18 @@ export class AmazonBedrockImageModel implements ImageModelV4 {
85
87
 
86
88
  // Prefer the new `amazonBedrock` providerOptions key; fall back to the
87
89
  // legacy `bedrock` key for backward compatibility.
88
- const amazonBedrockOptions = (providerOptions?.amazonBedrock ??
89
- providerOptions?.bedrock) as Record<string, any> | undefined;
90
+ const amazonBedrockOptions =
91
+ (await parseProviderOptions({
92
+ provider: 'amazonBedrock',
93
+ providerOptions,
94
+ schema: amazonBedrockImageModelOptionsSchema,
95
+ })) ??
96
+ (await parseProviderOptions({
97
+ provider: 'bedrock',
98
+ providerOptions,
99
+ schema: amazonBedrockImageModelOptionsSchema,
100
+ })) ??
101
+ {};
90
102
 
91
103
  // Build image generation config (common to most modes)
92
104
  const imageGenerationConfig = {
package/src/index.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export type { AnthropicProviderOptions } from '@ai-sdk/anthropic';
2
2
 
3
3
  export type { AmazonBedrockEmbeddingModelOptions } from './amazon-bedrock-embedding-model-options';
4
+ export type { AmazonBedrockImageModelOptions } from './amazon-bedrock-image-model-options';
4
5
  export type {
5
6
  AmazonBedrockLanguageModelChatOptions,
6
7
  /** @deprecated Use `AmazonBedrockLanguageModelChatOptions` instead. */