

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Modèles TwelveLabs
<a name="model-parameters-twelvelabs"></a>

Cette section décrit les paramètres de demande et les champs de réponse pour les modèles TwelveLabs. Utilisez ces informations pour effectuer des appels d’inférence vers les modèles TwelveLabs. Le TwelveLabs Pegasus 1.2 modèle prend en charge [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)les opérations et [InvokeModelWithResponseStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html)(streaming). Les TwelveLabs Marengo Embed 3.0 modèles TwelveLabs Marengo Embed 2.7 et les [StartAsyncInvoke](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_StartAsyncInvoke.html)opérations de support. Cette section inclut également des exemples de code qui montrent comment appeler les modèles TwelveLabs. Pour utiliser un modèle dans une opération d’inférence, vous avez besoin de l’ID du modèle. Pour obtenir l’ID du modèle, consultez [Modèles de fondation pris en charge dans Amazon Bedrock](models-supported.md).

TwelveLabs est l’un des principaux fournisseurs de modèles d’IA multimodaux spécialisés dans la compréhension et l’analyse vidéo. Leurs modèles avancés offrent des fonctionnalités sophistiquées de recherche vidéo, d'analyse et de génération de contenu grâce à des technologies de vision par state-of-the-art ordinateur et de traitement du langage naturel.

Amazon Bedrock propose trois TwelveLabs modèles :
+ TwelveLabs Pegasus 1.2fournit une compréhension et une analyse complètes des vidéos.
+ TwelveLabs Marengo Embed 2.7génère des intégrations de haute qualité pour le contenu vidéo, texte, audio et image.
+ TwelveLabs Marengo Embed 3.0est le dernier modèle d'intégration doté de performances et de fonctionnalités améliorées.

Ces modèles vous aident à créer des applications qui traitent, analysent et tirent des informations des données vidéo à grande échelle.

**TwelveLabs Pegasus 1.2**

Modèle multimodal qui offre des capacités complètes de compréhension et d’analyse vidéo, notamment la reconnaissance de contenu, la détection des scènes et la compréhension contextuelle. Ce modèle peut analyser le contenu vidéo et générer des descriptions textuelles, des informations et des réponses aux questions concernant la vidéo.

**TwelveLabs Marengo Embed 2.7**

Modèle de vectorisation multimodal qui génère des représentations vectorielles de haute qualité de contenu vidéo, texte, audio et image pour la recherche de similarités, le clustering et d’autres tâches de machine learning. Ce modèle prend en charge plusieurs modalités d’entrée et fournit des vectorisations spécialisées optimisées pour différents cas d’utilisation.

**TwelveLabs Marengo Embed 3.0**

Un modèle d'intégration multimodal amélioré qui étend les capacités de Marengo 2.7 avec la prise en charge de la modalité de saisie entrelacée de texte et d'image. Ce modèle génère des représentations vectorielles de haute qualité de contenu vidéo, texte, audio, image et texte-image entrelacé pour la recherche de similarités, le clustering et d'autres tâches d'apprentissage automatique.

**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>

Le modèle TwelveLabs Pegasus 1.2 fournit des fonctionnalités complètes de compréhension et d’analyse vidéo. Il peut analyser le contenu vidéo et générer des descriptions textuelles, des informations et des réponses aux questions concernant la vidéo.

Utilisez ces informations pour effectuer des appels d'inférence vers TwelveLabs des modèles avec InvokeModel les opérations InvokeModelWithResponseStream (streaming).
+ Fournisseur — TwelveLabs
+ Catégories : compréhension des vidéos, analyse de contenu
+ ID du modèle : `twelvelabs.pegasus-1-2-v1:0`
+ Modalité d’entrée : vidéo
+ Modalité de sortie : texte
+ Taille maximale de la vidéo : vidéo d’une heure (taille de fichier inférieure à 2 Go)

## Paramètres de demande TwelveLabs Pegasus 1.2
<a name="model-parameters-pegasus-request"></a>

Le tableau suivant décrit les paramètres d’entrée pour le modèle TwelveLabs Pegasus 1.2 :


**Paramètres de demande TwelveLabs Pegasus 1.2**  

| Champ | Type | Obligatoire | Description | 
| --- | --- | --- | --- | 
| inputPrompt | chaîne | Oui | Invite à analyser la vidéo. Max : 2 000 jetons. | 
| temperature | double | Non | Température du modèle. Contrôle le caractère aléatoire de la sortie. Par défaut : 0,2, Min : 0, Max : 1. | 
| responseFormat | Objet | Non | Permet aux utilisateurs de définir le format de sortie structuré. Prend actuellement en charge uniquement json\$1schema. | 
| mediaSource | objet | Oui | Décrit la source multimédia. Il faut fournir soit base64String soit s3Location. | 
| mediaSource.base64String | chaîne | Non | Chaîne d’octets codée en Base64 pour la vidéo. Maximum : 25 Mo. | 
| mediaSource.s3Location.uri | chaîne | Non | URI S3 à partir duquel la vidéo peut être téléchargée. Max : vidéo d’une heure (taille de fichier inférieure à 2 Go). | 
| mediaSource.s3Location.bucketOwner | chaîne | Non | L’ID du compte AWS du propriétaire du compartiment. | 
| maxOutputTokens | entier | Non | Nombre maximum de jetons à générer. Max : 4096. | 

## TwelveLabs Pegasus 1.2 Champs de réponse
<a name="model-parameters-pegasus-response"></a>

Le tableau suivant décrit les champs de sortie pour le modèle TwelveLabs Pegasus 1.2 :


**TwelveLabs Pegasus 1.2 Champs de réponse**  

| Champ | Type | Description | 
| --- | --- | --- | 
| message | chaîne | Message de sortie contenant l’analyse de la vidéo par le modèle. | 
| finishReason | chaîne | Raison d’arrêt qui décrit la raison pour laquelle la sortie s’est terminée. Valeurs valides : stop (l’API a renvoyé les complétions complètes sans atteindre aucune limite), length (la génération a dépassé la limite max\$1tokens). | 

## Demande et réponse TwelveLabs Pegasus 1.2
<a name="model-parameters-pegasus-examples"></a>

Les exemples suivants montrent comment utiliser le modèle TwelveLabs Pegasus 1.2 avec différentes sources d’entrée.

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

Les exemples suivants montrent les formats de demande pour le modèle TwelveLabs Pegasus 1.2.

**Utilisation d’une vidéo encodée en Base64 :**

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

**Utilisation de la vidéo stockée dans S3 :**

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

**Utilisation d’un format de sortie structuré :**

```
{
    "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 ]

Les exemples suivants montrent les formats de réponse pour le modèle TwelveLabs Pegasus 1.2.

**Réponse normale :**

```
{
  "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"
}
```

**Réponse avec sortie structurée :**

```
{
  "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"
}
```

**Réponse lorsque le nombre maximum de jetons est atteint :**

```
{
  "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>

Le modèle TwelveLabs Marengo Embed 2.7 génère des vectorisations à partir d’entrées vidéo, texte, audio ou image. Ces vectorisation peuvent être utilisées pour la recherche de similarités, le clustering et d’autres tâches de machine learning.
+ Fournisseur — TwelveLabs
+ ID du modèle : twelvelabs.marengo-embed-2-7-v1:0

Le modèle TwelveLabs Marengo Embed 2.7 prend en charge les opérations d’exécution d’Amazon Bedrock décrites dans le tableau suivant. 
+ Pour plus d’informations sur les cas d’utilisation, pour les différentes méthodes d’API, consultez [En savoir plus sur les cas d’utilisation des différentes méthodes d’inférence de modèleDifférentes méthodes d'inférence](inference-methods.md).
+ Pour plus d’informations sur les types de modèles, consultez [Fonctionnement de l’inférence dans Amazon BedrockFonctionnement de l’inférence](inference-how.md).
  + Pour obtenir la liste des modèles IDs et voir les modèles et AWS les TwelveLabs Marengo Embed 2.7 régions pris en charge, recherchez le modèle dans le tableau à l'adresse[Modèles de fondation pris en charge dans Amazon Bedrock](models-supported.md).
  + Pour une liste complète des profils d'inférence IDs, voir[Régions et modèles pris en charge pour les profils d'inférence](inference-profiles-support.md). L'ID du profil d'inférence est basé sur la AWS région.


****  

| Opération API | Types de nœuds pris en charge | Modalités d’entrée | Modalités de sortie | 
| --- | --- | --- | --- | 
|  InvokeModel  | [Profils d’inférence](inference-profiles-support.md) |  Texte Image  |  Intégration  | 
| StartAsyncInvoke | [Modèles de base](models-supported.md) |  Vidéo Audio Image Texte  |  Vectorisation  | 

**Note**  
Utilisez `InvokeModel` pour générer des vectorisations pour une requête de recherche. Utilisez `StartAsyncInvoke` pour générer des vectorisations pour des actifs à grande échelle.

Les quotas suivants s’appliquent à l’entrée :


****  

| Modalité d’entrée | Maximum | 
| --- | --- | 
| Texte | 77 jetons | 
| Image | 5 Mo | 
| Vidéo (S3) | 2 Go | 
| Audio (S3) | 2 Go | 

**Note**  
Si vous définissez l’audio ou la vidéo en ligne à l’aide du codage Base64, assurez-vous que les données utiles du corps de la demande ne dépassent pas le quota d’invocation du modèle Amazon Bedrock de 25 Mo.

**Topics**
+ [

## Paramètres de demande TwelveLabs Marengo Embed 2.7
](#model-parameters-marengo-async-request)
+ [

## Réponse de TwelveLabs Marengo Embed 2.7
](#model-parameters-marengo-response)
+ [

## Exemples de code pour l’TwelveLabs Marengo Embed 2.7
](#model-parameters-marengo-examples)

## Paramètres de demande TwelveLabs Marengo Embed 2.7
<a name="model-parameters-marengo-async-request"></a>

Lorsque vous faites une demande, le champ dans lequel l’entrée spécifique au modèle est spécifiée dépend du fonctionnement de l’API :
+ [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)— Dans la demande`body`.
+ [StartAsyncInvoke](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_StartAsyncInvoke.html)— Dans le `modelInput` champ du corps de la demande.

Le format de l’entrée du modèle dépend de la modalité d’entrée :

------
#### [ 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
}
```

------

Développez les sections suivantes pour obtenir des détails sur les paramètres d’entrée :

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

Modalité de la vectorisation.
+ **Type** : chaîne
+ **Obligatoire** : oui
+ **Valeurs valides** : `video` \$1 `text` \$1 `audio` \$1 `image`

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

Texte à vectoriser.
+ **Type** : chaîne
+ **Obligatoire :** oui (pour les types d’entrée compatibles)
+ **Types d’entrée compatibles :** texte

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

Spécifie la manière dont la plateforme tronque le texte.
+ **Type** : chaîne
+ **Obligatoire** : non
+ **Valeurs valides**:
  + `end` : tronque la fin du texte.
  + `none` : renvoie une erreur si le texte dépasse la limite
+ **Valeur par défaut :** fin
+ **Types d’entrée compatibles :** texte

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

Contient des informations concernant la source du média.
+ **Type :** objet
+ **Obligatoire :** oui (si le type est compatible)
+ **Types d’entrées compatibles :** image, vidéo, audio

Le format de l’objet `mediaSource` dans le corps de la demande varie selon que le média est défini comme une chaîne codée en Base64 ou comme un emplacement S3.
+ **Chaîne codée en Base64**

  ```
  {
      "mediaSource": {
          "base64String": "base64-encoded string"
      }
  }
  ```
  + `base64String` : chaîne codée en Base64 pour le média.
+ **Emplacement S3** — Spécifiez l'URI S3 et le propriétaire du compartiment.

  ```
  {
      "s3Location": {
          "uri": "string",
          "bucketOwner": "string"
      }
  }
  ```
  + `uri` : URI S3 contenant le média.
  + `bucketOwner`— L'ID de AWS compte du propriétaire du compartiment S3.

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

Spécifie les types de vectorisations à extraire.
+ **Type** : liste
+ **Obligatoire** : non
+ **Valeurs valides pour les membres de la liste :**
  + `visual-text` : vectorisations visuelles optimisées pour la recherche de texte.
  + `visual-image` : vectorisations visuelles optimisées pour la recherche d’images.
  + `audio` : vectorisation de l’audio dans la vidéo.
+ **Valeur par défaut :** ["visual-text", "visual-image", "audio"]
+ **Types d’entrées compatibles :** vidéo, audio

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

Point temporel du clip, en secondes, auquel le traitement doit commencer.
+ **Type** : double
+ **Obligatoire** : non
+ **Valeur minimale** : 0
+ **Valeur par défaut :** 0
+ **Types d’entrées compatibles :** vidéo, audio

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

Durée en secondes, à compter du point de départ `startSec`, au terme duquel le traitement doit s’arrêter.
+ **Type** : double
+ **Obligatoire** : non
+ **Valeurs valides :** 0 - durée du média
+ **Valeur par défaut :** durée du média
+ **Types d’entrées compatibles :** vidéo, audio

Exemple :
+ startSec : 5
+ lengthSec : 20
+ Résultat : Le clip est traité de 0:05 à 0:25 (5 secondes \$1 20 secondes).

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

Durée de chaque clip pour lequel le modèle doit générer une vectorisation.
+ **Type** : double
+ **Obligatoire** : non
+ **Paramètres de valeur :** 2 à 10. Il doit être supérieur ou égal à `minClipSec`.
+ **Valeur par défaut :** dépend du type de média :
  + **Vidéo :** divisée dynamiquement par la détection des limites de prise de vue.
  + **Audio :** divisé uniformément avec des segments aussi proches que possible de 10 secondes.

    Exemples :
    + Un clip de 50 secondes est divisé en 5 segments de 10 secondes.
    + Un clip de 16 secondes est divisé en 2 segments de 8 secondes.
+ **Types d’entrées compatibles :** vidéo, audio
+ **Remarque :** doit être supérieur ou égal à `minClipSec`.

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

Définit une valeur minimale pour chaque clip en secondes.
+ **Type :** int
+ **Obligatoire** : non
+ **Paramètres de valeur :** plage de valeurs : de 1 à 5
+ **Valeur par défaut :** 4
+ **Types d’entrées compatibles :** vidéo
+ **Remarques :** Doit être inférieur ou égal à `useFixedLengthSec`.

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

L’emplacement des vectorisations de sortie et des métadonnées associées dépend de la méthode d’invocation :
+ [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)— Dans le corps de réponse.
+ [StartAsyncInvoke](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_StartAsyncInvoke.html)— Dans le compartiment S3 défini dans le`s3OutputDataConfig`, une fois la tâche d'invocation asynchrone terminée.

S’il existe plusieurs vecteurs, le résultat est une liste d’objets, chacun contenant un vecteur et les métadonnées associées.

Le format du vecteur de vectorisation en sortie est le suivant :

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

Développez les sections suivantes pour obtenir des détails sur les paramètres de réponse :

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

Vectorisation : représentation vectorielle de l’entrée.
+ **Type** : liste de doubles

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

Type des vectorisations.
+ **Type** : chaîne
+ **Valeurs possibles :**
  + `visual-text` : vectorisations visuelles optimisées pour la recherche de texte.
  + `visual-image` : vectorisations visuelles optimisées pour la recherche d’images.
  + `audio` : vectorisation de l’audio dans la vidéo.
+ **Types d’entrées compatibles :** Vidéo

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

Décalage de départ du clip.
+ **Type** : double
+ **Types d’entrées compatibles :** vidéo, audio

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

Décalage de fin du clip, en secondes.
+ **Type** : double
+ **Types d’entrées compatibles :** vidéo, audio

## Exemples de code pour l’TwelveLabs Marengo Embed 2.7
<a name="model-parameters-marengo-examples"></a>

Cette section explique comment utiliser le modèle TwelveLabs Marengo Embed 2.7 avec différents types d’entrées à l’aide de Python. Les exemples montrent comment définir une entrée spécifique au modèle et exécuter des invocations de modèle.

**Note**  
InvokeModel prend uniquement en charge la saisie de texte et d'image. Pour les entrées vidéo et audio, utilisez StartAsyncInvoke.

Composez votre code en procédant comme suit :

**1. Définir une entrée spécifique au modèle**  
Définissez l’entrée spécifique au modèle en fonction de votre type d’entrée :

------
#### [ 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. Exécuter l’invocation du modèle à l’aide de l’entrée du modèle**  
Ajoutez ensuite le fragment de code correspondant à la méthode d’invocation du modèle que vous avez choisie.

------
#### [ 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>

Le TwelveLabs Marengo Embed 3.0 modèle génère des intégrations améliorées à partir d'entrées vidéo, texte, audio ou image. Cette dernière version offre des performances et une précision améliorées pour la recherche de similarités, le clustering et d'autres tâches d'apprentissage automatique.
+ Fournisseur — TwelveLabs
+ ID du modèle : twelvelabs.marengo-embed-3-0-v1:0

Marengo Embed 3.0 apporte plusieurs améliorations clés :
+ **Capacité de traitement vidéo étendue** : traitez jusqu'à 4 heures de contenu vidéo et audio. Les fichiers peuvent atteindre 6 Go, soit le double de la capacité des versions précédentes. Il est donc idéal pour analyser des événements sportifs complets, des vidéos de formation étendues et des productions cinématographiques complètes.
+ **Analyse sportive améliorée** — Le modèle apporte des améliorations significatives. Il permet de mieux comprendre la dynamique du jeu, les mouvements des joueurs et la détection des événements.
+ **Support multilingue mondial** — Capacités linguistiques étendues de 12 à 36 langues. Cela permet aux organisations internationales de créer des systèmes de recherche et de récupération unifiés qui fonctionnent parfaitement dans divers marchés et régions.
+ **Précision de recherche multimodale** : combinez des images et du texte descriptif dans une seule demande d'intégration. Cela combine similarité visuelle et compréhension sémantique pour fournir des résultats de recherche plus précis et contextuellement pertinents.
+ **Dimension d'intégration réduite** : réduction de 1024 à 512, ce qui peut contribuer à réduire les coûts de stockage.

Le modèle TwelveLabs Marengo Embed 3.0 prend en charge les opérations d’exécution d’Amazon Bedrock décrites dans le tableau suivant. 
+ Pour plus d’informations sur les cas d’utilisation, pour les différentes méthodes d’API, consultez [En savoir plus sur les cas d’utilisation des différentes méthodes d’inférence de modèleDifférentes méthodes d'inférence](inference-methods.md).
+ Pour plus d’informations sur les types de modèles, consultez [Fonctionnement de l’inférence dans Amazon BedrockFonctionnement de l’inférence](inference-how.md).
  + Pour obtenir la liste des modèles IDs et voir les modèles et AWS les TwelveLabs Marengo Embed 3.0 régions pris en charge, recherchez le modèle dans le tableau à l'adresse[Modèles de fondation pris en charge dans Amazon Bedrock](models-supported.md).
  + Pour une liste complète des profils d'inférence IDs, voir[Régions et modèles pris en charge pour les profils d'inférence](inference-profiles-support.md). L'ID du profil d'inférence est basé sur la AWS région.


****  

| Opération API | Types de nœuds pris en charge | Modalités d’entrée | Modalités de sortie | 
| --- | --- | --- | --- | 
|  InvokeModel  |  USA Est (Virginie du Nord) — [Modèles de base](models-supported.md) et profils [d'inférence](inference-profiles-support.md) Europe (Irlande) [— Profils d'inférence](inference-profiles-support.md) Asie-Pacifique (Séoul) - [Modèles de base](models-supported.md)  |  Texte Image **Remarque :** Le texte et l'image entrelacés sont également pris en charge.  |  Vectorisation  | 
| StartAsyncInvoke | [Modèles de base](models-supported.md) |  Vidéo Audio Image Texte **Remarque :** Le texte et l'image entrelacés sont également pris en charge.  |  Vectorisation  | 

**Note**  
Utilisez `InvokeModel` pour générer des vectorisations pour une requête de recherche. Utilisez `StartAsyncInvoke` pour générer des vectorisations pour des actifs à grande échelle.

Les quotas suivants s’appliquent à l’entrée :


****  

| Modalité d’entrée | Maximum | 
| --- | --- | 
| Texte | 500 jetons | 
| Image | 5 Mo par image | 
| Vidéo (S3) | 6 Go, durée de 4 heures | 
| Audio (S3) | 6 Go, durée de 4 heures | 

**Note**  
Si vous définissez l’audio ou la vidéo en ligne à l’aide du codage Base64, assurez-vous que les données utiles du corps de la demande ne dépassent pas le quota d’invocation du modèle Amazon Bedrock de 25 Mo.

**Topics**
+ [

## Paramètres de demande TwelveLabs Marengo Embed 3.0
](#model-parameters-marengo-3-async-request)
+ [

## Réponse de TwelveLabs Marengo Embed 3.0
](#model-parameters-marengo-3-response)
+ [

## Exemples de code pour l’TwelveLabs Marengo Embed 3.0
](#model-parameters-marengo-3-examples)

## Paramètres de demande TwelveLabs Marengo Embed 3.0
<a name="model-parameters-marengo-3-async-request"></a>

Lorsque vous faites une demande, le champ dans lequel l’entrée spécifique au modèle est spécifiée dépend du fonctionnement de l’API :
+ [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)— Dans la demande`body`.
+ [StartAsyncInvoke](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_StartAsyncInvoke.html)— Dans le `modelInput` champ du corps de la demande.

Le format de l’entrée du modèle dépend de la modalité d’entrée :

------
#### [ 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"
}
```

------

Développez les sections suivantes pour obtenir des détails sur les paramètres d’entrée :

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

Modalité de la vectorisation.
+ **Type** : chaîne
+ **Obligatoire** : oui
+ **Valeurs valides** : `text` \$1 `image` \$1 `text_image` \$1 `audio` \$1 `video`

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

Texte à vectoriser.
+ **Type** : chaîne
+ **Obligatoire :** oui (pour les types d’entrée compatibles)
+ **Types d’entrée compatibles :** texte

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

Contient des informations concernant la source du média.
+ **Type :** objet
+ **Obligatoire :** oui (si le type est compatible)
+ **Types d’entrées compatibles :** image, vidéo, audio

Le format de l’objet `mediaSource` dans le corps de la demande varie selon que le média est défini comme une chaîne codée en Base64 ou comme un emplacement S3.
+ **Chaîne codée en Base64**

  ```
  {
      "mediaSource": {
          "base64String": "base64-encoded string"
      }
  }
  ```
  + `base64String` : chaîne codée en Base64 pour le média.
+ **Emplacement S3** — Spécifiez l'URI S3 et le propriétaire du compartiment.

  ```
  {
      "s3Location": {
          "uri": "string",
          "bucketOwner": "string"
      }
  }
  ```
  + `uri` : URI S3 contenant le média.
  + `bucketOwner`— L'ID de AWS compte du propriétaire du compartiment S3.

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

Spécifie les types de vectorisations à extraire.
+ **Type** : liste
+ **Obligatoire** : non
+ **Valeurs valides pour les membres de la liste :**
  + `visual`— Intégrations visuelles issues de la vidéo.
  + `audio` : vectorisation de l’audio dans la vidéo.
  + `transcription`— Insertions du texte transcrit.
+ **Valeur par défaut :**
  + Vidéo : ["visuel », « audio », « transcription"]
  + Audio : ["audio », « transcription"]
+ **Types d’entrées compatibles :** vidéo, audio

### Champ d'intégration
<a name="model-parameters-marengo-3-embeddingScope"></a>

Spécifie l'étendue des intégrations à récupérer.
+ **Type** : liste
+ **Obligatoire** : non
+ **Valeurs valides pour les membres de la liste :**
  + `clip`— Renvoie les intégrations pour chaque clip.
  + `asset`— Renvoie les intégrations pour l'ensemble de l'actif.
+ **Types d’entrées compatibles :** vidéo, audio

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

Point temporel du clip, en secondes, auquel le traitement doit commencer.
+ **Type** : double
+ **Obligatoire** : non
+ **Valeur minimale** : 0
+ **Valeur par défaut :** 0
+ **Types d’entrées compatibles :** vidéo, audio

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

Moment en secondes auquel le traitement doit prendre fin.
+ **Type** : double
+ **Obligatoire** : non
+ **Valeur minimale :** StartSec \$1 longueur du segment
+ **Valeur maximale :** Durée du média
+ **Valeur par défaut :** durée du média
+ **Types d’entrées compatibles :** vidéo, audio

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

Définit la manière dont le média est divisé en segments pour l'intégration de la génération.
+ **Type :** objet
+ **Obligatoire** : non
+ **Types d’entrées compatibles :** vidéo, audio

L'objet de segmentation contient un `method` champ et des paramètres spécifiques à la méthode :
+ `method`— La méthode de segmentation à utiliser. Valeurs valides : `dynamic` \$1 `fixed`
+ `dynamic`— Pour les vidéos, utilise la détection des limites de prise de vue pour diviser le contenu de manière dynamique. Contient :
  + `minDurationSec`— Durée minimale de chaque segment en secondes. Type : entier. Gamme : 1 à 5. Par défaut : 4.
+ `fixed`— Divise le contenu en segments de durée égale. Contient :
  + `durationSec`— Durée de chaque segment en secondes. Type : entier. Gamme : 1 à 10. Par défaut : 6.

**Comportement par défaut :**
+ Vidéo : utilise la segmentation dynamique avec détection des limites de prise de vue.
+ Audio : utilise une segmentation fixe. Le contenu est divisé le plus équitablement possible avec des segments de près de 10 secondes.

### ID d'inférence
<a name="model-parameters-marengo-3-inferenceId"></a>

Identifiant unique pour la demande d'inférence.
+ **Type** : chaîne
+ **Obligatoire** : non

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

L’emplacement des vectorisations de sortie et des métadonnées associées dépend de la méthode d’invocation :
+ InvokeModel — Dans le corps de réponse.
+ StartAsyncInvoke — Dans le compartiment S3 défini dans`s3OutputDataConfig`, une fois la tâche d'invocation asynchrone terminée.

S’il existe plusieurs vecteurs, le résultat est une liste d’objets, chacun contenant un vecteur et les métadonnées associées.

Le format du vecteur de vectorisation en sortie est le suivant :

```
{
  "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
  }
}
```

Les intégrations sont renvoyées sous forme de tableau de flottants.

L'endroit où cette réponse s'affiche dépend de la méthode d'API que vous avez utilisée :
+ InvokeModel — Apparaît dans le corps de la réponse.
+ StartAsyncInvoke — Apparaît à l'emplacement S3 que vous avez spécifié dans la demande. La réponse renvoie un`invocationArn`. Vous pouvez l'utiliser pour obtenir des métadonnées relatives à l'appel asynchrone. Cela inclut le statut et l'emplacement S3 où les résultats sont écrits.

Développez les sections suivantes pour obtenir des détails sur les paramètres de réponse :

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

Vectorisation : représentation vectorielle de l’entrée.
+ **Type** : liste de doubles

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

Type des vectorisations.
+ **Type** : chaîne
+ **Valeurs possibles :**
  + visual — Intégrations visuelles issues de la vidéo.
  + audio — Incorporation de l'audio dans la vidéo.
  + transcription — Incorporation du texte transcrit.
+ **Types d’entrées compatibles :** vidéo, audio

### Champ d'intégration
<a name="model-parameters-marengo-3-embeddingScope"></a>

Spécifie l'étendue des intégrations à récupérer.
+ **Type** : chaîne

Vous pouvez inclure une ou plusieurs des valeurs suivantes :
+ clip : renvoie les intégrations pour chaque clip.
+ actif : renvoie les intégrations pour l'ensemble de l'actif.

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

Décalage de départ du clip.
+ **Type** : double
+ **Types d’entrées compatibles :** vidéo, audio

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

Le décalage final du clip. Non applicable aux intégrations de texte, d'image et de text\$1image.
+ **Type** : double
+ **Types d’entrées compatibles :** vidéo, audio

## Exemples de code pour l’TwelveLabs Marengo Embed 3.0
<a name="model-parameters-marengo-3-examples"></a>

Cette section explique comment utiliser le modèle TwelveLabs Marengo Embed 3.0 avec différents types d’entrées à l’aide de Python. Les exemples montrent comment définir une entrée spécifique au modèle et exécuter des invocations de modèle.

**Note**  
InvokeModel prend en charge le texte, l'image et le texte avec entrée d'image entrelacée. Pour les entrées vidéo et audio, utilisez StartAsyncInvoke.

Composez votre code en procédant comme suit :

**1. Définir une entrée spécifique au modèle**  
Définissez l’entrée spécifique au modèle en fonction de votre type d’entrée :

------
#### [ 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. Exécuter l’invocation du modèle à l’aide de l’entrée du modèle**  
Ajoutez ensuite le fragment de code correspondant à la méthode d’invocation du modèle que vous avez choisie.

------
#### [ 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}")
```

------