boto has a `copy_key` function: http://boto.readthedocs.org/en/latest/ref/s3.html#boto.s3.bucket.Bucket.copy_key

Using that would obviate the need to stream the image down from the server and back up again.