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.
Exemples de code de génération de vidéos multi-plans
Les exemples suivants fournissent des exemples de code pour diverses tâches de génération de vidéos multi-plans (plus longues que 6 secondes).
- Automated video generation
-
Dans cet exemple, tous les plans de la vidéo sont générés à partir d’une seule invite et aucune image d’entrée n’est fournie.
import json import os import boto3 from dotenv import load_dotenv # Create the Bedrock Runtime client. bedrock_runtime = boto3.client(service_name="bedrock-runtime", region_name="us-east-1") # Configure Nova Reel model inputs. model_input = { "taskType": "MULTI_SHOT_AUTOMATED", "multiShotAutomatedParams": { "text": "Cinematic documentary showcasing the stunning beauty of the natural world. Drone footage flying over fantastical and varied natural wonders." }, "videoGenerationConfig": { "seed":1234, "durationSeconds":18, # Must be a multiple of 6 in range [12, 120] "fps": 24, # Must be 24 "dimension": "1280x720", # Must be "1280x720" }, } try: # Start the asynchronous video generation job. invocation = bedrock_runtime.start_async_invoke( modelId="amazon.nova-reel-v1:1", modelInput=model_input, outputDataConfig={"s3OutputDataConfig": {"s3Uri": "s3://your-s3-bucket"}}, ) # Print the response JSON. print(json.dumps(invocation, indent=2, default=str)) except Exception as err: print("Exception:") if hasattr(err, "response"): # Pretty print the response JSON. print(json.dumps(err.response, indent=2, default=str)) else: print(err) - Manual video generation - Amazon S3 input image
-
Dans cet exemple, une vidéo en deux plans est générée. Chaque plan est généré avec une invite distincte et une image d’entrée fournie dans un emplacement Amazon S3.
import json import os import boto3 from dotenv import load_dotenv # === Helper Function === def image_to_base64(image_path: str): """ Convert an image file to a base64 encoded string. """ import base64 with open(image_path, "rb") as image_file: encoded_string = base64.b64encode(image_file.read()) return encoded_string.decode("utf-8") # === Main Code === # Create the Bedrock Runtime client. bedrock_runtime = boto3.client(service_name="bedrock-runtime", region_name="us-east-1") # Configure Nova Reel model inputs. This example includes three shots, two of # which include images to use as starting frames. These images are stored in S3. model_input = { "taskType": "MULTI_SHOT_MANUAL", "multiShotManualParams": { "shots": [ {"text": "aerial view of a city with tall glass and metal skyscrapers"}, { "text": "closeup of a vehicle wheel in motion as the pavement speeds by with motion blur", "image": { "format": "png", # Must be "png" or "jpeg" "source": { "s3Location": { "uri": "s3://your-s3-bucket/images/SUV-wheel-closeup.png" } }, }, }, { "text": "tracking shot, the vehicle drives through the city, trees and buildings line the street", "image": { "format": "png", # Must be "png" or "jpeg" "source": { "s3Location": { "uri": "s3://your-s3-bucket/images/SUV-downtown-back.png" } }, }, }, ] }, "videoGenerationConfig": { "seed": 1234, "fps": 24, # Must be 24 "dimension": "1280x720", # Must be "1280x720" }, } try: # Start the asynchronous video generation job. invocation = bedrock_runtime.start_async_invoke( modelId="amazon.nova-reel-v1:1", modelInput=model_input, outputDataConfig={"s3OutputDataConfig": {"s3Uri": "s3://your-s3-bucket"}}, ) # Print the response JSON. print(json.dumps(invocation, indent=2, default=str)) except Exception as err: print("Exception:") if hasattr(err, "response"): # Pretty print the response JSON. print(json.dumps(err.response, indent=2, default=str)) else: print(err) - Manual video generation - base64 input image
-
Dans cet exemple, une vidéo en trois plans est générée. Le premier plan est généré à partir d’une seule invite, et les deux plans suivants sont générés à partir d’une nouvelle invite et d’une nouvelle image d’entrée.
import json import os import boto3 from dotenv import load_dotenv # === Helper Function === def image_to_base64(image_path: str): """ Convert an image file to a base64 encoded string. """ import base64 with open(image_path, "rb") as image_file: encoded_string = base64.b64encode(image_file.read()) return encoded_string.decode("utf-8") # === Main Code === # Create the Bedrock Runtime client. bedrock_runtime = boto3.client(service_name="bedrock-runtime", region_name="us-east-1") # Configure Nova Reel model inputs. This example includes three shots, two of # which include images to use as starting frames. model_input = { "taskType": "MULTI_SHOT_MANUAL", "multiShotManualParams": { "shots": [ { "text": "Drone footage of a Pacific Northwest forest with a meandering stream seen from a high altitude, top-down view" }, { "text": "camera arcs slowly around two SUV vehicles in a forest setting with a stream in the background", "image": { "format": "png", # Must be "png" or "jpeg" "source": {"bytes": image_to_base64("images/SUV-roadside.png")}, }, }, { "text": "tracking shot, a SUV vehicle drives toward the camera through a forest roadway, the SUV's ring-shaped headlights glow white", "image": { "format": "png", # Must be "png" or "jpeg" "source": {"bytes": image_to_base64("images/SUV-forest-front.png")}, }, }, ] }, "videoGenerationConfig": { "seed": 1234, "fps": 24, # Must be 24 "dimension": "1280x720", # Must be "1280x720" }, } try: # Start the asynchronous video generation job. invocation = bedrock_runtime.start_async_invoke( modelId="amazon.nova-reel-v1:1", modelInput=model_input, outputDataConfig={"s3OutputDataConfig": {"s3Uri": "s3://your-s3-bucket"}}, ) # Print the response JSON. print(json.dumps(invocation, indent=2, default=str)) except Exception as err: print("Exception:") if hasattr(err, "response"): # Pretty print the response JSON. print(json.dumps(err.response, indent=2, default=str)) else: print(err)