

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Modelos de TwelveLabs
<a name="model-parameters-twelvelabs"></a>

En esta sección se describen los parámetros de solicitud y los campos de respuesta de los modelos de TwelveLabs. Utilice esta información para realizar llamadas de inferencia a los modelos de TwelveLabs. El TwelveLabs Pegasus 1.2 modelo admite [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)operaciones [InvokeModelWithResponseStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html)(de transmisión). Los TwelveLabs Marengo Embed 3.0 modelos TwelveLabs Marengo Embed 2.7 y apoyan [StartAsyncInvoke](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_StartAsyncInvoke.html)las operaciones. En esta sección también se incluyen ejemplos de código que muestran cómo llamar a los modelos de TwelveLabs. Para utilizar un modelo en una operación de inferencia, necesitará el ID del modelo. Para obtener el ID del modelo, consulte [Modelos fundacionales compatibles en Amazon Bedrock](models-supported.md).

TwelveLabs es un proveedor líder de modelos de IA multimodales especializado en la comprensión y el análisis de vídeo. Sus modelos avanzados permiten sofisticadas capacidades de búsqueda de vídeo, análisis y generación de contenido mediante tecnologías de visión state-of-the-art artificial y procesamiento del lenguaje natural.

Amazon Bedrock ofrece tres TwelveLabs modelos:
+ TwelveLabs Pegasus 1.2proporciona una comprensión y un análisis exhaustivos del vídeo.
+ TwelveLabs Marengo Embed 2.7genera incrustaciones de alta calidad para contenido de vídeo, texto, audio e imágenes.
+ TwelveLabs Marengo Embed 3.0es el último modelo de incrustación con prestaciones y prestaciones mejoradas.

Estos modelos le ayudan a crear aplicaciones que procesan, analizan y obtienen información a partir de datos de vídeo a escala.

**TwelveLabs Pegasus 1.2**

Un modelo multimodal que proporciona capacidades integrales de comprensión y análisis de vídeo, incluido el reconocimiento de contenido, la detección de escenas y la comprensión del contexto. El modelo puede analizar el contenido de vídeo y generar descripciones textuales, información y respuestas a preguntas sobre el vídeo.

**TwelveLabs Marengo Embed 2.7**

Un modelo de incrustación multimodal que genera representaciones vectoriales de alta calidad del contenido de vídeo, texto, audio e imágenes para la búsqueda de similitudes, la agrupación en clústeres y otras tareas de machine learning. El modelo admite varias modalidades de entrada y proporciona incrustaciones especializadas optimizadas para diferentes casos de uso.

**TwelveLabs Marengo Embed 3.0**

Un modelo de incrustación multimodal mejorado que amplía las capacidades de Marengo 2.7 al admitir la modalidad de entrada intercalada de texto e imagen. Este modelo genera representaciones vectoriales de alta calidad de contenido de vídeo, texto, audio, imágenes y texto-imagen intercaladas para la búsqueda de similitudes, la agrupación en clústeres y otras tareas de aprendizaje automático.

**Topics**
+ [TwelveLabs Pegasus 1.2](model-parameters-pegasus.md)
+ [TwelveLabs Marengo Embed 2.7](model-parameters-marengo.md)
+ [TwelveLabs Marengo Embed 3.0](model-parameters-marengo-3.md)

# TwelveLabs Pegasus 1.2
<a name="model-parameters-pegasus"></a>

El modelo TwelveLabs Pegasus 1.2 proporciona capacidades integrales de comprensión y análisis de vídeo. Puede analizar el contenido de vídeo y generar descripciones textuales, información y respuestas a preguntas sobre el vídeo.

Utilice esta información para realizar llamadas de inferencia a TwelveLabs los modelos con las InvokeModel operaciones InvokeModelWithResponseStream (de transmisión).
+ Proveedor: TwelveLabs
+ Categorías: comprensión del vídeo, análisis de contenido
+ ID de modelo: `twelvelabs.pegasus-1-2-v1:0`
+ Modalidad de entrada: vídeo
+ Modalidad de salida: texto
+ Tamaño máximo del vídeo: vídeo de 1 hora de duración (tamaño de archivo inferior a 2 GB)

## Parámetros de solicitud de TwelveLabs Pegasus 1.2
<a name="model-parameters-pegasus-request"></a>

En la siguiente tabla se describen los parámetros de entrada para el modelo TwelveLabs Pegasus 1.2:


**Parámetros de solicitud de TwelveLabs Pegasus 1.2**  

| Campo | Tipo | Obligatorio | Descripción | 
| --- | --- | --- | --- | 
| inputPrompt | string | Sí | Petición para analizar el vídeo. 2000 tokens como máximo | 
| temperature | double | No | Temperatura del modelo. Controla la asignación al azar de la salida. Predeterminado: 0,2, mínimo: 0, máximo: 1. | 
| responseFormat | Objeto | No | Permite a los usuarios especificar el formato de salida estructurado. Actualmente solo admite json\$1schema. | 
| mediaSource | objeto | Sí | Describe el origen del contenido multimedia. Se debe proporcionar base64String o s3Location. | 
| mediaSource.base64String | cadena | No | Cadena de bytes codificada en Base64 para el vídeo. Máximo: 25 MB. | 
| mediaSource.s3Location.uri | cadena | No | La URI de S3 desde donde se puede descargar el vídeo. Máximo: vídeo de 1 hora de duración (tamaño de archivo inferior a 2 GB) | 
| mediaSource.s3Location.bucketOwner | cadena | No | ID de la cuenta de AWS del propietario del bucket. | 
| maxOutputTokens | entero | No | El número máximo de tokens que se generarán. Máx.: 4096. | 

## Campos de respuesta de TwelveLabs Pegasus 1.2
<a name="model-parameters-pegasus-response"></a>

En la siguiente tabla se describen los campos de salida del modelo TwelveLabs Pegasus 1.2:


**Campos de respuesta de TwelveLabs Pegasus 1.2**  

| Campo | Tipo | Description (Descripción) | 
| --- | --- | --- | 
| message | cadena | Mensaje de salida que contiene el análisis del vídeo realizado por el modelo. | 
| finishReason | cadena | Motivo de la parada que describe por qué finalizó la salida. Valores válidos: stop (la API devolvió las finalizaciones completas sin alcanzar ningún límite), length (la generación superó el límite de max\$1tokens). | 

## Solicitud y respuesta de TwelveLabs Pegasus 1.2
<a name="model-parameters-pegasus-examples"></a>

En los siguientes ejemplos se muestra cómo usar el modelo TwelveLabs Pegasus 1.2 con diferentes orígenes de entrada.

------
#### [ Request ]

En los siguientes ejemplos se muestran los formatos de solicitud del modelo TwelveLabs Pegasus 1.2.

**Uso de vídeo codificado en base64:**

```
{
  "inputPrompt": "tell me about the video",
  "mediaSource": {
      "base64String": "<BASE64 STRING OF VIDEO FILE>"
  },
  "temperature": 0
}
```

**Uso de vídeo almacenado en S3:**

```
{
    "inputPrompt": "Tell me about this video",
    "mediaSource": {
        "s3Location": {
            "uri": "s3://path-to-video-object-in-s3",
            "bucketOwner": "bucket-owner-account-id"
        }
    },
    "temperature": 0
}
```

**Uso de formato de salida estructurado:**

```
{
    "inputPrompt": "Analyze this video and provide a structured summary",
    "mediaSource": {
        "s3Location": {
            "uri": "s3://path-to-video-object-in-s3",
            "bucketOwner": "bucket-owner-account-id"
        }
    },
    "temperature": 0.2,
    "maxOutputTokens": 2048,
    "responseFormat": {
        "type": "json_schema",
        "json_schema": {
            "name": "video_analysis",
            "schema": {
                "type": "object",
                "properties": {
                    "summary": {"type": "string"},
                    "key_scenes": {"type": "array", "items": {"type": "string"}},
                    "duration": {"type": "string"}
                },
                "required": ["summary", "key_scenes"]
            }
        }
    }
}
```

------
#### [ Response ]

En los siguientes ejemplos se muestran los formatos de respuesta del modelo TwelveLabs Pegasus 1.2.

**Respuesta estándar:**

```
{
  "message": "This video shows a person walking through a park during sunset. The scene includes trees, a walking path, and golden lighting from the setting sun. The person appears to be enjoying a peaceful evening stroll.",
  "finishReason": "stop"
}
```

**Respuesta con salida estructurada:**

```
{
  "message": "{\"summary\": \"A peaceful evening walk through a park at sunset\", \"key_scenes\": [\"Person entering the park\", \"Walking along tree-lined path\", \"Sunset lighting through trees\", \"Person sitting on bench\"], \"duration\": \"Approximately 2 minutes\"}",
  "finishReason": "stop"
}
```

**Respuesta cuando se alcanza el máximo de tokens:**

```
{
  "message": "This video contains multiple scenes showing various activities. The first scene shows...",
  "finishReason": "length"
}
```

------

# TwelveLabs Marengo Embed 2.7
<a name="model-parameters-marengo"></a>

El modelo TwelveLabs Marengo Embed 2.7 genera incrustaciones a partir de entradas de vídeo, texto, audio o imagen. Estas incrustaciones se pueden utilizar para la búsqueda de similitudes, la agrupación en clústeres y otras tareas de machine learning.
+ Proveedor — TwelveLabs
+ ID de modelo: twelvelabs.marengo-embed-2-7-v1:0

El modelo TwelveLabs Marengo Embed 2.7 admite las operaciones de Tiempo de ejecución de Amazon Bedrock que se indican en la siguiente tabla. 
+ Para obtener más información sobre los casos de uso para los diferentes métodos de API, consulte [Obtenga información sobre los casos de uso de diferentes métodos de inferencia de modelosDiferentes métodos de inferencia](inference-methods.md).
+ Para obtener más información acerca de los tipos de modelos, consulte [Cómo funciona la inferencia en Amazon BedrockCómo funciona la inferencia](inference-how.md).
  + Para obtener una lista de modelos IDs y ver los modelos y AWS las regiones compatiblesTwelveLabs Marengo Embed 2.7, busque el modelo en la tabla de[Modelos fundacionales compatibles en Amazon Bedrock](models-supported.md).
  + Para obtener una lista completa del perfil de inferencia IDs, consulte[Regiones y modelos compatibles con los perfiles de inferencia](inference-profiles-support.md). El ID del perfil de inferencia se basa en la AWS región.


****  

| Operación de la API | Tipos de modelos compatibles | Modalidades de entrada | Modalidades de salida | 
| --- | --- | --- | --- | 
|  InvokeModel  | [Perfiles de inferencia](inference-profiles-support.md) |  Texto Image  |  Incrustación  | 
| StartAsyncInvoke | [Modelos base](models-supported.md) |  Video Audio Image Texto  |  Incrustación  | 

**nota**  
Utilice `InvokeModel` para generar incrustaciones para la consulta de búsqueda. Utilice `StartAsyncInvoke` para generar incrustaciones de activos a gran escala.

Las siguientes cuotas se aplican a la entrada:


****  

| Modalidad de entrada | Máximo | 
| --- | --- | 
| Texto | 77 fichas | 
| Image | 5 MB | 
| Vídeo (S3) | 2 GB | 
| Audio (S3) | 2 GB | 

**nota**  
Si define audio o vídeo insertado mediante la codificación base64, asegúrese de que la carga útil del cuerpo de la solicitud no supere la cuota de invocación de modelos de Amazon Bedrock de 25 MB.

**Topics**
+ [Parámetros de solicitud de TwelveLabs Marengo Embed 2.7](#model-parameters-marengo-async-request)
+ [Respuesta de TwelveLabs Marengo Embed 2.7](#model-parameters-marengo-response)
+ [Ejemplos de código de TwelveLabs Marengo Embed 2.7](#model-parameters-marengo-examples)

## Parámetros de solicitud de TwelveLabs Marengo Embed 2.7
<a name="model-parameters-marengo-async-request"></a>

Al realizar una solicitud, el campo en el que se especifica la entrada específica del modelo depende del funcionamiento de la API:
+ [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)— En la solicitud`body`.
+ [StartAsyncInvoke](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_StartAsyncInvoke.html)— En el `modelInput` campo del cuerpo de la solicitud.

El formato de la entrada del modelo depende de la modalidad de entrada:

------
#### [ Text ]

```
{
    "inputType": "text",
    "inputText": "string",
    "textTruncate": "string
}
```

------
#### [ Inline image ]

```
{
     "inputType": "image",
     "mediaSource": {
          "base64String": "base64-encoded string"
     }
}
```

------
#### [ S3 image ]

```
{
    "inputType": "image",
    "mediaSource": {
        "s3Location": {
            "uri": "string",
            "bucketOwner": "string"
        }
    }
}
```

------
#### [ Inline video ]

```
{
    "inputType": "video",
    "mediaSource": {
        "s3Location": {
            "base64String": "base64-encoded string"
        }
    },
    "startSec": double,
    "lengthSec": double,
    "useFixedLengthSec": double,
    "embeddingOption": "visual-text" | "visual-image" | "audio"
}
```

------
#### [ S3 video ]

```
{
    "inputType": "image",
    "mediaSource": {
        "s3Location": {
           "uri": "string",
           "bucketOwner": "string"
        }
    },
    "startSec": double,
    "lengthSec": double,
    "useFixedLengthSec": double,
    "minClipSec": int,
    "embeddingOption": ["string"]
}
```

------
#### [ Inline audio ]

```
{
    "inputType": "audio", 
    "mediaSource": { 
        "base64String": "base64-encoded string"
    },
    "startSec": double,
    "lengthSec": double,
    "useFixedLengthSec": double
}
```

------
#### [ S3 audio ]

```
{
    "inputType": "audio",
    "mediaSource": {
        "s3Location": {
           "uri": "string",
           "bucketOwner": "string"
        }
    },
    "startSec": double,
    "lengthSec": double,
    "useFixedLengthSec": double
}
```

------

Amplíe las siguientes secciones para obtener detalles sobre los parámetros de entrada:

### inputType
<a name="model-parameters-marengo-inputType"></a>

Modalidad de incrustación.
+ **Tipo:** cadena
+ **Obligatorio**: sí
+ **Valores válidos**: `video` \$1 `text` \$1 `audio` \$1 `image`

### inputText
<a name="model-parameters-marengo-inputText"></a>

Texto que se va a incrustar.
+ **Tipo:** cadena
+ **Obligatorio:** sí (para tipos de entrada compatibles)
+ **Tipos de entrada compatibles:** texto

### textTruncate
<a name="model-parameters-marengo-textTruncate"></a>

Especifica cómo la plataforma trunca el texto.
+ **Tipo:** cadena
+ **Obligatorio**: no
+ **Valores válidos:**
  + `end`: trunca el final del texto.
  + `none`: devuelve un error si el texto supera el límite.
+ **Valor predeterminado:** final
+ **Tipos de entrada compatibles:** texto

### mediaSource
<a name="model-parameters-marengo-mediaSource"></a>

Contiene información sobre el origen del contenido multimedia.
+ **Tipo:** objeto
+ **Obligatorio:** sí (si el tipo es compatible)
+ **Tipos de entrada compatibles:** imagen, vídeo, audio

El formato del objeto `mediaSource` en el cuerpo de la solicitud depende de si el contenido multimedia está definido como una cadena codificada en Base64 o como una ubicación de S3.
+ **Cadena codificada en base64**

  ```
  {
      "mediaSource": {
          "base64String": "base64-encoded string"
      }
  }
  ```
  + `base64String`: la cadena codificada en Base64 del contenido multimedia.
+ **Ubicación de S3**: especifique el URI de S3 y el propietario del bucket.

  ```
  {
      "s3Location": {
          "uri": "string",
          "bucketOwner": "string"
      }
  }
  ```
  + `uri`: el URI de S3 que contiene el contenido multimedia.
  + `bucketOwner`— El ID de AWS cuenta del propietario del bucket de S3.

### embeddingOption
<a name="model-parameters-marengo-embeddingOption"></a>

Especifica los tipos de incrustaciones que se van a recuperar.
+ **Tipo**: lista
+ **Obligatorio**: no
+ **Valores válidos para los miembros de la lista:**
  + `visual-text`: incrustaciones visuales optimizadas para la búsqueda de texto.
  + `visual-image`: incrustaciones visuales optimizadas para la búsqueda de imágenes.
  + `audio`: incrustaciones del audio en el vídeo.
+ **Valor predeterminado:** ["visual-text", "visual-image", "audio"]
+ **Tipos de entrada compatibles:** vídeo, audio

### startSec
<a name="model-parameters-marengo-startSec"></a>

Punto temporal en segundos del clip en el que debe comenzar el procesamiento.
+ **Tipo**: Doble
+ **Obligatorio**: no
+ **Valor mínimo:** 0
+ **Valor predeterminado:** 0
+ **Tipos de entrada compatibles:** vídeo, audio

### lengthSec
<a name="model-parameters-marengo-lengthSec"></a>

El tiempo en segundos, contado desde el punto temporal `startSec`, tras el cual debe detenerse el procesamiento.
+ **Tipo**: Doble
+ **Obligatorio**: no
+ **Valores válidos:** 0: duración del contenido multimedia
+ **Valor predeterminado:** duración del contenido multimedia
+ **Tipos de entrada compatibles:** vídeo, audio

Ejemplo:
+ startSec: 5
+ lengthSec: 20
+ Resultado: el clip se procesa entre las 0:05 y las 0:25 (5 segundos \$1 20 segundos).

### useFixedLengthSec
<a name="model-parameters-marengo-useFixedLengthSec"></a>

La duración de cada clip para el que el modelo debe generar una incrustación.
+ **Tipo**: Doble
+ **Obligatorio**: no
+ **Parámetros de valor:** 2 - 10. Debe ser mayor o igual que `minClipSec`.
+ **Valor predeterminado:** depende del tipo de contenido multimedia:
  + **Vídeo:** Dividido dinámicamente por la detección del límite del tiro.
  + **Audio:** dividido en partes iguales con segmentos lo más próximos posible a 10 segundos.

    Ejemplos:
    + Un clip de 50 segundos se divide en 5 segmentos de 10 segundos.
    + Un clip de 16 segundos se divide en 2 segmentos de 8 segundos.
+ **Tipos de entrada compatibles:** vídeo, audio
+ **Notas:** Debe ser mayor o igual que `minClipSec`.

### minClipSec
<a name="model-parameters-marengo-minClipSec"></a>

Establece un valor mínimo para cada clip en segundos.
+ **Tipo:** int
+ **Obligatorio**: no
+ **Parámetros de valor:** intervalo: 1-5
+ **Valor predeterminado**: 4
+ **Tipos de entrada compatibles:** vídeo
+ **Notas:** Debe ser menor o igual que `useFixedLengthSec`.

## Respuesta de TwelveLabs Marengo Embed 2.7
<a name="model-parameters-marengo-response"></a>

La ubicación de las incrustaciones de salida y los metadatos asociados depende del método de invocación:
+ [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)— En el cuerpo de la respuesta.
+ [StartAsyncInvoke](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_StartAsyncInvoke.html)— En el segmento S3 definido en el`s3OutputDataConfig`, una vez finalizado el trabajo de invocación asíncrona.

Si hay varios vectores de incrustaciones, la salida es una lista de objetos, cada uno de los cuales contiene un vector y sus metadatos asociados.

El formato del vector de incrustaciones de salida es el siguiente:

```
{
    "embedding": ["string"],
    "embeddingOption": "visual-text" | "visual-image" | "audio",
    "startSec": double,
    "endsec": double
}
```

Amplíe las siguientes secciones para obtener detalles sobre los parámetros de respuesta:

### Incrustación
<a name="model-parameters-marengo-embedding"></a>

Representación vectorial de la incrustaciones de entrada.
+ **Tipo**: lista de valores double

### embeddingOption
<a name="model-parameters-marengo-embeddingOption"></a>

El tipo de incrustaciones.
+ **Tipo:** cadena
+ **Valores posibles:**
  + `visual-text`: incrustaciones visuales optimizadas para la búsqueda de texto.
  + `visual-image`: incrustaciones visuales optimizadas para la búsqueda de imágenes.
  + `audio`: incrustaciones del audio en el vídeo.
+ **Tipos de entrada compatibles:** vídeo

### startSec
<a name="model-parameters-marengo-startSec"></a>

El desplazamiento inicial del clip.
+ **Tipo**: Doble
+ **Tipos de entrada compatibles:** vídeo, audio

### endSec
<a name="model-parameters-marengo-endSec"></a>

El desplazamiento final del clip, en segundos.
+ **Tipo**: Doble
+ **Tipos de entrada compatibles:** vídeo, audio

## Ejemplos de código de TwelveLabs Marengo Embed 2.7
<a name="model-parameters-marengo-examples"></a>

En esta sección se muestra cómo utilizar el modelo TwelveLabs Marengo Embed 2.7 con diferentes tipos de entrada mediante Python. Los ejemplos muestran cómo definir la entrada específica del modelo y ejecutar las invocaciones del modelo.

**nota**  
InvokeModel solo admite la entrada de texto e imagen. Para la entrada de vídeo y audio, utilice StartAsyncInvoke.

Reúna su código con los siguientes pasos:

**1. Defina la entrada específica del modelo**  
Defina la entrada específica del modelo en función del tipo de entrada:

------
#### [ Text ]

```
# Create the model-specific input
model_id = "twelvelabs.marengo-embed-2-7-v1:0"
# Replace the us prefix depending on your region
inference_profile_id = "us.twelvelabs.marengo-embed-2-7-v1:0"
                            
model_input = {
  "inputType": "text",
  "inputText": "man walking a dog"
}
```

------
#### [ Inline image ]

```
# Create the model-specific input
model_id = "twelvelabs.marengo-embed-2-7-v1:0"
# Replace the us prefix depending on your region
inference_profile_id = "us.twelvelabs.marengo-embed-2-7-v1:0"

model_input = {
   "inputType": "image",
   "mediaSource": {
      "base64String": "example-base64-image"
   }
}
```

------
#### [ S3 image ]

```
# Create the model-specific input
model_id = "twelvelabs.marengo-embed-2-7-v1:0"
# Replace the us prefix depending on your region
inference_profile_id = "us.twelvelabs.marengo-embed-2-7-v1:0"

model_input = {
     "inputType": "image",
     "mediaSource": {
          "s3Location": {
               "uri": "s3://amzn-s3-demo-bucket/my_image.png",
               "bucketOwner": "123456789012"
          }
     }
}
```

------
#### [ Inline video ]

```
# Create the model-specific input
model_id = "twelvelabs.marengo-embed-2-7-v1:0"
# Replace the us prefix depending on your region
inference_profile_id = "us.twelvelabs.marengo-embed-2-7-v1:0"

model_input = {
    "inputType": "video",
    "mediaSource": {
        "base64String": "base_64_encoded_string_of_video"
    },
    "startSec": 0,
    "lengthSec": 13,
    "useFixedLengthSec": 5,
    "embeddingOption": [
        "visual-text", 
        "audio"
    ]
}
```

------
#### [ S3 video ]

```
# Create the model-specific input
model_id = "twelvelabs.marengo-embed-2-7-v1:0"
# Replace the us prefix depending on your region
inference_profile_id = "us.twelvelabs.marengo-embed-2-7-v1:0"

model_input = {
    "inputType": "video",
    "mediaSource": {
        "s3Location": {
            "uri": "amzn-s3-demo-bucket/my-video.mp4",
            "bucketOwner": "123456789012"
        }
    },
    "startSec": 0,
    "lengthSec": 13,
    "useFixedLengthSec": 5,
    "embeddingOption": [
        "visual-text", 
        "audio"
    ]
}
```

------
#### [ Inline audio ]

```
# Create the model-specific input
model_id = "twelvelabs.marengo-embed-2-7-v1:0"
# Replace the us prefix depending on your region
inference_profile_id = "us.twelvelabs.marengo-embed-2-7-v1:0"

model_input = {
    "inputType": "audio", 
    "mediaSource": { 
        "base64String": "base_64_encoded_string_of_audio"
    },
    "startSec": 0,
    "lengthSec": 13,
    "useFixedLengthSec": 10
}
```

------
#### [ S3 audio ]

```
# Create the model-specific input
model_id = "twelvelabs.marengo-embed-2-7-v1:0"
# Replace the us prefix depending on your region
inference_profile_id = "us.twelvelabs.marengo-embed-2-7-v1:0"

model_input = {
    "inputType": "audio",
    "mediaSource": {  
        "s3Location": { 
            "uri": "s3://amzn-s3-demo-bucket/my-audio.wav", 
            "bucketOwner": "123456789012" 
        }
    },
    "startSec": 0,
    "lengthSec": 13,
    "useFixedLengthSec": 10
}
```

------

**2. Ejecute la invocación del modelo utilizando la entrada del modelo**  
A continuación, añada el fragmento de código que corresponda al método de invocación del modelo que prefiera.

------
#### [ InvokeModel ]

```
# Run model invocation with InvokeModel
import boto3
import json

# Initialize the Bedrock Runtime client
client = boto3.client('bedrock-runtime')

# Make the request
response = client.invoke_model(
    modelId=inference_profile_id,
    body=json.dumps(model_input)
)

# Print the response body
response_body = json.loads(response['body'].read().decode('utf-8'))

print(response_body)
```

------
#### [ StartAsyncInvoke ]

```
# Run model invocation asynchronously
import boto3
import json

# Initalize the Bedrock Runtime client.
client = boto3.client("bedrock-runtime")

try:
    # Start the asynchronous job
    invocation = client.start_async_invoke(
        modelId=model_id,
        modelInput=model_input,
        outputDataConfig={
            "s3OutputDataConfig": {
                "s3Uri": "s3://&example-s3-destination-bucket;"
            }
        }
    )

    # Print the response JSON
    print("Response:")
    print(json.dumps(invocation, indent=2, default=str))

except Exception as e:
    # Implement error handling here.
    message = e.response["Error"]["Message"]
    print(f"Error: {message}")
```

------

# TwelveLabs Marengo Embed 3.0
<a name="model-parameters-marengo-3"></a>

El TwelveLabs Marengo Embed 3.0 modelo genera incrustaciones mejoradas a partir de entradas de vídeo, texto, audio o imagen. Esta última versión ofrece un rendimiento y una precisión mejorados en la búsqueda de similitudes, la agrupación en clústeres y otras tareas de aprendizaje automático.
+ Proveedor: TwelveLabs
+ ID de modelo: twelvelabs.marengo-embed-3-0-v1:0

Marengo Embed 3.0 ofrece varias mejoras clave:
+ **Capacidad de procesamiento de vídeo ampliada**: procese hasta 4 horas de contenido de vídeo y audio. Los archivos pueden ocupar hasta 6 GB, el doble de la capacidad de las versiones anteriores. Esto lo hace ideal para analizar eventos deportivos completos, vídeos de entrenamiento prolongados y producciones cinematográficas completas.
+ **Análisis deportivo mejorado**: el modelo ofrece mejoras significativas. Proporciona una mejor comprensión de la dinámica del juego, los movimientos de los jugadores y la detección de eventos.
+ **Soporte multilingüe global**: capacidades lingüísticas ampliadas de 12 a 36 idiomas. Esto permite a las organizaciones globales crear sistemas unificados de búsqueda y recuperación que funcionan sin problemas en diversas regiones y mercados.
+ **Precisión de búsqueda multimodal**: combine imágenes y texto descriptivo en una sola solicitud de incrustación. Esto combina la similitud visual con la comprensión semántica para ofrecer resultados de búsqueda más precisos y contextualmente relevantes.
+ **Dimensión de incrustación reducida**: se ha reducido de 1024 a 512, lo que puede ayudar a reducir los costes de almacenamiento.

El modelo TwelveLabs Marengo Embed 3.0 admite las operaciones de Tiempo de ejecución de Amazon Bedrock que se indican en la siguiente tabla. 
+ Para obtener más información sobre los casos de uso para los diferentes métodos de API, consulte [Obtenga información sobre los casos de uso de diferentes métodos de inferencia de modelosDiferentes métodos de inferencia](inference-methods.md).
+ Para obtener más información acerca de los tipos de modelos, consulte [Cómo funciona la inferencia en Amazon BedrockCómo funciona la inferencia](inference-how.md).
  + Para obtener una lista de modelos IDs y ver los modelos y AWS las regiones compatiblesTwelveLabs Marengo Embed 3.0, busque el modelo en la tabla que aparece en. [Modelos fundacionales compatibles en Amazon Bedrock](models-supported.md)
  + Para obtener una lista completa del perfil de inferencia IDs, consulte[Regiones y modelos compatibles con los perfiles de inferencia](inference-profiles-support.md). El ID del perfil de inferencia se basa en la AWS región.


****  

| Operación de la API | Tipos de modelos compatibles | Modalidades de entrada | Modalidades de salida | 
| --- | --- | --- | --- | 
|  InvokeModel  |  US East (Virginia del Norte): [modelos base y perfiles](models-supported.md) de [inferencia](inference-profiles-support.md) Europa (Irlanda) [— Perfiles de inferencia](inference-profiles-support.md) Asia-Pacífico (Seúl): modelos [básicos](models-supported.md)  |  Texto Image **Nota:** También se admiten textos e imágenes intercalados.  |  Incrustación  | 
| StartAsyncInvoke | [Modelos base](models-supported.md) |  Video Audio Image Texto **Nota:** También se admiten textos e imágenes intercalados.  |  Incrustación  | 

**nota**  
Utilice `InvokeModel` para generar incrustaciones para la consulta de búsqueda. Utilice `StartAsyncInvoke` para generar incrustaciones de activos a gran escala.

Las siguientes cuotas se aplican a la entrada:


****  

| Modalidad de entrada | Máximo | 
| --- | --- | 
| Texto | 500 fichas | 
| Image | 5 MB por imagen | 
| Vídeo (S3) | 6 GB, 4 horas de duración | 
| Audio (S3) | 6 GB, 4 horas de duración | 

**nota**  
Si define audio o vídeo insertado mediante la codificación base64, asegúrese de que la carga útil del cuerpo de la solicitud no supere la cuota de invocación de modelos de Amazon Bedrock de 25 MB.

**Topics**
+ [Parámetros de solicitud de TwelveLabs Marengo Embed 3.0](#model-parameters-marengo-3-async-request)
+ [Respuesta de TwelveLabs Marengo Embed 3.0](#model-parameters-marengo-3-response)
+ [Ejemplos de código de TwelveLabs Marengo Embed 3.0](#model-parameters-marengo-3-examples)

## Parámetros de solicitud de TwelveLabs Marengo Embed 3.0
<a name="model-parameters-marengo-3-async-request"></a>

Al realizar una solicitud, el campo en el que se especifica la entrada específica del modelo depende del funcionamiento de la API:
+ [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)— En la solicitud`body`.
+ [StartAsyncInvoke](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_StartAsyncInvoke.html)— En el `modelInput` campo del cuerpo de la solicitud.

El formato de la entrada del modelo depende de la modalidad de entrada:

------
#### [ Text ]

```
{
    "inputType": "text",
    "text": {
        "inputText": "string"
    }
}
```

------
#### [ Image ]

```
{
  "inputType": "image",
  "image": {
    "mediaSource": {
      "base64String": "base64-encoded string", // base64String OR s3Location, exactly one
      "s3Location": {
        "uri": "s3://amzn-s3-demo-bucket/folder/dog.jpg",
        "bucketOwner": "123456789012"
      }
    }
  }
}
```

------
#### [ Text & image ]

```
{
  "inputType": "text_image",
  "text_image": {
    "inputText": "man walking a dog",
    "mediaSource": {
      "base64String": "base64-encoded string", // base64String OR s3Location, exactly one
      "s3Location": {
        "uri": "s3://amzn-s3-demo-bucket/folder/dog.jpg",
        "bucketOwner": "123456789012"
      }
    }
  }
}
```

------
#### [ Audio ]

```
{
  "inputType": "audio",
  "audio": {
    "mediaSource": {
      "base64String": "base64-encoded string", // base64String OR s3Location, exactly one
      "s3Location": {
        "uri": "s3://amzn-s3-demo-bucket/audio/a.wav",
        "bucketOwner": "123456789012"
      }
    },
    "startSec": 0,
    "endSec": 6,
    "segmentation": {
      "method": "fixed", 
      "fixed": {
        "durationSec": 6
      }
    },
    "embeddingOption": [
      "audio",
      "transcription"
    ], // optional, default=both
    "embeddingScope": [
      "clip",
      "asset"
    ] // optional, one or both
  }
}
```

------
#### [ Video ]

```
{
  "inputType": "video",
  "video": {
    "mediaSource": {
      "base64String": "base64-encoded string", // base64String OR s3Location, exactly one
      "s3Location": {
        "uri": "s3://amzn-s3-demo-bucket/video/clip.mp4",
        "bucketOwner": "123456789012"
      }
    },
    "startSec": 0,
    "endSec": 6,
    "segmentation": {
      "method": "dynamic", // dynamic OR fixed, exactly one
      "dynamic": {
        "minDurationSec": 4
      }
      "method": "fixed",
      "fixed": {
        "durationSec": 6
      }
    },
    "embeddingOption": [
      "visual",
      "audio", 
      "transcription"
    ], // optional, default=all
    "embeddingScope": [
      "clip",
      "asset"
    ] // optional, one or both
  },
  "inferenceId": "some inference id"
}
```

------

Amplíe las siguientes secciones para obtener detalles sobre los parámetros de entrada:

### inputType
<a name="model-parameters-marengo-3-inputType"></a>

Modalidad de incrustación.
+ **Tipo:** cadena
+ **Obligatorio**: sí
+ **Valores válidos**: `text` \$1 `image` \$1 `text_image` \$1 `audio` \$1 `video`

### inputText
<a name="model-parameters-marengo-3-inputText"></a>

Texto que se va a incrustar.
+ **Tipo:** cadena
+ **Obligatorio:** sí (para tipos de entrada compatibles)
+ **Tipos de entrada compatibles:** texto

### mediaSource
<a name="model-parameters-marengo-3-mediaSource"></a>

Contiene información sobre el origen del contenido multimedia.
+ **Tipo:** objeto
+ **Obligatorio:** sí (si el tipo es compatible)
+ **Tipos de entrada compatibles:** imagen, vídeo, audio

El formato del objeto `mediaSource` en el cuerpo de la solicitud depende de si el contenido multimedia está definido como una cadena codificada en Base64 o como una ubicación de S3.
+ **Cadena codificada en base64**

  ```
  {
      "mediaSource": {
          "base64String": "base64-encoded string"
      }
  }
  ```
  + `base64String`: la cadena codificada en Base64 del contenido multimedia.
+ **Ubicación de S3**: especifique el URI de S3 y el propietario del bucket.

  ```
  {
      "s3Location": {
          "uri": "string",
          "bucketOwner": "string"
      }
  }
  ```
  + `uri`: el URI de S3 que contiene el contenido multimedia.
  + `bucketOwner`— El ID de AWS cuenta del propietario del bucket de S3.

### embeddingOption
<a name="model-parameters-marengo-3-embeddingOption"></a>

Especifica los tipos de incrustaciones que se van a recuperar.
+ **Tipo**: lista
+ **Obligatorio**: no
+ **Valores válidos para los miembros de la lista:**
  + `visual`— Inserciones visuales del vídeo.
  + `audio`: incrustaciones del audio en el vídeo.
  + `transcription`— Incrustaciones del texto transcrito.
+ **Valor predeterminado:**
  + Vídeo: ["visual», «audio», «transcripción"]
  + Audio: ["audio», «transcripción"]
+ **Tipos de entrada compatibles:** vídeo, audio

### Incrustar Scope
<a name="model-parameters-marengo-3-embeddingScope"></a>

Especifica el alcance de las incrustaciones que se van a recuperar.
+ **Tipo**: lista
+ **Obligatorio**: no
+ **Valores válidos para los miembros de la lista:**
  + `clip`— Devuelve las incrustaciones de cada clip.
  + `asset`— Devuelve las incrustaciones de todo el activo.
+ **Tipos de entrada compatibles:** vídeo, audio

### startSec
<a name="model-parameters-marengo-3-startSec"></a>

Punto temporal en segundos del clip en el que debe comenzar el procesamiento.
+ **Tipo**: Doble
+ **Obligatorio**: no
+ **Valor mínimo:** 0
+ **Valor predeterminado**: 0
+ **Tipos de entrada compatibles:** vídeo, audio

### endSec
<a name="model-parameters-marengo-3-endSec"></a>

Punto temporal en segundos en el que debe finalizar el procesamiento.
+ **Tipo**: Doble
+ **Obligatorio**: no
+ **Valor mínimo:** StartSec \$1 longitud del segmento
+ **Valor máximo:** duración del contenido multimedia
+ **Valor predeterminado:** duración del contenido multimedia
+ **Tipos de entrada compatibles:** vídeo, audio

### Segmentación
<a name="model-parameters-marengo-3-segmentation"></a>

Define cómo se divide el contenido multimedia en segmentos para la generación de elementos incrustados.
+ **Tipo:** objeto
+ **Obligatorio**: no
+ **Tipos de entrada compatibles:** vídeo, audio

El objeto de segmentación contiene un `method` campo y parámetros específicos del método:
+ `method`— El método de segmentación que se va a utilizar. Valores válidos: `dynamic` \$1 `fixed`
+ `dynamic`— En el caso del vídeo, utiliza la detección de límites de disparo para dividir el contenido de forma dinámica. Contiene:
  + `minDurationSec`— Duración mínima de cada segmento en segundos. Tipo: número entero. Rango: 1-5. Predeterminado: 4.
+ `fixed`— Divide el contenido en segmentos de igual duración. Contiene:
  + `durationSec`— Duración de cada segmento en segundos. Tipo: número entero. Rango: 1-10. Predeterminado: 6.

**Comportamiento predeterminado**:
+ Vídeo: utiliza segmentación dinámica con detección de límites de disparo.
+ Audio: utiliza segmentación fija. El contenido se divide lo más uniformemente posible con segmentos cercanos a los 10 segundos.

### ID de inferencia
<a name="model-parameters-marengo-3-inferenceId"></a>

Identificador único para la solicitud de inferencia.
+ **Tipo:** cadena
+ **Obligatorio**: no

## Respuesta de TwelveLabs Marengo Embed 3.0
<a name="model-parameters-marengo-3-response"></a>

La ubicación de las incrustaciones de salida y los metadatos asociados depende del método de invocación:
+ InvokeModel — En el cuerpo de la respuesta.
+ StartAsyncInvoke — En el segmento S3 definido en`s3OutputDataConfig`, una vez finalizado el trabajo de invocación asíncrona.

Si hay varios vectores de incrustaciones, la salida es una lista de objetos, cada uno de los cuales contiene un vector y sus metadatos asociados.

El formato del vector de incrustaciones de salida es el siguiente:

```
{
  "data": {
    "embedding": [
    0.111, 0.234, ...
    ],
    "embeddingOption": ["visual", "audio", "transcription" (for video input) | "audio", "transcription" (for audio input)],
    "embeddingScope": ["asset" | "clip"],
    "startSec": 0,
    "endSec": 4.2
  }
}
```

Las incrustaciones se devuelven como una matriz de elementos flotantes.

El lugar donde veas esta respuesta depende del método de API que hayas utilizado:
+ InvokeModel — Aparece en el cuerpo de la respuesta.
+ StartAsyncInvoke — Aparece en la ubicación S3 que especificó en la solicitud. La respuesta devuelve un`invocationArn`. Puede usar esto para obtener metadatos sobre la invocación asíncrona. Esto incluye el estado y la ubicación de S3 donde se escriben los resultados.

Amplíe las siguientes secciones para obtener detalles sobre los parámetros de respuesta:

### Incrustación
<a name="model-parameters-marengo-3-embedding"></a>

Representación vectorial de la incrustaciones de entrada.
+ **Tipo**: lista de valores double

### embeddingOption
<a name="model-parameters-marengo-3-embeddingOption-response"></a>

El tipo de incrustaciones.
+ **Tipo:** cadena
+ **Valores posibles:**
  + visual: incrustaciones visuales del vídeo.
  + audio: incrustaciones del audio en el vídeo.
  + transcripción: incrustaciones del texto transcrito.
+ **Tipos de entrada compatibles:** vídeo, audio

### Incrustar Scope
<a name="model-parameters-marengo-3-embeddingScope"></a>

Especifica el alcance de las incrustaciones que se van a recuperar.
+ **Tipo:** cadena

Puede incluir uno o más de los siguientes valores:
+ clip: devuelve las incrustaciones de cada clip.
+ activo: devuelve las incrustaciones de todo el activo.

### startSec
<a name="model-parameters-marengo-3-startSec-response"></a>

El desplazamiento inicial del clip.
+ **Tipo**: Doble
+ **Tipos de entrada compatibles:** vídeo, audio

### endSec
<a name="model-parameters-marengo-3-endSec-response"></a>

El desfase final del clip. No se aplica a las incrustaciones de texto, imagen o texto\$1imagen.
+ **Tipo**: Doble
+ **Tipos de entrada compatibles:** vídeo, audio

## Ejemplos de código de TwelveLabs Marengo Embed 3.0
<a name="model-parameters-marengo-3-examples"></a>

En esta sección se muestra cómo utilizar el modelo TwelveLabs Marengo Embed 3.0 con diferentes tipos de entrada mediante Python. Los ejemplos muestran cómo definir la entrada específica del modelo y cómo ejecutar las invocaciones del modelo.

**nota**  
InvokeModel admite texto, imagen y texto con entrada de imagen intercalada. Para la entrada de vídeo y audio, utilice. StartAsyncInvoke

Reúna su código con los siguientes pasos:

**1. Defina la entrada específica del modelo**  
Defina la entrada específica del modelo en función del tipo de entrada:

------
#### [ Text ]

```
# Create the model-specific input
model_id = "twelvelabs.marengo-embed-3-0-v1:0"
# Replace the us prefix depending on your region
inference_profile_id = "us.twelvelabs.marengo-embed-3-0-v1:0"

model_input = {
    "inputType": "text",
    "text": {
        "inputText": "man walking a dog"
    }
}
```

------
#### [ Image ]

```
# Create the model-specific input
model_id = "twelvelabs.marengo-embed-3-0-v1:0"
# Replace the us prefix depending on your region
inference_profile_id = "us.twelvelabs.marengo-embed-3-0-v1:0"

model_input = {
    "inputType": "image",
    "image": {
        "mediaSource": {
            "s3Location": {
                "uri": "s3://amzn-s3-demo-bucket/my_image.png",
                "bucketOwner": "123456789012"
            }
        }
    }
}
```

------
#### [ Text & image ]

```
# Create the model-specific input
model_id = "twelvelabs.marengo-embed-3-0-v1:0"
# Replace the us prefix depending on your region
inference_profile_id = "us.twelvelabs.marengo-embed-3-0-v1:0"

model_input = {
    "inputType": "text_image",
    "text_image": {
        "inputText": "man walking a dog",
        "mediaSource": {
            "s3Location": {
                "uri": "s3://amzn-s3-demo-bucket/my_image.jpg",
                "bucketOwner": "123456789012"
            }
        }
    }
}
```

------
#### [ Audio ]

```
# Create the model-specific input
model_id = "twelvelabs.marengo-embed-3-0-v1:0"
# Replace the us prefix depending on your region
inference_profile_id = "us.twelvelabs.marengo-embed-3-0-v1:0"
 
model_input = {
    "inputType": "audio",
    "audio": {
        "mediaSource": {  
            "s3Location": { 
                "uri": "s3://amzn-s3-demo-bucket/my-audio.wav", 
                "bucketOwner": "123456789012" 
            }
        },
        "startSec": 0,
        "endSec": 5,
        "segmentation": {
            "method": "fixed",
            "fixed": {
                "durationSec": 5
            }
        },
        "embeddingScope": ["clip", "asset"],
        "embeddingOption": ["audio"]
    }
}
```

------
#### [ Video ]

```
# Create the model-specific input
model_id = "twelvelabs.marengo-embed-3-0-v1:0"
# Replace the us prefix depending on your region
inference_profile_id = "us.twelvelabs.marengo-embed-3-0-v1:0"
 
model_input = {
    "inputType": "video",
    "video": {
        "mediaSource": {
            "s3Location": {
                "uri": "s3://amzn-s3-demo-bucket/my-video.mp4",
                "bucketOwner": "123456789012"
            }
        },
        "startSec": 10,
        "endSec": 20,
        "segmentation": {
            "method": "fixed",
            "fixed": {
                "durationSec": 5
            }
        },
        "embeddingOption": [
            "visual", 
            "audio"
        ],
        "embeddingScope": [
            "clip",
            "asset"
        ]
    }
}
```

------

**2. Ejecute la invocación del modelo utilizando la entrada del modelo**  
A continuación, añada el fragmento de código que corresponda al método de invocación del modelo que prefiera.

------
#### [ InvokeModel ]

```
# Run model invocation with InvokeModel
import boto3
import json

# Initialize the Bedrock Runtime client
client = boto3.client('bedrock-runtime')

# Make the request
response = client.invoke_model(
    modelId=inference_profile_id,
    body=json.dumps(model_input)
)

# Print the response body
response_body = json.loads(response['body'].read().decode('utf-8'))

print(response_body)
```

------
#### [ StartAsyncInvoke ]

```
# Run model invocation asynchronously
import boto3
import json

# Initalize the Bedrock Runtime client.
client = boto3.client("bedrock-runtime")

try:
    # Start the asynchronous job
    invocation = client.start_async_invoke(
        modelId=model_id,
        modelInput=model_input,
        outputDataConfig={
            "s3OutputDataConfig": {
                "s3Uri": "s3://amzn-s3-demo-bucket"
            }
        }
    )

    # Print the response JSON
    print("Response:")
    print(json.dumps(invocation, indent=2, default=str))

except Exception as e:
    # Implement error handling here.
    message = e.response["Error"]["Message"]
    print(f"Error: {message}")
```

------