Migration guide

Marengo 2.7 will be deprecated. Embeddings created with Marengo 2.7 are not compatible with Marengo 3.0. You must migrate to Marengo 3.0 and regenerate all your embeddings.

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

Update your code to use the new structure and the parameter changes. For details see the Structural changes and Parameter changes sections below.

2

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

3

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 embeddings.

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 embeddings.

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.