It would be pretty handy to upload a watermarked image once generated. Doing so in the client is a great idea, especially if you are uncertain about image library support in a hosting environment. JavaScript is decent at doing things concurrently as well, so you can even make your application snappier by letting the client upload multiple images concurrently instead of a hosting environment that may or may not support such things.
The form below allows you to generate a watermarked image and upload it to Amazon S3. The form expects a an access key id, a policy, and a signature. If you want an easy tool for generating the policy and signature, you can check out policy-signer. More info on policy documents can be found here.