Acceso y uso de la generación de videos
La generación de un video con Amazon Nova Reel es un proceso asíncrono que suele tardar unos 90 segundos para un video de 6 segundos y, aproximadamente, entre 14 y 17 minutos para un video de 2 minutos. Tras iniciar la generación de un video, este se escribe en un bucket de Amazon S3 de su cuenta. Dado que Amazon Bedrock escribe un archivo en un bucket de Amazon S3 en su nombre, el rol AWS que utilice necesita permisos configurados para permitir las acciones apropiadas de Amazon Bedrock y Amazon S3, así como la acción s3:PutObject
. Los permisos de acción mínimos necesarios para generar un video son los siguientes:
-
bedrock:InvokeModel
-
s3:PutObject
Sin embargo, recomendamos las siguientes acciones adicionales para poder realizar un seguimiento del estado de los trabajos de generación de video:
-
bedrock:GetAsyncInvoke
-
bedrock:ListAsyncInvokes
Cuando se completa la generación del video, el video y las tomas que lo componen se almacenan en el bucket de Amazon S3 especificado. Amazon Nova crea una carpeta para cada ID de invocación. Esta carpeta contiene los archivos manifest.json, output.mp4 y generation-status.json creados por la solicitud de generación de video.
Temas
Inicio de un trabajo de generación de video
Para iniciar la generación de un video, llame a start_async_invoke()
. Esto crea un nuevo trabajo de invocación. Cuando el trabajo finaliza, Amazon Nova guarda automáticamente el video generado en el bucket de Amazon S3 especificado.
start_async_invoke()
adopta los siguientes argumentos:
-
modelId (obligatorio): el ID del modelo que se utilizará. Para Amazon Nova Reel, es “amazon.nova-reel-v1:1”.
-
modelInput (obligatorio): define todos los parámetros de generación de video específicos del modelo de Amazon Nova Reel. Para obtener más información, consulte Parámetros de entrada de generación de video.
-
outputDataConfig (obligatorio): define dónde debe guardarse el video generado. El valor debe tener la estructura siguiente:
{ "s3OutputDataConfig": { "s3Uri":
string (S3 URL starting with "s3://")
} }
Parámetros de entrada de generación de video
Consulte las siguientes descripciones de los parámetros para obtener información sobre cómo generar videos con Amazon Nova Reel.
El proceso de generación de video dará como resultado que los siguientes archivos se escriban en el destino de Amazon S3 especificado:
-
manifest.json: un archivo que se escribe al inicio del trabajo y que contiene el ID de la solicitud.
-
video-generation-status.json: este archivo se escribe tanto si el trabajo tiene éxito como si falla. Cuando un trabajo falla, contendrá información detallada que explique exactamente qué parte del trabajo falló y qué acción tomar para corregir el error.
-
output.mp4: el video completo de varias tomas. Se escribe solo si el trabajo tiene éxito.
-
shot_N.mp4: cada toma individual también se proporciona como su propio video. El nombre del archivo sigue el formato “shot_0001.mp4”, “shot_0002.mp4”, y así sucesivamente. Estos archivos se escriben solo si todo el trabajo se completa con éxito.
Comprobación del progreso de los trabajos de generación de video
Hay dos formas de comprobar el progreso de un trabajo de generación de video. Si tiene una referencia al ARN de invocación que se devolvió al iniciar la invocación, puede usar el método get_async_invoke()
del tiempo de ejecución de 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}")
El estado de un trabajo será “Completado”, “En progreso” o “Fallido”. Para obtener más información sobre el uso del método get_async_invoke()
, consulte la documentación de la API de Async Invoke.
Si no tiene una referencia al ARN de invocación o si desea comprobar el estado de varios trabajos a la vez, puede utilizar el método list_async_invokes()
del tiempo de ejecución de 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))
Para obtener más información sobre el uso del método list_async_invokes()
, consulte la documentación de la API de Async Invoke.
Acceso a los resultados de un trabajo de generación de video
Después de que un trabajo de generación de video se complete o falle, se añade un archivo JSON a su bucket de Amazon S3. Este archivo contiene metadatos sobre las tomas que se crearon para el video. El archivo se denomina video-generation-status.json
.
Para una solicitud de generación de video exitosa, el archivo contiene la ubicación de cada toma individual que compone el video completo. Para una solicitud fallida, el archivo contiene el mensaje de error y detalles adicionales sobre el motivo del error de la toma.
El esquema de este archivo JSON se proporciona a continuación.
{ "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 versión del esquema JSON.
-
shots: proporciona información sobre cada toma del video.
-
status: el estado de finalización (CON ÉXITO o FALLIDO) de la toma.
-
location: el nombre del archivo y la ubicación de Amazon S3 donde se almacena la toma. La ubicación solo estará disponible cuando todas las tomas se hayan generado correctamente y el video completo se haya cargado en su ubicación de Amazon S3.
-
failureType: proporciona el motivo del error.
-
failureMessage: proporciona más información sobre el motivo del error.
-
-
fullVideo: proporciona información sobre el video completo.
-
status: el estado de finalización (CON ÉXITO o FALLIDO) del video completo.
-
location: el nombre del archivo y la ubicación de Amazon S3 donde se almacena el video completo.
-
failureType: proporciona el motivo del error.
-
failureMessage: proporciona más información sobre el motivo del error.
-
Los posibles motivos y mensajes de error son los siguientes
-
INTERNAL_SERVER_EXCEPTION: “Something went wrong on the server side.”
-
RAI_VIOLATION_OUTPUT_VIDEO_DEFLECTION: “The generated content has been blocked by our content filters.”
-
RATE_LIMIT_EXCEEDED: “Service capacity limit has been reached. Please try again later.”
-
ABORTED: “Request has been aborted.”