AI SDK + Amazon Bedrock: How to send images to Claude (ImagePart) when images are in S3?

Hi — I’m on ai@6 + @ai-sdk/amazon-bedrock using:

const bedrock = createAmazonBedrock({ region: 'ap-southeast-2', credentialProvider: ... });
const model = bedrock('au.anthropic.claude-sonnet-4-5-20250929-v1:0');

I want Claude to analyze an image stored in S3. I have an S3 location like:

s3://my-bucket/path/to/image.jpg

Using the ImagePart docs, I tried to do:

await streamText({
  model,
  messages: [
    {
      role: 'user',
      content: [
        { type: 'text', text: 'What is in this image?' },
        { type: 'image', image: 's3://my-bucket/path/to/image.jpg' } // does this work?
      ],
    },
  ],
});

But the model behaves like it didn’t get pixels.

Questions:

  • Does AI SDK v6 support S3 references in ImagePart, or does image strictly require bytes?

  • If it requires bytes, is the correct approach:

    • GetObject from S3 → Buffer{ type:'image', image: buffer }?
  • Any gotchas with content type / size limits for Bedrock Claude vision?