Accès et utilisation de la génération vidéo
La génération d’une vidéo avec Amazon Nova Reel est un processus asynchrone qui prend généralement environ 90 secondes pour une vidéo de 6 secondes et environ 14 à 17 minutes pour une vidéo de 2 minutes. Une fois la génération d’une vidéo lancée, celle-ci est enregistrée dans un compartiment Amazon S3 de votre compte. Étant donné qu’Amazon Bedrock enregistre un fichier dans un compartiment Amazon S3 en votre nom, le rôle AWS que vous utilisez doit disposer des autorisations configurées pour permettre les actions Amazon Bedrock et Amazon S3 appropriées, ainsi que l’action s3:PutObject. Les autorisations d’action minimales requises pour générer une vidéo sont les suivantes :
-
bedrock:InvokeModel -
s3:PutObject
Cependant, nous recommandons les actions supplémentaires suivantes afin que vous puissiez suivre l’état des tâches de génération de vidéo :
-
bedrock:GetAsyncInvoke -
bedrock:ListAsyncInvokes
Une fois la génération de la vidéo terminée, celle-ci et les plans qui la composent sont stockés dans le compartiment Amazon S3 que vous avez spécifié. Amazon Nova crée un dossier pour chaque ID d’invocation. Ce dossier contient les fichiers manifest.json, output.mp4 et generation-status.json créés par la demande de génération de vidéo.
Rubriques
Démarrer une tâche de génération de vidéo
Pour lancer la génération d’une vidéo, appelez start_async_invoke(). Cela crée une nouvelle tâche d’invocation. Une fois la tâche terminée, Amazon Nova enregistre automatiquement la vidéo générée dans un compartiment Amazon S3 que vous spécifiez.
start_async_invoke() accepte les arguments suivants :
-
modelId (obligatoire) : l’ID de modèle à utiliser. Pour Amazon Nova Reel, il s’agit de « amazon.nova-reel-v1:1 »
-
modelInput (obligatoire) : définit tous les paramètres de génération vidéo spécifiques au modèle Amazon Nova Reel. Pour de plus amples informations, consultez Paramètres d’entrée pour la génération de vidéos.
-
outputDataConfig (obligatoire) : définit l’emplacement où la vidéo générée doit être enregistrée. La valeur doit présenter la structure suivante :
{ "s3OutputDataConfig": { "s3Uri":string (S3 URL starting with "s3://")} }
Paramètres d’entrée pour la génération de vidéos
Veuillez vous référer aux descriptions des paramètres suivants pour obtenir des informations sur la génération de vidéos à l’aide d’Amazon Nova Reel.
Le processus de génération de vidéo entraînera l’écriture des fichiers suivants dans la destination Amazon S3 que vous spécifiez :
-
manifest.json : fichier enregistré au début de la tâche, contenant l’ID de la demande.
-
video-generation-status.json : ce fichier est enregistré, que la tâche aboutisse ou échoue. En cas d’échec, il contient des informations détaillées expliquant précisément quelle partie de la tâche a échoué et les mesures à prendre pour corriger l’erreur.
-
output.mp4 : vidéo multi-plans complète. Écrit uniquement si la tâche aboutit.
-
shot_N.mp4 : chaque prise individuelle est également fournie sous forme de vidéo distincte. Le nom du fichier suit le format « shot_0001.mp4 », « shot_0002.mp4 », etc. Ces fichiers ne sont écrits que si l’ensemble de la tâche aboutit.
Vérification de la progression des tâches de génération de vidéo
Il existe deux façons de vérifier la progression d’une tâche de génération de vidéo. Si vous disposez d’une référence à l’ARN d’invocation qui a été renvoyé lors du démarrage de l’invocation, vous pouvez utiliser la méthode get_async_invoke() de l’exécution Amazon Bedrock.
response = bedrock_runtime.get_async_invoke( invocationArn="arn:AWS:bedrock:us-east-1:account-id:async-invoke/invocation-id" ) status = response["status"] print(f"Status: {status}")
Le statut d’une tâche sera « Terminé », « En cours » ou « Échec ». Pour plus d’informations sur l’utilisation de la méthode get_async_invoke(), consultez la documentation de l’API Async Invoke.
Si vous ne disposez pas d’une référence à l’ARN d’invocation ou si vous souhaitez vérifier le statut de plusieurs tâches à la fois, vous pouvez utiliser la méthode list_async_invokes() de l’exécution Amazon Bedrock.
invocations_details = bedrock_runtime.list_async_invokes( maxResults=10, # (Optional) statusEquals="InProgress", # (Optional) Can be "Completed", "InProgress", or "Failed". Omit this argument to list all jobs, regardless of status. # Note: There are other supported arguments not demonstrated here. ) print(json.dumps(invocations_details, indent=2, default=str))
Pour plus d’informations sur l’utilisation de la méthode list_async_invokes(), consultez la documentation de l’API Async Invoke.
Accès aux résultats d’une tâche de génération vidéo
Une fois qu’une tâche de génération vidéo a abouti ou échoué, un fichier JSON est ajouté à votre compartiment Amazon S3. Ce fichier contient des métadonnées sur les plans qui ont été créés pour la vidéo. Ce fichier est nommé video-generation-status.json.
Pour une demande de génération vidéo réussie, le fichier contient l’emplacement de chaque plan individuel qui compose la vidéo complète. Pour une demande ayant échoué, le fichier contient le message d’échec et des détails supplémentaires sur la raison de l’échec du plan.
Le schéma de ce fichier JSON est fourni ci-dessous.
{ "schemaVersion": string, "shots": [{ "status": enum, // where success is generation + upload "location": string, "failureType": enum, "failureMessage": string, }, ... ], "fullVideo": { "status": enum, // where success is generation + upload "location": string, "failureType": enum, "failureMessage": string, } }
-
schemaVersion : la version du schéma JSON.
-
shots : fournit des informations sur chaque plan de la vidéo.
-
status : l’état d’achèvement (SUCCESS ou FAILURE) du plan.
-
location : le nom du fichier et l’emplacement Amazon S3 où la prise de vue est stockée. L’emplacement ne sera disponible que lorsque toutes les prises de vue auront été générées avec succès et que la vidéo complète aura été chargée vers son emplacement Amazon S3.
-
failureType : fournit la raison de l’échec.
-
failureMessage : fournit plus d’informations sur la raison de l’échec.
-
-
fullVideo : fournit des informations sur la vidéo complète.
-
status : l’état d’achèvement (SUCCESS ou FAILURE) de la vidéo complète.
-
location : le nom du fichier et l’emplacement Amazon S3 où la vidéo complète est stockée.
-
failureType : fournit la raison de l’échec.
-
failureMessage : fournit plus d’informations sur la raison de l’échec.
-
Les raisons et messages d’échec possibles sont les suivants
-
INTERNAL_SERVER_EXCEPTION : « Une erreur s’est produite côté serveur. »
-
RAI_VIOLATION_OUTPUT_VIDEO_DEFLECTION : « Le contenu généré a été bloqué par nos filtres de contenu. »
-
RATE_LIMIT_EXCEEDED : « La limite de capacité du service a été atteinte. Réessayez ultérieurement. »
-
ABORTED : « La demande a été abandonnée. »