Skip to content

[BUG] Nova reel fails without s3Location #902

@cyberwombat

Description

@cyberwombat

Checks

  • I have updated to the lastest minor and patch version of Strands
  • I have checked the documentation and this is not expected behavior
  • I have searched ./issues and there are no duplicates of my issue

Strands Version

1.9.1

Python Version

3.13

Operating System

macos 26

Installation Method

other

Steps to Reproduce

Here is the code I am running

from strands import Agent
from strands_tools import nova_reels
from strands.models import BedrockModel


# Create a BedrockModel
bedrock_model = BedrockModel(
    region_name="us-east-1",
)

agent = Agent(tools=[nova_reels], model=bedrock_model)

agent.tool.nova_reels(
    action="create",
    text="Create a video of someone walking through the streets while wearing the sneakers in the photo, showcasing the shoes in action.",
    image_path="./playground/media/sneakers.jpg",
    s3_bucket="foo",
    seed=42,
    fps=24,
    dimension="1280x720",
   
)

# Ask the agent a question that uses the available tools
message = """
I have the following requests:  
1. Create a video of someone walking through the streets while wearing the sneakers in the photo, showcasing the shoes in action.The video should be geared towards marketing purposes, highlighting the design and comfort of the sneakers in a real-world setting targeted at men aged 18-35 who are interested in casual and trendy footwear.
2. Use the provided image of the black Converse sneakers as a reference for the shoes in the video.
3. Save the generated video to the specified S3 bucket for easy access and sharing.
4. If you encounter S3 errors provide the full error message from AWS

"""

agent(message)

Expected Behavior

Should allow upload to s3...

Actual Behavior

I am trying to run the nova_reels examples and it fails with

Error: An error occurred (ValidationException) when calling the StartAsyncInvoke operation: #: required key [s3Location] not found

I am seeing things like PR #310 that indicate this could be a future behavior but right now this doesnt run. What is odd though is that when I failed passing the correct image path the agent said it would just figure it out with text and proceeded correctly generating the video in the bucket and returning the ARN. As soon as I provide a real path it fails.

Related as well: strands-agents/tools#172

Additional Context

Here is the code I am running

from strands import Agent
from strands_tools import nova_reels
from strands.models import BedrockModel


# Create a BedrockModel
bedrock_model = BedrockModel(
    region_name="us-east-1",
)

agent = Agent(tools=[nova_reels], model=bedrock_model)

agent.tool.nova_reels(
    action="create",
    text="Create a video of someone walking through the streets while wearing the sneakers in the photo, showcasing the shoes in action.",
    image_path="./playground/media/sneakers.jpg",
    s3_bucket="foo",
    seed=42,
    fps=24,
    dimension="1280x720",
   
)

# Ask the agent a question that uses the available tools
message = """
I have the following requests:  
1. Create a video of someone walking through the streets while wearing the sneakers in the photo, showcasing the shoes in action.The video should be geared towards marketing purposes, highlighting the design and comfort of the sneakers in a real-world setting targeted at men aged 18-35 who are interested in casual and trendy footwear.
2. Use the provided image of the black Converse sneakers as a reference for the shoes in the video.
3. Save the generated video to the specified S3 bucket for easy access and sharing.
4. If you encounter S3 errors provide the full error message from AWS

"""

agent(message)

Possible Solution

No response

Related Issues

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions