re:Invent 会場からこんにちは、今日は同僚達と早起きをして基調講演に参加してきました。
初日の基調講演は特に人気があるみたいで、現地なのにサテライト会場が用意されるくらいで開場の1.5時間前に行ったのですが既に200人弱くらいの参加者が並んでいました。
発表のあった新サービスの一覧は以下をご確認ください。
自分が興味をもったのは Nova Reel
です。さっそく試してみたのでご報告。
Nova Reel モデルの有効化
マネジメントコンソール: Bedrock から Nova Reel モデルを有効化します。
動画の作成
公式 に Python のサンプルコードが公開されていたので、自分の実行環境に合わせて修正して実行します。
1. コードの修正
修正した箇所は2箇所
- 9行目
- S3バケット名
- 11行目
- 『ナス色のお姫様がヒキガエルの子供とくるくる回るのです』を英訳してもらったテキスト
1 import random 2 import time 3 4 import boto3 5 6 AWS_REGION = "us-east-1" 7 MODEL_ID = "amazon.nova-reel-v1:0" 8 SLEEP_TIME = 30 9 S3_DESTINATION_BUCKET = "example-s3-bucket-name" 10 11 video_prompt = "The eggplant-colored princess spins around with the baby toad." 12 13 bedrock_runtime = boto3.client("bedrock-runtime", region_name=AWS_REGION) 14 model_input = { 15 "taskType": "TEXT_VIDEO", 16 "textToVideoParams": {"text": video_prompt}, 17 "videoGenerationConfig": { 18 "durationSeconds": 6, 19 "fps": 24, 20 "dimension": "1280x720", 21 "seed": random.randint(0, 2147483648) 22 } 23 } 24 25 invocation = bedrock_runtime.start_async_invoke( 26 modelId=MODEL_ID, 27 modelInput=model_input, 28 outputDataConfig={"s3OutputDataConfig": {"s3Uri": f"s3://{S3_DESTINATION_BUCKET}"}} 29 ) 30 31 invocation_arn = invocation["invocationArn"] 32 s3_prefix = invocation_arn.split('/')[-1] 33 s3_location = f"s3://{S3_DESTINATION_BUCKET}/{s3_prefix}" 34 print(f"\nS3 URI: {s3_location}") 35 36 while True: 37 response = bedrock_runtime.get_async_invoke( 38 invocationArn=invocation_arn 39 ) 40 status = response["status"] 41 print(f"Status: {status}") 42 if status != "InProgress": 43 break 44 time.sleep(SLEEP_TIME) 45 46 if status == "Completed": 47 print(f"\nVideo is ready at {s3_location}/output.mp4") 48 else: 49 print(f"\nVideo generation status: {status}")
2. 実行
スクリプトを実行して数秒待つと S3 バケットに動画ファイルが生成されます。
$ python nova-reel.py S3 URI: s3://example-s3-bucket-name/p6pyi4ys5pt2 Status: InProgress Status: InProgress Status: InProgress Status: InProgress Status: InProgress Status: InProgress Status: InProgress Status: InProgress Status: InProgress Status: Completed Video is ready at s3://example-s3-bucket-name/p6pyi4ys5pt2/output.mp4
確認
↓こんな感じです。
なんとも簡単で拍子抜けしちゃいました。
改めてクラウドっておもしろい!
以上、レポートでした。
あしたま!