Migration guide

AWS Bedrock currently supports Marengo 3.0 and Marengo 2.7. Marengo 2.7 will be deprecated in a future release. This guide helps you migrate from Marengo 2.7 to Marengo 3.0 on AWS Bedrock.

Marengo 3.0 introduces the following key changes to how you invoke the model:

  • Nested input structure: Input parameters are now organized inside objects based on the value of the inputType parameter.
  • Combined text and image inputs: You can now combine text and image in a single request using the new text_image input type.
  • Parameter updates: Several parameters have changed. For example, embedding_options now uses different values to specify which types of embeddings to retrieve.

Migration steps

1

Review the structural and parameter changes in the sections below.

2

Update your code to use the new nested structure and the parameter changes.

3

Update your model ID to twelvelabs.marengo-embed-3-0-v1:0.

4

Test your integration with the new version.

Structural changes

Marengo 3.0 uses a nested structure for all input types. To organize your input parameters, place them inside an object that corresponds to the value of the inputType parameter. For example, if you set inputType to text, you should nest your inputText parameter within an object called text. This structure applies to all input types, including text, image, video, audio, and text_image. The examples below illustrate the differences in structure between Marengo 2.7 and Marengo 3.0 for each input type.

Synchronous processing changes

Text inputs

Marengo 2.7 structure:

1{
2 "inputType": "text",
3 "inputText": "<YOUR_TEXT>"
4}

Marengo 3.0 structure:

1{
2 "inputType": "text",
3 "text": {
4 "inputText": "<YOUR_TEXT>"
5 }
6}

Image inputs

Marengo 2.7 structure:

1{
2 "inputType": "image",
3 "mediaSource": {
4 "s3Location": {
5 "uri": "<YOUR_S3_URI>",
6 "bucketOwner": "<YOUR_BUCKET_OWNER>"
7 }
8 }
9}

Marengo 3.0 structure:

1{
2 "inputType": "image",
3 "image": {
4 "mediaSource": {
5 "s3Location": {
6 "uri": "<YOUR_S3_URI>",
7 "bucketOwner": "<YOUR_BUCKET_OWNER>"
8 }
9 }
10 }
11}

Combined text and image inputs

Marengo 2.7 structure: Not supported. You must create separate embddings

Marengo 3.0 structure:

1{
2 "inputType": "text_image",
3 "text_image": {
4 "inputText": "<YOUR_TEXT>",
5 "mediaSource": {
6 "s3Location": {
7 "uri": "<YOUR_URI>",
8 "bucketOwner": "<YOUR_ACCOUNT_ID>"
9 }
10 }
11 }
12}

Asynchronous processing changes

Video inputs

Marengo 2.7 structure:

1{
2 "inputType": "video",
3 "mediaSource": {
4 "s3Location": {
5 "uri": "<YOUR_S3_URI>",
6 "bucketOwner": "<YOUR_BUCKET_OWNER>"
7 }
8 }
9}

Marengo 3.0 structure:

1{
2 "inputType": "video",
3 "video": {
4 "mediaSource": {
5 "s3Location": {
6 "uri": "<YOUR_S3_URI>",
7 "bucketOwner": "<YOUR_BUCKET_OWNER>"
8 }
9 }
10 }
11}

Audio inputs

Marengo 2.7 structure:

1{
2 "inputType": "audio",
3 "mediaSource": {
4 "s3Location": {
5 "uri": "<YOUR_S3_URI>",
6 "bucketOwner": "<YOUR_BUCKET_OWNER>"
7 }
8 }
9}

Marengo 3.0 structure:

1{
2 "inputType": "audio",
3 "audio": {
4 "mediaSource": {
5 "s3Location": {
6 "uri": "<YOUR_S3_URI>",
7 "bucketOwner": "<YOUR_BUCKET_OWNER>"
8 }
9 }
10 }
11}

Image inputs

Marengo 2.7 structure:

1{
2 "inputType": "image",
3 "mediaSource": {
4 "s3Location": {
5 "uri": "<YOUR_S3_URI>",
6 "bucketOwner": "<YOUR_BUCKET_OWNER>"
7 }
8 }
9}

Marengo 3.0 structure:

1{
2 "inputType": "image",
3 "image": {
4 "mediaSource": {
5 "s3Location": {
6 "uri": "<YOUR_S3_URI>",
7 "bucketOwner": "<YOUR_BUCKET_OWNER>"
8 }
9 }
10 }
11}

Text inputs

Marengo 2.7 structure:

1{
2 "inputType": "text",
3 "inputText": "<YOUR_TEXT>"
4}

Marengo 3.0 structure:

1{
2 "inputType": "text",
3 "text": {
4 "inputText": "<YOUR_TEXT>"
5 }
6}

Combined text and image inputs

Marengo 2.7 structure: Not supported. You must create separate embddings

Marengo 3.0 structure:

1{
2 "inputType": "text_image",
3 "text_image": {
4 "inputText": "<YOUR_TEXT>",
5 "mediaSource": {
6 "s3Location": {
7 "uri": "<YOUR_S3_URI>",
8 "bucketOwner": "<YOUR_ACCOUNT_ID>"
9 }
10 }
11 }
12}

Parameter changes

Marengo 3.0 changes the valid values for the embedding_options parameter. This parameter specifies which types of embeddings to retrieve.

Marengo 2.7 values:

  • visual-text: Visual embeddings optimized for text search
  • visual-image: Visual embeddings optimized for image search
  • audio: Embeddings of the audio in the video

Marengo 3.0 values:

  • visual: Visual embeddings from the video
  • audio: Embeddings of the audio in the video
  • transcription: Embeddings of the transcribed text
Note

Marengo 3.0 introduces additional parameter changes beyond those documented in this guide. For a complete list of request parameters and response fields, see the TwelveLabs Marengo Embed 3.0 page in the AWS Bedrock documentation.